Établir la communication série dans le développement embarqué
Contenu
- Types de communication série courants
1.1 UART (Récepteur-Transmetteur Asynchrone Universel)
1.2 I2C (Circuit Inter-Intégré)
1.3 SPI (Interface Périphérique Série)
1.4 CAN (Réseau de Zone de Contrôleur) - Logiciels de test et de débogage série
2.1 Pilote de Port Série Virtuel
2.2 Moniteur de Port Série
2.3 Diviseurs de port série matériel
2.4 Câble espion de surveillance série RS232 - Matériel ou logiciel pour le développement de systèmes embarqués en série?
En raison de sa simplicité, la connexion série est souvent utilisée en interne et en externe dans la technologie embarquée. Il existe différents types de dispositifs de communication série dans les systèmes embarqués, avec différents objectifs et particularités. Lors du développement de ces systèmes, il est important de choisir le bon type. C’est pourquoi nous allons explorer et comparer certains protocoles de communication série courants, et également suggérer des outils universels qui seront utiles quel que soit votre choix.
Types de communication série courants
UART (Récepteur-Transmetteur Asynchrone Universel)
UART est l'un des protocoles de communication les plus simples et les plus anciens dans les systèmes embarqués. La connexion ne peut être établie qu'entre deux appareils. Chacun a une broche de transmission et de réception, et les deux canaux sont unilatéraux. Les données sont converties en un signal binaire et envoyées sous forme de paquets de longueur d'octet. Les paquets contiennent également des bits de début et de fin, ainsi qu'un bit pour la détection d'erreur.
UART est asynchrone - il n'utilise pas de lignes supplémentaires pour envoyer des impulsions d'horloge, utilisant à la place des bits de début et de fin pour se synchroniser. De nombreux paramètres, y compris le débit en bauds (bits par seconde), doivent être les mêmes sur les deux appareils. Les débits en bauds doivent être relativement bas pour éviter la désynchronisation. En général, choisir UART dans les systèmes embarqués plutôt que des protocoles plus récents ne serait pas une question d'amélioration technique, mais plutôt d'économie de coûts et de temps lors du travail sur des prototypes ou de l'ajout de capacité de débogage.
Dans certains cas, en utilisant un convertisseur UART-vers-Ethernet, les données UART peuvent être transmises via un réseau Ethernet, permettant la communication entre des appareils qui ne sont pas directement connectés.
Applications :
- Débogage ne nécessitant souvent pas la complexité et la vitesse d'autres protocoles, et UART offre une solution rapide et simple.
- Connexion d'appareils à des PC via des ports série ou des convertisseurs série-vers-USB.
Avantages : Facile à utiliser, portée de connexion maximale potentiellement plus longue.
Inconvénients : Faible taux de transfert de données, ne peut connecter que deux appareils.
I2C (Circuit Inter-Intégré)
I2C permet de connecter plusieurs - potentiellement un grand nombre - d'appareils au même bus. Un bus I2C se compose de deux fils - une ligne de données et une ligne d'horloge, et chaque appareil s'y connecte avec une broche de données et une broche d'horloge.
Lorsqu'un appareil sur le bus transmet, tous les autres appareils reçoivent le message, donc quelques bits doivent être utilisés pour spécifier une adresse. De plus, cela bloque tous les autres appareils d'envoyer des messages, imposant une limite stricte à la vitesse d'échange des données.
I2C est un grand pas en avant en complexité par rapport à UART, en raison de la gestion de la concurrence, tout en manquant des avancées qui augmentent la vitesse des protocoles de communication plus récents dans les systèmes embarqués.
Applications :
- Systèmes à faible vitesse qui échangent de petites quantités de données, comme les relevés de capteurs.
- Identification des appareils dans les PC, tels que la Détection de Présence Série sur les modules de RAM et DDC pour les appareils d'affichage.
Avantages : Le moyen le plus simple de connecter plusieurs appareils avec un accès mutuel complet.
Inconvénients : Lent, beaucoup plus exigeant que UART.
SPI (Interface Périphérique Série)
Comme son nom l'indique, SPI est couramment utilisé pour connecter plusieurs périphériques à un contrôleur. Actuellement, c'est un type de communication série très courant dans les systèmes embarqués. Le contrôleur choisit quel périphérique écoute actuellement, puis échange des données avec lui. Contrairement à I2C, la sélection se fait via des lignes individuelles - chaque nouvel appareil attaché a besoin de sa propre ligne CS, mais la ligne d'horloge et les données d'entrée/sortie sont partagées entre eux tous. Il existe également des configurations alternatives "daisy chain", où une séquence de périphériques transmettent les données les uns aux autres et partagent la même ligne CS.
SPI est plus rapide que UART en raison de la présence d'une ligne d'horloge, et plus rapide qu'I2C car il est en fait plus simple, sans besoin de transmettre l'adresse du récepteur avec chaque message ou de tenir compte de la possibilité de plusieurs contrôleurs.
Applications :
- Systèmes à courte portée et haute vitesse, où il est nécessaire de connecter des cartes SD, des écrans LCD, des modules RTC, etc.
Avantages : Plus rapide qu'I2C et UART.
Inconvénients : Pas de prise en charge de plusieurs contrôleurs sur le même bus, des broches individuelles nécessaires pour chaque périphérique.
CAN (Réseau de Zone de Contrôleur)
Un bus CAN se compose de deux fils, mais contrairement à I2C, aucun d'entre eux n'est une ligne d'horloge. Les deux transportent les mêmes données (juste un signal binaire de n'importe quel appareil sur le bus), et ils sont enroulés l'un autour de l'autre pour minimiser les effets des interférences électriques. En général, CAN est adapté à des portées plus longues - alors que les bus précédents pouvaient s'étendre sur plusieurs mètres au mieux, un bus Réseau de Zone de Contrôleur peut s'étendre sur environ 40 mètres.
De même qu'I2C, les appareils connectés - également connus sous le nom de nœuds CAN - ne transmettent que si aucun autre appareil ne transmet actuellement, et les trames de données (les paquets) incluent un identifiant pour spécifier la destination.
Ce bus est destiné à des applications industrielles, telles que la communication dans les systèmes embarqués automobiles. De manière prévisible, la bande passante est beaucoup plus faible que celle des types de connexion précédemment mentionnés, souvent d'un ordre de grandeur.
Applications :
- Électronique automobile, avec CAN étant la norme actuelle
- Autres applications industrielles, telles que les lignes de production
Avantages : Longue portée, haute fiabilité, mise en œuvre simple
Inconvénients : Faible bande passante
Comment choisir le bon?
La meilleure façon de déterminer le type de connexion série approprié pour votre cas est simplement de regarder comment des cas similaires sont gérés par d'autres techniciens. Il est probable qu'ils aient déjà pris en compte les besoins potentiels de leurs systèmes lors du choix du protocole. Si ce n'est pas le cas, vous aurez au moins un bon point de départ, et obtiendrez une meilleure réponse en abordant les défauts de leur choix.
Logiciels de test et de débogage série
Les développeurs de systèmes embarqués doivent être capables de surveiller le comportement de leurs systèmes. Un aspect important de cette surveillance est le débogage de port série. Une interface série peut bien être le seul moyen de communiquer avec le système embarqué. Electronic Team, Inc. propose un ensemble de logiciels de port série complet et riche en fonctionnalités qui rendra le travail avec vos systèmes embarqués basés sur le série beaucoup plus facile et plus efficace.
Examinons quelques-uns des meilleurs outils de développement de logiciels et matériels embarqués pour les ingénieurs travaillant avec des ports série et des systèmes embarqués.
Pilote de Port Série Virtuel et Pilote de Port Série Virtuel PRO
Cette application utile peut créer des ports COM virtuels avec un débit en bauds configurable et une connexion de ligne de signal. Avec elle, vous pouvez facilement transmettre la sortie série d'une application à une autre.
Pilote de Port Série Virtuel PRO (VSPD) introduit encore plus de fonctionnalités :
- Créer des "connexions en faisceau" qui collectent les entrées de plusieurs ports d'entrée et les envoient à plusieurs ports de destination
- Fusionner plusieurs entrées en un seul port OUT
- Diviser un seul port d'entrée pour le rendre accessible à plusieurs applications
- Un commutateur automatique qui choisira automatiquement un port libre pour les applications qui n'en trouvent pas un
C'est un must absolu si vous écrivez des logiciels de connexion série, ou testez comment votre matériel interagit avec les logiciels existants.
Moniteur de Port Série
Moniteur de Port Série (SPM) est une suite d'outils polyvalente qui vous permet non seulement de stocker et de visualiser les entrées de vos appareils série de nombreuses façons différentes, mais aussi d'envoyer des données directement à ceux-ci via le terminal intégré.
Il peut :
- Renvoyer la même entrée à l'appareil depuis une session entière avec la fonction de lecture
- Afficher les données sous différentes formes, y compris les tableaux et la sortie du terminal
- Suivre plusieurs ports COM en même temps
- Enregistrer toutes les informations de vos sessions dans le presse-papiers ou dans un fichier texte
Diviseurs de port série matériel
Des appareils physiques capables d'exécuter certaines des fonctions des outils logiciels mentionnés ci-dessus sont disponibles pour les développeurs de systèmes embarqués. Vous pouvez vous procurer des câbles qui vous permettent de partager le signal d'un seul port série avec deux ou plusieurs appareils ou applications.
Inconvénients : Ils offrent moins de flexibilité que l'alternative logicielle, car ils sont limités par le nombre de connexions qui peuvent être disponibles. Une autre contrainte est la longueur du câble utilisable et la gestion des câbles, qui peut devenir ingérable à mesure que le besoin de partager des signaux augmente.
Câble espion de surveillance série RS232
Des câbles de surveillance ou de reniflage série peuvent être obtenus pour fonctionner en mode semi-duplex ou duplex intégral. Ils fonctionnent en fournissant un autre connecteur à un câble RS232. Un appareil connecté à cette troisième connexion peut surveiller la communication entre les deux extrémités du câble RS232. Selon le type d'appareil ou d'application connecté, vous pouvez être en mesure d'enregistrer les données pour une utilisation ultérieure.
DCAClab est un simulateur en ligne de circuits électriques pour l'éducation STEM et technologique, il aide les enseignants en mécatronique à expliquer les circuits à leurs élèves avec aisance. Il simule et dépanne les circuits défectueux dans un environnement de simulation riche, doté de composants à l'apparence réelle, d'un oscilloscope et d'un multimètre réalistes avec diverses fonctions à utiliser.
Matériel ou logiciel pour le développement de systèmes embarqués en série ?
Lors du choix des outils pour le développement de systèmes embarqués en série, vous devez prendre en compte la facilité d'utilisation et la flexibilité. Il ne fait aucun doute que les applications logicielles conçues spécifiquement pour travailler avec des appareils série sont plus puissantes et vous offrent des options au fur et à mesure que votre environnement de test évolue.
Les avantages supplémentaires d'une solution logicielle incluent l'élimination du besoin d'acheter des câbles coûteux et la possibilité de surveiller l'activité série à distance. Si vous êtes sérieux au sujet du développement de systèmes embarqués, vous devriez examiner de près ces outils logiciels. Ils rendront votre vie de développeur beaucoup plus agréable et vous donneront une longueur d'avance sur la concurrence.