AdobeStock_187437231.jpeg
Accueil » Actualités » 5 astuces pour ajouter un codec audio à un système embarqué

5 astuces pour ajouter un codec audio à un système embarqué



Quel codec logiciel de système embarqué ou quelle solution matérielle convient le mieux à votre application ?

La capacité d’un système embarqué à lire de l’audio devient une caractéristique assez courante dans les appareils d’aujourd’hui. L’audio fournit un excellent retour à un utilisateur, mais avec autant d’audio haute fidélité disponible aujourd’hui, l’utilisation de bips et de bips ne le coupe plus. Les développeurs peuvent sans aucun doute obtenir un son décent à partir d’un système utilisant des composants discrets et un convertisseur numérique-analogique (DAC). Pourtant, les codecs audio sont devenus très bon marché et offrent aux développeurs un large éventail de fonctionnalités qui seraient autrement longues et coûteuses à mettre en œuvre. Examinons quelques astuces pour ajouter un codec audio à un système embarqué.

Astuce n°1 – Utilisez le microcontrôleur comme horloge mère

Les codecs audio sont généralement connectés à un système via une interface I2S (Inter-IC Sound). De nombreux codecs audio offrent aux développeurs une flexibilité quant à la manière dont l’horloge est générée pour le codec audio. Par exemple, la source d’horloge peut être générée par le microcontrôleur via le bus I2S ou par un oscillateur connecté au codec. Inversement, le codec lui-même peut agir comme une source d’horloge principale et envoyer l’horloge au microcontrôleur. Cependant, si un développeur souhaite minimiser les coûts de nomenclature, la méthode la plus simple consiste à définir le microcontrôleur comme maître et à générer l’horloge du codec. Cela minimise le coût et le nombre de composants et simplifie le système de lecture audio.

Astuce #2 – Utilisez un amplificateur audio externe

La plupart des codecs audio sont livrés avec un amplificateur audio intégré. Ces amplificateurs produisent généralement de 0,5 à 1,5 watts, bien qu’il existe certainement des exceptions. Si l’application audio est simple et ne nécessite pas beaucoup de puissance de sortie, il est avantageux de tirer parti de l’amplificateur interne pour réduire les coûts de nomenclature. Cependant, dans la plupart des applications sur lesquelles j’ai travaillé, j’ai constaté que l’amplificateur interne ne fournit pas suffisamment de puissance de sortie ou de flexibilité pour l’application. Pour ces raisons, j’utiliserai souvent un amplificateur audio externe réglé pour de meilleures performances avec le système de sortie des haut-parleurs. Dans ces applications, le codec audio est généralement configuré pour contourner l’amplificateur audio interne car ils s’attendent généralement à piloter une charge de 4 ou 8 ohms. La sortie ligne est ensuite utilisée pour piloter l’amplificateur audio externe.

Astuce #3 – Tirez parti du bloc audio pour régler le haut-parleur

Mon morceau préféré d’un codec audio est le bloc numérique qui est souvent inclus. Ce bloc audio numérique permet à un développeur de régler soigneusement son système de lecture audio pour son application. Par exemple, un bloc audio typique peut contenir plusieurs filtres passe-bas et passe-haut programmables ainsi qu’un égaliseur multipoint. Ces composants programmables permettent à un développeur de régler soigneusement son système de sortie pour maximiser la qualité audio tout en minimisant le nombre de composants externes nécessaires dans le système. La façon dont ces composants sont programmés dépend des caractéristiques de fréquence du haut-parleur utilisées dans l’application finale et du type d’audio utilisé, comme la musique instrumentale par rapport à la parole humaine.

Astuce n°4 – Stockez la configuration du codec dans un tableau

La configuration du codec audio est souvent transmise via un bus I2C, tandis que le flux audio numérique est transmis via l’interface I2S. La plupart des codecs audio ont plusieurs dizaines de registres qui doivent être configurés pour que le codec se comporte comme l’application en a besoin. Un excellent moyen de stocker ces informations de configuration est de sauvegarder une table de configuration dans l’EEPROM ou la mémoire flash, puis de la charger dans la RAM lors de l’initialisation du système. Un utilisateur peut ensuite modifier les valeurs de la RAM si nécessaire pour régler les performances du système, par exemple en ajustant le volume actuel. La configuration initiale peut être envoyée via I2C lors de l’initialisation avant d’activer le système de lecture audio. Ensuite, des mises à jour de registre individuelles peuvent être fournies selon les besoins.

Astuce #5 – Ajoutez des empreintes de condensateur de rechange au PCB

Un problème que j’ai vu répété plusieurs fois dans les applications audio (et les applications motrices) est que les exigences de capacité sont souvent sous-estimées. La capacité est importante car il y aura des moments où le haut-parleur devra tirer une « grande » quantité d’énergie instantanée. Étant donné que le condensateur agit comme un réservoir d’énergie, une capacité trop faible peut ne pas entraîner suffisamment le haut-parleur, créant ainsi des défauts audio qui peuvent être tout à fait audibles. La seule façon de s’assurer qu’il y en a assez est de prendre des mesures pendant que le système fonctionne. Personne ne veut gaspiller une itération de PCB pour s’assurer qu’il y a suffisamment de capacité. Une bonne pratique consiste à définir la capacité comme vous l’attendez, mais en ajoutant quelques empreintes parallèles supplémentaires au cas où vous auriez besoin d’ajuster la quantité de capacité requise.

Conclusion

L’audio haute fidélité devient une exigence pour de nombreux systèmes car il fournit aux utilisateurs un retour audible sur le système. Les codecs audio peuvent sembler intimidants la première fois qu’une équipe travaille avec eux. Mais ils ne sont pas aussi mauvais qu’ils peuvent le paraître au premier coup d’œil à travers une fiche technique. Aujourd’hui, nous avons passé en revue quelques conseils pour ajouter un codec audio à votre système.

A lire également