Comment isoler les outils de développement d'un matériel défectueux

Par Jacob Beningo

Avec la contribution de Rédacteurs nord-américains de DigiKey

Il peut s'avérer risqué de connecter un outil de développement, un ordinateur portable ou toute autre ressource à du matériel électronique à des fins de test et de débogage. Même si des connexions directes via UART, SPI, I2C et d'autres bus sont nécessaires pour surveiller le comportement du système, il arrive souvent que le matériel en développement soit défaillant. Il peut alors envoyer une tension et un courant non désirés via ces interfaces et endommager les outils et les ordinateurs en question.

Ces outils sont souvent coûteux. En plus de cela, si l'on en croit la loi de Murphy, le matériel et les outils tomberont en panne au pire moment possible. Il en résultera un projet retardé et des dépenses supplémentaires pour l'expédition du jour au lendemain afin que les outils soient de nouveau opérationnels.

Cet article aborde la manière dont les développeurs peuvent protéger leur investissement en outils en utilisant des interfaces basées sur des circuits intégrés d'isolement peu coûteux pouvant être créés en moins de 30 minutes. Il traite également de la sélection de ces isolateurs et fournit différents conseils et astuces pour garantir que la défaillance du matériel n'affecte pas les outils de développement et les ordinateurs portables.

Éléments à prendre en compte pour sélectionner un isolateur

Un isolateur permet de diviser un circuit en deux à l'aide d'une barrière galvanique. Les circuits de chaque côté de la barrière sont alors alimentés et mis à la terre de façon distincte. La barrière fait office de filtre en bloquant les hautes tensions et les transitoires, permettant uniquement la transmission des informations ou données numériques d'un côté à l'autre via un mécanisme de couplage. Le mécanisme de couplage est généralement capacitif, magnétique ou optique.

Dans de nombreux cas, le lecteur se rendra compte que, quelle que soit l'interface qu'il souhaite protéger, plusieurs options seront disponibles. Par exemple, les isolateurs I2C sont souvent offerts en variantes capacitive et magnétique. Avant de sélectionner la technologie, il est important de connaître l'environnement dans lequel nous travaillons.

Le couplage capacitif utilise un champ électrique changeant pour transmettre des données à travers la barrière galvanique, ce qui représente une solution idéale dans les applications où il peut y avoir des champs magnétiques intenses. Le couplage capacitif tend également à l'obtention d'une empreinte carte réduite et d'un fonctionnement plus écoénergétique, ce qui en fait un excellent choix pour de nombreuses applications. Il convient toutefois de noter que le couplage capacitif présente parfois des problèmes de bruit, car le trajet du signal est partagé.

Le couplage magnétique utilise des champs magnétiques changeants pour transmettre des données à travers la barrière galvanique, ce qui représente une solution idéale dans les applications où il peut y avoir des champs électriques intenses. Le couplage magnétique utilise souvent de petits transformateurs, ce qui facilite la réjection du bruit et permet un transfert d'énergie haut rendement à travers la barrière.

Le couplage optique utilise des impulsions optiques pour transmettre de la lumière à travers une barrière non conductrice, ce qui en fait un choix idéal pour les environnements magnétiques et électriques bruyants. Contrairement aux signaux à couplage capacitif et magnétique, le couplage optique peut transmettre des signaux constants à travers la barrière. Les inconvénients de l'utilisation de coupleurs optiques sont que leur vitesse peut être limitée et que leur fonctionnement peut nécessiter davantage de puissance.

En gardant à l'esprit ces différentes technologies et leurs caractéristiques, la prochaine étape consiste à examiner plusieurs protocoles de bus différents et à comprendre comment isoler les outils de développement sur les nombreuses interfaces.

Sélection d'un isolateur I2C

Une excellente option s'offre aux développeurs pour développer des circuits pour les dispositifs en dehors du microcontrôleur : utiliser un outil d'espionnage de bus. Ces outils permettent au développeur de surveiller le trafic du bus. Un outil plus coûteux et de haute qualité permettra également au développeur d'injecter des messages sur le bus.

Petite anecdote : j'avais un outil combiné I2C/SPI qui était connecté au bus I2C d'un client. Le matériel du client est tombé en panne et a relâché 42 V sur le bus I2C, détruisant le matériel, ainsi que mon outil de développement. Si j'avais utilisé un isolateur I2C pour protéger mes outils, je n'aurais pas été contraint de faire des dépenses supplémentaires pour l'achat d'un nouvel outil et le paiement d'une expédition rapide.

Certaines caractéristiques doivent être prises en compte lors de la sélection d'un isolateur I2C. Premièrement, l'isolement de tension doit être d'au moins 2500 volts efficaces. Ce niveau d'isolement protégera contre au moins 90 % des problèmes liés aux outils de développement embarqués. Deuxièmement, le débit de données doit être examiné. Une interface I2C standard fonctionne à 100 kbps et 400 kbps. Une interface I2C haute vitesse fonctionne à 1000 kbps. L'outil ou l'application déterminera l'isolateur et la technologie d'isolateur qu'il convient de sélectionner.

Il existe plusieurs isolateurs I2C à usage général qui offrent une bonne protection des outils de développement. En ce qui concerne les isolateurs à usage général, l'ADUM3211ARZ-RL7 d'Analog Devices est une bonne option (Figure 1).

Schéma de l'isolateur à couplage magnétique, à deux canaux et à usage général ADUM3211 d'Analog Devices

Figure 1 : L'ADUM3211 est un isolateur à couplage magnétique, à deux canaux et à usage général pouvant fonctionner jusqu'à 1000 kbps. (Source de l'image : Analog Devices)

L'ADUM3211 utilise le couplage magnétique pour transmettre des données à travers la barrière, à des débits de données pouvant atteindre 1000 kbps. L'isolateur peut donc gérer I2C haute vitesse, mais ne contient pas de barrière bidirectionnelle. Cela signifie que l'outil de développement peut surveiller le bus, mais ne peut pas écrire dessus, ce qui convient très bien pour la plupart des applications.

Afin de protéger les outils de développement qui doivent à la fois surveiller et injecter des données sur le bus, l'isolateur I2C ISO1541DR de Texas Instruments est un excellent choix (Figure 2). L'ISO1541 utilise un couplage capacitif dans un boîtier SOIC-8 pour transmettre des données bidirectionnelles jusqu'à 1000 kbps. L'isolateur contient deux canaux d'isolement distincts : un pour le signal de données (SDA) et un pour le signal d'horloge (SCL).

Schéma de l'isolateur I2C ISO1541DR de Texas Instruments

Figure 2 : L'isolateur I2C ISO1541DR de Texas Instruments contient deux canaux d'isolement bidirectionnels pouvant fonctionner jusqu'à 1000 kbps. (Source de l'image : Texas Instruments)

En regardant les Figures 1 et 2, notez que ces dispositifs requièrent que le côté outil alimente son côté de l'isolateur et que le côté cible alimente son côté. Oublier de les alimenter à partir de leur source respective est une raison fréquente du manque de communication à travers la barrière. Une attention particulière doit donc être portée pendant la configuration pour s'assurer que les deux côtés sont alimentés.

Sélection d'un isolateur SPI

Le bus SPI peut être un petit peu plus difficile à protéger que le bus I2C. Le bus I2C contient seulement deux lignes de communication, quel que soit le nombre de dispositifs connectés sur le bus. Le bus SPI, quant à lui, contient trois lignes de données pour le maître sortant, le maître entrant et l'horloge. En plus de cela, chaque dispositif connecté au bus SPI requiert une ligne de sélection d'esclave. Il est impératif que chaque isolateur SPI contienne plusieurs lignes d'isolement pour les lignes de sélection d'esclave.

Il existe différentes options adaptées à la protection d'un outil de développement SPI. La première est l'isolateur SPI ADUM3154 d'Analog Devices. L'ADUM3154 utilise le couplage magnétique pour transmettre des données à travers la barrière galvanique à des débits de données pouvant atteindre 17 Mbps. Non seulement cela couvre le débit en bauds maximal de 4 Mbps pour la plupart des périphériques SPI de microcontrôleur, mais également les débits de données courants pour les contrôleurs d'interface mémoire. L'ADUM3154 prend aussi en charge jusqu'à quatre lignes de sélection d'esclave isolées (Figure 3).

Schéma de l'isolateur SPI à quatre canaux ADUM3154 d'Analog Devices

Figure 3 : L'ADUM3154 est un isolateur SPI à quatre canaux d'Analog Devices capable de gérer des débits de données pouvant atteindre 17 Mbps. (Source de l'image : Analog Devices)

Dans les situations où la vitesse de 17 Mbps n'est pas suffisante, Analog Devices propose également l'ADUM3151BRSZ-RL7 (Figure 4).

Schéma de l'isolateur SPI à sept canaux ADUM3151 d'Analog Devices

Figure 4 : L'ADUM3151 est un isolateur SPI à sept canaux d'Analog Devices capable de gérer des débits de données pouvant atteindre 34 Mbps. (Source de l'image : Analog Devices)

L'ADUM3151 utilise également le couplage magnétique, mais peut gérer des débits de données pouvant atteindre 34 Mbps. Il présente également quatre canaux qui peuvent être utilisés pour les lignes de sélection d'esclave.

Sélection d'un isolateur SWD (Serial Wire Debug)

L'un des outils de développement les plus coûteux qu'un ingénieur de logiciels embarqués pourra généralement avoir est une sonde de débogage. Une bonne sonde de débogage peut coûter plus de quelques milliers de dollars. Bien que le risque qu'un incident survienne sur les lignes de programmation soit faible, le jeu n'en vaut pas la chandelle.

Un développeur pourrait se lancer et élaborer sa propre solution d'isolement pour protéger toutes les lignes SWD, mais cela prendrait beaucoup de temps et serait coûteux à réaliser. Au lieu de cela, une solution simple consiste à utiliser l'isolateur SWD J-Link de SEGGER Microcontroller Systems (Figure 5).

Image de l'isolateur SWD J-Link de SEGGER Microcontroller Systems

Figure 5 : L'isolateur SWD J-Link de SEGGER Microcontroller Systems fournit un isolement de 1000 V entre un programmateur de débogage et le système cible. (Source de l'image : SEGGER Microcontroller Systems)

Le SWD J-Link fournit un isolement de 1000 VCC entre l'émulateur et le matériel cible.

Sélection et construction d'un isolateur UART

L'isolement d'un petit UART peut sembler être une perte de temps et d'argent pour de nombreux développeurs. Après tout, un outil économique comme la carte Breakout USB-série BOB-12731 de SparkFun Electronics pourrait facilement être remplacé si quelque chose se produisait. Cependant, si les choses tournaient mal, il pourrait y avoir plusieurs milliers de dollars d'équipements informatiques à protéger de l'autre côté. Le temps et l'argent supplémentaires peuvent en valoir la peine.

La mise en place d'un circuit de protection UART est simple, et d'autres étapes similaires peuvent être suivies pour protéger également d'autres interfaces de bus. Premièrement, il est nécessaire de sélectionner un isolateur. L'ADUM3211 mentionné précédemment est une excellente option, car il présente deux canaux d'isolement haute vitesse dans des directions opposées. Cela convient parfaitement aux lignes Tx/Rx d'un UART, qui sont souvent l'une à côté de l'autre.

Une fois l'isolateur sélectionné, le développeur peut obtenir une carte Breakout comme la LCQT-SOIC8-8 d'Aries Electronics (Figure 6). Elle inclut déjà des embases et peut être facilement soudée sur la carte BOB-12731.

Image de la carte LCQT-SOIC8-8 d'Aries Electronics

Figure 6: La carte LCQT-SOIC8-8 d'Aries Electronics fournit une carte Breakout pour la puce SOIC-8 qui contient déjà des cavaliers intégrés afin d'accélérer la connexion avec le dispositif cible. (Source de l'image : Aries Electronics)

Lors du soudage de l'isolateur sur la carte, puis sur l'adaptateur UART, il est important de s'assurer que les broches de tension et de terre s'alignent correctement. Si ce n'est pas le cas, alors l'isolateur ne sera pas alimenté. Il est également important de s'assurer que la direction du canal de l'isolateur est correcte. Si la carte Breakout ou l'isolateur ne s'alignent pas correctement, il peut être nécessaire de personnaliser une carte (Figure 7).

Image d'un circuit d'isolateur UART

Figure 7 : Circuit d'isolateur UART assemblé qui a été connecté au convertisseur USB-UART, fournissant une communication isolée personnalisée avec le dispositif cible. (Source de l'image : Beningo Embedded Group)

Une fois assemblé, le convertisseur USB-UART alimente le côté outil de l'isolateur, tandis que le dispositif cible alimente le côté cible. Il en résulte un outil UART bidirectionnel isolé, protégé jusqu'à 2500 V.

Conseils et astuces concernant l'isolement d'un outil de développement

Un grand nombre de techniques et d'interfaces d'isolement peuvent être utilisées pour protéger les outils de développement. Voici quelques conseils et astuces pour protéger ces investissements :

  • Consultez la fiche technique et vérifiez que la spécification d'isolement de tension répond à vos besoins.
  • Familiarisez-vous avec les différents mécanismes d'isolement et assurez-vous de sélectionner la technologie adaptée à l'application.
  • Isolez les bus ou les interfaces qui se connectent au port USB d'un ordinateur portable, comme il s'agit d'un trajet à la terre potentiellement dangereux.
  • Tirez parti des kits de développement existants pour l'isolateur sélectionné ou utilisez les cartes Breakout pour réduire les délais et les coûts de développement.
  • Protégez un débogueur professionnel en utilisant un isolateur SWD.

Conclusion

Bon nombre de développeurs de systèmes embarqués ne réfléchissent pas avant de connecter un outil de développement coûteux à du matériel en cours de test. Généralement, cela ne pose aucun problème. Cependant, il arrive parfois qu'un événement inattendu se produise et expose les outils de développement à des tensions et des courants qui dépassent leurs spécifications, pouvant ainsi entraîner des dommages. Afin d'éviter la course de dernière minute pour que les outils soient de nouveau opérationnels, il est préférable de passer quelques heures à isoler correctement les outils à l'aide des nombreuses solutions d'isolement désormais disponibles pour réduire les coûts et optimiser le rendement du processus de développement.

 
DigiKey logo

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.

À propos de l'auteur

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo est un consultant en logiciels embarqués, et il travaille actuellement avec des clients dans plus d'une douzaine de pays pour transformer radicalement leurs activités en améliorant la qualité, les coûts et les délais de commercialisation des produits. Il a publié plus de 200 articles sur les techniques de développement de logiciels embarqués. Jacob Beningo est un conférencier et un formateur technique recherché, et il est titulaire de trois diplômes, dont un master en ingénierie de l'Université du Michigan. N'hésitez pas à le contacter à l'adresse jacob@beningo.com et sur son site Web www.beningo.com, et abonnez-vous à sa newsletter mensuelle Embedded Bytes.

À propos de l'éditeur

Rédacteurs nord-américains de DigiKey