Car entertainment system architecture based on Android system

introduction

The automotive electronics industry has huge market potential as car owners expect some of the applications they use on their phones to run directly on their private cars. But at the same time, it also faces many challenges. In-vehicle electronics manufacturers need to meet the requirements of different car models, and even different models of the same brand often require different customization. Today's car owners want to be able to install or remove applications as they would with a smartphone. To port the software used on the phone to the in-vehicle electronic system, developers must face a serious challenge, that is, third-party applications must be run in an isolated environment to prevent interference with other in-vehicle functional modules. And threats that may cause the owner to leak information. At the same time, third-party applications must be effectively integrated with other in-vehicle systems to provide a more user-friendly experience for users. Finally, third-party software developers must develop a common platform for the common features of in-vehicle systems to facilitate the migration of different car manufacturers, and to enable the same application to be seamlessly used on different brands of cars.

This article is an innovative extension to Google's Android system application, which isolates third-party applications and gives trusted third-party applications access to the automotive functional software layer, enhancing security against car security.

1 Background knowledge

People intuitively feel that the consumer electronics inside the car seems to provide functions similar to those of smart phones, PDAs and MP3s, but because they are inevitably in contact with other functional modules of the car, car entertainment electronics are more than other consumer electronics. complex. Under normal circumstances, most of the application software on the car is solidified by the manufacturer when the car is produced. They are generally scrapped with the scrapping of the car, so the life cycle is generally 5 to 10 times that of the mobile phone or MP3. This requires in-vehicle electronics design companies to support long-term upgrades to their factory-installed applications. However, due to the rapid replacement of electronic products, software upgrades alone have greatly increased costs.

Last year, the GENIVI Alliance held a conference with a number of auto giants, chip design giants, and software development companies to discuss how to establish a standard open development platform for in-vehicle electronic products. GENIVI proposes to develop a scalable architecture that may be applied to the next generation of automotive electronics. It needs to work in the following areas:

1 By adding seamless software patches and plug-ins from the open source community and professional software development alliances, it is possible to add more content and features, and always consider the security and reliability of the system.

2 Increase the personal enjoyment of the owners and passengers, and try to make it more cost-effective, and strive to reduce equipment costs.

GENIVI's software architecture leverages Intel's Moblin platform as a framework to meet specific automotive needs and uses by adding or removing components. Support for user-defined installation applications is being discussed, and many of the platforms available for negotiation are under negotiation, and Google's Android system is one of them.

It should be emphasized that the automotive electronic hardware devices currently supported by GENIVI and Moblin (network-specific devices on the CAN bus) are currently not implemented on Android. However, due to Android's strong support for open source, allowing users to install and uninstall terminal programs, Moblin has not yet licensed these features.

2 Google Android

At the end of 2007, at the Open Mobile Alliance Conference hosted by Google, a completely free and open mobile phone platform was born, with the goal of extending to a wider range of hardware devices. The basic feature of Google Android is its openness. Free SDK source developers can easily download it. Google's appeal and Android's open source quickly prompted the formation of the developer community.

Android is a development platform primarily for mobile devices that includes a system kernel, middle-tier and underlying drivers, and some bundled applications. The entire project is licensed under the Apache License Version 2, so mobile operators, software companies, and any developer can add or remove features. According to the 2.0 sample protocol, sharing applications is possible even if it is not a content provider. The platform allows some secondary developers to add new features or applications to their needs, so it's easy to develop rich end-to-end applications.

2.1 Structure Overview

The Android system architecture consists of five parts: the Linux kernel, library functions, Android runtime, application framework, and applications.

At the bottom of the linear architecture is the Linux kernel, which is basically the Linux 2.6.27 version. The Linux kernel is used to update patches for Android. The kernel is responsible for managing system service programs and driver modules, memory management, and task scheduling. The root file system uses rootfs, while the data and files use YAFFS, which is a file system designed specifically for NAND and NOR memory.

The application framework and Android runtime tense mainly through the C/C++ library, which includes standard C libraries, multimedia libraries, graphical interface libraries, browsers, font libraries, and databases.

The Android runtime includes the core library and the Java Dalvik virtual machine. Dalvik is a virtual machine that allows multiple processes to run on a limited amount of memory. Each program runs in a separate Linux process.

The application framework consists of many classes, interfaces, and packages. Its purpose is to provide a simple, continuous way to manage graphical user interfaces, access resource memory, receive notifications, or handle incoming calls. The main components are visual systems, acTIvity class management, shared management, resource management, Notification management, telephone management.

2.2 Security

Android internal process communication and security mainly refers to ensuring the stability of the system as much as possible when installing third-party applications. The underlying licensing mechanism is provided by the Linux kernel and file system, and basically satisfies other systems based on the Linux kernel. Since the Android device is for a single user, the multi-user service device can be applied by assigning a unique identifier.

In addition, Android is a static security license system that is enforced when the program is installed.

2.3 Interprocess communication

Android has two models for interprocess communication: intent and code binding. The intent class framework provides upper-level interprocess communication. This is the best way to dynamically exploit the SDK package for development and bind to the upper application. The intent class contains several fields that describe the caller's true intent. The caller sends an intent to the Android intent parser. The And-roid system will select the acTIvity that best suits the intent from all applications via the intent filter. class. The intent field contains the expected processing methods, classes, and data characters, MIME types of the data.

The intent can be used to trigger acTIviTIes, send data to the broadcast and start the corresponding service. Security restrictions are mainly achieved through the permission framework class provided by the Android system.

Each program runs in its own process, but the developer can write a service to run in a different process, and some objects are allowed to pass between processes. On the Android platform, a process usually cannot access other process memory. Therefore, if two processes communicate with each other, they need to decompose their objects into basic types that the operating system can recognize, and control the objects through the boundaries of the process. The AIDL tool with SDK automatically generates control code segments, and AIDL is an interface description language used to generate communication code between two processes. The AIDL IPC mechanism uses a proxy class to pass parameters on both the client and the implementation side.

Push Button Switches

The Push Button Switches, also known as the control button (referred to as the button), is a low-voltage electrical appliance that is manually and generally can be automatically reset. The Push Button Starter Switch is usually used to issue a start or stop command in the circuit to control the turning on and off of electrical coil currents such as electromagnetic starters, connectors, and relays.

The On Off Push Button Switches refers to a switch that pushes the transmission mechanism with a button to make the movable contact and the static contact open or close and realize circuit switching. It is a master control device with a simple structure and a wide range of applications. In the electrical automatic control circuit, used to manually send control signals to control connectors, relays, electromagnetic starters, etc.


Push Button Switches


This Pushbutton Switches is a kind of electric device that is used to switch on and off the small current circuit when the action is released. Generally used in AC and DC voltage below 440V, the current is less than 5A in the control circuit, generally do not directly manipulate the main circuit can also be used in the interconnection circuit. In actual use, in order to prevent desperation, different marks are usually made on the buttons or painted with different colors, and the colors are red, yellow, blue, white, black, green, and the like.



Pushbutton Switches


The Momentary Push Button Switch could be divided into metal push button switches and Led Light Switches and ordinary snap button type, mushroom head type, self-locking type, self-resetting type, rotary handle type, with indicator light type, lighted symbol type and key type, etc., with single button and double Buttons. Generally, it adopts a water-storage structure, which consists of a button cap, a return spring, a static contact, a moving contact and a casing. It is usually made into a composite type, and has a pair of normally closed contacts and normally open contacts, and some products can pass. The series connection of multiple elements increases the number of contact pairs. There is also a self-contained button that automatically holds the closed position when pressed, and can be turned on only after the power is turned off.

When the Metal Switches is not pressed, the movable contact is connected with the upper stationary contact. The pair of contacts is called a normally closed contact. At this point, the movable contact is disconnected from the following static contact. The pair of contacts is called a normally open contact: the button is pressed, the normally closed contact is open, the normally open contact is closed, and the button is released. Restore the original working state under the action of the return spring

Push Button Switches

Push Button Switches,Push Button On Off Switch,Push Button Switch Types,Square Push Button Switches

YESWITCH ELECTRONICS CO., LTD. , https://www.yeswitches.com

Posted on