AIDA TP 2.0 Component

The TP 2.0 component implements the AUDI/VW CAN transport protocol version 2.0 (document version 1.02). Most of the parameters are named in accordance with the protocol specification and are not described in further detail here. For any unknown/undescribed terms please refer to the document Konzern CAN-Transportprotokoll TP2.0.

General Information

The TP 2.0 component supports up to four channels to be used simultaneously. These four channels are accessed through the destination ids 0-3 of the TransmitData events passed to this component. Events without a valid destination id will be sent through channel 0. ReceiveData events contain a valid source id specifying the channel through which the data was received. The number of channels to be used can be configured.

During the channel setup phase a mapping from a destination byte within the setup messages to a src id of the event and vice versa has to be done. The TP 2.0 component does allow this mapping only for one given id. Since the mapping is manufacturer specific an additional mapper component may be added.

All parameters used to specify an id or mask are split into a low and a high part since ids are 64 bit wide.

Note: Status events sent from a component above in order to open or close a transport channel without sending data are currently ignored.

Parameters

DynamicChannelIDs
When set to 1 which is the default the TP 2.0 component will use the regular VWTP V2.0 behaviour and start the communication with ChannelSetup/ChannelAcknowledge messages to negotiate the CAN ids to be used for the transport channel. When set to 0 the negotiation phase is omitted and the communication starts with the ChannelSetup/ChannelAcknowledge messages. In this mode of operation the identifier pair used for a transport channel is static.
AutomaticChannelSetup
When set to 1 the TP 2.0 component automatically opens the given channel when needed. When set to 0 events sent to a closed channel will be returned as TransmitDataDone event with the Flags AIDA_nSendError and AIDA_nCommuStartError set. In this case the application has to set the AIDA_nStartCommu flag in the TransmitData event to open the channel.
AutomaticChannelSetupDst2IDMapping
When set to 1 the TP 2.0 component automatically maps destination bytes in channel setup messages to source ids and vice versa. The component only allows a 1:1 mapping so the destination byte is set to the lsb of the source id. Since the mapping of ids to destination bytes is manufacturer specific the automatic 1:1 mapping can be turned off by setting this parameter to 0. In this case only channel setup messages with a source id identical with the id specified by ChannelSetupRXLow and ChannelSetupRXHigh are accepted. In this case the parameters ChannelSetupTXDestination and ChannelSetupRXDestination are used instead of the lsb of the message's source id. Event when this parameter is set to 0 the parameters ChannelSetupRXMaskLow and ChannelSetupRXMaskHigh are still used to prefilter incoming messages.
ApplicationType, ApplicationTypeMask
When the TP 2.0 component is initiating a channel setup the ApplicationType is stored in the application type field of the channel setup message. When the component receives a channel setup request the following condition must be met for the message to be accepted:
(ApplicationType & ApplicationTypeMask) == (<received application type> & ApplicationTypeMask)
ChannelSetupTXLow, ChannelSetupTXHigh
Specifies the source id used when sending channel setup or channel acknowledge messages.
ChannelSetupRXLow, ChannelSetupRXHigh
Specifies the source id accepted for incoming channel setup messages. When AutomaticChannelSetupDst2IDMapping is set to 0 the message id of the incoming message must exactly match the id configured by these parameters. When AutomaticChannelSetupDst2IDMapping is set to 1 these parameters are only used for prefiltering.
ChannelSetupRXMaskLow, ChannelSetupRXMaskHigh
These parameters together with ChannelSetupRXLow and ChannelSetupRXHigh are used to prefilter incoming messages. When
(<source id of incoming message> & ChannelSetupRXMask) == (ChannelSetupRX & ChannelSetupRXMask)
the incoming message passes the filter and is interpreted as channel setup message.
ChannelSetupTXDestination, ChannelSetupRXDestination
When AutomaticChannelSetupDst2IDMapping is set to 1 these parameters are ignored. Otherwise ChannelSetupTXDestination is inserted in the destination byte field of an outgoing channel setup message. Incoming channel setup messages in this case are prefiltered by checking if their destination byte field is equal to ChannelSetupRXDestination.
ChannelSetupSniffer
When ChannelSetupSniffer is set to 1 the sniffer module in the TP 2.0 component is activated. The sniffer module checks all channel setup and channel acknowledge messages passing the Chs filter of the TP 2.0 component for ID conflicts with the already opened transport channels. When a conflict is detected the open channel will silently be disconnected. Please note that there is a short delay between detection of an ID conflict and the disconnection. Within this delay the TP 2.0 component's state machine may still transfer some data.
When ChannelSetupSniffer is set to 0 the sniffer module is deactivated. This is the default setting and should not be changed until an ECU with faulty firmware or a faulty AIDA application is used with this component. The sniffer module shall be used as temporary workaround until the broken firmware or application are fixed.
UseChannels
This is a bitmap for the channels to be used. Every bit set to 1 corresponds to a channel that may be used for communication. Bit 0 corresponds to channel 0 etc.
ChannelsUsed
This is a readonly bit field showing which channels currently are in use.
SendChannelTX, SendChannelRX
These parameters specify which ids in the corresponding fields of a channel setup message shall be set by the component when it initiates a channel setup.
Channel1TXLow, Channel1TXHigh, Channel2TXLow, Channel2TXHigh, Channel3TXLow, Channel3TXHigh, Channel4TXLow, Channel4TXHigh
These are the ids used as source ids when sending communication messages. During the channel setup phase ids of unused channels may be swapped.
Channel1RXLow, Channel1RXHigh, Channel2RXLow, Channel2RXHigh, Channel3RXLow, Channel3RXHigh, Channel4RXLow, Channel4RXHigh
These are the ids used to compare the source ids of received communication messages to decide if they are accepted. During the channel setup the lowest 11 bits of these ids are set to the corresponding fields of the channel setup message.
MaxMsgLen
Specifies the maximum length of the messages during communication. For communication over a CAN bus this parameter typically has a value of 8.
MNBE, MNT, MNCT, BS, T1TST, T2TST, T3TST, T4TST
These are parameters of the TP 2.0 protocol. T1TST, T2TST, T3TST and T4TST correspond to T1, T2, T3 and T4 when the component initiates a connection setup and correspond to T1*, T2*, T3* and T4* when the component answeres a connection setup. Please note that T1TST through T4TST are stored in encoded form as described in the TP 2.0 specification.

See Also

AIDA Overview, list of AIDA components