Bonjour,
J’étudie actuellement l'architecture d'un futur prototype : son but est de réaliser l'acquisition de différents capteurs, de corriger ces données et ensuite de les transmettre à un PC et à des afficheurs.
La partie qui me pose problème en ce moment est l'acquisition des capteurs puisqu'il faut que je puisse faire l'acquisition de liaisons séries, de signaux pulses, de signaux analogiques, de BUS CAN... Je vais donc partir sur une architecture distribuée.
Plusieurs microcontroleurs se chargeront d'effectuer l'acquisition des données puis devront les transmettre aux processeurs pour qu'il traite ces données. L'acquisition des données se fera à 10 Hz. Le nombre maximum de données à transmettre au processeur est de 100.
Le but est donc de trouver une liaison pour connecter tous les microcontroleurs et le processeur entre eux. Cette liaison devra permettre de faire circuler 100 données (codées sur 32 bits) en moins de 100 ms.
Mon choix se penche donc sur 2 liaisons : i2c et SPI
A priori l'i2c est plus lent (100 kbit/s ou 400 kbit/s) mais demande moins de broche. Pour une vitesse de 100 kbit/s, un octet (1 bit start/8 bit données/ 1 bit Ack/ 1 bit de stop) est transmis en 110 us. Pour envoyer mes 100 données codées sur 32 bits il me faudra 44 ms. Si je compte en plus 1 octet de commande entre chaque lecture c'est à dire 100*110 us donc 11 ms, on en arrive à 55 ms pour faire l'acquisition des 100 variables. On est donc en dessous des 100 ms mais ça veut dire que j'occuperai quand même beaucoup de temps du processeur pour réaliser l'acquisition des données.
La liaison SPI pourrait quand à elle être beaucoup plus rapide mais elle consommerai aussi plus de broche pour contrôler le bus.
De plus, pour le moment le prototype sera réalisé à partir d'une carte de développement (pour la carte processeur) et sera relié aux cartes d'acquisitions à travers des files. Or, il me semble que pour utiliser la liaison I2C les 2 composants doivent être reliés sur le même PCB ?
Voilà les quelques questions que je me pose. Si vous avez des avis/propositions je suis preneur. Merci.
-----