Professional Documents
Culture Documents
Mirror Demo Application PDF
Mirror Demo Application PDF
06-12
iCC 2006 CAN in Automation
Figure 1: Virtual Function Bus [3] Figure 2: Software layer model [4]
whereas client-server communication color schema helps Figure 2: Software
invokes a service function call. VFB allows Layer Model [4] in distinguishing different
an early (virtual) integration of SWCs as layers. The application layer resides on
soon as the communication mechanism top of the layer model. This is abstracted
amongst SW-Cs are defined. The through the RTE from the underlying
AUTOSAR partnership specified a meta- hardware (including ECU). The RTE layer
model, described in the configuration is generated completely by tools based on
language XML. Hence XML configuration the provided XML-schema. Developing
files can be used for the entire system such tools is not in the focus of
specification. These XMLconfiguration files AUTOSAR, but they play a key role. Below
are used as input for code generation RTE all BSW-modules are divided into
tools, tools for creating object code or just several layers. Each layer abstracts its
as uniform specification exchange format. adjacent underlying layers a certain
Additionally, development tools like bus degree more from real hardware. The
analyzer, function modeling tools, etc. will service layer (blue) comprises system
support AUTOSAR exchange format in services (e.g. Operating System (OS)),
midterm. memory services (e.g. Non Volatile RAM
The Run Time Environment (RTE) is the (NVRAM)) and communication services
realization of the VFB for a specific ECU. (like bus communication). An example of
The RTE realizes the communication such abstraction would be the
between SWCs within an ECU (intra- communication service layer, which
communication) and among different abstracts from communication hardware.
ECUs (inter-communication). SW-Cs with The network system (LIN, CAN, FlexRay)
their ports and interfaces are mapped to is still not known. The hardware
certain ECUs after the VFB system design abstraction layer, on the other side,
step. XML configuration files are used to supports interfaces, providing
describe this mapping. After appropriate independence from hardware driver
system configuration XML configuration software and therefore from real
files are fed to an RTE generator microcontroller. On board device
producing code (e.g. source code files interfaces, memory hardware, I-O drivers
rte.c, rte.h, etc.) specific to an ECU. In this and communication hardware modules are
way the RTE layer encapsulates the whole distinguished in the layer next to the
communication mechanism for SW-Cs by microcontroller. The communication
providing a standardizes API to application hardware abstraction layer hides the used
functions and simultaneously being network system. Through this module the
independent from actual underlying network system type is chosen. For
hardware. example a CAN interface module is used,
if signals shall be transferred on CAN.
2.1 System layer model Apart from these hardware abstraction
blocks two more (green) BSW modules
A technical overview on AUTOSAR is appear. Input/ Output (IO) hardware
given in [3]. This subsection focuses on abstraction layer hides controller specific
the architecture within an ECU. Figure 2 properties of input and output ports.
Interfaces are provided to access data
06-13
iCC 2006 CAN in Automation
from ECU inputs or to put data to the communication services layer apart
hardware output ports with physical
values. The kinds of ports (Analog Digital
Converter (ADC), Pulse Width Modulated
(PWM), or digital input/output) shall not be
of relevance to upper layers. The
rightmost side of Figure 2 shows another
BSW module Complex Device Driver
(CDD). CDD allows direct access of RTE
to peripheral hardware. This module is
used for very time critical applications,
which can be speed up through directly
accessing peripheral hardware. Further
supplier can protect their IP within a CDD.
3 COM stack
06-14
iCC 2006 CAN in Automation
modules below the PDU router (e.g. CAN • Detection of errors in segmentation
interface). PDUs are identified by static sessions
PDU IDs. The routing operation of the
PDU router is controlled by routing tables,
The main purpose of CAN TP is to
which contain routing attributes for each
segment and reassemble CAN I-PDUs
PDU, e.g.: PDU Id and destination
longer than eight bytes (data flow control).
address. The PDU router does not modify
Two routing paths exist between CAN
I-PDUs, it simply forwards the I-PDU to the
interface and PDU router engine (see
destination module. A detailed sketch of
Figure 4). The PDU router determines
the PDU router structure is given in Figure
whether a transport protocol is to be used
4. The PDU-R module is split into two
or not. The PDU router can handle
parts:
different communication protocols for
COM and DCM I-PDUs. COM I-PDUs are
• The PDU Routing tables generally routed directly to CAN interface,
• The PDU Router engine whereas DCM I-PDUs are routed via CAN
TP, in a CAN network system. Diagnostic
information [8, 9, 10] exceeds eight byte
The PDU router engine performs routing data fields, which makes data flow control
actions according to the routing tables. necessary.
Two translations can be distinguished: up
(to higher layer) and down translation. In
order to provide access to the DCM for the 3.4 CAN interface
activation of the bootloader, the PDU
router engine provides a minimum routing The CAN Hardware Interface provides
capability. Specific PDUs can hence be uniform mechanisms to access a CAN bus
routed correctly to DCM in case the channel regardless of its location (internal/
configurable PDU router tables are external), i.e. upper layers do not
corrupted (e.g. by a previous flash differentiate, whether a CAN controller is
operation). connected via an SPI bus or whether an
on-chip CAN controller is used. CAN-
Interface abstracts from the location of
CAN controllers (on-chip/on-board), the
ECU hardware layout and the number of
CAN drivers. The upper layer addresses
CAN channels rather than CAN
controllers.
06-15
iCC 2006 CAN in Automation
06-16
iCC 2006 CAN in Automation
6 Acronyms, abbreviations
06-17