De nos jours, un certain nombre de modules CAN sont intégrés aux microcontrôleurs. Le PIC18F2480 en est un exemple. Ce microcontrôleur (avec CAN intégré) est-il capable de piloter un bus CAN seul ou un émetteur-récepteur / contrôleur CAN externe est-il nécessaire?
Je pense que CAN a à la fois une couche logicielle et matérielle. Par leur apparence, ces microcontrôleurs activés par CAN semblent ne posséder que le logiciel, mais cela ne dit pas qu’ils peuvent ou non piloter le bus CAN tels quels.
Je souhaite connecter plus de six microcontrôleurs via un bus CAN et souhaiterais savoir si j'ai besoin d'un émetteur-récepteur pour tous ou si le composant intégré peut gérer la communication d'un point de vue logiciel et matériel.
Supposons que j'aurai les résistances de terminaison nécessaires et d'autres petits composants discrets (capuchons, résistances, etc.)
La famille de microcontrôleurs LPC11Cxx (basée sur ARM Cortex-M0) comprend l’émetteur-récepteur CAN sur puce.
la source
Oui, vous avez besoin d'un transeiver. Les broches CAN sur le micro sont reçues et transmises. Le bus CAN lui-même utilise une paire torsadée avec signalisation différentielle sur deux fils appelés HIGH et LOW.
L’un des travaux de l’émetteur-récepteur consiste à transformer le niveau logique que vous présentez sur la broche TX en signaux de bus CAN:
L'autre consiste à prendre ce qui est sur le bus et à le transformer en niveau logique pour le renvoyer de la broche RX à votre micro.
la source
Vous avez besoin d’une puce d’émetteur-récepteur CAN entre la CPU et le bus CAN. Découvrez le MCP2551.
Mise à jour du 17 août 2017:
Je suis présentement à la conférence Microchip Masters. Les ingénieurs de Microchip m'ont bien dit que l'une des nouvelles pièces résultant de l'acquisition d'Atmel est à la fois moins chère et meilleure que la MCP2551.
la source
Les appareils analogiques ont un exemple de circuit émetteur-récepteur CAN utilisant un amplificateur différentiel.
Je n'ai pas essayé cela, je suis juste au courant. Aussi intéressé si cela pourrait être mis en œuvre avec un op-amp
Les avantages de l’émetteur-récepteur IC CAN dédié sont qu’ils gèrent l’arbitrage pour vous et que vous n’avez pas à vous soucier d’interférer avec le bus. Si vous ne faites qu'observer le bus et que l'environnement n'est pas critique, le circuit peut fonctionner correctement. Bien que le mcp2551 soit très populaire, il existe de nombreuses options pour les puces d'interface.
Une nouvelle évolution concerne les puces de type System Base, qui incluent la régulation de la tension, les modes de puissance et la protection ESD du bus.
Comme timorr l’a dit plus haut, le LCP11C24 de NXP est unique en ce sens que le processeur inclut un émetteur-récepteur CAN. Un tableau de démonstration avec ceci est seulement 19 $. Une autre solution peu coûteuse consiste à utiliser la carte de démonstration Cypress PSoC5 à 9,38 $, la CY8CKIT-059. Le PSoC5 n’a pas de contrôleur CAN; cela va plus loin: le contrôleur est implémenté dans les blocs universels de type FPGA. Les registres du contrôleur sont configurés via l'interface graphique de l'EDI, ce qui facilite le filtrage et la R & D.
Une méthode clé que j'ai trouvée lors de la consultation de feuilles de données est que le mcu TTL est étiqueté CAN-Tx et CAN-Rx, tandis que les lignes de données des émetteurs-récepteurs sur le bus sont toujours étiquetées CAN-H et CAN-L. Je n'aime pas les schémas de l'autre réponse où TxRx est montré connecté au bus; cela va à l’encontre des conventions et contribue à la confusion.
la source