Pratiques et Techniques en Plaisance | Imprimer | Fermer la fenêtre
Version Bêta 3.1.xxx 24 décembre 2012 13:11, par yvesDmais comment faire pour y intégrer des infos Sea Talk ? Faut il obligtoirement un multiplexeur entrée Sea Talk et sortie NMEA, vers le PC
Hélas oui, il FAUT un équipement externe dédié assurant la conversion NMEA (ou port série, ça tombe aussi en marche) avec SeaTalk, c’est le 85001 de raymarine, en effet :
petit rappel sur SeaTalk : protocole propriétaire de raymarine conçu pour gérer simplement un bus commun avec plusieurs parleurs non synchronisés. Dans les 90, ethernet, qui fait ça très bien, avait été rejeté pour cause de coût (on le trouve maintenant en NMEA 2000) et les 1G ont utilisé le composant le plus banal et pas cher qui soit : le contrôleur d’entrée/sortie série (circuit intégré type 8255 à l’époque, c’est le UART bien décrit sur wikipedia) qu’on trouve même à cette époque sur tous les PC.Dans ces communications séries, transmettre un caractère revient à faire tomber un niveau (par ex de +12V à -12V, passer de repos à travail) pendant un temps de bit (c’est le bit de start, il dure 1/4800ème de seconde dans les transmissions à 4800 bit par seconde) puis à transmettre les 7 ou 8 zéro ou un du caractères puis à faire remonter le niveau à la position repos pendant un ou deux temps de bit (+12V dans mon exemple, ce sont les 1 ou 2 bits de stop). C’est le contrôleur qui gère tout ça et qui détecte que 9 temps de bit après une transition repos-travail (+12 -> -12V, le bit de start) on trouve bien un ou deux temps à repos pendant tout ce un ou ces deux temps, dans le cas contraire (faux bit start sur glitch ou transmission endommagée) le contrôleur annonce « framing error ». Et la grande beauté c’est ce si deux parlent en même temps (y en a toujours un qui démarre un peu avant l’autre) le dernier endommagera les bits de stop du premier, et « framing error ». Du coup les parleurs, qui évidemment s’écoutent causer, peuvent détecter cette collision et appliquer la partie « gestion de la retransmission sur collision » du protocole SaeTalk. Fin du rappel.
C’est très semblable à ethernet (bon, en ethernet la détection de collision se fait sur niveau électrique) et ça s’appuie sur des composants vraiment chipoux MAIS il faut jongler astucieusement avec la configuration du 8255, ce que le logiciel d’un boitier dédié fait sans difficulté mais qu’un driver prévu pour des transmissions habituelles ne fait jamais,. D’où ma quasi certitude qu’il n’en existe pas de version logicielle pour PC car il faudrait autant de driver modifié qu’il existe de contrôleur série et de plus il faudrait ajouter un driver à un PC mais comme d’hab je peux me tromper (je tient ces infos de 2002)
A ma connaissance, ancienne, du sujet il n’y a pas de logiciel capable de causer directement SeaTalk depuis un PC