Automotive System & Software Development Challenges – Part 1
Editor's Note: With the case of Toyota's killer firmware still fresh, we offer this closer look at automotive system design feature. Part Two will continue with a deeper look at specific design issues.
Today’s high-end cars contain between 70 and 100 embedded processors and run up to 100 million lines of code according to the IEEE Spectrum article “This Car runs on Code.” Specialized cars, like Indy cars can have many more sensors and data acquisition/telemetry components to optimize for racing. Integration of all the hardware and software needed to make any car perform correctly is no small task. It takes a lot of simulation, modeling, verification and IP.
This article will summarize the development challenges from analog-mixed-signal simulation to proper system configuration as well as hardware software co-design and outline some solutions that are essential to successful system development across the design chain.
How complex can design for automotive be?
To understand the complexity in design for automotive, it is important to understand the design chain a little better. For comparison, consumer products that play in the “Internet of Things (IoT)” can have a design chain that is already pretty complex. The wearable sensor that records your movements and sleep behavior transmits this information by cell phone to servers that keep it in the cloud. As part of “Big Data Analytics” information will be provided such as “your deep sleep percentage last night has been in the top 20% of all users,” or “Wednesdays seem to be your days with the least steps taken, try to make an extra effort today.”
To develop and enable this, for the main functions there are 5 company types involved.
- IP Providers deliver to semiconductor companies some of the building blocks such as processors or graphics cores, peripheral blocks to connect to chip interfaces and on-chip interconnect.
- Semiconductor companies provide the silicon that is at the core of the sensor at your wrist, cell phone, the servers holding your information, and the networks that transmit them either wirelessly using your phone or wired once your data is in your phone providers network.
- System companies build the actual devices involved in this chain, your wristband, cell phone and the servers that hold your information. In this particular case, the system company providing your wristband to collect movement and sleep behavior, may run the servers holding the information to run Big Data Analytics as well, either themselves or using commercial infrastructure of a Cloud Service Provider.
- Independent software vendors contribute to the software powering this scenario with the tools running on top of Android, Linux or commercial OSs such as iOS and Windows Mobile.
- Finally, the necessary wireless and wired infrastructure are run by Network Providers that are on the top of the chain and interact directly with the end users – you and me – by enabling the devices empowering the interactions described above.
Now consider the automotive application domain. The development of the cars transporting us daily to and from work and getting our kids to soccer practice, are at least as complex as the complete development chain described above, and then are themselves part of a bigger network in which they communicate geo-syncing locations via GPS and broadcast satellites, provide in-car wireless access points, embedded links to cellular that enable services such as OnStar as well as our smart phones, will in the future talk wirelessly to the infrastructure including traffic lights (V2I – vehicle to Infrastructure) and even will coordinate with other cars (V2V – vehicle to vehicle) to coordinate who goes first across an intersection.