cardio- frequencemetre
Transcription
cardio- frequencemetre
C ARDI O FREQUE NC EME TRE CONCEPTION DU CIRCUIT IMPRIME ROMAIN PELLE QUENTIN TEXIER INTRODUCTION Le projet qui nous est proposé est celui d'un cardiofréquencemètre de pouls dont le but est de déterminer en continu la fréquence cardiaque. Celui-ci se décompose en un boitier capteur qui se positionne sur le doigt, d'une carte électronique et d'un système numérique programmable. Le capteur récupère les informations nécessaires à partir de deux leds et d'un photo-détecteur. La carte différencie ces différentes informations à partir du même signal d'entrée et les rend exploitable. Le système numérique lui traite ces informations pour en déterminer la fréquence cardiaque et la valeur de l'onde tissu. Le fonctionnement de ce capteur déroule de certaines propriétés du sang : On éclaire le doigt (fortement irrigué) par deux leds. Lors de l'éjection du sang par le cœur (systole), le photodétecteur reçoit moins de lumière de ces deux leds. Or ce phénomène est périodique et correspond à la fréquence cardiaque. Le photo-détecteur nous donnera donc le signal correspondant à l'absorption des tissus. La courbe obtenue nous permettra donc de déterminer cette fréquence. Il s'agira à travers cette carte de décomposer le signal obtenu en deux composantes : une composante continue représentant l'absorption moyenne du tissu (information DC) et une composante alternative AC correspondant à l'onde de pouls. Le système aura donc le synoptique général suivant : 2 Le système pourra se décomposer selon les blocs suivants : le module « capteur » intègre deux led : une led infrarouge et une led rouge ainsi qu'un photo-détecteur. Nous n'utiliserons pas les leds indépendamment dans ce système (contrairement à l'oxymètre de pouls), les leds seront donc commandées de la même manière. Le module comporte de surcroît un photo-détecteur. Le module « mesure et affichage cardio » lui se compose de 4 sous-blocs. « interface led » qui commande les leds du capteur o « conditionnement extraction numérisation » lui récupère l'information en sortie de photo-détecteur et la traite afin d'extraire d'amplifier et de numériser les informations suivante : - AC-RIR : variation crête à crête de la lumière captée (onde de pouls) - DC-RIR : valeur moyenne de la lumière captée (tissus) Le système comprendra des éléments analogiques en plus d'un convertisseur analogique/numérique (CAN) o o « contrôle calcul » : gère le système complet, traite les information AC-RIR , DC-RIR pour calculer la fréquence cardiaque et commander son affichage. « IHM » : l'interface humain/machine : visualise la fréquence cardiaque et permet de configurer le système. 3 P R ES EN TAT I O N D E LA C ART E Le présent rapport s'attarde sur la carte électronique composée des blocs «interface led », « IHM » « conditionnement extraction et numérisation ». Le module capteur nous est fourni. Quant au bloc « contrôle calcul » il fait l'objet d'un second rapport. L A C A RT E D U C A R D I O F R E QU E N CE ME T RE D O I T G E RE R L E S F O N CT I O N N AL I TE S S U I VAN T E S : mesure de la fréquence cardiaque et affichage en décimal sur 3 afficheurs 7 segments : -pas : 1 -précision absolue : +(1+ -domaine de mesure : 30 à 255 BPM. 1%(fréquence BPM cardiaque))BPM. optimisation de l'éclairement des leds du capteur grâce à un réglage manuel indication par une led rouge du dépassement d'un des seuils alarme contrôlé par « contrôle calcul ». Réglage via deux switchs et un bouton poussoir des seuils d'alarme. L E S C H O I X T EC H N O L O G I QUE S S UI VAN T O N T E T E O P E R ES : -la numérisation de AC-RIR et DC-RIR sera assuré par un CAN 12 bits multivoies. Sa période d’échantillonnage sera de 2 ms. -Le circuit de contrôle choisi est un FPGA ALTERA série Cyclone. Sa configuration est conservée grâce à une mémoire de type FLASH. De plus le système doit pouvoir se configurer via une liaison JTAG en utilisant un USB-Blaster ALTERA. Les broches dédiées aux signaux d'entrée/sortie sont imposés pour permettre un développement en parallèle de la logique programmable en VHDL. Le schéma de brochage du FPGA et l'affectation des différentes entrées sorties se trouve page 5. -Un circuit oscillateur à quartz donne un signal d'horloge de fréquence 20Mhz destiné au FPGA. -L'alimentation interne de la carte est mixte pour s'adapter à l'alimentation des amplificateurs opérationnels et des circuits logiques : o o +-15V 3,3V 4 o 1,5V -La gamme de température d'utilisation de la carte est comprise entre 10 et 35 degrés Celsius. -A cela se rajoutent certaines contraintes dues au circuit imprimé : le circuit imprimé sera à trou non métallisés. Cela implique plusieurs choses : premièrement la soudure de 'via' entre la couche TOP et BOTTOM pour réaliser la liaison électrique entre ses deux couches. Deuxièmement il faudra faire attention à la soudure des composants. Mis à part les composants CMS, nous souderons systématiquement sur la couche BOTTOM, on ne soudera sur la couche TOP que s'il y a une piste dessus. //taille des trous. L’ I N TE R FAC E P H Y S I QU E DE L A C ART E E S T T EL L E QUE -le système est alimenté par une alimentation double symétrique délivrant +15V et 15V via le connecteur J1 : Broche 1 Signal -15V 1 GND 5 3 +15V -la liaison avec le module « capteur » s'effectue via un connecteur J2 de 6 broches. Broche 1 2 3 4 5 6 Signal LED-IR-A LED-R-A LED-IR-K LED-R-K DET-K DET-A Description Anode LED Infrarouge Anode LED Rouge Cathode LED Infrarouge Cathode LED Rouge Cathode diode photo-détecteur Anode diode photo-détecteur -Le connecteur J3 de 10 broches permet la configuration par JTAG avec l'outil USBBlaster : Broche 1 Signal TCK 2 GND 3 TDO 4 5 +3.3V TMS 6 / 7 / 8 / 9 TDI 10 GND I N T E R FAC E U T I L IS AT EU R La configuration du système, sa visualisation des mesures et la réalisation de plusieurs tests simples se fera à travers l'interface utilisateur. Celle-ci comprendra : -trois afficheurs sept segments pour visualiser la fréquence cardiaque ou les seuils d'alarme. -une LED verte pour indiquer le bon fonctionnement. La LED est allumée avec un état '1'. -une LED jaune pour visualiser le rythme du pouls. La LED est allumée avec un état '1'. -une LED rouge pour indiquer une alarme sur la fréquence cardiaque. La LED est allumée avec un état '1'. -2 micro-interrupteurs (SWITCH) pour sélectionner le mode. Les micro-interrupteurs donne un état '1' en étant ouverts. SW(1) SW(0) BP_REG affichage 1 1 1 BPM en décimal 1 1 0 Affichage MOY_DC en hexadécimal 1 0 1 BPM en décimal 1 0 0 MOY_DC en hexadécimal 6 0 1 x SALH en décimal -un bouton poussoir pour régler les seuils d'alarme ou demander un indicateur de réglage du capteur. Au repos, le poussoir donne un état '1' . -Un potentiomètre ou trimer pour régler la luminosité des LED du capteur. -Un cavalier « inverseur » (jumper) pour sélectionner la source de la commande des LED du capteur : manuelle (potentiomètre) ou automatique (FPGA). Cavalier Source Position Position 1 2 OUI NON Manuelle NON OUI Automatique NON NON Aucune source (non opérationnel) On rajoutera deux cavaliers afin de faciliter les tests lors de la phase de recette. Un à la sortie du conditionnement, un à l'entrée du filtre de Butterworth. 7 S Y N O P T I QUE D E RE AL I S AT I O N 8 DESCRIPTION DES BLOCS Il s'agit maintenant de s'attarder sur chaque bloc du synoptique détaillé afin d'en justifier les choix tehniques. D E S CR I P T I O N D U F P G A . Ci-dessous le tableau indiquant les types électriques IN, OUT ou INOUT du FPGA. On précise que l'entrée nRST sera placée sur un Pull-Up de 10 KΩ. Signal Type électrique nRST IN CLK IN LED-BF OUT LED-POU OUT LED-AL OUT BP-REG IN SW (1..0) IN AFU (6..0) OUT AFD (6..0) OUT AFC (6..0) OUT CS-ADC OUT CLK-ADC OUT DIN-ADC OUT DOUT-ADC IN PWM-LEDRIR OUT Le FPGA est constitué de 2910 'Logics Elements' et contient 104 I/O, là où 34 nous sont suffisant pour ce système. La mémoire du FPGA est volatile. Si on se contentait d'envoyer un programme à ce dernier via une configuration JTAG, celle-ci disparaitrai dès le premier reboot. Associer une mémoire Flash au FPGA permet donc de conserver cette configuration après une mise hors-tension. Ainsi on utilisera les configurations actives et JTAG via un câble USB. Celles-ci se configurent avec les bits MSEL0 et MSEL1 : CONFIGURATION MSEL1 9 MSEL0 Active JTAG 0 0 0 1 La datasheet nous donne les deux schémas suivants : D E S CR I P T I O N D E L’ A D C . L'ADC ale rôle de convertir en numérique les informations AC et DC. Son implémentation sur la carte se fera selon le schéma suivant. 10 1) CONVERSION Le convertisseur analogique numérique sera alimenté avec du 3,3v. Il est capable de coder sur 12 bits soit de 0 à 4095. Sa dynamique de conversion ira d'après la datasheet de 0 à 3,3V. La conversion se fera comme suit : 0V correspondra au nombre 0. 3,3V correspondra au nombre 4095. donc une tension de 2,5V sera numérisée selon la formule suivante : information numérisée = (2,5V * 4096)/3,3= 3103 Le schéma suivant décrit cette fonction : 2) PROTECTION DE L’ADC L'ADC est conçue pour recevoir sur ses voies d'entrées une tension de 3,3V. Il faut le protéger d'une éventuelle tension supérieure. Pour cela, nous utilisons le montage 'limiteur de tension' suivant sur chacune des voies d'entrée. La résistance de 680Ω a pour but de supporter une injection de courant (courant négatif en sortie de l'alimentation). Ci-dessous le schéma du montage et la fonction de transfert entre l’entrée du limiteur et sa sortie. 11 3) COMMUNICATION AVEC LE FPGA Le FPGA et l'ADC communiquerons de manière série synchrone. Le FPGA enverra un mot de contrôle à l'ADC alternativement pour récupérer une information AC-RIR puis DC-RIR. La configuration du mot de contrôle (sur 8 bits) donné dans la datasheet est la suivante : - - - Le premier bit est le start, il vaut toujours '1'. Les trois suivants permettent d'indiquer l'entrée parmi les quatre de l'ADC que l'on désire sélectionner. Dans ce cas-ci, l'entrée CH0 correspond à AC, l'entrée CH1 à DC. La documentation nous indique que CH0 correspondra au mot 001 alors que CH1 correspondra au mot 101. Le bit suivant nous permet de choisir un mode de conversion, celui par défaut nous conviens : on laisse se bit à '0'. Le bit suivant nous permet de choisir le mode de mesure de l'entrée (différence avec une autre tension ou simplement par rapport à la masse). Dans ce cas-ci il sera égal à '1' (par rapport à la masse). Les deux derniers bits permettent une mise en veille de l'ADC, que nous n'utiliserons pas. Conformément à la documentation, nous les laissons tout deux égal à '1'. Tout ceux-ci nous donne au final les deux mots de contrôle suivant : -Pour AC : 10010111 -Pour DC : 11010111 12 C O M PA T I B I L I T E D E S N I V EAU X L O G IQU E S Les états logiques devant être reconnus aux différents points de la carte, il est nécessaire de fixer des intervalles pour les tensions d'alimentation. C'est pour cela que grâce aux spécifications on a fixé 2 domaines de tolérance, un premier concernant le FPGA et un deuxième pour l'ADC. V I S UA L I S A TI O N D E L A F R EQ U E N CE C A R D I A Q U E Afin de connaître le pouls du patient mais également de configurer les différents seuils de l'oxymètre, nous avons besoin de 3 afficheurs 7 segments. Ces afficheurs 7 segments sont actifs à 0. Voici le tableau récapitulatif du code 7 segments Chiffre Code 7 segments 0 1.0.0.0.0.0.0 1 1.1.1.1.1.0.0 2 0.1.0.0.1.0.0 3 0.1.1.0.0.0.0 4 0.0.1.1.0.0.1 5 0.0.1.0.0.1.0 6 0.0.0.0.0.1.0 7 1.1.1.1.0.0.0 8 0.0.0.0.0.0.0 9 0.0.1.0.0.0.0 13 Les afficheurs étant actifs à 0, le segment s'allume lorsqu'il est relié au GND. COMMANDE DES LEDS Les leds rouge et infrarouge sont associées en série. Le courant les traversant (qui peut varier de 0 à 27,5mA) est commandé par un générateur du courant qui peut être commandé soit automatiquement par un signal PWM provenant du FPGA soit manuellement par un potentiomètre. Le choix se fera grâce à un cavalier. 1) Le générateur de courant Le générateur se présente comme suit : Il est associé à un transistor NMOS. La tension VCI est variable de 0,3V à 3,3V, ce qui nous permet de déterminer RI (à partir du courant ID valant VCI/RI), que l'on choisira égale à 150Ω. On note deux choses : 14 la condition de conduction du transistor est toujours vérifiée. En effet cette condition est la suivante VGS > VGSth (seuil de conduction). Or VDS=VGS*ID avec VDS=60. La puissance dissipée maximale Pdmax respecte les limites de la datasheet. Pdmax=3,3V*27,5mA=119mV < 400mV (limite de la datasheet). 2) Commande manuelle La commande manuelle se fera à l'aide d'un potentiomètre. Il faut permettre à l'utilisateur de faire varier la tension VCI de 0,3V à 3,3V. On le fera grâce au montage ci-dessous. Lorsque le trimmer est enclenché au maximum vers 3,3V, la tension en sortie vaut 3,3V. Lorsqu'il l'est de l'autre bord, la tension vaudra (3,3 * 1 ) / (1+10), soit 0,3V. On obtient bien le système que l'on désirait obtenir. 3) Commande automatique La commande PWM est transmise par le FPGA sous la forme d'un signal carré de fréquence 100KHz. Un état haut correspondra à une tension de 3,2V et un état bas à 0V. On souhaite extraire la valeur moyenne de ce signal carré. Pour cela nous utiliserons un filtre passe bas car nous avons calculé que cette valeur moyenne se situe proche de l'axe des abscisses (à partir e la formule du rapport cyclique). De plus on souhaite que ce signal soit atténué de 60dB. Pour cela on choisira dans notre filtre une résistance de 150 KΩ et un condensateur de 10pF. 15 CONDITTIONENEMNT SORTIE Le photo-détecteur fonctionne de telle sorte que le courant inverse à sa sortie soit proportionnel à l'éclairement. Pour obtenir une tension proportionnelle à l'éclairement on utilise le montage convertisseur courant-tension suivant : RC est déterminée de manière à ce que VSC soit égale à 10V et IP à 10uA, soit égale à 1MΩ. De plus afin de clarifier le signal de divers bruits (provenant de la diode, de la lumière ambiante ou de diverses perturbations électriques), on filtre ce dernier. On désire garder intact toutes les informations utiles d'AC-RIR et de DC-RIR se situant dans la bande de fréquence 0,5-4,25 Hz. Pour cela on placera dans un premier temps un condensateur de 470pF en parallèle de la diode PIN. Dans un second temps on placera un condensateur CC en parallèle de RC afin de réaliser un passe-bas de fréquence de coupure 33Hz (avec une tolérance de +15 %). On a donc fc=1/(2π*RC*CC) On en déduit CC=4,82nF soit 4,7nF en valeur normalisée. T R A I T E M E N T A C_ R I R . Le but de ce bloc est d'extraire l'information alternative. On commencera par supprimer la composante continue puis on en amplifiera et filtrera la résultante. 1. EXTRACTION DE L'INFORMATION L'information à supprimer se trouve dans les hautes fréquences. Afin de la supprimer, on lui applique un filtre de type passe-haut dont la fréquence de coupure est extrêmement basse (on choisit 0,075 Hz). Afin de l'obtenir on utilise une résistance de 22K et une capacité de 100uF. L'étape suivante consistera à amplifier ce signal grâce à un montage détaillé plus loin. Mais le problème qui va se poser est que les composants de notre filtre passe bas vont interagir avec la partie amplification en raison de l'impédance en sortie du passe bas. Afin de résoudre cette 16 problématique on utilisera un adaptateur d'impédance, comprendre un montage suiveur. (Voir ci-dessous). 2. AMPLIFICATION L'entrée de l'ADC doit recevoir une tension d'entrée comprise entre 0 et 3,3V, or la sortie du conditionnement renvoie une tension de 68 mV crête à crête, d'où la nécessité d'un étage d'amplification entre le conditionnement et l'ADC. Le filtre doit avoir un gain de 48,5 (car 48,5*0,068V=3,3V). Ca fréquence de coupure est de 10 Hz. Le choix est fait d'utiliser un filtre passe bas de Butterworth du 4ième ordre, réalisé en utilisant deux filtres de Roach en cascades selon le schéma suivant. La fonction de transfert d’un de ces deux filtres peux s’écrire : Avec : 𝐴𝐹 = − 𝑚 = 𝐶5 𝑅4 𝑅1 𝑅1𝑅4 + 𝑅1𝑅3 + 𝑅3𝑅4 2 ∗ 𝑅1 ∗ √𝐶2𝐶5𝑅3𝑅4 17 𝑓= 1 (2𝜋√𝑅3𝑅4𝐶2𝐶5) Il s’agit maintenant de déterminer chacun des composants, on se fixe pour les deux filtres les coefficients d’amortissement et les valeurs des condensateurs : filtre m coefficient d’amortissement. Condensateurs A 0.924 C2A=220nF C5A=15nF B 0.3827 C2B=470nF C5B=4.7nF Des informations de l’énoncé et des calculs précédents on tire les trois équations suivantes : 𝐴: 1 √(𝑅3𝑅4) = 2𝜋 √𝐶2𝐶5 ∗ 10 𝐵: 𝑅4 = 𝑅1 √48.5 𝐶: 𝑅1𝑅3 + 𝑅1𝑅4 + 𝑅4𝑅3 2√𝑅3𝑅4𝑅1 = 𝑚√𝐶2 √𝐶5 De ces 3 équations on parvient à déterminer les valeurs théoriques de ces résistances. On leur associe les valeurs normalisées correspondant aux seuils de tolérances fixées. Filtre Valeurs théoriques Valeurs pratiques A R1A=55KΩ R3A=100KΩ R4A=385KΩ R1A=56KΩ R3A=200KΩ R4A=390KΩ B R1A=60KΩ R3A=273KΩ R4A=220KΩ R1A=56KΩ R3A=270KΩ R4A=390KΩ On obtient au final le montage suivant : 18 3. ADAPATION A L'ADC. La tension que l'on est censée obtenir en sortie d'amplification est une tension de 3,3 V crêtes à crête. Cependant deux problèmes la rendent inutilisable par l'ADC : La tension désirée doit être comprise entre 0 et 3,3 Volts alors que la tension d'entrée de l'étage d'amplification à pour valeur moyenne 0. A cela se rajoute un offset parasite du au gain élevé du filtre de Butterworth, amplifiant les défauts du filtre. En calculant cet offset on détermine que ce dernier vaut +- 0.63V ce qui n’est pas négligeable. Il apparaît donc clairement qu'un étage d'adaptation à l 'ADC est nécessaire afin d'une part supprimer l'offset parasite et d'autre part rajouter un offset de 1,65 V (c'est à dire 3,3/2). On propose ainsi le montage suivant : T R A I T E M E N T D C_ R I R . 1. EXTRACTION DE L'INFORMATION L'information à supprimer se trouve dans les très basses fréquences. Afin de la supprimer, on lui applique un filtre de type passe-bas dont la fréquence de coupure est extrêmement basse 19 (on choisit 0,05 Hz). Afin de l'obtenir on utilise une résistance de 33K et une capacité de 100uF. Comme vu précédemment pour l'extraction de l'information harmonique, on place en sortie de l'étage d'extraction un montage suiveur. 2. ADAPATION A L'ADC. La tension de sortie de l'étage d'extraction est comprise entre 0 et 13,2V. Il faut donc diviser son amplitude par 4, pour obtenir une tension comprise entre 0 et 3,3V. Pour cela on utilise un montage diviseur de tension (voir ci-dessous) : E N T R E E S E N L’ A I R Le problème qui se pose est celui d’entrées inutilisées par notre système. Leur état logique est indéterminés ce qui peut entrainer une instabilité voir une surconsommation de notre montage. Afin de s’en affranchir on peut manuellement fixer ces états logiques, soit avec un pull up (forçage à un état haut) soit avec un pull down (forçage à un état bas). Le pull up se fera avec des résistances comprises entre 1 et 10 KΩ. Le pull down lui se fera avec des résistances entre 10 et 100KΩ 20 D E CO U P L A G E La modélisation d’un fil se fait avec une résistance et une bobine en série. En effet à chaque variation brutale d’amplitude (entre deux états logiques) on observe une légère fluctuation. Ces fluctuation compte tenu de la rapidité de notre système peuvent entrainer un non-respect de nos états logiques voir de nos limites de tension. Afin d’éviter cela nous découplerons les alimentations, le FPGA et les composants de notre système de la manière suivante : Découplage des amplificateurs opérationnels : Fait Pour découpler les alimentations, on placera un condensateur de 10 ou 100nF en parallèle de cette alimentation. Entre une alimentation et un régulateur on rajoutera un condensateur afin de stabiliser ce composant. Pour le 805 Cir le condensateur vaudra 330nF et pour le C0r il vaudra 100nF. A L I M E N TA T I O N E T R E G U LA T E U R Le choix des régulateurs doit se faire selon la règle d’art suivante : « La puissance dissipé par le régulateur doit être inférieur à la puissance maximale pouvant être dissipé selon les spécifications du constructeur. Après lecture dans la datasheet et calcul on a : Regulateur Ireg VINreg VOUTreg PREG PREG max. dissipé 1.5V 34mA 3.3V 1.5V 0.06W 0.88W 3.3V 85mA 1.5V 3.3V 1.00W 2.7W (Valeur arrondie) Avec Ireg courant total circulant dans le régulateur, Vinreg tension d’entrée du régulateur. Voutreg tension de sortie du régulateur. D O CU M E N T S A N N E X E S Vous trouverez joints avec le rapport : la nomenclature des éléments utilisés, les différents schémas électriques ainsi que le PCB de la carte réalisée. 21 22 23 24