Quand et comment choisir et appliquer un CNA externe pour un microcontrôleur
Avec la contribution de Rédacteurs nord-américains de DigiKey
2019-03-06
Certains microcontrôleurs 32 bits intègrent des convertisseurs numérique-analogique (CNA) pour la génération de fréquence ou de tension. Pour de nombreuses applications, cela fournit des fonctionnalités supplémentaires tout en économisant de l'espace carte. Cependant, certaines applications peuvent nécessiter une fonctionnalité CNA spécialisée non fournie par les microcontrôleurs.
Cet article traite des capacités et des limites d'un CNA intégré à un microcontrôleur. Il présente ensuite des exemples de solutions CNA externes haute précision et la manière de les utiliser pour générer des signaux analogiques de précision.
Fonctionnement d'un CNA intégré
Pour permettre aux concepteurs de générer des signaux analogiques personnalisés, les fabricants de microcontrôleurs ont commencé à inclure des périphériques CNA sur la puce. Ces périphériques peuvent être utilisés pour générer des tensions de précision, ainsi que des formes d'ondes personnalisées, notamment des ondes sinusoïdales et triangulaires. Les CNA peuvent également servir dans la synthèse vocale.
Un CNA génère une tension de sortie d'une valeur minimale de 0 V et d'une valeur maximale égale à sa tension de référence analogique. La tension est proportionnelle à la valeur numérique du registre de données CNA, avec une précision basée sur la résolution du CNA. Par exemple, si la résolution du CNA est de 8 bits et que la tension de référence est de 5 V, la précision de 1 LSB du CNA est 5/255 = 0,0196 V. Idéalement, si un registre de données CNA 8 bits contenait 01h, alors la sortie CNA serait équivalente à 1 LSB ou 0,0196 V. Si le registre de données CNA 8 bits contenait la valeur F1h (241), alors la sortie d'un CNA idéal serait de 4,7236 V. Idéalement, l'ajout de la valeur 01h au registre de données CNA devrait augmenter la valeur de la tension de sortie de 1 LSB.
Bien entendu, comme tout circuit analogique, aucun CNA n'est parfait. La variation de la sortie CNA par rapport à la valeur idéale du registre de données est appelée erreur de non-linéarité différentielle (DNL) et se mesure en LSB. Par exemple, un CNA de microcontrôleur typique peut spécifier une non-linéarité différentielle de ±2 LSB.
Les CNA peuvent également présenter une erreur de gain linéaire, mesurée comme un pourcentage ajouté à la sortie idéale, ce qui ajoute souvent 0,5 % à la tension de sortie.
Pour un CNA idéal, le tracé des valeurs de sortie par rapport aux contenus du registre de données CNA devrait être une ligne droite. L'ajout des erreurs linéaires générées par les variations des paramètres du circuit CNA dans une situation réelle devrait également donner une ligne droite. En réalité, cette ligne dévie de sa trajectoire linéaire et s'incurve vers l'extérieur pour former une courbe non linéaire. Cette non-linéarité résulte également des variations du circuit CNA en fonction de la tension et la température. Cette erreur de non-linéarité est appelée erreur de non-linéarité intégrale (INL). Pour les CNA de microcontrôleur, elle peut s'élever à ±4 LSB ou plus.
Pour la génération de fréquence, la fréquence de sortie la plus rapide d'un CNA de microcontrôleur est limitée à la fréquence processeur du microcontrôleur.
Tous les CNA nécessitent une tension de référence précise pour fournir un signal analogique de précision. Sur les microcontrôleurs modernes, la tension de référence du CNA est souvent dérivée de la broche de tension de référence analogique dédiée. Cette tension de référence analogique interne au microcontrôleur est isolée de la logique numérique interne pour limiter l'ondulation d'alimentation. Cependant, certaines interférences minimes causées par la logique numérique haute vitesse peuvent être attendues. Si les périphériques CNA ne sont pas aussi sensibles à l'ondulation d'alimentation pendant la génération d'ondes sinusoïdales, cette ondulation peut être observée lorsqu'une tension de sortie stable et précise est requise ou pendant la génération d'un son musical ou d'une voix synthétisée.
Si l'utilisation d'une tension de référence supérieure peut réduire l'effet de l'ondulation d'alimentation, cela permettrait également d'empêcher le CNA de générer des tensions plus basses, tout en réduisant la précision du CNA à 1 LSB.
CNA externes monopuces pour petits signaux
Dans la plupart des microcontrôleurs, les périphériques CNA peuvent fournir une précision suffisante pour les applications courantes. Cependant, certains cas exigent un niveau extrêmement élevé de précision et/ou une haute vitesse. C'est là qu'un CNA externe devient une nécessité pratique.
Texas Instruments propose une ligne de CNA externes pouvant générer des signaux analogiques pour tout problème de conception. Par exemple, si l'espace carte est restreint, le CNA 16 bits DAC80508MYZFT présente une taille extrêmement compacte de seulement 2,4 mm x 2,4 mm dans un boîtier DSBGA. Ce CNA comprend 8 sorties et peut interfacer avec la plupart des microcontrôleurs à l'aide d'une interface SPI à une fréquence d'horloge pouvant atteindre 50 MHz (Figure 1).
Figure 1 : Le DAC80508 interface avec la plupart des microcontrôleurs à l'aide d'une interface SPI et il est doté de 8 canaux de sortie analogiques identiques. (Source de l'image : Texas Instruments)
Le DAC80508 peut utiliser une référence de tension analogique externe ou la tension d'alimentation numérique du CNA pour générer sa propre tension de référence interne de 2,5 V avec une précision de ±5 mV. La dérive de tension de référence est de 2 parties par million par degré Celsius (ppm/°C). Cela fournit une tension de référence hautement stable sur sa plage de températures de -40°C à +125°C. La tension de référence peut éventuellement être divisée par 2 pour fournir des signaux analogiques avec un plafond de 1,25 V.
Le DAC80508 fournit une précision que l'on ne retrouve pas sur la plupart des périphériques CNA de microcontrôleur. Les valeurs INL et DNL sont toutes les deux de ±0,5 LSB typique, ±1 LSB maximum. L'erreur de gain a une valeur typique de ±0,5 %, et maximum de ±1 %. Avec une résolution de 16 bits, ce niveau de précision est idéal pour convertir des signaux audio numériques en audio analogiques. Par exemple, il peut être utilisé pour convertir un signal audio numérique PCM (modulé par impulsions et codage) transmis par câbles fibre optique, ou convertir un signal audio numérique depuis un dispositif de stockage. Après la conversion du signal audio numérique en données audio 16 bits, le DAC80508 peut convertir les données en signaux audio analogiques transmis par câbles RCA courants. Si la tension de référence est définie sur 1,25 V, cette valeur fournit une précision suffisante pour générer des signaux audio de niveau de ligne.
Le DAC80508 présente également un amplificateur à gain de sortie pouvant multiplier la tension de sortie par deux, pour générer une tension de sortie qui est le double de la tension de référence.
La génération de formes d'ondes analogiques avec le DAC80508 via une interface SPI est simple. Chaque paquet de commandes SPI envoyé au registre de données CNA a une largeur de 32 bits. Chaque paquet contient l'adresse du canal sur lequel écrire, ainsi que les données 16 bits à écrire sur le registre. Tout canal de sortie du DAC80508 peut être programmé pour générer une tension de sortie immédiatement après l'écriture des données dans le registre, ou il peut stocker toutes les valeurs dans les registres de données CNA jusqu'à l'écriture dans un registre de diffusion interne par l'interface SPI. L'écriture d'un « 1 » logique sur l'une des huit positions binaires du registre de diffusion ne met à jour que cette sortie CNA avec la valeur dans son registre de données CNA. Cela permet de générer des signaux synchrones, utiles pour la génération de formes d'ondes pour les équipements de test.
Éviter les erreurs de signal et le bruit
Lors d'une utilisation en environnements industriels bruyants, les interférences occasionnelles peuvent s'avérer inévitables, surtout en cas de hautes tensions. Pour éviter les erreurs de signal de sortie dues à des interférences sur la SPI, le DAC80508 peut éventuellement générer une somme de contrôle de 8 bits à la fin de chaque paquet SPI (Figure 2). Si la somme de contrôle est valide, le registre de données CNA est écrit. Toutefois, en cas d'échec de la somme de contrôle, les données ne sont pas écrites. Dans le cas d'un échec de la somme de contrôle, le CNA peut éventuellement mettre la broche SDO SPI à l'état bas, agissant en tant que broche d'alarme basse active. Le micrologiciel du microcontrôleur devra répondre à l'échec de la somme de contrôle.
|
Figure 2 : Structure du paquet SPI 32 bits. Lorsque le paquet SPI du registre de données CNA du DAC80508 contient une somme de contrôle de 8 bits, le bit le plus significatif (MSB) du paquet est envoyé en premier, et les derniers bits (7:0) contiennent la somme de contrôle. Le DAC80508 génère automatiquement la somme de contrôle. (Source de l'image : Texas Instruments)
Indépendamment de la précision indiquée pour un CNA, sa valeur réelle ne peut être garantie que par l'utilisation d'une alimentation propre. La tension VDD du DAC80508 doit impérativement présenter un faible bruit, sans ondulation. L'utilisation du DAC80508 dans un convertisseur CC/CC nécessite une attention particulière, comme ces alimentations sont par nature extrêmement bruyantes. Étant donné l'importance du filtrage sur VDD, un condensateur de 1 µF à 10 µF, ainsi qu'un condensateur de 0,1 µF, doivent être placés entre la broche VDD et la masse analogique. Des condensateurs en céramique à faible résistance série équivalente doivent être utilisés et placés au plus près de la broche VDD.
Les sorties de signal analogique doivent être maintenues à proximité des bords de la carte à circuit imprimé et bien isolées des composants numériques. Cela permet d'éviter les interférences sur les sorties analogiques du CNA, mais également d'éviter les interférences entre les signaux analogiques et les autres signaux du circuit imprimé.
CNA hautes performances, haute vitesse
Une application sans compromis requiert parfois des performances extrêmement élevées. Les CNA peuvent même générer des signaux dans la plage des gigahertz. Cela peut être particulièrement important pour les équipements radars où les circuits analogiques directs ne peuvent pas fournir le niveau de précision requis pour le radar. Pour ces applications, le CNA à deux canaux RF haute vitesse DAC38RF82IAAV de Texas Instruments peut être utilisé pour générer des formes d'ondes de plus de 1 GHz dans un boîtier BGA relativement compact de 10 mm x 10 mm (Figure 3).
Figure 3 : Le DAC38RF82 est un CNA ultra-hautes performances pouvant générer des formes d'ondes de plus de 1 GHz. Il interface avec un microprocesseur hôte via une interface 12,5 Gbps JEDSD204B basse consommation à huit voies. (Source de l'image : Texas Instruments)
Le DAC38RF82 prend en charge trois résolutions. En définissant la résolution sur 16 bits, il peut générer des signaux RF jusqu'à 2 GHz. En sélectionnant une résolution de 12 bits, il peut générer des signaux de 2,66 GHz. La résolution de 8 bits est le mode le plus rapide, où il peut générer des formes d'ondes de 4,5 GHz. Bien entendu, ces vitesses dépassent les capacités d'un périphérique CNA intégré à un microcontrôleur.
Le DAC38RF82 affiche des performances adaptées à un usage dans les émetteurs en bande de base comme les tours cellulaires, et il peut également être utilisé pour générer des formes d'ondes personnalisées pour les applications telles que les équipements de test haut de gamme. Le DAC38RF82 peut également servir à la génération de signaux radars pour les véhicules autonomes.
Ce dispositif est plus complexe que le DAC80508. La génération de signaux jusqu'à 4,5 GHz exige une interface de données très rapide. Le DAC38RF82 utilise l'interface de données série JESD204B dont le mode 8 bits fournit jusqu'à 9 Gbps de débit. À cette vitesse, le dispositif peut interfacer avec un FPGA ou un ASIC.
En mode 12 bits ou 16 bits, le DAC38RF82 peut générer deux formes d'ondes RF. En mode 8 bits haute vitesse, une seule forme d'onde est prise en charge. Trois tensions d'alimentation sont requises, 1 V, 1,8 V et -1,8 V. Étant donné les exigences d'application typiques du dispositif, ces tensions d'alimentation doivent être très propres et sans ondulation. Idéalement, chacune des trois sections principales et relativement indépendantes du CNA (sous-système numérique, sous-système analogique et sous-système d'horloge) devrait avoir sa propre alimentation partitionnée pour éviter toute interaction imprévue.
La non-linéarité différentielle typique du CNA est de ±3 LSB, avec une non-linéarité intégrale typique de ±4 LSB et une erreur de gain typique de ±2 %. La précision pour une application donnée peut être garantie en sélectionnant des valeurs de registre de données CNA adaptées pendant les tests.
Lancer le développement DAC38RF82
La génération de telles hautes fréquences avec une précision suffisante nécessite l'utilisation d'une carte d'évaluation dans le processus de développement. La carte d'évaluation et de développement DAC38RF82EVM prend en charge le CNA haut de gamme DAC38RF82, ainsi que toutes ses fonctionnalités. Une carte d'interface de capture de données TSW14J56EVM est requise pour générer les signaux numériques interfaçant avec le DCA38RF82EVM. La carte de capture de données interface avec un PC via une interface USB 3.0.
Figure 4 : Le DAC38RF82EVM à gauche est alimenté en données numériques envoyées via une interface JESD204B, générées par le TSW14J56EVM à droite, générant des signaux RF pour le test. (Source de l'image : Texas Instruments)
Le logiciel d'évaluation fourni inclut tous les composants permettant d'évaluer, de tester et de programmer le DAC38RF82 pour l'application cible.
La configuration est un facteur particulièrement important lors de l'utilisation de ce type de dispositif haute vitesse. Le DAC38RF82 doit être placé sur le bord du circuit imprimé et isolé de tous les autres composants, dans la mesure du possible. Il est important de respecter de bonnes pratiques en matière de courtes pistes RF et de condensateurs de découplage entre les broches d'alimentation et la masse. Les autres recommandations de configuration incluent l'utilisation de condensateurs de découplage avec des traversées dans la pastille, avec des contacts réduits sur ces condensateurs pour éviter l'inductance parasite. En outre, les concepteurs doivent utiliser un guide d'onde coplanaire différentiel de 100 Ω pour les pistes de sortie.
Conclusion
Les microcontrôleurs dotés de CNA à usage général intégré sont adaptés à la génération d'une tension raisonnablement précise et de formes d'ondes dans la plage des kilohertz. Cependant, pour une tension de précision ou une génération à très haute vitesse, il est possible d'utiliser des CNA externes pour considérablement améliorer la précision et les performances d'application, même si cela nécessite quelques mises à niveau des pratiques de conception relatives à l'alimentation et à la configuration.

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é.