Étape 6: Acquérir en permanence avec un buffer circulaire
Acquérir continuellement jusqu'à ce qu’un signal est trouvé, puis envoyer le signal numérisé à l’ordinateur.
Cette approche permet d’avoir le signal entrant façonnent également avant l’événement déclencheur.
J’ai préparé quelques diagrammes de me faire effacer. Les points suivants font référence aux images.
- Sur la première image, nous pouvons voir ce que je veux dire avec acquisition continue. Nous définissons un tampon qui va stocker les données, dans mon cas un tableau avec des fentes de 1280, puis nous commençons à lire en continu l’annonce de Registre (ADCH) sortie ADC remplir la mémoire tampon avec les données. Quand on arrive à la fin du tampon on va redémarrer dès le début sans compensation il. Si on immagine le tableau disposé de façon circulaire, il est facile de voir ce que je veux dire.
- Lorsque le signal dépasse le seuil, l’interruption de comparateur analogique est activé. Puis on commence une phase d’attente où nous continuons d’acquérir le signal mais garder un comptage des cycles d’ADC qui est passée le comparateur analogique interrompre.
- Lorsque nous avons attendu pour cycles N (avec N < 1280), nous geler la situation et arrêter les cycles de l’ADC. Donc, nous nous retrouvons avec un tampon rempli avec la numérisation de la forme temporelle du signal. La grande partie de cela, est que nous avons aussi la forme avant l’événement de déclenchement, parce que nous étions déjà acquérir avant cela.
- Maintenant, nous pouvons envoyer le tampon entier au port série d’un bloc de données binaires, plutôt que d’envoyer les lectures de ADC unique. Cela réduit les frais généraux nécessaire pour envoyer les données et le goulot d’étranglement des croquis que j’ai trouvé sur internet.