Arduino et Raspberry Pi

Un codec HDA multicanal sur RP2040

L'interface HDA Link, aussi appelée Azalia, ne se trouve généralement que dans les chipsets de PC. L'auteur d'un article sur Habr a voulu vérifier si le microcontrôleur RP2040 de la Raspberry Pi Pico pouvait servir d'hôte à cette interface. L'intérêt est évident : les codecs audio HDA multicanaux offrent bien plus de canaux que l'I²S.

Le projet repose sur un RP2040 doté de blocs PIO et sur un codec Realtek ALC889 présent sur la carte, une carte restée d'une tentative précédente avec un STM32F103 et un Spartan-3. Le signal BCLK doit être stable à 24 MHz, il ne peut donc pas être généré logiciellement. L'interface utilise quatre lignes : BCLK, SYNC, SDO et SDI, et une trame de 1000 bits donne 48 kHz ; pour 96 et 192 kHz, le nombre d'échantillons par trame augmente.

L'implémentation s'appuie sur quatre machines d'état PIO : la sortie SDO, la sortie SYNC, l'entrée SDI avec génération du BCLK, et une machine qui attribue une adresse au codec. Les données transitent par DMA, tandis que le second cœur du RP2040 regroupe les échantillons et les commandes et interprète les réponses du codec. Le projet de démonstration génère des sinusoïdes sur cinq DAC stéréo, avec une troisième harmonique d'environ −123 dB.

Le codec a fonctionné à 192 kHz. Le RP2040 overclocké à 32 MHz (256 kHz) a aussi fonctionné, mais le codec chauffait beaucoup. La carte consomme de 150 à 270 mA sous 3,3 V. Il y a aussi des limites : les filtres intégrés se comportent comme un passe-haut du premier ordre avec une fréquence de coupure d'environ 4 Hz, et la bande passante d'entrée HDA ne permet pas trois canaux stéréo en 24/192 simultanément.

L'auteur a également trouvé un bug de synchronisation du RP2040 quand DMA, USB et l'échantillonnage XIP fonctionnent ensemble ; sa cause a été identifiée par des spécialistes de Raspberry Pi. Pour des traitements complexes, il recommande le RP2350, qui dispose d'instructions DSP. J'apprécie que le projet montre franchement à la fois les résultats et les points faibles.

Source : Habr

Commentaires 0

Laissez le premier commentaire, dans la langue de votre choix.

Connectez-vous pour commenter