LE BUS CAN 2/3
Cours bus CAN REV2010 STS.doc
2 )
FORMAT D’UNE TRAME STANDARD CAN 2.A
2.1 ) SOF
(
S
TART OF
F
RAME
)
Constitué par un seul bit, de niveau dominant, indique aux nœuds le début de la trame. La détection du
front descendant du SOF par les nœuds va leur permettre de se synchroniser sur la trame en cours de
transmission.
2.2 ) C
HAMP D
'
ARBITRAGE
Constitué de l'identificateur du message ( 11 bits en trame standard ) et du bit RTR ( Remote
Transmission Request ).
L'identificateur de longueur 11 bits permet d'attribuer une adresse spécifique à chaque message. Le bit
de poids fort de l'identificateur est transmis en premier.
Le bit RTR de niveau dominant indique que c'est une trame de données qui est en cours de
transmission.
Le bit RTR de niveau récessif indique que c'est une trame de requête (absence du champ de données)
qui est en cours de transmission. La trame de requête est envoyée par un nœud à un autre nœud pour
lui demander un renvoi de ses données.
Le champ d'arbitrage influe sur l'attribution du bus dans le cas où deux nœuds ou plus émettent
simultanément leurs trames.
Pour éviter les collisions et par conséquent la destruction de la trame, l'arbitrage du bus CAN s'appuie
sur l'évaluation des identificateurs commençant la trame.
Chaque nœud débute son émission par l'identificateur composé de bits dominants et de bits récessifs.
A travers son transceiver ( on écoute ce que l'on émet: rebouclage du TxD sur le RxD ), il compare
chaque bit qu'il transmet sur le bus et le bit réellement transmis.
En transmettant un bit récessif et après lecture du RxD, il détecte un bit dominant, le nœud s'aperçoit
qu'il a perdu l'arbitrage.
Par conséquent, à partir du bit suivant, il se met en position récepteur. Il tentera un accès au bus à
la fin de transmission de la trame en cours.
Ci-dessous, une illustration du processus d'arbitrage entre 3 nœuds qui veulent accéder simultanément
au bus:
R = Récessif = ‘1’ D = Dominant = ‘0’ Finalement, c’est le nœud 3 qui garde le bus