A feature-rich embedded platform needs to support many communication protocols in order to work with the many different devices that exists today. On top of the supported protocols a communication stack should be present. A stack abstracts the implementation and many protocol-specific details, and enable packaging of multiple signals into the frames of the protocols.
Protocols used by the automotive industry
The following communication protocols have been embraced by the automotive industry. For this reason these need to be supported on an embedded platform used in the automotive domain.
CAN
CAN is by far the most used protocol in the automotive domain. CAN networks form most of the communication structures in cars today. One of the reasons for the popularity of CAN is its robustness against electrical disturbances, which is an important feature when used in the harsh environment of a car. The protocol is also beginning to get a more wide-spread use outside of the automotive domain.
LIN
LIN is a light-weight and slow bus and protocol that is used to form cheap sub-networks of larger networks (for example CAN) in order to communicate with intelligent sensor devices or actuators.
FlexRay
FlexRay is the automotive industries response to the increased demand for incorporating multimedia services into the environment of the car. It is designed to be faster and more reliable than CAN, but is at the same time more expensive. The first car to support FlexRay was the BMW X5 introduced in 2006, and a more wide spread use is expected in the years to come.
Protocols used outside of the automotive industry
For embedded platforms used outside of the automotive domain a couple of more protocols are needed in order to make the support for communication of the platform complete:
Ethernet and TCP/IP
Ethernet is the worldwide standard for wired local area networks (LAN). By supporting ethernet an embedded platform ensures connectivity to an virtually unlimited set of devices. Because of the wide-spread use of ethernet, supporting this protocol definitely increases the usability of an embedded platform. To achieve even better support for LAN a TCP/IP stack should be available above the ethernet protocol.
I2C
A much used protocol for communication with peripheral devices (i.e. sensors, EEPROM, ADC and DAC) is I2C. The protocol allows a master node, for example an embedded system, to connect to I2C slave devices through a shared bus.
SPI
A more advanced peripheral communication protocol than I2C is SPI (Serial Peripheral Interface). The bus offers higher throughput at lower power requirements than I2C.
Communication supported by AUTOSAR
Most of the protocols mentioned above are supported by AUTOSAR. In particular CAN, LIN, Flexray and SPI are directly incorporated in the standard. However, in order to make an AUTOSAR system complete in the sense of support for communication, Ethernet with a TCP/IP stack and I2C would be a welcome addition. Following the AUTOSAR methodology for configuration of the system, these could be added without increasing the memory footprint of the platform. In ECU:s where these protocols are not desired, they would be configured for “zero cost operation mode” (disabled) resulting in an unaltered memory and CPU usage compared to an ordinary AUTOSAR system.