Question

Je suis la conception de logiciels autour d'un produit matériel existant. J'ai le plein contrôle du protocole de communication mais je ne suis pas sûr de savoir comment faciliter la détection des périphériques.

Un dispositif peut avoir une gamme de configurations possibles (à savoir de la vitesse de transmission, les bits de données, les bits de parité, les bits d'arrêt) qui doit être détectée lors de l'exécution. Quel est le plus facile, moyen le plus fiable pour le logiciel pour comprendre quelle est la configuration qu'il utilise? Encore une fois, je le plein contrôle du protocole de communication afin que je puisse définir un mécanisme que je souhaite.

Était-ce utile?

La solution

Est-ce un dispositif duplex intégral ou semi-duplex? Pouvez-vous contrôler la demande à l'envoi et le suivi clair à envoyer aux deux extrémités de la ligne série? Est-ce le point à point ligne série (comme RS-232) ou multi-drop (comme RS-485)? Il fera une (quoique petite) différence si vous allez interférer avec d'autres appareils déjà connectés lors de la négociation avec un nouveau connecté.

Si vous pensez du processus de prise de contact comme un modem négociation d'un protocole de couche de liaison, il utilise un ensemble standard de messages pour décrire le type de communication, il aimerait avoir et attend de l'autre extrémité pour un « ack ». Dans votre cas, je recommande d'avoir une norme « nous allons parler » un message que votre tête génère avec la gamme de débits binaires et attend le ack de l'appareil.

Je recommande également de réduire le nombre d'options de configuration de l'appareil. Oubliez les bits de données variables, les bits de parité et les bits d'arrêt. Le monde de communication série n'est plus aussi instable qu'elle était de retour dans les années 70. Il suffit d'utiliser 8 bits de données, pas de parité, un bit d'arrêt et faire varier le débit binaire. Un CRC sur la fin des messages fournit beaucoup de contrôle d'erreur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top