HIS/VectorCAN Driver API on Top of a Time-Triggered Communication Protocol 2007-01-1717
The HIS/VectorCAN driver provides an Application Programming Interface (API) that is used in many present day cars and makes CAN-based applications independent from the implementation details of specific communication controllers. This paper describes a solution for establishing this API in a time-triggered computer system. We construct integrated node computers, which provide both an execution environment for time-triggered applications and a CAN execution environment. The CAN execution environment offers to the application software the API according to the HIS/VectorCAN driver specification. Thereby, we allow the reuse of existing software, which has been developed for the API of the HIS/VectorCAN driver, as part of future time-triggered in-vehicle electronic systems. For this purpose, this paper introduces middleware services that operate between a time-triggered operating system and the CAN-based applications. In a first step, the middleware establishes an event channel on top of the time-triggered communication protocol in order to support CAN transmission requests at a priori unknown points in time. By using this event channel, the middleware then realizes the services comprising the API of the HIS/VectorCAN driver, including send and receive operations, message filtering, and callbacks. In a prototype setup with a TTP cluster, we show how the API can be used by periodic and sporadic CAN application tasks.