Bonjour,
Actuellement le contrôleur CAN utilisé conjointement avec les Arduino est le MCP2515. Ce composant est sorti en 2003. Il possède 3 buffers d'émission et deux buffers de réception (RXB0 et RXB1). Pour sélectionner uniquement les messages qui sont pertinents, RXB0 possède 1 masque et 2 filtres et RXB1 1 masque et 4 filtres
En 2017 Microchip a sorti un nouveau contrôleur, le MCP2517FD. Ce composant possède une RAM interne de 2ko pour les buffers (hé oui autant que l'Arduino Uno) et permet de configurer 31 FIFO de messages en émission ou en réception, 32 masques ou filtres. L'interêt immédiat est :
- de libérer la mémoire de l'Arduino qui sert au stockage des messages en réception
- d'avoir beaucoup de place pour stocker les messages en réception
- de bénéficier d'une FIFO en émission gratuitement en terme de mémoire pour que l'émission ne soit pas bloquante si le message précédent n'est pas parti
En mode CAN2.0B, il est évidemment compatible avec le 2515
Mon collègue Pierre a écrit un driver pour ce composant :
https://github.com/pierremolinaro/acan2517Cette bibliothèque est téléchargeable via le gestionnaire de bibliothèques de l'IDE
J'ai dessiné une petite carte que je vais bientôt faire fabriquer pour essayer, je vous tiens au courant.