2013年3月24日 星期日

Automotive infotainment systems: Open source drives innovation

Single board computer, Panel PC, networking appliance

The speed of innovation in automotive IVI is making a lot of heads turn. No question, Linux OS and Android are the engines for change.

The open source software movement has forever transformed the mobile device landscape. Consumers are able to do things today that 10 years ago were unimaginable. Just when smartphone and tablet users are comfortable using their devices in their daily lives, another industry is about to be transformed. The technology enabled by open source in this industry might be even more impressive than what we’ve just experienced in the smartphone industry.
The industry is automotive, and already open source software has made significant inroads in how both driver and passenger interact within the automobile. Open source stalwarts Linuxand Google are making significant contributions not only in the user/driver experience, but also in safety-critical operations, vehicle-to-vehicle communications, and automobile-to-cloud interactions.

Initially, automotive OEMs turned to open source to keep costs down and open up the supply chain. In the past, Tier 1 suppliers and developers of In-Vehicle Infotainment (IVI) systems would treat an infotainment center as a “black box,” comprised mostly of proprietary software components and dedicated hardware. The OEM was not allowed to probe inside, and had no ability to “mix and match” the component parts. The results were sometimes subquality systems in which the automotive OEM had no say, and no ability to maintain. With the advent of open source, developers are now not only empowered to cut software development costs, but they also have control of the IVI system they want to design for a specified niche. Open source software, primarily Linux and to some extent Android, comprises open and “free” software operating platforms or systems. What makes Linux so special are the many communities of dedicated developers around the world constantly updating the Linux kernel. While there are many Linux versions, owned by a range of open source communities and commercial organizations, Android is owned and managed exclusively by Google.
To understand the automotive IVI space, it’s best to look at the technology enabled by Linux and what Android’s done to further advance automotive multimedia technology.

Linux OS – untapped potential at every turn
There are many standards bodies and groups involved in establishing Linux in the automobile – not just in IVI, but in navigation, telematics, safety-critical functions, and more. The Linux Foundation, a nonprofit organization dedicated to the growth of Linux, recently announced the Automotive Grade Linux (AGL) workgroup. The AGL workgroup facilitates widespread industry collaboration that advances automotive device development by providing a community reference platform that companies can use for creating products. Jaguar Land Rover, Nissan, and Toyota are among the first carmakers to participate in the AGL workgroup.
Another Linux initiative, the GENIVI Alliance, was established to promote the widespread adoption of open source in IVI. The goal behind GENIVI is to allow collaboration among automakers and their suppliers across a single unified ecosystem, to streamline development, and keep costs down. The organization has flourished since its formation in 2009, and today it has more than 165 members. The GENIVI base platform (Mentor Embedded is compliant with version 3.0) accommodates a wide range of open source building blocks demanded by today’s developers.
Linux has further opened up the possibilities with safety-critical operations and multimedia communications. Hardware companies have followed suit with more IVI functions built onto a single piece of silicon, improving security and performance.
The available power of multicoreSoC hardware hosting a Linux operating system is fueling rapid expansion in vehicle software in the area of telematics. In Europe, for example, by 2015, all new cars must be equipped with the eCall system, to automatically alert emergency services in the event of a collision. Services such as insurance tracking, stolen vehicle notification, real-time cloud data (traffic, weather, road conditions ahead), car-to-car communication, driverless car, diagnostics, and servicing are also made available via in-car Internet services. To operate in this space, IVI hardware needs to have multicore processor support, GPU/high-performance graphics with multiple video outputs, Internet connectivity, and compatibility with existing in-car networks such as CAN, MOST, and AVB. Several components are already on the market, and the future potential is exciting.
Consolidating multiple functions into a single Linux-based Electronic Control Unit (ECU) allows for a reduction in component count, thereby reducing overall vehicle costs. Maintenance becomes easier. And the wire harness costs are reduced as the total ECU count drops. As Linux becomes more widespread in vehicles, additional technologies will consolidate – for example, instrument clusters and AUTOSAR-based ECUs may coexist with infotainment stacks. It’s also important to realize that the complexity of software and the amount of software code used will only increase as these new technologies become standard. Already more than 100 million lines of code are used in the infotainment system of the S-Class Mercedes-Benz and according to Linuxinsider.com, and that number is projected to triple by 2015 (Figure 1).
Single board computer, Panel PC, networking appliance
Figure 1: Software complexity in IVI systems continues to grow. Today, the IVI system of an S-Class Mercedes has 100m lines of code. By 2015, it is expected to be 300m. A Linux-based solution, capable of scaling to handle the complexity, is mandatory.
Android apps hit the road
The Android operating system, on the other hand, was designed from the start to support mobile devices and has proved that it can serve more than mobile phones. Using the Android OS for in-vehicle entertainment provides all the entertainment features offered by a top-of-the-range, in-dash infotainment system with the addition of informative, driver-assisting content including hands-free calling, multimedia center, and a navigation system/Google maps. For an open source expandable system (whereby the framework can be extended and applications can be developed for it), the Android OS can be enhanced to support multiple audio and video feeds. For example, IVI audio requirements include music, phone calls, sensor warnings, and navigation announcements, which must be managed and prioritized. Managing multiple displays, with an information-focus for the driver and entertainment-focus for passengers, is also a requirement. The UI for the driver should be arranged to minimize distraction, while passengers will want as much content as possible from their UIs. But many automotive OEMs and developers ask, “Why not just use the Android smartphone and tie it into a vehicle’s dash?” Not only would this be more cost effective for the developer, but the user would have instant familiarity with the system.
One organization promoting the use of the smartphone as an IVI in-dash system is the Car Connectivity Consortium (CCC). The CCC provides standards and recipe books for tethering a smartphone to the infotainment head unit. The CCC members implement MirrorLink (Figure 2), a technology standard for controlling a nearby smartphone from the in-car infotainment system screen or via dashboard buttons and controls. This allows familiar smartphone-hosted applications and functions to be easily accessed. CCC members include more than 80 percent of the world’s automakers, and more than 70 percent of global smartphone manufacturers. The MirrorLink technology is compatible with Mentor Embedded’s GENIVI 3.0 specification Linux base platform solution.
Single board computer, Panel PC, networking appliance
Figure 2: An example of smartphone in-dash tethering: Drivers use the same smartphone apps in the vehicle as they do on their own smartphone, which provides a great deal of familiarity.
A recent example of smartphone tethering can be found in certain subcompact models from U.S. auto manufacturer General Motors. Select Chevrolet models carry the “MyLink” in-dash infotainment system.
From both a cost and ease-of-use perspective, tethering a smartphone makes a lot of sense. But there’s another reason to consider. Some automotive manufacturers are nervous about being too dependent on Google – as Google is the sole provider and owner of the Android mobile platform. Android built into an IVI system is an 8- to 10-year commitment, and a lot can happen in that time regarding license fees or terms of use.
Linux and Android driving together?
Despite the strengths of and differences between these two popular platforms, recent embedded architecture developments now allow the Linux and Android operating systems to happily coexist. And this might be a very good thing. For example, Android can be hosted on top of Linux using Linux Container Architecture (LXC) (Figure 3). The resources, access control, and security of the Android client are managed by the host Linux operating system. For system designers concerned about the security of Android, this represents a good way to offer Android app access, and keep other system functions on a standard Linux platform. Multicore System-on-Chip (SoC) platforms make this architecture even more attractive, as there are sufficient resources for both Linux and Android domains to perform well simultaneously. The CPU resources can be shared, along with memory, graphics processing resources, and other peripherals. The output of the two domains can be recombined into a common Human Machine Interface (HMI) allowing the user to select functions from both domains.
Single board computer, Panel PC, networking appliance
Figure 3: There are several ways to include Android (Android apps) in a Linux-based IVI solution. One method, which is becoming increasingly more popular, is using Linux Container Architecture. Here, Android sits as a guest OS on top of the Linux kernel. Privileges and permissions are tightly controlled.
Exciting times ahead
Both Linux and Android are extremely versatile and powerful operating systems worthy of consideration in IVI systems. We are still in the infancy stages in what these two open source platforms can do for IVI. Now is the perfect time to starting developing or to join a consortium so that you too can reap the fruits of what IVI promises down the road.




refer:http://embedded-computing.com/articles/automotive-source-drives-innovation/


2013年3月11日 星期一

About new dimension in operating systems

Single board computer, Panel PC, networking applianceGiven the increased complexity of processors and applications, the current generation of Operating Systems (OSs) focuses mostly on software integrity while partially neglecting the need to extract maximum performance out of the existing hardware.

Processors perform as well as OSs allow them to. A computing platform,  or otherwise, consists of not only physical resources – memory, CPU cores, peripherals, and buses – managed with some success by resource partitioning (virtualization), but also performance resources such as CPU cycles, clock speed, memory and I/O bandwidth, and main/cache memory space. These resources are managed by ancient methods like priority or time slices or not managed at all. As a result, processors are underutilized and consume too much energy, robbing them of their true performance potential.
Most existing management schemes are fragmented. CPU cycles are managed by priorities and temporal isolation, meaning applications that need to finish in a preset amount of time are reserved that time, whether they actually need it or not. Because execution time is not safely predictable due to cache misses, miss speculation, and I/O blocking, the reserved time is typically longer than it needs to be. To ensure that the modem stack in a smartphone receives enough CPU cycles to carry on a call, other applications might be restricted to not run concurrently. This explains why some users of an unnamed brand handset complain that when the phone rings, GPS drops.
Separate from this, power management has recently received a great deal of interest. Notice the “separate” characterization. Most deployed solutions are good at detecting idle times, use modes with slow system response, or particular applications where the CPU can run at lower clock speeds and thus save energy. For example, Intel came up with Hurry Up and Get Idle (HUGI). To understand HUGI, consider this analogy: Someone can use an Indy car at full speed to reach a destination and then park it, but perhaps using a Prius to get there just in time would be more practical. Which do you think uses less gas? Power management based on use modes has too coarse a granularity to effectively mine all energy reduction opportunities all the time.
Ideally, developers want to vary the clock speed/voltage to match the instantaneous workload, but that cannot be done by merely focusing on the running application. Developers might be able to determine minimum clock speed for an application to finish on time, but can they slow down the clock not knowing how other applications waiting to run will be affected if they are delayed? Managing tasks and clock speed (power) separately cannot lead to optimum energy consumption. The winning method will simultaneously manage/optimize all performance resources, but at a minimum, manage the clock speed and task scheduling. Imagine the task scheduler being the trip planner and the clock manager as the car driver. If the car slows down, the trip has to be re-planned. The driver might have to slow down because of bad road conditions (cache misses) or stop at a railroad barrier (barrier in multithreading, blocked on buffer empty due to insufficiently allocated I/O bandwidth, and so on). Applications that exhibit data-dependent execution time also present a problem, as the timing of when they finish isn’t known until they finish. What clock speed should be allocated for these applications in advance?

refer:

2013年3月4日 星期一

Top Embedded Innovator - Head of Embedded Software and Systems Solutions, Freescale Semiconductor

Kwok Wu has many years of experience in advanced embedded systems and software, FPGA software development, and Electronic Design Automation (EDA). He has delivered high-performance scalable software platforms and products for Freescale’s Power Architecture, Starcore DSP, ARM, and ZigBee Systems-on-Chips (SoCs) in the wireless broadband networking, telecommunications, consumer, automotive, industrial, smart energy, and telehealth segments. Kwok holds a PhD, EECS (Computer Engineering) from the University of Texas at Austin.

Embedded Systems, in vehicle pc, Panel PC
ECD: What emerging trends and challenges do you see in embedded design?
WU: Internet traffic will grow 5x its size in the next three years (according to Morgan Stanley), driven by wireless and video traffic as well as by the Internet of Things, which is connecting an increasing number of sensors and smart appliances with on-demand access via multiple smart handsets. Local wireless routers and access points thus need to become smart gateways, enabled by open-source scalable network platforms, in order to efficiently handle local traffic in homes, offices, and factories.
The #1 theme is a focus on smart residential gateways with the Internet of Things – usually forhome automation and remote monitoring to control sensors including smoke alarms, smart meters, smart appliances for smart energy, and IP cameras for security. For example, Freescale’s MPC8308nSG smart converged gateway with integrated wireless connectivity including 3G broadband, 802.11n Wi-Fi, and ZigBee wireless sensor network addresses many market opportunities in the smart energy/smart grid, health monitoring, industrial and residential automation, and mobile transportation segments.
The #2 theme is a focus on smart business gateways that deliver various cloud services for multi-user collaboration and office-in-a-box, such as unified communications, PBX VoIP, wireless video-on-demand, network video recording, and video surveillance. Office automation is another growth area offering businesses cloud-based services across a large number of users, sometimes in different offices.
ECD: Which engineering specialties are most valuable to your company, and are they difficult to find?
WU: Freescale Semiconductor is a leader in network and communication processors (Power Architecture), ZigBee RF sensor devices, i.MX multimedia application processors, and MCUs forautomobile, transportation, and industrial applications. Freescale’s Power Architecture networking processors offer efficient and scalable performance with secure trusted architecture.PowerPC processors are also used in the automobile engine management and industrial automation markets.
ECD: What is your assessment of the demand for ubiquitous connectivity, and how does it affect your product development plans?
WU: Converged network standards allow more devices to be connected seamlessly. Our product development must be on an open, scalable platform that can adapt to evolving connectivity standards. Our smart converged gateways need to handle multiple wireless technologies (3G, Wi-Fi, ZigBee wireless sensor) all in one gateway.
ECD: How will embedded computing advance in the next 5-10 years?
WU: The “network is the computer” concept promises to deliver cloud-based services through the “network as a service” model. Open-source smart software will provide embedded distributed intelligence that enables smartphones/tablets, smart appliances, smart TVs, smart utility meters, and IP-based programmable communicating thermostats. These smart devices will offer on-demand Internet access through smart AP gateways and smart managed switches and routers, driven by open-source software-defined networks and platforms such as the Freescale smart gateways that won two international networking and communication awards. The key approach is to use an open-source, scalable, portable software platform for networking and communication, such as a software-defined network consisting of OpenFlow, OpenStack, and Open vSwitch.
Furthermore, smart gateways within a campus will be connected by a mesh network to form smart, resilient networks for local clouds. Smart software added to smart sensors and gateways with real-time location and context-aware decision-making will be more pervasive. These gateways will ultimately create safer, greener, more secure, and smarter connected communities (homes, cars, offices, factories) and a rich, personalized connected experience.