89 lines
No EOL
3.7 KiB
Markdown
89 lines
No EOL
3.7 KiB
Markdown
# Session 3 2024-03
|
|
|
|
bus can -> bus syst. série
|
|
réduire nb cables
|
|
|
|
# BUS CAN
|
|
conçu par BOSCH, fin des années 80
|
|
- temps maximal normalisé
|
|
- syst. d'erreur simple et efficace
|
|
|
|
-> contrôleurs CAN petits, peu couteux, entièrement intégrés, utilisable à débit important en tps réel et env difficile avec haut niveau de fiabilité
|
|
-> origine automobile, étandu à tous les domaines
|
|
|
|
syst critique (High speed) ou low speed
|
|
CAN -> prot. réseau intégré dans la norme ISO/OSI
|
|
|
|
## Protocole CAN
|
|
(rappel : arbitrage non destructif, si collision réémission de la deuxième trame plus tard)
|
|
=> catégorie des réseaux de terrain
|
|
|
|
-> hiérarchie des msg, garantie du temps de latence, souplesse de config
|
|
->reception de multiples sources avec synchro temporelle
|
|
-> fonctionnement multimaitre, detect° d'erreurs
|
|
->retransm. automatique des msg altérés
|
|
-> distinction d'err. : d'ordre temporaire ou de non fonctionnalité permanent au niveau d'un noeud
|
|
-> déconnexion des noeuds défectueux
|
|
|
|
### Caractéristiques
|
|
bus série = paire différentielle avec CAN_H(igh) et CAN_L(ow), connecté sur des résist. 120ohms ou capa 30pF résistant aux perturbat°
|
|
-> attention Can_H(igh) != can high speed
|
|
résist. 120 ohm au bout pour éviter que le message reparte dans le can après avoir circulé
|
|
si EMI (interference electromagn.)=> modif des msg dans H et L, calcul de la diff. de différentiel, et les deux seront modifiés de la même manière
|
|
ex
|
|
| CAN-H|5|3 |3|*4.5*|3|
|
|
|------|-| - |-| ----|-|
|
|
| CAN-L|1|1.5|2|*2.5*|1|
|
|
| UDiff|4|1.5|1|*2* |2|
|
|
-> la différence reste constante contrairement à tension mesurée dans le fil
|
|
|
|
ex : bit = 0 si Udiff < 3, 1 sinon
|
|
|
|
low-speed = vit de propag sur le bus = 125Kbits (permet cable plus long)
|
|
high-speed = 1 Mbits
|
|
|
|
### Principe de fctment
|
|
-> type wired-and : un bit dominant (0)(CANH > CANL) écrase un bit récessif (1)(CANH <= CANL)
|
|
+> les identif. des noeuds avec la valeur la plus faible sont prioritaires
|
|
|
|
synchro d'horloge : bourrage de bit inversé (bit stuffing)
|
|
le débit réel des infos ne tient pas compte de ces bits stuffing
|
|
|
|
si ajouter un bit de stuffing fait passer la séq. d'après à 5 bits conséc. => on ajoute encore un nouveau bit de stuffing => possibilité de propagation
|
|
|
|
types de trames :
|
|
- de données
|
|
- de requête (remote frame)
|
|
- de gestion d'erreur
|
|
- de surcharge (ex si un calc n'arrive pas à lire assez vite)
|
|
- espace entre frames
|
|
|
|
trame, fin = 7 bits à 1 + séparateur trames = 3 bits à 1
|
|
CAN sur les couches appli (prot spécifié par l'utilisateur) liaison et physique (prot CAN pour les deux couches)
|
|
|
|
#### Couche physique
|
|
couche MAC entre données et couche physique, elle donne la priorité et définit l'arbitrage
|
|
fournit les moyens matériels nécéssaires à l'activation, maintien, désactvation des connex physiques
|
|
-> gère repr. des bits et définit les niveaux electriques optiques etc des signaux
|
|
le type de transceiver définit le type de transmission (low speed ou high speed)
|
|
|
|
transceiver transforme trame en voltage pour can high ou low (et receptionne avec processus inverse)
|
|
|
|
2 couches basses, 3 parties : Implémentation, Standards et CAN (iso pas à connaitre)
|
|
can controller complète le msg (ajout identifiant, concat dataframe, etc)
|
|
|
|
µcontrolleur => crée msg
|
|
|
|
résist. de terminaisons évitent les répétitions en bout de ligne (rebond du signal)
|
|
|
|
##### Topologie du réseau
|
|
réseau sous forme de bus => tt est connecté
|
|
réseau avec passerelle -> un can fait office de pont entre deux réseaux
|
|
|
|
CAN low speed -> can fault tolerance : accepte des erreurs sur le réseau, et de les résoudre ou déconnecter les noeuds
|
|
|
|
faisceau de bits codé en NRZ
|
|
Bit stuffing sur remote frame et dataframe, s'applique jusqu'au CRC
|
|
synchro de 2 façon :
|
|
hard : sur le bit de start
|
|
Re-synchro sur chaque front récessif et dominant |