capteur isfet
TRANSCRIPT
Université Mohamed I OujdaEcole Nationale des sciences appliquées
Département Génie Electrique
Projet de Fin d’Année :
Analyse des Circuits de Mesure du Capteur ISFET et Affichage des Tensions Relatives au pH sur
l’Ecran LCD de la Carte SPARTAN3E
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Réalisé par : Encadré par Mr. AMEKRANE Younes. Mr. B. HAJJI Mlle. BOUSELHAM Loubna. Mlle. RABYI Kaoutar. Mlle. YAHYAOUI Fatima.
Remerciements
Au terme de ce travail, on tient à exprimer nos sincères gratitudes, dans un premiers temps à notre encadrant Mr .HAJJI pour son suivi, sa patience, et son écoute lors de la réalisation de ce travail.
1
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
On adresse également nos remerciements à nos enseignants et à tous ceux qui ont contribué à l’élaboration de ce travail de prés ou loin.
Sommaire
Introduction.................................................................4
Partie I : Principe du capteur ISFET et étude des différents circuits de mesure
Chapitre I : Principe et théorie du capteur ISFET
I. Principe du transistor MOSFET.............................................................8
II. Principe et théorie du capteur ISFET ................................................10
Chapitre II: Conception d’un MOSFET à canal N adapté au capteur ISFET
I. Détermination des paramètres du modèle niveau 3 PSPICE ..............12
II. Conception finale .............................................................................13
III. Caractéristiques du MOSFET .............................................................13
IV. Caractéristiques d’ISFET ..................................................................14
2
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Chapitre III : Etude des circuits de mesureIntroduction............................................................................................18
I. Circuit de mesure n°1 ........................................................................19
II. Circuit de mesure n°2 ........................................................................23
III. Circuit de mesure n°3 .......................................................................27
IV. Tableau récapilutatif des résultats....................................................31
Partie II : Affichage des valeurs de tensions relatifs au Ph sur l’écran LCD de la carte SPARTAN3E
Chapitre I : Présentation de la carte FPGA SPARTAN3EI. Introduction.........................................................................................35
II. Composant s de la carte SPARTAN3E.................................................36
Chapitre II : Principe du logiciel de synthèse ISE8.1 de xilinx......38
Chapitre III : Modélisation d’un CAN et affichage des résultats sur l’écran LCDI. Introduction.........................................................................................45
II. Le microcontrôleur picoblaze.............................................................46
III. La conversion analogique numérique................................................48
Chapitre IV : Modélisation du CAN et affichage des résultats sur l’écran LCD avec utilisation du picoblaze I. Description générale...........................................................................57
II. Les composants de programme.........................................................58
Chapitre V : Résultat du test……………………………………………....62
Conclusion……………………………………………………………….…65
3
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Annexes...…………………………………………………………………...66
4
INTRODUCTION
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Les capteurs chimiques ISFET (Ion Sensisitive Field Effect Transistor) sont devenus aujourd’hui primordiaux du fait de leurs nombreuses applications dans des domaines très divers de recherche scientifique (fondamentale et appliquée). Ils sont largement utilisés dans la biologie, biochimie, médecine, sécurité, agriculture et environnement.
Dans le cadre de ce projet, dans un premier temps, on s’intéresse à l’étude des différents circuits de mesure pour capteur ISFET, en analysant la linéarité de mesure, sensibilité et effet de la température pour chaque circuit.
Le second volet de ce projet consiste à réaliser un code VHDL sous l’outil ISE8.1 Xilinx modélisant la conversion analogique numérique des valeurs de tension relatives au pH afin de les afficher sur l’écran LCD de la carte SPARTAN3E.
5
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
6
Partie I :
Principe du capteur ISFET et étude des différents circuits
de mesure
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Chapitre I :
Principe et théorie du capteur ISFET
7
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Le capteur ISFET est issu du transistor MOSFET (Metal Oxyde Semiconductor Field Effect Transistor) dont la grille est remplacée par une membrane chimiquement sensible aux ions H+, en contact direct avec la solution à étudier.
On rappelle d’abord la structure, le principe de fonctionnement et les caractéristiques du transistor MOSFET.
I. Principe du transistor MOSFET :Dans un substrat de silicium de dopage p (cas d’un MOSFET canal N)
sont implantées deux zones de dopage n formant la source (S) et le drain D et aux quelles sont appliquées des connexions métalliques. La zone centrale située entre source et drain est le canal ; une fine couche isolante surmonte le canal et la métallisation qu’elle porte constitue l’électrode grille qui est l’électrode de contrôle de la conductivité du canal.
Fig 1.1 : Structure du transistor MOSFET
L’application d’une tension positive entre la grille et le substrat produit un champ électrique qui attire les électrons et repousse les trous à la surface du substrat. Une fois la tension est suffisante (Vgs>VT) ; un canal de type N se forme, ce dernier assure le passage du courant de la source vers le drain.
Si une tension est appliquées entre le drain et la source (Vds>Vgs) ; le champ électrique est plus faible coté drain, ce qui provoque le phénomène de pincement du canal N, donc le courant du drain tend vers une valeur constante.
8
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Fig 1.2 : Caractéristique statique d’un transistor MOSFET
Le courant Ids est fonction des tensions Vgs et Vds ; on établit que :- Pou Vds < Vgs-VT : zone linéaire
Ids=β [Vgs– VT– 12 Vds] *Vds
- Pou Vds > Vgs - VT : zone de saturation
IDS= β2 (Vgs- VT) ²
Avec : β= µ.Cox. WL
µ : mobilité des électrons.Cox : capacité de l’isolant W : largeur de grilleL : longueur de grille.
Et : VT=VFB - Q BCOX
+ 2 ΦF
VFB : tension de bande plate.ΦF : potentiel de fermi.QB : charge dans la couche de déplétion du substrat.
Et : VFB=ΦM−ΦSI
q -
QSS−QOXCOX
ΦSI : travail de sortie d’un électron de Si.ΦM : travail du métal de la grille.Qss : charge localisée à l’interface oxyde_Si.Qox : charge localisée dans l’oxyde
9
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
II. Principe et théorie du capteur ISFET :
Fig 1.3: Structure du capteur ISFET
La tension seuil VT devient dans ce cas en fonction des caractéristiques chimiques de la solution :
VFB devient : VFB= Er – Ψ0 +χsol - ΦSIq
– Φss+Φox
cox
Avec : Er : Potentiel de l’électrode de référence. χsol : Potentiel du liquide.
Ψ0 : Potentiel électrostatique qui dépend de pH de solution.
Donc : VTH = Er – Ψ0 +χsol - ΦSIq
– Φss+Φox
cox -
QBCOX
+ 2ΦF
On
déduit le circuit électrique équivalent à l’ISFET :
VpH = - Er + Ψ0
La dépendance entre pH et Ψ0 est exprimée par la théorie de ‘site-binding’ :
Avec pHpzc: pH au point de charge nulle
Le potentiel de réference est lié à la température par la relation suivante :Er= Eabs¿
Avec Eabs¿: potentiel d’Hydrogéne
Er ( AgAgCl ): potentiel relatif à l’electrode de référence
α : coefficient de température
10
IDS= β VDS [ VGS- (Er – Ψ0 +χsol - ΦSIq
– Φss+Φox
cox -
QBCOX
+ 2ΦF)
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Chapitre II
Conception d’un MOSFET à canal N adapté au capteur
ISFET
11
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
On fait une conception qui répond aux spécifications suivantes : Electriques :
- Tension de seuil VT = 0,2 V- Polarisation électrique: Vgs ≤ 3 V; Ids ≤ 1 mA; Vds ≤ 5V;Technologiques :- Epaisseur de l’oxide :Tox = 9.69 e-8m- Dopage de substrat : Nsub = 1 e15 cm-3
- Langeur du canal : L = 30 e-6 m- Largeur du canal : W =800 e-6 m- Diffusion latéral dans le canal : LD = 0 - Profondeur de la jonction : Xj = 1 e-6 m- Densité des états de surface : Nss = 1 cm-3
I. Détermination des paramètres du modèle niveau 3 PSPICE :
- Cox = eox/Tox avec : eox= 3.453 e-11 F/m
- PHI = 2*UT*ln(Nsub/ni) avec : UT= 25 mV
- GAMMA = ((2*q*esi*Nsub)1/2) /Cox avec : q= 1.6021 e-19 C esi= 1.0359 e-10 F/m
- VT0 = VFB + GAMMA*(PHI)1/2 + PHIAvec : VFB = WK – (q*Nss/Cox)
WK = -((eg+type.PHI)/2) – 0.05 (type = +1 puisqu’il s’agit d’un MOSFET de type N ; eg =
1.115eV)
- Equations de courant Ids :Vgs ≤ VT : Ids =0
Vgs > VT : Ids = Kp.W/L.[Vgs – VT – ((1+FB).Vds/2)] .Vds Avec : FB= FN+ [(GAMMA.FS) /(4.PHI ½)]
FN=( DELTA.л.esi)/(2.W.Cox)
On fixe DELTA et ETA à 0, et on fait varier Kp jusqu’à avoir une caractéristique Ids=f(Vds) répond aux spécifications déjà citées.
On trouve : Kp =22.000E-6 A/V2
12
Cox = 356, 346 e-6 F/m2
PHI = 0.4337 V
GAMMA = 511.265 e-6 V 1/2
VT0 = -500 e-6 V
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
II. Conception finale :
III. Caractéristiques du MOSFET :1. Caractéristique Ids=f(Vds) :
Fig 2.1 : Ids=f(Vds ) du MOSFET pour Vgs=1 , Vgs=1.5, Vgs=2 , Vgs=2.5 et Vgs= 3
13
.MODEL N-ISFET NMOS+ LEVEL=3+ L=30.000E-6+ W=800.00E-6+ KP=22.000E-6+ RS=1+ RD=1.0000E-18+ VTO=-500.00E-6+ RDS=1.0000E6+ TOX=969.00E-9+ CGSO=40.000E-12+ CGDO=10.000E-12+ CBD=1.0000E-9+ IS=1.0000E-9+ RB=1.0000E-9+ PHI=.4337+ GAMMA=511.27E-6+ THETA=331.00E-6+ KAPPA=1+ VMAX=80.000E3+ XJ=1.0000E-6+ UO=400
*RG=0*GAMMA=511.27E-6 (0,1.0000E30,1)*DELTA=0
V_Vds
0V 0.5V 1.0V 1.5V 2.0V 2.5V 3.0VID(M1)
0A
1.0mA
2.0mA
3.0mA
Vgs = 1
Vgs = 1.5
Vgs = 2
Vgs = 2.5
Vgs = 3
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
2. Caractéristique Ids=f(Vgs) pour Vds=1.5V:
Fig 2.2 : caractéristique Ids=f(Vgs) du MOSFET
IV. Caractéristiques d’ISFET :1. Caractéristique Ids=f(Vds):
- Er= 0.3V- UT= 0.025V
Fig 2. 3 : Ids=f(Vds)
pour pH=1, pH=4, pH=7 et pH=10
14
V_Vgs
0V 0.5V 1.0V 1.5V 2.0V 2.5V 3.0VID(M1)
0A
0.5mA
1.0mA
1.5mA
2.0mA
M 1N -I S F E T
V d s0 V d cV p h
-E r+ (2 . 3 * U t * 0 . 8 8 * (7 . 5 -p H ))
0
PARAMETERS:p H = 1
V g1 . 5 V d c
V_Vds1
0V 0.5V 1.0V 1.5V 2.0V 2.5V 3.0VID(M2)
0A
0.5mA
1.0mA
pH=10
pH=7
pH=4
pH=1
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
2. Effet de température :a.Effet de température lié au MOSFET :
Pour pH= 4 :
Fig 2.4 : Ids=f(Vds) pH=4 pour T=10°C, T=20°C et T=30°C
Le courant Ids diminue lorsque la température augmente. En région de saturation, le courant diminue de 0.024mA lorsque la température augmente de 10°C.
Pour pH= 10 :
15
V_Vds
0V 0.5V 1.0V 1.5V 2.0V 2.5V 3.0VID(M1)
0A
200uA
400uA
600uA
800uA
T= 20°C T= 30°C
T= 10°C
V_Vds
0V 0.5V 1.0V 1.5V 2.0V 2.5V 3.0VID(M1)
0A
200uA
400uA
600uA
T= 30°C
T= 20°C
T= 10°C
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Fig 2.5 : Ids=f(Vds) à pH=10 pour T=10°C, T=20°C et T=30°C
Le courant Ids diminue lorsque la température augmente. En région de saturation le courant diminue de 0.015mA lorsque la température augmente de 10°C.
b.Effet de température lié à l’ISFET:
Fig 2.6 : Ids=f(Vds) d’ISFET à pH=1 pour T=283K et T=303K
Vout diminue par 1.949 µV, lorsque la température augmente par 20K.
16
V_Vds
0V 0.5V 1.0V 1.5V 2.0V 2.5V 3.0VID(M1)
0A
50uA
100uA
T=303K
T=283K
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Chapitre III
Etude des circuits de mesure
17
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Introduction
Dans cette partie, on fait l’étude des circuits de mesure, en analysant la sensibilité de Vout au pH, la linéarité, et l’effet de température.
Pour l’étude de la sensibilité, on procède de la manière suivante :On a VpH = -Er+(2.3*UT*0.88*(7.5-pH)
→∆VpH = - 2.3*UT*0.88*∆pH ∆Vout/∆pH = (∆Vout/∆VpH) * (∆VpH/∆pH) = - 2.3*UT*0.88*(∆Vout/∆VpH)
Pour mesurer l’activité des ions, on utilise des circuits qui fonctionnent soit en zone linéaire, soit en zone de saturation. Si on souhaite mesurer le courant drain-source Ids en fonction du pH, i.e.
en fonction de VT, on fixe le Vgs et le Vds :
- En zone linéaire : dIdsdVT
=−βVds=cte
- En zone saturée : dIdsdVT
=−β (Vgs−VT )≠cte ; le courant ne varie pas
linéairement avec la tension de seuil VT.Pour obtenir la dépendance linéaire, il faut travailler avec la racine
carrée du courant Ids : d √ IdsdVt
=−√ β2=cte
Si on souhaite mesurer la tension grille-source Vgs en fonction de pH (VT), i.e. de la tension de seuil VT, on fixe le courant Ids et la tension Vds :
- En zone linéaire : dVgsdVT
=1
- En zone saturée : dIdsdVT
=1
→Donc il est plus intéressant de mesurer la tension grille-source Vgs parce que le signal de sortie dépend linéairement de l’activité des ions quel que soit le régime de fonctionnement.
Pour l’étude des circuits, on prend :- Eabs¿
- Er ( AgAgCl )=0.1
18
∆Vout/∆pH = - 50.6 e-3*(∆Vout/∆VpH)
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
- α=0.0014
-β1+ β
=0.88
- pHpzc=7.5
Pour l’étude en régime linéaire, on polarise le MOSFET au point M (0.8V ; 0.74mA).Pour l’étude en régime saturé, on polarise le MOSFET au point M’ (5V ; 1.14mA)
I. Circuit de mesure n°1 : mesure de Vs à Vd et Id
constant
N -I S F E T
I d
0
V o u t
Vcc
V p h
-E r+(2 . 3 * U t * 0 . 8 8 * (7 . 5 -p H ))
0
1.Etude en régime linéaire :Vcc= 0.8VId=0.74mA
Fig 3.1.1 : Vout=f(VpH)
Sensibilité : S =|∆Vout/∆pH| :
Pour VpH= 100mV → Vout = -3.4183V
19
V_Vph1
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-4.4V
-4.0V
-3.6V
-3.2V
PH=14
PH=10
PH=7
PH=4
PH=0
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Pour VpH= - 400mV →Vout = -3.9160V
→∆Vout/∆VpH= (-3.4183+3.9160)/ (100+400) e-3= 0.9954 → S= 0.9954 *50.6 e-3=50.36 e-3V/pH = 50.36 mV/pH
Linéarité : Bonne
Effet de température :Effet de température liée au MOSFET :
Fig 3.1.2 :Vout=f(VpH) pour T=10°C, T=30°C et T=50°C
Vout augmente par 6.05mV, lorsque la température augmente par 20°C
Effet de température liée au capteur ISFET: On fait une analyse paramétrique dont le paramètre variable
est la température (T).
20
S=50.36 mV/PH
V_Vph1
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-4.5V
-4.0V
-3.5V
T=303K
T=293K
T=283K
M 1N -I S F E T
V 10 . 8 V d c
I 10 . 7 4 m A d c
0
0
O u t
V p h 1
(2 . 3 * K * T* 0 . 8 8 * (7 . 5 -p H ))/ q
0
V g0 . 5 V d c
E r
-(0 . 3 0 5 +(0 . 0 0 1 4 * (T-2 9 8 . 1 6 )))
PARAMETERS:p H = 1
T = 3 0 0
V
V_Vph1
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-4.4V
-4.0V
-3.6V
-3.2V
T=50°C
T=30°C
T=10°C
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Fig 3.1.3 :Vout=f(VpH) T=283K, T=293Ket T=303K
Vout diminue par 14.05mV, lorsque la température augmente par 10K
2. Etude en régime saturé : Vcc= 5VId=1.14mA
Fig 3.1.4 :Vout=f(VpH)
Sensibilité : S =|∆Vout/∆pH| :
Pour VpH= -500.704mV → Vout = -6.3547VPour VpH= 100mV →Vout = -5.7535V
→∆Vout/∆VpH= (-6.3547+-5.7535)/( (-500.704-100)e-3)= 1 → S= 1*50.6 e-3=50.6 e-3V/pH = 50.6 mV/pH
Linéarité :
Mauvaise linéarité pour VpH≤ -460.563mV , c.à.d pour pH ≥ 10.5
Effet de température :Effet de température liée au MOSFET :
Fig 3.1.5 :Vout=f(VpH) pour T=10°C, T=30°C et T=50°C
21
S=50.6mV/PH
V_Vph1
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(M1:s)
-6.5V
-6.0V
-5.5V
T=10°C
T=30°C
T=50°C
V_Vph1
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(M1:s)
-6.5V
-6.0V
-5.5V
PH=14
PH=10
PH=7
PH=4
PH=0
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Vout augmente par 3.5mV,lorsque la température augmente par 20°C
Effet de température liée au capteur ISFET :
Fig 3.1.6 :Vout=f(VpH)pour T=283K,293K et 303K
Vout diminue par 9mV,lorsque la température augmente par 10K
II. Circuit de mesure n°2 :
22
V_Vph1
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-6.8V
-6.6V
-6.4V
-6.2V
-6.0V
T=303K
T=293K
T=283K
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
N -I S F E T
I 2
0
V p h
-E r+ (2 . 3 * U t * 0 . 8 8 * (7 . 5 -p H ))
0
+3
-2
V +7
V -4
O U T6
+3
-2
V +7
V -4
O U T6
R 1
I 1
O u t
Le courant Id est maintenu constant par la source de courant I2 et la tension Vds est maintenu constante par la source de courant I1 et la résistance R1.
1. Etude en régime linéaire : - R1= 1KΩ- I2= 0.74mA- I1=0.8mA
Fig 3.2.1 :Vout=f(VpH)
Sensibilité : S =|∆Vout/∆pH| :
Pour VpH=0mV → Vout = -1.1789VPour VpH= - 400mV →Vout = -1.15097V
→∆Vout/∆VpH= (-1.1789+1.5097)/(400 e-3)= 0.82 → S= 0.82*50.6 e-3=41.49 e-3V/pH = 41.49 mV/pH
23
S=41.49mV/PH
V_Vph
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-1.8V
-1.6V
-1.4V
-1.2V
-1.0V
pH=14
pH=10
pH=7 pH=4
pH =0
LM741
LM741
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Linéarité :
Mauvaise linéarité pour VpH≤ -280mV , c.à.d pour pH ≥ 8
Effet de température :Effet de température liée au MOSFET :
Fig 3.2.2 :Vout=f(VpH) pour T=10°C, T=30°C , T=40°C et T=50°C
Vout diminue par 27.9mV,lorsque la température augmente par 10°C
Effet de température liée au capteur ISFET : Fig 3.2.3 :Vout=f(VpH) T=283K, T=293Ket T=303K
Vout diminue par 12.7mV,lorsque la température augmente par 10°K
24
V_Vph
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-1.8V
-1.6V
-1.4V
-1.2V
-1.0V
T= 40°C
T= 30°C
T= 20°C
T= 10°C
V_Vph
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-2.4V
-2.0V
-1.6V
-1.2V
T=303K
T=293K
T=283K
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
2. Etude en régime saturé :
- R1= 1KΩ- I2= 1.14mA- I1=5mA
Fig 3.2.4 :Vout=f(VpH)
Sensibilité :
VpH=0V : Vout= -6.1408V
VpH=300mV : Vout=-6.4406V
→∆Vout/∆VpH= 0.82 → S = 50.56 mV/pH
Linéarité : Bonne linéarité
Effet de température :Effet de température liée au mosfet:
Fig 3.2.5 :Vout=f(VpH) pour T=10°C, T=30°C et T=50°C
25
S=50.56mV/PH
V_Vph
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-6.8V
-6.6V
-6.4V
-6.2V
-6.0V
pH=14
pH=10
pH=7
pH=4
pH=0
V_Vph
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-6.8V
-6.4V
-6.0VT=50°C
T=30°C
T=10°C
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Le Vout dimminue par 5.4 mV quand la température augmente de 20°C
Effet de température liée au capteur ISFET :Fig 3.2.6 :Vout=f(VpH) T=283K, T=293Ket T=303K
Le Vout dimminue par 13.6 mV quand la température augmente de 10K
26
V_Vph
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-6.8V
-6.4V
-6.0VT= 283
T= 293
T= 303K
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
III. Circuit de mesure n°3 :
1. Etude en régime linéaire : - R= 20KΩ
- I1=1.48mA
- Vcc = 15V
Fig 3.3.1 :Vout=f(VpH)
Sensibilité :- VpH=39.640mV → Vout = 2.5988V- VpH= -500mV →Vout = 2.1829V
→ ∆Vout/∆VpH= (2.5988-2.1829)/((39.640+500)e-3)= 0.77
S=∆Vout/∆PH=-0.0506*0.77=0.03899
Linéarité :
Mauvaise linéarité pour VpH≤ -400mV , c.à.d pour pH ≥ 9.5
27
V_Vph
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(M2:g)
2.0V
2.2V
2.4V
2.6V
2.8V
PH=14
PH=10
PH=7
PH=4
PH=0
S=38.99mV/PH
N -I S F E T
I 1
0
V p h
-E r+ (2 . 3 * U t * 0 . 8 8 * (7 . 5 -p H ))
0
+3
-2
V +7
V -4
O U T6
M O S F E T
R R
V o u t
A
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Effet de température :Effet de température liée au mosfet:
Fig 3.3.2:Vout=f(VpH) pour T=10°C, T=20°C et T=30°C
Lorsque la température augmente de 10°C : - Vout diminue de 54.3mV pour pH<7- Vout diminue de 43.2mV pour pH=7- Vout diminue de 53.2mV pour pH>7
Effet de température lié au capteur ISFET :
Fig 3.3.3 :Vout=f(VpH) T=283K, T=293Ket T=303K
Vout diminue par 14.67mV,lorsque la température augmente par 10K
2. Etude en régime saturé :
28
V_Vph
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(M2:g)
2.0V
2.2V
2.4V
2.6V
2.8V
T=30°C
T=20°C
T=10°C
V_Vph
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-500mV
0V
500mV
T=303K
T=293K
T=283K
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
- R= 8.5KΩ- I1=2.28mA- Vcc = 15V
Fig 3. 3.4 :Vout=f(VpH)
Sensibilité : S =|∆Vout/∆pH| :
Pour VpH= 100mV → Vout = 599.906mVPour VpH= -500mV →Vout = 99.908mV
→∆Vout/∆VpH= (599.906-99.908)/(100-500)= 0.99 → S= 0.99*50.6 e-3=50.09 e-3V/pH = 50.09 mV/pH
Linéarité : Bonne linéarité Effet de température :
Effet de température lié au mosfet:
Fig 3.3.5 :Vout=f(VpH) pour T=10°C, T=30°C et T=50°C
Dans ce cas la température n’a aucun effet sur la caractéristiqu Vout = f(VpH)
29
V_Vph1
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-400mV
0V
400mV
800mV
PH=14
PH=10
PH=7
PH=4
PH=0
S=50.09mV/PH
V_Vph1
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-400mV
0V
400mV
800mV
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Effet de température lié au capteur ISFET :
Fig 3.3.6 :Vout=f(VpH) T=283K, T=293Ket T=303K
Vout diminue par 14mV,lorsque la température augmente par 10K
30
V_Vph1
-600mV -500mV -400mV -300mV -200mV -100mV 0mV 100mV 200mVV(OUT)
-400mV
-200mV
0V
200mV
400mV
303K
293K
283K
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
On remarque que le circuit n°1 donne les meilleur résultas, puisqu’il a presque la meme sensibilité pour les deux régimes (linéaire et saturé) et moins sensible à l’effet du tempéraure par rapport aux autres circuits.
31
Solution pH
Capteur ISFET
Circuit de mesure
CAN
LCD
Carte SPARTAN3E
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Après avoir fait l’étude des différents circuits de mesure, on passe à la deuxiéme partie concernant la conversion analogique numérique de la tension Vout issue de circuit de mesure et son affichage sur l’ écran LCD de la carte SPARAN3E .
32
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
33
Partie II :
Conversion analogiques numériques des valeurs de tensions référence pH et
affichage sur l’écran LCD de la carte SPARTAN3E
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Chapitre I :
Présentation de la Carte FPGA SPARTAN3E
34
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
I. Introduction : Les FPGA (Field Programmable Gate Array) regroupent les FPGA , les
CPLD, EPLD, PLA, PAL ou tout les circuits numériques dont l’architecture
interne peur être configurée par l’utilisateur . Xilinx et Altera occupent les
premières places en terme de parts de marchés. De plus, les architectures
des FPGAs de chez Xilinx et Altera sont fondamentalement différentes.
Dans notre projet on a travaillé sur une carte FPGA chez XILINX
« SPARTAN 3E» qui a une architecture de type îlots de calcul, Dans ce
cas, le FPGA est constitué d’une matrice plane d’éléments. Ces éléments
constituent les ressources logiques et de routages programmables du
FPGA. Cette carte est ciblé pour des applications à forte valeur ajouté :
Réseaux et télécommunications (routage de dorsale).
Vidéo-numérique (effets visuels, encodage, ...).
Traitement numérique du signal.
Emulation d'ASIC.
Modulation / Démodulation implémentée de manière logicielle
(Software Defined Radio).
Figure 1 : carte FPGA SPARTAN3E
35
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
II. Composant de la carte SPARTAN3E : La carte SPARTAN3E deXlinx est spécialement conçu pour
répondre à des applications de hautes performances. Elles est doté de
plusieurs composants qui ont un large domaine d’application. Les
composants principaux de cette carte sont :
Le FPGA XC3S500E
Les circuits FPGA sont constitués d’une matrice de blocs logiques
programmables entourés de blocs d’entrées sorties programmables.
L’ensemble est relié par un réseau d’interconnexion
programmable.Chaque composant de la carte dispose de ports sur l’ FPGA.
Cette carte dispose de 232 entrés/sorties utilisateurs, 320 FPGA pins et
plus de 10000 cellules logiques.
Alimentation
La carte doit être alimentée par une tension continue. Des
régulateurs fournissent les tensions nécessaires pour le fonctionnement
du FPGA (3.3 Volts) et pour les entrées sorties (Input/Output).
Les horloges
Des signaux d’horloges sont disponibles sur la carte :
Un oscillateur 50 Mhz qui est utilisé presque par tous les tests
s’effectuant sur la carte.
Il y’a aussi une entrée d’horloge externe (SMA Clock). Le FPGA peut
aussi fournir un signal d’horloge à l’extérieur via le connecteur SMA
à travers ce port ou bien même on peut faire fonctionner le FPGA
avec une autre fréquence issue de l’extérieur.
Interface USB
Cette interface va nous servir pour la programmation du FPGA avec
l’utilitaire iMPACT du logiciel ISE.
Intel Flash Memory
L’Intel Flash Memory permet de stocker le programme de
configuration du FPGA (si la programmation se fait de type PROM). La
programmation de cette mémoire peut s’effectuer soit sur le port USB ou
bien même sur le port RS232 via l’hyper terminal de communication sous
36
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Windows. La procédure consiste à charger l’image de programmation dans
le Flash Memory et de le transférer ensuite au FPGA.
Interfaces analogiques
CAN/CNA : La carte dispose aussi des interfaces analogiques qui
sont essentiellement des convertisseurs analogique numérique et
numérique analogique Cette interface est donc intéressante pour le
traitement du son ou de la parole. On pourra donc faire entrer des signaux
analogiques et faire des traitements nécessaires pour adapter nos signaux
à notre carte et les envoyer aussi à l’extérieur.
Ecran LCD
La carte de développement Spartan 3e starter kit dispose d’un
afficheur LCD, deux lignes de 16 caractères Cet afficheur sert à afficher
des différents informations en utilisant le code ASCII. Cependant
l’affichage des informations est lent et peu precis c’est pour cela on fait
appel au controlleur picoblaze qui permet de gérer le timming de
l’affichage et de contrôler la communication avec le LCD.
Les LED, Switches et boutons poussoirs
Les LED (Light Emitting Diode) permettent donc de faire des tests
de bases comme par exemple réaliser des portes logiques (OU, ET,…) ou
bien de tester des fonctions logiques combinatoires. On l’utilise aussi pour
tester des compteurs. En général, les LED ne sont pas utilisés touts seuls,
on les combine avec les Switches ou bien les boutons poussoirs
disponibles sur la carte. On les utilise pour tester des programmes de
registres.
37
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Chapitre II :
Principe du logiciel de synthèse ISE 8.1 de xilinx
38
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
I. Créez un nouveau projet :File / New Project
Nommez le projet et enregistrez le dans le répertoire.
Laissez Top-Level source type en HDL et Cliquez sur Next.
La source est le fichier VHDL que va compiler le programme ISE pour créer
le circuit
électronique sur le FPGA de la carte Spartan3. Nous utilisons le langage
VHDL mais
d'autres langages peuvent être utilisés comme Verilog. Nous travaillerons
à partir de
fichiers écrits en VHDL donc le type est HDL.
II. Remplissez les catégories suivantes : Pour une carte Spartan 3E :
Product Category: All
Family: Spartan3EDevice: XC3S500EPackage: FG320Speed Grade: -4Top-Level Module Type: HDLSynthesis Tool: XST (VHDL/Verilog)
Vérifiez que Enable Enhanced Design Summary est coché.
Laissez les valeurs par défaut dans les champs restant.
Cliquez sur Next
Figure 3 : propriétés de la carte Spartan3E utilisée
39
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
III. Créez une source VHDL : Dans la fenêtre Project cliquez sur New Source
Sélectionnez le type de source : VHDL module
Entrez le nom du fichier <nom>
Vérifiez que Add to project est bien coché
Cliquez sur Next.
Figure 4 : Création d’un fichier source VHDL
IV. Définissez les entrées et les sorties du programme : Après le nom de l’entity, vous pouvez choisir le nom de
l’architecture (par défaut c’est behavioural). Cliquez sur Next
Si vous devez utilisez des vecteurs de plusieurs bits, vous devrez
cocher bus puis, pour un vecteur de 8 bits par exemple, indiquer 7
dans MSB et 0 dans LSB.
Un résumé s'affiche. Cliquez sur Finish.
La partie création d'une source est terminée. Cliquez sur Next.
Figure 5 : définition des entrées et sorties
40
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
V. Add existing source :
Vous avez la possibilité d'ajoutez des sources VHDL déjà existantes.
Cliquez sur Add Source
Sélectionnez le fichier VHDL à ajouter, Vérifiez que Copy to project
est bien coché
Cliquez sur Next
Un résumé du projet s'affiche. Cliquez sur Finish.
Une fenêtre vous demande de vérifier le statut du fichier synchro
que vous ajoutez au projet.
Sélectionnez Synthesis/Imp + Simulation.
Cliquez sur OK
VI. Ecrire le programme en VHDL
Vous pouvez maintenant compléter le fichier VHDL.
VII. Compilation et implémentation du projet
Pour vérifier s'il n'y a pas d'erreurs dans votre projet, vous pouvez le
compiler une première fois.
Dans la fenêtre de gauche du navigateur, sélectionnez Sources
for :
Synthesis / Implementation (dans un menu déroulant) et sélectionnez
<nom> dans la hiérarchie.
Dans la fenêtre en bas à gauche Processes double cliquez sur
Synthesize-XST
Corrigez éventuellement les erreurs et recommencez.
VIII. Assignement des pins :
Il vous faut maintenant définir les entrées/sorties du FPGA à utiliser.
Comme le
41
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
FPGA est intégré sur une carte comportant des afficheurs, des boutons
poussoirs, une horloge, un port VGA, etc... la documentation de la carte
fournit le nom des pins du FPGA reliées à ces entrées et sorties.
Par exemple pour une carte Spartan3E :
clk : "C9"; clk : "T9";
allez dans la fenêtre en bas à gauche Processes double cliquez sur
Users
Constraints / Assign Package Pins.
Une fenêtre Xilinx Pace s'ouvre.
A gauche dans Design Object List I/O pins entrez le nom des pins
pour
toutes les entrées et sorties dans la fenêtre Loc.
Enregistrez. Dans Bus delimiter sélectionnez XST Default.
Fermez la fenêtre Pace.
Figure 6 contenant les pins utilisés en projet CAN sur LCD avec picoblaze
Compiler à nouveau le projet comme dans l’étape 8. Puis effectuez
la synthèse et le placement-routage en double-cliquant sur
Implement Design.
42
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
IX. Pour programmer le FPGA de la carte :
Dans la fenêtre en bas à gauche Processes , déroulez le + de
Generate
Programming File et double cliquez sur Configure Device (Impact), La
fenêtre du programme Impact s'ouvre. Suivant les cas, vous aurez des
messages de Warning et des fenêtres de dialogues qui peuvent s'ouvrir
dans un ordre différent. Voici les différents cas et ce qu'il faut répondre :
A l'ouverture d'Impact, si une fenêtre s'ouvre, vérifiez que Configure
devices
using Boundary-scan chain et Automatically connect to a cable
and
identify boundary scan chain est bien coché puis cliquez sur Finish.
Si un message de Warning s'affiche cliquez sur OK
Si une fenêtre Assign new configuration File s'ouvre , choisissez
<nom>.bit
Un Warning s'affiche répondez OK. Faites Cancel si la fenêtre s'ouvre à
nouveau.
La fenêtre doit présenter trois carrés avec le logo Xilinx et le premier doit
être
<nom>.bit.
43
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Figure 7 : Ouverture du logiciel Impact de programmation
Faites un clic droit sur <nom>.bit et choisissez Program.
S'il y a un problème de connection avec le câble de programmation,
Sélectionnez
Output / Cable Setup et vérifiez que dans Communication mode Platform
Cable USB est bien coché et que dans Port Usb1 est indiqué. Cliquez sur
OK.
44
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Chapitre III :
Modélisation d’un CAN et affichage de résultat sur écran
LCd
I. Introduction : Le but de cette partie de projet est de réaliser un programme VHDL
permettant d’afficher la conversion des valeurs des tensions références
de pH sur l’écran LCD de la carte FPGA.
Dans un premier temps on a implanté un design en utilisant l’outil
ISE8.1 de XILINX, ce design contient :
La modélisation du convertisseur analogique numérique de la carte.
45
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
La modélisation de l’afficheur LCD dans la carte.
Un programme utilisant la notion component qui permet d’afficher
les valeurs convertis par le CAN dans le LCD.
Figure 8
Les différents tests sur ce programme on été effectué sans erreurs.
Figure 9
Cependant lors de l’implantation sur la FPGA on remarque qu’il n’y a
pas de communication entre le LCD et le convertisseur, même si le
programme a été implanté avec succès...
II. Le microcontrolleur picoblaze :a. Définition :
Le microprocesseur embarqué dans le FPGA (Spartan 3E) est de la
famille des Picoblaze (série III), c’est un microprocesseur développé,
optimisé et fourni gratuitement par la société Xilinx. Le Picoblaze est un
processeur 8 bits disposant d’un jeu d’instructions limité. Il gère le
46
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
protocole de communication avec le contrôleur de l’écran LCD et cela en
phase avec les demandes d’affichage que nous allons lui adresser
b. L’architecture interne du Picoblaze :
Signal Direction description
IN_PORT INPUT Port d’entrée des données. Les données sont capturées durant le front montant de l’horloge
INTERRUPT INPUT Entrée d’interruption généré en laissant cette entrée dans l’état haut pendant deux cycle d’horloge
RESET INPUT Remise à zero, suivant la configuration de la FPGA, elle est générée en laissant cette entrée dans l’état haut pendant un cycle d’horloge au minimum
CLK INPUT L’horloge ; caractérisée par sa fréquence (50Mhz pour SPARTAN 3E )tout les éléments de Picoblaze sont
47
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
synchronisés suivant le front montant de l’horloge.
OUT_PORT[7:0] OUTPUT Port de sorties de données.les données apparaissent sur ce port durant deux cycles d’horloge lors une instruction de sortie
PORT_ID[7:0] OUTPUT Port des adresses : les I/O port d’adresse aparaissent durant deux cycles d’horloges .
READ_STROBE OUTPUT Read strobe : lors du front montant, ce signal indique que les données d’entrée sur IN_PORT[7:0] sont capturés dans le registre spécifié.Ce signal est généré pendant le 2eme cycle d’horloge du deuxième cycle de Input instruction, ce signal est généralement utilisé pour la lecture
WRITE_STROBE OUTPUT Write strobe : lors du front montant, ce signal indique que les données de sorties sont présentes sur OUT_PORT[7:0]Ce signal est généré pendant le 2eme cycle d’horloge du deuxième cycle de output instruction, ce signal est généralement utilisé pour l’écriture.
INTERRUPT_ACK OUTPUT Interrupt Acknowledge: il indique un événement d’interruption.Ce signal est généré pendant le 2eme cycle d’horloge du deuxième cycle de interrupt instruction .
c. Pourquoi utiliser le Pircoblaze :
Les microcontrôleurs et les FPGA permettent de réaliser n’importe
quelle fonction numérique et logique. Les FPGA ont l’avantage d’avoir des
microcontrôleurs intégrés qui permettent d’augmenter la performance,
minimiser le cout tout en garantissant une simplicité d’usage.
La gestion du protocole permettant d’afficher des informations sur l’écran
LCD est complexe, mettant en oeuvre des temporisations spécifiques pour
le transfert des données. Dans notre projet le picoblaze sert à gérer les
communications avec l’afficheur LCD, car ce dernier ne peut pas gérer
48
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
toutes les données fournies par le convertisseur analogique numérique
d’où la nécessité de passer par le microcontrôleur incorporé dans la FPGA
Afin d’utiliser le picoblaze il faut intégrer le programme associé comme
composant dans notre application, ce programme est délivré gratuitement
par le constructeur XILINX (voir partie programme et tests).
III. La conversion analogique numérique : a. Définition :
La carte FPGA de SPARTAN 3E comporte deux convertisseurs
analogiques, le processus conversion est basé sur un préamplificateur
comportant deux amplificateurs inverseurs et deux convertisseurs
analogiques numériques les entrées analogiques sont placés dans l’entête
J7 (voir figure 10).
Figure 10
La chaine de conversion analogique utilise une technologie linéaire
LTC6912-1 un préamplificateur programmable qui reçoit le signal
d’entrée, la sortie de ce préamplificateur est connecté au CAN
(technologie linéaire LTC1407A-1), ces deux composants sont programmés
et contrôlé par le FPGA(figure 11)
49
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
figure : 11
b. Préamplificateur :
Le préamplificateur contient deux amplificateurs inverseurs, les
signaux sont amplifiées proportionnellement à une tension référence
v=1.65V. le gain de chaque amplificateur est programmé de -1 à -100
qui permet d’implanter un signal d’entrée dans le CAN au minimum
égale à ±12.5mV.
L’interface de control de préamplificateur: L’interface de
communication avec
l’amplificateur est base sur l’envoi d’un mot de commande de 8bits,
découpé en deux séquences de 4bits, le MSB est le B3, en agissant
sur ce mot de 8 bits ; on contrôle le gain.
50
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Figure 12
Le AMP_DOUT: output permet d’évoquer le gain précédent de
l’amplificateur
Le SPI_MOSI c’est l’output du maitre FPGA, et l’input de l’esclave
amplificateur, il présente les 8 bits programmable du gain
AMP_CS : le gain de l’amplificateur est activé quand le signal
AMP_CS est à l’état haut
SPI_SCK : l’horloge
La plage de variation de la tension d’entrée en fonction du
gain :
51
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
c. Le convertisseur analogique numérique:
o Processus de conversion :
Le LTC1407A-1 fournit deux CAN. Les deux entrées analogiques sont
prélevés simultanément quand le signal AD_CONV est appliqué. Le résultat
de la conversion ne sera présent jusqu’à ce que le prochain AD_CONV est
appliqué, la fréquence maximum de prélévement est de 1.5 Mhz et la
tension de sortie est présenté en un mot de 14 bits sur chacun des
convertisseurs (figure 13)
Figure 13
o Caractéristiques de convertisseur :
La plage de conversion varie entre ±1.25v relativement à la tension
référence v=1.65v, cette tension correspond au code (000016) à la
sortie de convertisseur.
une variation maximal de la tension d’entrée varie entre 0.4V et
2.9V(quand le gain est égale à -1), donc ce convertisseur a une
résolution de
( 2.9-0.4/ 214 ) =0.152 mv
52
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Ce convertisseur peut convertir donc 2*214 (2*8192)=16384 valeurs.
Remarque :
En pratique il existe une légère variation entre la tension d’entrée et la
sortie codée cela est du à la tension de référence et au bruit du système
o Expression de la sortie numérique :
Sortie numérique= vin−1.651.25
∗8192
53
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
1. L’afficheur LCD :
Le LCD de la carte SPARTAN3E permet d’afficher des données
significatives prélevées des circuits électroniques. L’utilisation du LCD est
simple pour les petits projets malheureusement pour les projets les plus
complexes l’utilisation des protocoles de communication entre la FPGA et
l’afficheur devient indispensable (utilisation du microcontrôleur). le LCD
peut supporter jusqu’à 8 bits d’interface de données, cependant La FPGA
contrôle le LCD via une interface de 4 bits de données.
Figure 14
54
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
o Les signaux d’interface de LCD :
Ces signaux permettent le contrôle du LCD par le FPGA
Signal Fonction
SF_D<8> Data bit DB7est partagé avec
startanflash(mémoire de
128Mbit)
SF_D<9> Data bit DB6 est partagé avec
startanflash
SF_D<10> Data bit DB5 est partagé avec
startanflash
SF_D<11> Data bit DB4 est partagé avec
startanflash
LCD_E Read/Write commande
0: Désactivé
1: Read/Write operation activé
LCD_RS Selection de registre
0: mémoire occupée lors de
lecture
1: donnée pour l’opération de
lecture et de l’écriture
LCD_RW Control de lecture et de
l’écriture
0: Ecriture,le LCD accepte les
datas
1: lecture , le LCD presente les
datas
SF_CE0 Permet d’activer la PROM startaflashSF_CE0=0 la FPGA lit le caractere dans le LCDSF_CE0=1 la FPGA accès a la startaflash prom
55
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
o Affichage des caractères :
La ROM contient des caractères en code ASCII, en langue anglaise et
chinoise. Chaque caractère à un code unique sur 8 bits(voir schéma ci-
dessous)
56
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
57
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Chapitre IV :
Modélisation du CAN et affichage des résultats sur
Ecran LCD avec utilisation du PicoBlaze
I. Description générale :
58
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
le picoblaze contrôle les deux chaines programmables
de l’amplificateur LTC6912-1 et du convertisseur
analogique numérique LTC1407A-1
Ce programme fonctionne avec une horloge de 50 Mhz.
Les mesures sont prélevées de l’entrée VINA et
amplifiés puis affichés sur écran LCD
Les boutons poussoirs sont utilisés pour contrôler le
gain de l’amplificateur
Figure 14: schéma synoptique résumant la structure du design
II. Les composants du programme : Le programme principal de notre projet contient trois fichiers
sources (.VHD) et un fichier de contrainte (.UCF).
59
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
a. Le fichier source picoblaze_amp_adc_ctrl :
Cette partie englobe tous les composants du projet dans une seule
architecture en utilisant la notion (componenent)
Les entrées sorties de l’architecture globale sont les I/O du
convertisseur et de l’amplificateur et du LCD. (voir annexeA
Blackbox de l’architecture)
L’architecture contient deux composants KSCMP3
(modélisation du pircoblaze .VHD) et adc_ctrl (modélisation de
la ROM .VHD).
60
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
L’architecture contient des différents signaux permettant de
connecter les composants utilisés.
- Signaux utilisés pour connecter le picoblaze avec la ROM et
les I/O :
- Signaux utilisés pour la gestion des interruptions :
- Les signaux pour les opérations du LCD :
b. Le code source KSCPM3 et adc_ctrl:
Le code KSCPM3 décrit l’architecture générale du Picoblaze, il
contient une description des différents éléments du microprocesseur :
les registres, l’ALU, les interruptions, la mémoire interne…(voir exemple
simulation annexe D)
Le code adc_ctrl contient le code assembleur du microprocesseur
convertit on VHDL à l’aide du logiciel IDE (cette partie n’est pas traitée
dans notre projet)
Ces codes sont fournit par le constructeur Xilinx et téléchargeable
gratuitement sur www.xilinx.com/picoblaze.
61
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
c. Le fichier de contrainte (picoblaze_amp_adc_ctrl.UCF) :
On définit dans ce fichier les contraintes d’utilisation :
- Contraintes temporelles :
Dans notre projet l’horloge a été fixé à 20ns (fréquence de fonctionnement
50Mhz).
62
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
- L’assign package pins :
Dans cette étapes il faut assigner des pattes spécifiques du FPGA à des
ports d’entrée sorties du design, pour notre projet on a 42 entrées sorties,
l’architecture du FPGA définit une patte spécifique à chacune de ses I/O.
Tests du programme :
63
Les pins des I/O sont les emplacements en bleu.(voir annexe les pins de chaque I/O).
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Après synthétisation, implémentation et génération du bitstream on
implémente le programme sur la FPGA via une connexion USB afin de
procéder au test.
de procéder au test.
Chapitre V :
Résultats du test 64
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Les photos ci-dessous ont été capturé de l’ecran LCD on connectant sur
l entrée VINA une tension de teste v=1.8v présente sur le point de test
J7.
Message d’accueil montrant que le code s’est implémenté sur la
carte
Pour VIN=0 (aucune tension a convertir) VA=1.65 correspond à la
tension de référence du CAN et la sortie est évidement nulle.
65
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
La tension sur le point J7 est 1.8v supérieur à la tension de référence 1.65v.
La sortie A/D=(1.8-1.65)*-1=-0,15 (pour un gain=-1)
La tension de sortie varie en
fonction du gain
66
Gain=-2 A/D output = 0.15v × -2 = -0.30v
Gain=-5 A/D output = 0.15v × -5 = -0.75v
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
67
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Conclusion
Au cours de ce travail, on a eu l’occasion de découvrir le capteur chimique ISFET. Dans un premier temps, on a fait l’étude des différents circuits de mesures du capteur et une comparaison entre les performances des circuits étudiés (linéarité, bruit, température, sensibilité…) cela on utilisant le logiciel ORCAD. Puis, on est passé la réalisation d’un programme VHDL (en utilisant le logiciel ISE8.1 de XILINX) permettant la conversion analogique numérique des valeurs des tensions relatives au pH issues des circuits de mesure et leurs affichages sur l’écran LCD de la carte FPGA SPARTAN3E
Pour conclure Ce projet nous a permis d’approfondir nos connaissances en ORCAD et développer notre sens d’analyse des circuits électroniques ; ce projet a été aussi l’occasion de découvrir un nouvel outil : ISE8.1 Xilinx ; et de se familiariser avec la carte FPGA SPARTAN3E.
Vu que qu'il y a eu des moments difficiles où on avançait plus, ce projet a été une expérience très enrichissante, il nous a permis d’apprendre à gérer les situations délicates et aussi de donner le maximum de nos capacité afin de réaliser le travail demandé dans un temps limité.
68
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
Annexe A : BlackBox de l’architecture avec les différents
entrées/sorties
69
ANNEXES
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
70
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
ANNEXE B: Les Pins de chaque I/O
71
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
ANNEXE C : L’image et les statistiques montrent que le design
occupe 129 tranches et 1 Bram, seulement 2% de tranche FPGA
et 5% de la ram ont été utilisée
Number of occupied Slices: 129 out of 4,656 2%
Number of Block RAMs: 1 out of 20 5%
Total equivalent gate count for design: 76,248
72
Projet de Fin d’Année : ISFET Année universitaire : 2008/2009
ANNEXE D: Exemple de simulation de KSCMP3
73