Il y a trois composants principaux dans un nœud de bus CAN :
Le contrôleur de bus CAN implémente toutes les fonctionnalités de bas niveau du protocole réseau, ISO 11898–1, tandis que le transceiver communique avec la couche physique. Différents transceivers sont nécessaires pour différentes couches physiques, telles que le can à haute vitesse, le can tolérant aux fautes à basse vitesse, ou le can à haute vitesse avec un débit de données variable.
Dans une mise en œuvre typique, le contrôleur de bus CAN et le microprocesseur sont unifiés dans un microcontrôleur compatible CAN. Des contrôleurs de bus CAN externes avec interface SPI sont disponibles sur le marché, principalement fabriqués par Microchip, mais ils peuvent souvent ajouter un coût et une complexité inutiles.
Dans cet article, nous examinerons la conception de circuits du transceiver au connecteur de bus CAN. Il est temps de nous salir les mains et de concevoir notre circuit de bus CAN !
Tous les transceivers de bus CAN fonctionnent de manière similaire, car ils se situent entre le microcontrôleur (ou FPGA) implémentant le contrôleur de bus CAN et le bus CAN lui-même. Cependant, il existe quelques différences que vous devriez considérer attentivement.
Une recherche rapide dans la catégorie Octopart appropriée révèle que les principaux fabricants de transceivers CAN-bus sont, par ordre décroissant selon le nombre de circuits intégrés proposés, NXP Semiconductors, Microchip, Texas Instruments, Maxim Integrated, Analog Devices et ST Microelectronics.
Tous ces transceivers se ressemblent, mais ils diffèrent tous par leurs caractéristiques et performances.
Les premiers transceivers CAN-bus sur le marché offraient très peu de protection contre les événements de décharge électrostatique (ESD). Ils nécessitaient que toute la protection des entrées/sorties soit mise en œuvre avec des composants externes.
Heureusement, ce n'est plus le cas aujourd'hui. Voici quelques circuits intégrés choisis au hasard et leur tolérance ESD selon le modèle du corps humain (HBM) sur les broches du bus :
Numéro de pièce |
Fabricant |
Tolérance ESD HBM |
ST Microelectronics |
6kV |
|
Infineon |
6kV |
|
NXP Semiconductor |
8kV |
|
Linear Technology |
25kV |
|
Maxim Integrated |
22kV |
Une tolérance ESD plus élevée peut vous permettre d'économiser sur la protection externe, mais vous devez savoir que quelques centimes supplémentaires dépensés pour des diodes TVS de qualité peuvent considérablement améliorer la fiabilité.
Si votre application est limitée en espace et que vous n'avez pas à gérer beaucoup d'ESD, alors la solution tout-en-un est la voie à suivre. Dans mon cas, j'ai opté pour une TVS externe et un transceiver plus abordable.
La plupart des transceivers sur le marché fonctionnent à 5V, mais les CI conçus pour 3.3V sont extrêmement populaires également. Des tensions d'alimentation plus basses ne sont pas possibles sans recourir à l'utilisation de convertisseurs dc-dc. Certains CI, comme le MAX14883E de Maxim Integrated, incluent une entrée d'alimentation de niveau logique permettant l'interopérabilité avec des dispositifs de 1.8V indépendamment de l'alimentation du transceiver.
Dans mon cas, mon MCU fonctionne à 3.3V, donc je choisirai également cette tension pour les transceivers CAN-bus.
Tous les transceivers CAN-bus à haute vitesse peuvent fonctionner jusqu'à 1Mbps sur de petits réseaux. Les transceivers CAN-FD peuvent être exploités jusqu'à 5Mbps, mais beaucoup d'entre eux sont limités à des vitesses inférieures comme 2Mbps.
Le débit final du système sera limité par la capacité du bus, l'attribution des identifiants CAN-bus, et le type de trames CAN transmises. Le pire scénario est généralement un débit effectif d'un tiers du maximum.
Un transceiver CAN-bus isolé peut être nécessaire soit pour des exigences de sécurité. Par exemple, introduire une isolation galvanique peut protéger la partie basse tension de vos circuits dans le cas où le bus entre en contact avec des tensions dangereuses. La même isolation peut également améliorer la communication en rompant les boucles de terre et en permettant des différences de potentiel de terre plus importantes entre les nœuds.
Bien sûr, les transceivers CAN-bus isolés nécessiteront une alimentation isolée de manière similaire.
De nombreux transceivers incluent une entrée de sélection de mode qui peut être utilisée pour mettre le circuit intégré en faible consommation d'énergie et éteindre l'émetteur. Typiquement, le récepteur reste actif, et la broche RXD peut être utilisée pour déclencher une interruption de réveil dans le microcontrôleur.
L'entrée de sélection de mode fait parfois office de contrôle de pente lorsqu'elle est tirée vers le haut ou vers le bas à travers une résistance d'au moins quelques kOhm. Réduire la pente du signal, bien que cela puisse limiter la bande passante, permet au transceiver de restreindre la quantité d'interférence électromagnétique qu'il produit.
Tous les transceivers conformes à la norme ISO 11898-2 doivent pouvoir supporter des tensions continues sur CANH et CANL entre -3V et +32V par rapport à la terre sans se rompre, supporter des transitoires de -150V à 100V, et être capables de fonctionner avec une tension de bus en mode commun entre -2V et +7V.
Pratiquement tous les circuits intégrés sur le marché dépassent ces exigences, avec un concours informel pour voir qui peut afficher les chiffres les plus significatifs en arrière-plan.
Voici quelques exemples :
Numéro de pièce |
Fabricant |
Tension continue sur CANH et CANL |
ST Microelectronics |
-5V à +36V |
|
Infineon |
-40V à +40V |
|
NXP Semiconductor |
-58V à +58V |
|
Linear Technology |
+60V à +60V |
|
Maxim Integrated |
+63V à +63V |
Les tensions supérieures à 50V sont désormais standard, car de nombreux véhicules disposent de groupes motopropulseurs hybrides fonctionnant à 48V, et le transceiver doit être capable de supporter un court-circuit du bus à la ligne d'alimentation de plus haute tension du système.
Il n'y a pas de règles strictes et précises sur le nombre de nœuds que vous pouvez intégrer dans un réseau, mais l'un des paramètres les plus critiques sera l'impédance d'entrée entre CANH et CANL sur votre transceiver.
Une haute impédance d'entrée aura une influence marginale sur le bus et permettra un nombre plus élevé de nœuds.
Certains transceivers implémentent des fonctionnalités de protection étendues, telles que :
La plupart des transceivers CAN-bus incluent un mode d'écoute seulement qui renvoie le TXD au RXD sans réellement piloter le bus. Cette fonctionnalité est souvent utilisée pour déterminer automatiquement le débit en bauds du bus.
Dans ma conception, j'ai opté pour un TJA1051, principalement parce que je suis économe, et c'est l'un des CI les plus abordables sur le marché. La page du produit peut être trouvée ici.
En utilisant le panneau "Recherche de pièce du fabricant", j'ai immédiatement trouvé les modèles de composants, avec empreinte et 3D, et les ai placés sur le schéma. Le modèle a été automatiquement téléchargé depuis les bibliothèques cloud d'Altium 365™.
Je n'ai pas besoin de mentionner que nous aurons besoin de condensateurs de dérivation locaux, n'est-ce pas ?
De plus, quelques condensateurs de petites valeurs, typiquement de 40 à 100pF sur les lignes CANH et CANL et connectés à la terre, peuvent aider à absorber l'énergie ESD et améliorer la résilience EMI. Comme toujours, avec l'augmentation de la capacité du bus vient la diminution de la vitesse du bus, l'augmentation de la charge de l'étage de sortie du transceiver et l'augmentation de la consommation d'énergie.
Le bus CAN doit être terminé à chaque extrémité par une résistance de 120 ohms. Bien sûr, nous pourrions calculer correctement la puissance (1/4W standard, 1/2W si nous sommes paranoïaques), placer notre jolie petite résistance et appeler ça une journée. Mais pourquoi simplifier les choses ?
Une technique plus sophistiquée, adoptée dans presque tous les circuits imprimés CAN-bus éprouvés par l'industrie que j'ai vus jusqu'à présent, est la terminaison divisée.
Dans la terminaison divisée, deux résistances de 60 ohms sont utilisées en série, totalisant 120 ohms. Le nœud électrique entre les deux résistances est connecté à la terre à travers un condensateur, généralement de 4,7nF.
La valeur du condensateur a été calculée pour obtenir une fréquence de coupure de -3db à la fréquence fondamentale du réseau.
Dans mon cas, le réseau devrait avoir un débit de 1mbit/s. En supposant le pire scénario, lorsque le réseau transmet une séquence de bits alternés (01010101), le signal sera une onde carrée de fréquence 500kHz, soit égale à la moitié du débit binaire.
Sachant que la résistance est de 60 ohms, nous pouvons donc calculer le condensateur.
Si nous devons approximer la valeur de notre condensateur, un peu plus petit interférera moins avec notre précieux signal. D'où le 4,7nF, qui est la valeur la plus largement adoptée.
Si vous avez besoin d'une bibliothèque de composants passifs, je recommande de tout cœur la Celestial Library de Mark Harris. Elle est gratuite, étendue et soigneusement organisée.
Si votre système n'est pas soumis à de fortes décharges électrostatiques (ESD), la protection incluse dans le circuit intégré du transmetteur pourrait être tout ce qui est nécessaire.
Les diodes TVS (Transient Voltage Suppressor) sont un choix courant en raison de leur faible capacité équivalente en parallèle.
D'autres dispositifs de protection contre les surtensions, tels que les MOVs, ont souvent une capacité parasite élevée qui peut limiter les taux de données du bus, en particulier pour les bus avec de nombreux nœuds.
Plusieurs diodes TVS spécialement conçues pour le CAN-bus sont disponibles sur le marché, par exemple, NUP2105L de ON Semiconductor, que j'ai décidé d'utiliser dans cette conception.
Pour le transmetteur, j'ai placé le modèle en un clic à partir des bibliothèques d'Altium 365 en utilisant le panneau de recherche de pièces du fabricant, sans avoir à dessiner le symbole schématique et l'empreinte.
Si votre circuit était sans protection, tout le courant EMI irait directement dans votre transmetteur depuis votre connecteur, puis retournerait à travers le plan de masse. C'est ce que le courant veut faire parce que c'est le chemin de moindre impédance.
Tous vos composants de protection doivent être placés aussi près que possible de ce chemin pour éviter d'augmenter la surface de la boucle. De plus, toute la protection doit être aussi proche que possible du connecteur et du bord de la carte pour prévenir le couplage de bruit dans le reste du circuit.
Naturellement, il n'est pas possible de tout entasser à proximité immédiate du connecteur, donc nous devons prioriser. La règle générale est de placer le composant qui doit faire face à l'agresseur EMI le « pire » en premier.
Dans notre cas, les diodes TVS doivent gérer des événements à haute vitesse et à fort courant. Comme les impulsions rapides sont riches en composants à haute fréquence, si on les laisse se propager librement sur nos cartes, elles se coupleront avec chaque piste disponible et perturberont le fonctionnement.
Donc, la TVS passe en premier.
Si nous n'avions pas les résistances de terminaison au milieu, la choke en mode commun passerait en second.
Dans notre exemple de PCB, il y a encore de la place pour l'amélioration. La diode TVS pourrait être tournée de 180 degrés pour réduire davantage la surface de la boucle ESD. Les condensateurs C5 et C6 pourraient également être tournés de 180 degrés et déplacés un tout petit peu vers la droite.
Chaque guide de conception de PCB mentionne "les plans de masse ci" ou "les plans de masse ça", et si vous voulez éloigner les EMI du ventre tendre de vos cartes, il n'y a pas d'échappatoire.
Il doit y avoir un plan de masse juste en dessous de tout signal que vous reliez à la masse pour garder le chemin d'impédance le plus court possible. Vos diodes TVS devraient décharger les impulsions directement dans le plan de masse, connecté au blindage du câble (si disponible) par une connexion à faible inductance.
Il n'est pas très logique de dépenser toutes nos économies durement gagnées en condensateurs si leur effet va être annulé par l'inductance des pistes de masse.
Dans cette conception, j'ai utilisé des vias à la périphérie du pad. Contrairement à la technique via-in-pad, cela ne nécessite pas une étape supplémentaire dans la fabrication du PCB et donc n'augmente pas le coût. Le via doit être tenté ; sinon, la pâte à souder s'écoulera à l'intérieur, et le pad ne serait pas correctement mouillé.
Vous pouvez trouver de la documentation sur les propriétés de via dans Altium Designer ici.
Disons que nous avons maintenant passé des heures à lire des articles écrits par des figures douteuses, à rechercher des émetteurs-récepteurs, à tester et à valider notre sous-circuit CAN-bus parfait. Et maintenant ?
La première étape consiste à concevoir votre circuit dans un seul document schématique, en utilisant des ports pour les entrées et les sorties, de manière similaire à ce que vous feriez pour une conception hiérarchique.
En utilisant le panneau d'exploration, créez un nouveau dossier "Managed Schematic Sheets".
Une fois votre dossier créé, tous les utilisateurs de votre organisation y auront accès, et vous pourrez procéder au téléchargement de la feuille schématique.
Vous pouvez maintenant placer votre feuille schématique gérée dans n'importe quel projet.
Votre nouvelle feuille schématique gérée sera différenciée par le symbole vert "réutilisation".
Si vous souhaitez savoir pourquoi tout est bleu au lieu de jaune et rouge, consultez mon article précédent sur le style de conception.
Une terminaison "faible" optionnelle, par exemple 1,3 kOhm, peut aider à améliorer la résilience EMI des nœuds avec une longue distance de dérivation. Cependant, la même résistance contribue à charger le réseau, réduisant le nombre de nœuds, diminuant l'impédance nominale finale du bus et réduisant la vitesse maximale.
Si vous n'êtes pas limité par les coûts et que la protection des entrées est primordiale pour vous, vous devriez envisager d'ajouter un second niveau de protection :
Un MOV (Varistance à Oxyde Métallique) ou un GDT (Tube à Décharge de Gaz) pour "absorber" une énergie plus élevée que ce que le TVS peut gérer.
Un dispositif de limitation de courant entre le MOV/GDT et le transceiver, tel qu'une résistance à haute impulsion, une varistance, ou un TBU® (une varistance à semi-conducteur sophistiquée vendue par Bourns).
Il faut toutefois toujours garder à l'esprit que ces dispositifs peuvent augmenter votre capacité équivalente de bus et réduire vos débits de données et augmenter la consommation de courant.
Les filtres en mode standard sont le type de filtre le plus couramment utilisé sur le CAN-Bus, et ils fonctionnent très bien, mais ils présentent certains inconvénients que vous devriez considérer.
Les selfs de mode commun peuvent créer des résonances avec la capacité parasite du bus CAN-bus, conduisant à une augmentation du bruit dans quelques bandes de fréquence spécifiques. Cet effet peut rendre les propriétés EMI des dispositifs CAN-bus imprévisibles, puisque l'inductance dans les selfs de mode commun est rarement spécifiée avec précision, et la capacité parasite peut varier énormément avec la longueur des câbles. Si un câble non blindé est utilisé, la capacité peut varier en fonction de la proximité du câble avec des surfaces métalliques reliées à la terre.
Comme nous le savons tous, les inducteurs de mode commun se comportent comme des inducteurs en mode commun. Évidemment. Certaines conditions de défaut, telles qu'un court-circuit vers le courant ou la terre, peuvent provoquer des courants transitoires de mode commun élevés. Dans certains cas, la surtension créée par l'inductance de la self de mode commun peut endommager les transceivers CAN-bus. Ces surtensions peuvent être plutôt difficiles à déboguer, car elles sont créées après la protection contre les surtensions, qui est typiquement placée à l'orée du circuit imprimé.
Le troisième inconvénient des selfs… elles peuvent être coûteuses. Les signaux différentiels à haute vitesse nécessitent une très faible fuite de courant.
Certains fabricants de CI, Texas Instruments en particulier, promeuvent des dispositifs isolés et très tolérants aux EMI pour les réseaux CAN-bus sans self.
Je les apprécie beaucoup, donc j'ai décidé d'opter pour une self de mode commun spécialement conçue pour les applications CAN-bus.
Je dois être amoureux du CAN-bus. Entre sa flexibilité sans fin et sa résistance extrême aux EMI, c'est, sans aucun doute, l'une des normes les plus excitantes au monde.
Avec Altium Concord Pro, vous pouvez partager de manière transparente vos feuilles de schéma au sein de votre organisation, permettant la réutilisation de la conception et minimisant l'effort d'ingénierie pour lancer de nouveaux produits.
Vous avez d'autres questions ? Appelez un expert chez Altium.