
Enregistrement audio et lecture à l'aide de DMA et CIPS
Cette démo est basée sur la plate-forme Nano Curiosity Nano PIC18F57Q43. Il détaille l'utilisation de l'ADC pour l'enregistrement sonore, SPI pour l'interfaçage avec le module de mémoire externe, le DAC pour la lecture, le DMA pour les transferts de données et l'utilisation des minuteries pour définir la fréquence d'échantillonnage. L'application démontre également l'utilisation de TIMER2 HLT et CLC pour le débouchement du commutateur, et le comparateur et le PWM pour l'amplification de puissance de classe D.
Documentation connexe
- Enregistrement et lecture audio à l'aide de la mémoire directe et des périphériques indépendants de base (AN3548)
Logiciel utilisé
- MPLAB® X IDE 6.15 ou plus récent (microchip.com/mpab/mpab-x-ide)
- MPLAB® XC8 2.45 ou un compilateur plus récent (microchip.com/mpab/compilers)
- Configurateur de code MPLAB® (MCC) 5.3.7 ou plus récent (microchip.com/mpab/mpab-code-configurator)
- Bibliothèques de périphériques de configuratrice de code MPLAB® (MCC) PIC10 / PIC12 / PIC16 / PIC18 MCUS (microchip.com/mpab/mpab-code-configurator)
- Prise en charge de l'appareil Microchip PIC18F-Q (1.23.425) ou plus récent (packs.download.microchip.com/)
Matériel utilisé
- PIC18F57Q43 Kit d'évaluation Nano Curiosity (DM164150)
- Curiosity Nano Base pour Click Boards ™ (AC164162)
- Micro clique (mikroe-2563)
- Flash 2 Click (Mikroe-2267)
- Amplificateur d'alimentation implémenté sur un clic proto (Mikroe-1507)
Configuration du matériel
Les connexions nécessaires entre la carte Nano Curiosity Nano PIC18F57Q43 et les panneaux de clic requis sont présentés ci-dessous:
- L'extension Click 1 se connecte à la carte de clic micro. Cela utilise la broche AN1 pour transférer le signal vocal analogique vers l'ADC à bord du PIC18F57Q43. Le clic micro a un circuit de conditionnement et de filtrage du signal à bord
- L'extension Click 2 se connecte à la carte Click Flash 2. Cette carte a la puce de mémoire flash SST26VF064B par microchip et utilise SPI pour communiquer avec le microcontrôleur
- L'extension Click 3 se connecte à un circuit d'amplificateur d'alimentation de classe D sur mesure sur un clic proto
Connexions de la carte nano curiosité

Circuit de clic proto

Configuration complète du système

Click proto

Configuration de logiciel
MCC est utilisé pour configurer ce qui suit. Reportez-vous au projet MPLAB X pour les détails et les paramètres de chaque composant.
- Configuration du système - CPU et interruptions
- TMR0 - Utilisé pour générer une minuterie d'échantillonnage de 10 kHz
- ADCC - Utilisé pour l'échantillonnage et la quantification du signal audio analogique
- DAC1 - Utilisé pour produire le signal audio analogique
- SPI1 - Utilisé pour communiquer avec le module de mémoire externe
- DMA (DMA1, DMA2, DMA3, DMA4, DMA5, DMA6) - Opérations de transfert de données
- PWM1 - Utilisé pour créer une forme d'onde de dents de scie pour l'amplificateur audio
- CMP1 - Utilisé pour comparer la forme d'onde en dents de scie avec la sortie DAC DC-Offset pour produire un signal PWM pour générer le haut-parleur audio
- TMR2 / 4 - avec CLC1 / 2, sont utilisés pour déboucher sur les boutons
- CLC1 / 2 - avec TMR2 / 4, sont utilisés pour déboucher sur les boutons
- UART1 - Utilisé pour envoyer et recevoir des messages de débogage
Opération
Pour exécuter l'application, utilisez le bouton sur la carte Nano Curiosity.
- Par défaut, l'application est en mode "inactif".
- Double-appuyez sur le bouton pour entrer le mode "Enregistrer". Le système continuera d'enregistrer jusqu'à ce que le bouton soit à nouveau appuyé pour s'arrêter, ou il manque de mémoire. Si une mémoire externe est présente, l'enregistrement y sera stocké. Sinon, l'enregistrement sera stocké dans une mémoire flash interne.
- Appuyez sur le bouton une fois pour entrer dans le mode "Playback". Le système continuera de jouer audio enregistré stocké dans la mémoire jusqu'à ce que le bouton soit appuyé à nouveau pour s'arrêter, ou si l'enregistrement entier est lu.
- Appuyez longtemps sur le bouton pour saisir le mode "Erase" et effacez l'enregistrement entier à partir de la mémoire.
Un bouton spécial est disponible sur le clic proto avec l'amplificateur. Appuyez longtemps sur ce bouton pour saisir le mode "passthrough" dans lequel le système agit comme un simple amplificateur et n'enregistre pas et ne stocke pas l'audio. Appuyez à nouveau sur ce bouton spécial pour quitter le mode "passthrough".
L'audio sera lu via l'amplificateur de classe D sur Proto Click. Il y a deux cavaliers à bord du proto cliquer:
- Le cavalier J1 sélectionne la source d'entrée audio entre le clic micro et le micro casque. (Sélectionnez toujours Mic Cliquez lorsque le micro casque n'est pas connecté à la prise audio 3,5 mm)
- Le cavalier J2 sélectionne la sortie audio entre le haut-parleur externe et la prise audio 3,5 mm. Un haut-parleur externe ou un casque peut être connecté à la prise audio 3,5 mm.
Remarque: il est recommandé d'éviter de sélectionner des écouteurs pour la sortie audio et la saisie du micro ensemble en mode "pashrough" pour éviter l'induction du bruit.
Résumé
Le DMA est un excellent moyen de transférer des données entre les registres, RAM et Flash dans différentes configurations. Il permet la vitesse et la facilité d'utilisation, en plus de libérer le CPU pour effectuer d'autres tâches.
Le DAC permet une bien meilleure reproduction des signaux audio échantillonnés en raison de la résolution 8 bits plus élevée. La sortie tamponnée du DAC forme directement une excellente connexion à différents périphériques, sans dégrader le signal. Cela peut être utilisé avec le PWM et le comparateur pour former un excellent amplificateur de puissance de classe D.
TIMER2 HLT peut être combiné avec CLC pour une excellente technique de démontage sans code sans code.