Developing automotive applications is a complex series of tradeoffs between hardware capabilities and software requirements. New Intel Architecture developments and an ever-widening software ecosystem can provide systems alternatives, including the use of Linux and derivatives.
The Intel® Atom™ processor E6xx has adopted an open Input/Output standard, based on the PCI Express (PCIe) bus. This hardware approach can impact software development, but allows customized Input/Output hubs (IOH) to be developed to meet specific application needs. Harman International, Rohm, and STMicroelctronics have each used the flexibility of a standards-based IOH to optimize their respective products. Customized hubs such as that provided by ADI Engineering, Inc (1) permit unique hardware to be developed that support alternatives ranging from basic kernel-based systems to operating systems and environments such as Linux.
Harman International through its Harman Automotive operation extended its long standing partnership with Intel to serve the open platform for automotive Infotainment Systems using the Intel Atom processor family.
Fast Internet access, e-mail functions and state-of-the-art audio and video sources are fully accessible in the automobile. What were once viewed as business functions, like address book, calendar, task lists, and other similar applications, can now be integrated into automotive systems. Internet access in Harman’s 2009 concept car prototype is achieved with a 3G UMTS telephone or via WiFi at a higher speed. Harman uses QNX Software Systems (2) automotive software platform called QNX CAR for QNX Connected Automotive Reference. Harman also offers the IVI Compute Module for automotive infotainment systems.
The QNX Realtime Operating System (RTOS) is central to the Harman software operation, but is surrounded by a wide array of device drivers and interfaces to support popular cell phones, portable consumer electronics, and OEM input/output devices like displays, echo cancellation hardware, and MEMS-based microphones.
QNX CAR uses Adobe Flash to prototype the user interface prior to integrating the operating software for the actual application. The Adobe Flash implementation is also used to deliver the final Human-Machine Interface (HMI). The system further streamlines code by assembling the automotive application without the use of a traditional operating system. Instead, QNX CAR includes an application framework to launch and control HMI applications and manage the interface to the middleware and OS services layers.
Rohm and Oki Semiconductor
Rohm and affiliated company OKI Semiconductor(3) have created a four chip set that can be used to mix and match capabilities for E6xx-based systems:
- Power Management IC (PMIC) ROHM provides a 20-channel system power supply (1-channel DC/DC controller , 4-channel DC/DC regulator, 8-channel LDO, 6-channel load switch, and 1-channel Vtt voltage intended for Double Data Rate (DDR) Synchronous DRAMs). A specialized power supply ON/OFF sequence controller eliminates the need for conventional complex power supply sequence design.
- Clock Generator IC (CGIC) ROHM’s Phase Locked Loop (PLL) technology provides high-frequency accuracy. The clock chip employs Spread Spectrum technology to minimize Electro Magnetic Interference (EMI). The IC includes all required clocks including CPU, PCIe, Serial ATA (SATA) and USB.
- Input/Output Hub (IOH) ML7223 for IP phones manufactured by OKI Semiconductor is compatible with SATA and USB, Gigabit EtherMAC and IPsec hardware accelerator, and Echo/noise cancellation function. A high-speed bus supports cascade connections of external Field Programmable Gate Arrays (FPGAs).
- An additional Input/Output Hub (IOH) by OKI Semiconductor for in-vehicle infotainment devices is compatible with video input, SDVO, USB, and SATA. It includes MediaLB®interface to support Media Oriented Systems Transport (MOST) bus protocol for automotive infotainment.
MOST supports optical communication and plug and play functionality, including USB connections, and replaces traditional automotive wiring harnesses used in legacy multimedia automotive systems. In addition to QNX’s support of MOST, Green Hills Software’s (4) Integrity runs the Basic Layer of the MOST NetServices on top of a device driver that provides access to the MOST Low Level System Services. Wind River Systems (5) infotainment platform based on an automotive-optimized commercial Linux also supports MOST.
STMicroelectronics’ ConneXt IOH is designed to meet next-generation In-Vehicle Entertainments (IVE) also called In-Vehicle-Infotainment (IVI). The ConneXt device connects to the Atom E6xx series processor using the industry-standard PCIe interconnection technology. A typical next-generation system will simultaneously provide the driver with applications such as 3D navigation and hands-free cell phone use, while the passengers are using the Internet, watching DVDs, or playing games on different, multiple displays.
Wind River’s automotive platform is based on a commercial Linux. Wind River Platform for Automotive Devices provides telematics, infotainment, navigation, and entertainment developers with an integrated solution. The platform includes VxWorks, Wind River Workbench, and essential multimedia and connectivity middleware.
Adopting a standard operating system like Linux for the basis of an automotive platform is eased by selecting an already optimized automotive version like those supplied by Wind River and the application framework approach of QNX. But starting from scratch carries some complications. The most notable challenges are boot load time and the sheer size of the OS and associated library image. It may sound trite, but optimizing the load image is mostly an administrative task. It’s amazing how many libraries are included with most OSes based on desktop systems because “it’s more expedient” than determining which ones are really necessary. This process can be time-consuming, and then have to be redone if a new application is added to the system. Systems that include a hard disk drive seldom are concerned with saving disk space because it is relatively cheap. But such is not the case for embedded systems. Often these systems rely only on non-volatile semiconductor memory which is very much smaller (and more expensive) than a disk drive.
The more challenging task for making a Linux-based embedded system operate cleanly in an automotive network comes from the boot load time. Typical desktop systems often take an appreciable fraction of a minute to boot so that they are ready to operate. It is simply unacceptable to require a driver to wait for their car to boot. Creating an automotive capable Linux is a big undertaking. But there are Open Source alternatives in addition to commercial products, like Wind River’s Automotive Platform. The MeeGo IVI software platform marries the GENIVI ecosystem of participants with the Open source project organization managed by the Linux Foundation. MeeGo provides State-of-the-Art Linux stack optimized for the size and capabilities of small footprint platforms and mobile devices, but delivering broad Linux software application compatibility.
If “go it alone” is your philosophy, boot load time will be critical – automotive embedded systems must not keep a car from being used. The Intel Atom family includes faster boot load capabilities that will aid the process, but the key is in paring down what is essentially a desktop OS into a slim embedded OS. The critical start up time is defined by the CAN communications protocol – the system must start up and be operational within 100 milliseconds.
To begin making a Linux version that will meet this time constraint:
- Pre-calculate constants at compile time
- Remove un-needed legacy code like PTY
- Eliminate hotplug capability
- Remove init and MTD
- Choose a filesystem – JFFS2, Cramfs, AXFS. All use compression.
- Execute code in place – don’t load it into RAM
The startup time for a Linux system using these principles will depend on many factors including which specific filesystem you’ve chosen and the execution time when accessing non-volatile memory.
Combined hardware and software developments enable support of selected OSes and software environments while accruing the reductions in hardware cost, board space and power consumption. Developing a customized “hub” also gives designers the option of adding special-purpose hardware to further reduce power consumptions and increase performance.
How will you use the lessons from automotive platforms in your next project?
1. 1. ADI Engineering, Inc is an Associate member of the Intel Embedded Alliance
2. 2. QNX Software Systems, Ltd. is an Associate member of the Intel Embedded Alliance
3. 3. OKI Semiconductor Co., Ltd.is an Affiliate member of the Intel Embedded Alliance
4. 4. Green Hills Software, Inc is an Affiliate member of the Intel Embedded Alliance
5. 5. Wind River Systems is an Associate member of the Intel Embedded Alliance
Roving Reporter (Intel Contractor)
Intel® Embedded Alliance