Bus CAN et systèmes PSOC5 publié le 10/02/2013 - mis à jour le 17/10/2019
1. Présentation
1.1 Généralités
Le Bus CAN (Control Area Network) est largement employé pour véhiculer des informations dans les systèmes embarqués. Sa robustesse en fait un bus de choix dans les domaines de l’automobile la marine et l’aviation.
Le bus CAN HS (High Speed) est un bus multi-maître qui permet la liaison entre un ensemble de nœuds (ECU : Electronic Control Unit). Le débit d’information peut atteindre 1Mbit/s.
Les ECU sont réalisés à l’aide d’unités de traitements (microcontrôleurs, DSP ou ordinateurs) reliés à des ensembles "controller + transceiver". Le transceiver (coupleur différentiel) permet l’adaptation des niveaux électriques des tensions circulant sur le bus. Le contrôleur, quant à lui, a pour fonction de gérer les échanges de données sur le bus (priorité, erreur de données...).
Comme nous allons le voir dans la suite de l’article, le PSOC5 intègre la partie contrôleur.
Il suffira juste de lui adjoindre un transceiver afin de faire communiquer ce microcontrôleur avec un autre environnement (l’exemple que je décris ci-après concerne la communication entre deux kits PSOC5).
1.2 Niveaux de tension, informations binaires et transceiver
La méthode de codage des bits composant la trame est de type « NRZ ». A chaque bit généré correspond un niveau de tension.
Les transceivers assurent la création des états Récessifs (1 logique) ou Dominants (0 logique) en appliquant sur le bus les niveaux de tension décrits ci-après. C’est la valeur de la tension différentielle appliquée sur le bus qui représente l’état souhaité .
1.3 Trame CAN
Le bus CAN est capable de véhiculer quatre types de trames :
- Trame de données (voir description ci-dessous)
- Trame de questionnement (remote frame)
- Trame d’erreur (error frame)
- Trame de surcharge (overload frame)
L’idée n’étant pas de commenter complètement le bus CAN j’arrête là la description du bus pour passer à son exploitation.