Étape 7: Créer le logiciel d’acquisition de données de l’os à nu - part1 : le SPI
L’acquisition de données et de signal numérique conditionnement de signaux que sont les tâches critiques temps, ainsi leur mise en œuvre doit être faite dans un système d’exploitation temps réel ou dans un automate rapide/micro contrôleur. La première approche serait l’utilisation de Linux avec Xenomai distribution, tandis que la seconde approche écrirais un firmware pour le micro contrôleur. Comme je n’avais plus d’expérience avec hardwares/firmwares, j’ai choisi la deuxième méthode. Puisque le processeur ARM embarqué possède deux cœurs physiques, j’ai voulu créer un firmware rapide à l’un des conducteurs et un système d’exploitation à l’autre noyau.
La première chose à faire est la configuration du périphérique SPI et le frontal analogique de ADS1299. Le pripheral SPI a été configuré comme l’exemple d’EEPROM suggérée dans le SDK, moyennant quelques modifications mineures :
La partie supérieure mentionné petit bout a été moddified pour ralentir l’horloge SPI au-dessous de 1MHz. Transmission de données, la fonction de transfert acère a été utilisée.
La séquence de configuration est la suivante : réinitialiser, STOP_DATA_TRANSMISSION, WRITE_DATA_REGISTERS, ENABLE_DATA_TRANSMISSION, START_ACQUISITION. Cette séquence est un must lors de la configuration de la ADS1299, car après réinitialisation, l’IC automatiquement commence à transmettre des données mesurées et ne sera pas enregistrer les modifications de registre. Dans les paramètres j’ai désactivé les 5 chaînes (j’ai l’intention d’utiliser seulement 3 + terre), changé la référence à la commune, la fréquence d’échantillonnage à 1kHz et gagner à 24.
Avec ces réglages effectués, la seule chose à faire est de tester la communication, sauf qu’il pourrait y avoir quelques petits problèmes : si la batterie est faible, mais la partie numérique est powerered de l’USB, la commucation est possible, mais l’acquisition ne fonctionnera pas. Un autre problème pourrait être les paramètres SPI correctement. Ces deux problèmes peuvent être résolus avec l’aide d’un analyseur logique et oscilloscope.