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