|
|
Les bus de communication
microélectronique et marine |
|
|
Généralités sur les
bus |
Maj : 27/09/04
|
Je vais essayer d'être le plus simple et le plus général
possible dans cette page, les sujets traités sont couverts par des montagnes
de documentations, je ne fais que vous les présenter sans rentrer dans
le détail. Il faudrait des centaines de pages pour approfondir chacun
de ces chapitres, les protocoles détaillés des bus sont complexes.
Ces chapitres sont destinés à éveiller votre curiosité.
Vous trouverez sans problème les informations complémentaires
dans : liens électronique
Avant de parler de ces deux bus majeurs évoqués dans tous les projets, il faut tout d'abord préciser ce qu'est un bus.
Dans un système électronique et microinformatique, nous trouverons
tout ou partie des sous-ensembles.
Le circuit microcontrôleur,
cur du système.
Un clavier, un afficheur, des
convertisseurs Analogique-numérique et D-A, des ports d'entrées sorties,
des mémoires, etc.
Ces composants étant parfois situés sur des cartes séparées,
il est hors de question de relier chacun par des nappes de dizaines de fils
véhiculant des données en parallèle. C'est ici qu'intervient
la notion de bus, pour sérialiser les données et permettre les
échanges. Tous ces composants vont dialoguer avec 2 ou trois fils ce
qui va beaucoup simplifier la réalisation. Définir un bus consiste
donc à fixer les points clefs :
- Combien de signaux seront véhiculés (nombre de fils)
- Tensions des niveaux logiques et type des fils et connecteurs (séparés,
torsadés, coaxial...)
- Vitesse des échanges (horloge)
- Format de la trame et codage des informations
- Normalisation des adresses des périphériques
- Gestion des conflits de bus et dispositions anti-collisions
- etc.
Tout cela définit une norme de bus, toujours présente dans un
réseau local de machines ou de composants (LAN Local Area Network).
Les débutants se demandent pourquoi le bus n'est pas unique, genre RS-232
pour résoudre les problèmes.
C'est comme poser la question naïve : "Pourquoi l'humanité
entière ne parle pas français ? Ce serait beaucoup plus simple
".
Il y a une grande variété de bus, nous ne parlerons que des deux
principaux, utilisés pour les échanges à partir d'une carte
microcontrôleur.
Les deux premiers, I2C et CAN sont les grands bus de la micro-informatique, les autres sont des bus spécifiquement marine.
Pourquoi choisir un bus propriétaire ?
Un constructeur a tout intérêt à ne pas choisir un bus
universel pour sa gamme mais imposer sa solution propriétaire. C'est
ce qu'avait parfaitement compris Autohelm avec son Seatalk et tous les autres
constructeurs ensuite.
Le but est de verrouiller le client qui a acheté un premier instrument
de la gamme. Attention à l'effet pervers du système si aucune
ouverture n'est offerte vers un bus standard il s'agit d'un piège.
C'est comme si un grand constructeur de voitures, disons Renault, décidait que tous ses modèles ne fonctionneraient qu'avec de l'essence spéciale vendue seulement par les garages Renault !
La commission NMEA (National Marine Electronics Association fondée en
1957) fait depuis le début de l'apparition des systèmes à
micro-informatique un gros travail de normalisation.
Cela a donné naissance aux diverses versions :
NMEA 180 (de février 1980) à 1200 bauds
NMEA 182 (de mars 1982) idem mais 37 caractères, liaison Loran C (maintenant abandonné en Méditerranée), pilote.
NMEA 183 (de février 1983) 4800 bauds, champs non limités, identificateurs
Les autres sont abandonnés, l'arrivée de nouveaux équipements
mettant en relief les limites, je ne les cite que pour leurs valeurs historiques.
Je ne pense pas utile de les développer, le standard actuel est le 183,
qui a subi de nombreuses évolutions mais qui est en fin de vie.
Le NMEA 183 domine le marché des bus marine, mais il a du évoluer
en permanence pour s'adapter aux nouveaux équipements à gros débit.
Comme déjà vu, l'évolution a été très
rapide depuis 1983, une version 1.5 (de décembre 1987) puis une 2.0 (de
janvier 1992) essayant de suivre le mouvement. La dernière version (de
février 1998) est la 2.30 qui commence sérieusement à diverger
des premières. Cela commence à poser de nombreux problèmes
de compatibilité sur des bateaux ayant des appareils d'âge différent.
Cette norme ne peut plus évoluer, elle est en fin de vie, tuée
entre autres par un débit trop lent et une mauvaise gestion des collisions
dans un réseau de plus en plus chargé, il n'y a plus rien à
faire pour la sauver.
Regardez bien les nouveaux matériels, et ne croyez pas les fabricants
qui vont encore essayer de vous fourguer les vielles interfaces car ils sont
en retard sur le développement.
L'interface NMEA / RS-232 est traitée
dans une page séparée : GPS
![]()
La norme qui a permis de relier les ancêtres des équipements marine, le NMEA 183 est maintenant totalement dépassée. La relève est assurée par le nouveau NMEA 2000 qui s'implante dans tous les équipements maritimes depuis le début du siècle. Le NMEA 2000 est une couche logicielle du bus CAN. Cette page lui est consacrée :
Bus industriel CAN et réseau
marine NMEA 2000 ![]()
Il y a très peu à dire sur ce vieux bus. Il n'avait technologiquement ni faiblesse ni avantage par rapport aux premiers NMEA 183, mais possède un défaut rédhibitoire : C'est un bus exclusivement propriétaire !
Autohelm a essayé d'imposer son standard exotique,
mais cette société étant loin de dominer le marché
de l'électronique marine mondiale personne n'a suivi. C'est une attitude
stupide, destinée à bloquer le pigeon, qui ayant acheté
un appareil de la marque, est forcé à n'acheter que cette marque
pour pouvoir dialoguer.
Bien sûr Autohelm vend (trop cher !) un boîtier de conversion NMEA
183 / Seatalk pour les outrecuidants qui voudraient rajouter une autre marque
sur leur bateau. Ce pont inutile dégrade le bus. C'est très regrettable
car, malgré de gros défauts, comme la mauvaise étanchéité
des séries ST 50, cette marque a de bons produits.
Autohelm ne veut pas de diffuser son protocole. Ils vendent un adaptateur propriétaire qui fait la conversion NMEA, mais cette page lève le voile sur le mystère et propose des liens vers des convertisseurs. Voir dans les liens GPS / NMEA 183 les informations sur le protocole Seatalk.
Furuno a lancé son bus Navnet. Tous leurs nouveaux matériels
sont maintenant équipés de ce bus qui est physiquement un Ethernet
10 Mbps standard, utilisant la connectique, les fils 4 paires et les hubs à
très faible coût de l'informatique grand public. Un câble
permet de sortir l'image des radars et traceurs sur un moniteur lcd vga supplémentaire,
donnant un affichage de grande qualité. Dans sa grande bonté,
Furuno n'est quand même pas allé jusqu'à diffuser son protocole
qui permettrait de brancher un PC portable sur le bus pour exploiter toutes
les données et les écrans, cela lui ferait un gros manque à
gagner. Il a verrouillé son protocole. Il s'agit donc bien d'un bus propriétaire
comme défini plus haut. Ne me demandez donc pas comment brancher un portable
pour exploiter les données.
Ce n'est pas un mauvais choix car le niveau de sécurisation est plus
faible sur un bateau que sur une automobile. Les liaisons avec le reste des
instruments seront en NMEA 2000..
Le support physique est du CAN, donc un très bon choix. Navico a rajouté
une sur-couche logicielle propriétaire pour se verrouiller, il pourra
donc offrir une compatibilité contrôlée avec le NMEA 2000.
Je cherche détails des protocoles logiciels propriétaires Corus
en sur-couche du CAN.
L'abondance des bus marine exotiques
"Mais pourquoi tant de haine ? " me dit-on souvent en lisant ma diatribe
contre tous ces bus marine exotiques. Cette multitude de bus n'est pas l'uvre
de pervers dégénérés, ils ont été
crées pour combler les nombreuses lacunes des standards existants. Le
NMEA 183 par exemple est un dinosaure, son débit de 4800 Bauds est totalement
inadapté à la quantité des informations envoyées
par les nouveaux périphériques. Son seul avantage est d'être
normalisé, ce qui veut dire que tout appareil à cette norme sera
compatible.
Tous les bus exotiques sont meilleurs sur le papier, mais leur inaptitude à
communiquer avec des équipements d'autres marques leur enlève
tout intérêt.
Il faut espérer que le nouveau bus NMEA 2000, qui a tous les avantages,
s'imposera enfin et fera disparaître tous ces bus gadgets.
Quelques bus informatiques courants
Le bus parallèle
Il a été depuis le début normalisé en interface Centronics pour relier surtout les imprimantes. Il peut supporter 550 kb en bidirectionnel mais avec une douzaine de fils, dans les dernières versions (Enhanced parallel port).
Conçu à une époque où 75 bauds semblait une vitesse folle, pour une prise DB25 qui utilisait une vingtaine de signaux. Il a évolué en perdant peu à peu ses fils et en gagnant en vitesse. Aujourd'hui, il atteint son plafond absolu 115 kb sur deux fils (la masse est toujours sous-entendue). |
![]() |
Ces ports disparaissent peu à peu des nouvelles cartes PC, qui les remplaceront
par 4 ou 8 sorties USB en standard. Mais ces interfaces série et parallèle
seront reconstitués sur des Hubs USB externes, car dans quinze ans, il
restera encore de vieux périphériques qu'il faudra bien brancher
quelque part ! Une forme mutante du port série est appelée à
un avenir possible (?), c'est le port d'entrée-sortie infrarouge pour
adresser sans contacts les périphériques lents. Le réseau
vers les portables est assuré par une liaison Ethernet radio, le débit
étant 100 fois plus rapides (kiloBauds et MégaBauds). Le bluetooth
lui- même balayé par le Wi-Fi en liaison radio risque toutefois
de l'éliminer.
Attention toutefois, ces ports série et parallèle éculés
ne fonctionnent absolument pas sur de vieilles applications originellement sous
DOS, les anciens modems satellites par exemple sont totalement incompatibles
avec ces nouveaux PC. Il n'y a aucune solution pour les faire fonctionner (sauf
à récupérer un vieux portable).

Conversion RS-232 <> USB
Le bus I2C (Inter Integrated Circuit Bus, pronounced Eye-Squared-See) a été développé en 1980 par Philips semiconductors pour permettre de relier facilement les multiples circuits d'un téléviseur moderne au microprocesseur central. Le nom étant déposé, les autres constructeurs le proposent sous des termes différents, par exemple TWI chez Atmel. |
![]() |
Il existe d'innombrables périphériques exploitant ce bus, il est même implantable par logiciel dans n'importe lequel des microcontrôleurs.
Le poids de l'industrie de l'électronique grand public a imposé des prix très bas aux nombreux composants. J'ai beaucoup exploité ce bus, qui va toutefois disparaître à cause de quelques défauts :
- La vitesse commence à poser problème sur les réseaux lourds.
- Il n'est pas sécurisé comme le CAN.
- Il utilise deux signaux (deux fois plus de bruit) les données SDA (séria Data) et l'horloge SCL (Sérial Clock), un seul pour le CAN.
- Le problème insoluble, qui cause son extinction, est qu'il véhicule des signaux TTL, avec des fronts de transition de 0 à 5 volts, à 100 kHz, très raides, qui polluent énormément l'environnement électromagnétique. Il n'y a aucun moyen de les éliminer, ce bus perturbe et est perturbé par les parasites industriels. C'est un cauchemar lorsqu'il faut passer les tests CEM sur un système. Si l'on essaye de casser les fronts raides, les temps de montées augmentent, à 1µs, le bus se plante. Je ne le l'utilise plus que pour des liaisons de proximité entre les cartes, à cause de grande quantité de composants disponibles, mais peu à peu, je bascule tout en CAN.
L'I2C a évolué vers l'Access bus, mais sans résoudre le problème de pollution.
Ce bus est en déclin, il faut l'abandonner dans les nouveaux designs, mais il est très bien implanté.
Informations sur le bus I2C
Sur le Net, lancez votre métamoteur avec <I2C>, innombrables réponses chez Philips évidemment mais aussi chez tous les grands fabricants d'électronique, voir aussi les forums.
Toutes les revues d'électronique traitent le sujet, il y a quasiment des applications dans tous les numéros !
Le bus CAN est le bus majeur qui va dominer l'industrie et l'automobile en particulier. Il est très robuste et fiable, son importance va devenir considérable. Cette page lui est consacrée :
Bus industriel CAN et réseau marine NMEA 2000 ![]()
D'autres bus informatiques courants
Serial Peripheral Interface. L'interface SPI est liaison série synchrone de 3 fils, 2 Mbps Le maître est le seul qui peut initier un dialogue avec l'esclave. Plusieurs esclaves sont possibles grâce à la broche /SS, il suffit de mettre cette broche à 0 sur le composant esclave désiré. Le dialogue est de type synchrone ce qui signifie que lorsque le maître commence à envoyer le premier bit sur MOSI, l'esclave fait de même sur MISO. |
![]() |
C’est un bus propriétaire Dallas très intéressant. |
![]() |
Wireless Fidelity ou Wi-Fi (maintenant WiFi) La norme 802.11a (WiFi 5 ) permet d'obtenir un haut débit (54 Mbps théoriques, 30 Mbps réels). Le norme 802.11a spécifie 8 canaux radio dans la bande de fréquence des 5 GHz. La norme 802.11b est la norme la plus répandue actuellement. Elle propose un débit théorique de 11 Mbps (6 Mbps rééls) avec une portée pouvant aller jusqu'à 300 mètres dans un nvironnement dégagé. La plage de fréquence utilisée est la bande des 2.4 GHz, avec 3 canaux radio disponibles.
|
|
La norme Bluetooth (802.15) nourrit des ambitions plus modestes que la norme Wi-Fi, mais davantage spécialisées : elle équipe principalement des périphériques utilitaires tels que claviers, souris ou interfaces de moniteur et d’imprimante sans-fil, tout en permettant l’interconnexion "aérienne " de PDA, ordinateurs ou téléphones mobiles, à la maison comme au bureau.
|
|
L'Universal serial Bus est le successeur qui améliore grandement les performances du RS-232 et du bus parallèle qui disparaissant. Ce bus a de grandes qualités et se décline en deux versions. Une page spéciale lui est consacrée : Interface USB et hubs |
![]() |
Dans les projets le RS-232 intervient entre autres dans la liaison infrarouge, l'USB pour la liaison du trackball
Le bus FireWire = IEEE 1394-1995 = i-link = ...
Ce bus série est très rapide, il est utilisé par Apple
et par Sony mais il est peu présent sur PC malgré ses qualités
certaines comme le "hot plug & play ". Il est très proche
de l'USB 2, mais évidement totalement incompatible.
Il commence à s'implanter doucement, l'avenir nous dira s'il va s'implanter
en plus de l'USB 2 maintenant toujours installé.
Le bus Ethernet
Je ne parlerai pas en détail du bus Ethernet, la majorité des petits bateaux n'ayant pas (encore ?) un réseau de PC, la documentation étant extrêmement abondante. Ce bus est massivement implanté dans le milieu et le 100 Mbps devrait durer encore très longtemps bien que un peu dépassé par des technologies plus modernes. Voir le chapitre Furuno Navnet
Le bus SCSI
A sa sortie en 1986, c'était une merveille qui offrait une très grande vitesse et déchargeait le processeur des opérations d'entrées sortie. Son inconvénient est d'être cher et complexe, il a maintenant perdu son intérêt et commence à disparaître.
Le bus sérial ATA
Il est en pleine progression depuis 2004 et remplacera les vieilles nappes d’interfaçage des disques durs, lecteurs et graveurs.
à suivre...
Cette page ne contient aucun lien externe à maintenir