Auteur Sujet: Bus I2C, CAN: aide à la mise au point ?  (Lu 19936 fois)

savignyexpress

  • Invité
Bus I2C, CAN: aide à la mise au point ?
« le: août 15, 2016, 08:31:58 am »
Bonjour à tous,

J'évalue l'utilisation du bus I2C pour mon prochain projet et je me pose la question des outils d'aide à la mise au point. De mon point de vue, il faut être en mesure d'observer le trafic et éventuellement simuler un équipement.

Comment testez-vous vos développements incluant un bus I2C ou CAN ?
Quelqu'un a-t-il de l'expérience avec la carte open source "bus pirate" ?
Quelles sont les alternatives accessibles et pas trop coûteuses pour un usage amateur ?

Je dispose d'un oscillo analogique qui pourrait me permettre de vérifier l'allure générale des signaux et attester de l'activité mais évidemment sans possibilité de décodage des trames.

Merci de votre partage d'expérience.
Bon début se semaine et meilleures salutations.
« Modifié: août 15, 2016, 09:20:59 am par Marc-Henri »

savignyexpress

  • Invité
Re : Bus I2C, CAN: aide à la mise au point ?
« Réponse #1 le: août 15, 2016, 09:21:40 am »
Je ne me souvenais pas que Jean-Luc propose un moniteur CAN... Du coup ma question se réoriente sur le bus I2C.  ;)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Bus I2C, CAN: aide à la mise au point ?
« Réponse #2 le: août 15, 2016, 03:15:33 pm »
Bonjour Marc-Henri,

Je ne sais pas s'il est possible de réaliser un moniteur I2C comme cela est possible pour un moniteur CAN. En effet, le bus CAN est un bus de communication sans adressage qui permet à toutes les entités connectées de recevoir tous les messages (si elles le veulent bien). Le bus I2C est un bus avec adressage, seule l'entité ayant la bonne adresse peut recevoir le message.

Cependant il est toujours possible de brancher un "espion" sur un bus I2C pour une lecture seule et un décodage du protocole. Je n'ai pas trouvé encore d'exemple mettant en oeuvre l'Arduino, mais cela doit bien exister dans les laboratoires.

Sur l'I2C, je pense qu'un des meilleurs sites technique est celui de Nick Gammon :http://gammon.com.au/i2c

Je me souviens que ma première réalisation d'un réseau ferroviaire comportait un bus I2C qui reliait le Mega en charge du TCO et de la conduite des trains au Mega en charge des commandes d'aiguilles et des capteurs de rétrosignalisation. Je me souviens surtout que c'était un peu la galère pour avoir un noyau de communication bi-directionnel efficace, du fait de la hiérarchie maitre-esclave de l'I2C.

Mon réseau actuel est bien plus complet avec un Mega "TCO+Rétro", un Mega et un Nano "Traction", un Mega "Aiguilles", un Due "Gestionnaire", un Mega "Signalisation" , un Nano "voie de programmation" et certainement pas mal d'autres Nano et Mini dédiés à l'animation du décor.

C'est toujours en chantier, donc en évolution permanente, mais j'ai fait le choix du bus CAN pour les échanges entre ces entités car je me suis rendu compte qu'un message pouvait parfois intéresser plusieurs autres entités, et la hiérarchie des échanges varie selon les cas. Le bus I2C n'aurait pas permis cette souplesse.

J'ai donc choisi d'abandonner l'I2C pour les échanges, et je le conserve uniquement pour les extensions périphériques des Arduino (eeprom, horloge RTC, afficheurs LCD, ...).

Pour le bus CAN j'ai mis au point un module d'émision-reception que tu peux voir dans mon article sur le CAN : http://www.locoduino.org/ecrire/?exec=article&id_article=148.

J'ai aussi développé un testeur de bus CAN personnel pour suivre et debugger mes premiers essais. Il est certainement moins bien que celui de Jean-Luc que j'ai découvert récemment et que je n'ai pas encore pu tester. Si cela t'intéresse, je peux te l'envoyer en MP.

Bien amicalement
Dominique
Cordialement,
Dominique

savignyexpress

  • Invité
Re : Bus I2C, CAN: aide à la mise au point ?
« Réponse #3 le: février 02, 2018, 07:10:59 am »
Bonjour à tous,

Je reprends mes réflexions quant aux outils d'aide à la mise au point lors de l'utilisation de protocoles de communications: CAN, I2C ou SPI. L'un de vous a-t-il de l'expérience avec les produits suivants:


Bonne fin de semaine et meilleures salutations.

Marc-Henri