Download - Polla Gia Ulika6
-
7/25/2019 Polla Gia Ulika6
1/112
: 5685
:
:
, 2009
-
7/25/2019 Polla Gia Ulika6
2/112
: 5685
.../../
-
7/25/2019 Polla Gia Ulika6
3/112
:
:
:
:
-
7/25/2019 Polla Gia Ulika6
4/112
,
.
, ,
,
. ,
,
.
, (660 nm)
(940 nm),
,
, Beer-
Lambert
. ,
chip
MSP430.
ABSTRACT
Over recent years, non-invasive methods of diagnosis and treatment
are gaining ground against the traditional invasive methods. In this
thesis, an integrated review of the transfer of optical radiation into
human skin and primarily light absorption through human skin is
presented, aiming at measuring biological information, such as
concentrations of certain substances in the human body, whose
calculation can lead to useful diagnostic conclusions. The method of
Pulse Oximetry, which is widely used for monitoring arterial oxygen
saturation and heart rate of a patient, is also presented. By measuring
the absorption of light at two different wavelengths, one red (660 nm)
and one near-infrared (940 nm), and isolating its AC component, which
is a result of the variations in the volume of arterial blood, we can
calculate the oxygen saturation using the Beer-Lambert law, by
estimating the concentrations of oxyhemoglobin and reduced
hemoglobin. Moreover, the implementation of a single chip portable
pulse oximeter using the ultra low power capability of the MSP430 is
demonstrated.
-
7/25/2019 Polla Gia Ulika6
5/112
. ,
, ,
,
.
,
UCL, ,
.
,
, ,
-
7/25/2019 Polla Gia Ulika6
6/112
1
1.1 ................................................................................................................ 1
1.2 ..................................................... 2
1.2.1 ........................................................................................ 2
1.2.2 .............................................................................................. 3
1.2.3 ........................................................................................... 4
1.2.4 ............................................................................ 5
1.2.5 .................................................................................................... 5
1.3 .................................................... 5
2
2.1 ................................................................................................................ 72.2 ......................................................................................... 7
2.3 ............................................................... 10
2.3.1 Maxwell .............................................................................................. 10
2.3.2 ........................................................................................................ 11
2.3.2.1 ............................................................................. 12
2.3.2.2
& Beer-Lambert ........................................................ 15
2.3.2.3 ...................................................................................................... 17
3 3.1 .............................................................................................................. 19
3.2
.................................................................. 19
3.2.1 .................................................... 20
3.2.2 .................................................................................... 21
3.3 .............................................................................. 23
3.3.1
............................................................................................... 23
3.3.2 ... 24
3.3.2.1 ........................................................................... 24
3.3.2.2 ............................................................................... 27
3.3.2.3 ...................................................................................... 28
3.3.3
.............................................. 31
3.3.3.1 .................................................................................................... 31
3.3.3.2
.................................................................................. 323.3.3.3 .......................................................................... 34
3.3.3.3.1 RTE ....................................................... 34
3.3.3.3.2 Kubelka & Munk .............................................................. 37
3.3.3.3.3 .................................................................... 40
3.3.3.4 ................................................................................. 40
3.3.3.4.1 Monte Carlo ......................................................................................... 41
3.3.3.4.2 Random Walk ...................................................................................... 42
3.3.3.4.3 Adding-Doubling .................................................................................. 43
-
7/25/2019 Polla Gia Ulika6
7/112
4 4.1 .............................................................................................................. 45
4.2 ............................................................................................... 46
4.3 ................................... 48
4.3.1 ..................................................................................................... 48
4.3.2
..................................................................................... 49
4.3.3
........................................................ 50
4.3.4 O .......... 54
4.3.5 ................................................ 56
4.3.5.1 ......................................................................................... 56
4.3.5.2
........................................................................... 58
4.4 ................................................. 59
4.4.1 Probe .................................... 60
4.4.2 Block ................................................................................................ 62
4.4.3 Chip X MSP430............................................................................................ 62
4.4.3.1 ................................................................................................... 63
4.4.3.2 ............................................................................ 63
4.4.3.3 ........................................................................... 64
4.4.3.4 LEDs ............................................................ 65
4.4.3.5 PIN ..... 66
4.4.3.6 Hardware ................................................................. 67
4.4.3.7 AC ....................................... 68
4.4.3.8 DC ................................................... 69
4.4.3.9 ....... 69
4.4.3.10 .......................................................................................... 71
5 12- (ADC12)5.1 .............................................................................................................. 72
5.2 ADC12 .......................................................................................... 73
5.2.1 ADC12...................................................................................... 74
5.2.2 ........................................................................ 74
5.2.3 ADC12 .............................. 74
5.2.4 ............................................................................... 75
5.2.5 .............................................................................. 75
5.2.6 Power-Down..................................................................................... 76
5.2.7 .................................................. 76
5.2.8 ......................................................................................... 78
5.2.9 .......................................................................................... 78
5.2.10 ADC12 ......................................................................................... 84
5.2.11 ADC12 .................................................................................. 85
5.3 ADC12........................................................... 93
-
7/25/2019 Polla Gia Ulika6
8/112
1
1
1.1
2 m2, 4 kg
2 mm[1]
.
,
, 75
150 m
600 m,
.
( 1.1).
1.1:
-
7/25/2019 Polla Gia Ulika6
9/112
2
-
- [2]
.
1.2
1.2.1
,
:
1.
2.
3.
4.
,
.
.
28 .
,
.
.
, .
.
, ,
(), .
,
, .
, ,
,
-
7/25/2019 Polla Gia Ulika6
10/112
3
[2]
.
1.2.2
:
()
Langerhans
Merkel
.
. ,
, .
.
1:5.
. (
1.2:
-
7/25/2019 Polla Gia Ulika6
11/112
-
7/25/2019 Polla Gia Ulika6
12/112
5
1.2.4
(, ) 2
, ,
(
)
.
,
(, -, )[1,2]
.
1.2.5
. ,
, ,
,
.
.
,
[2]
.
1.3
, ,
, ,
,
.
.
, .
(Parrish 1983).
-
7/25/2019 Polla Gia Ulika6
13/112
6
D3
(Jimbow et al 1991). ,
,
(Sealy et al 1984).
UV , DNA
(Tadokoro et al 2003).
.
(1-10 )
, ,
(Strnad et al 2003).
[3]
.
-
7/25/2019 Polla Gia Ulika6
14/112
7
2
2.1
.
,
.
2.2
,
( 2.1).
. ,
. ,
. :
: ()
( ).
lumens ( ).
: ()
.
.
:
.
Hertz. .
-
7/25/2019 Polla Gia Ulika6
15/112
-
7/25/2019 Polla Gia Ulika6
16/112
9
2.2:
-
7/25/2019 Polla Gia Ulika6
17/112
10
,
. ,
.
h Planck :
/E hv hc (2.2)
h Planck h=6.63*10-34
Jsec
(, , )
,
( ,
) .
2.3
2.3.1 Maxwell
Maxwell:
D ( Gauss) (2.3)
0B (2.4)
BE
t
( Faraday) (2.5)
DH J
t
( Ampere-Maxwell) (2.6)
,
0D E P (2.7)
0
1H B M
(2.8)
-
7/25/2019 Polla Gia Ulika6
18/112
11
( )
(2.9) Schrdinger(2.10).
2 2
2
02 2 21 ( )cE PE Et t t
(2.9)
( )
( , )( , ) ( , )
2
h r tH r t r t i
t
(2.10)
H -
[6]
.
2.3.2
,
. ,
( 2.3):
Frensel. , laser,
.
, .
.
.
(, )
. ,
[7],[8]
.
-
7/25/2019 Polla Gia Ulika6
19/112
12
2.3 ,
2.3.2.1
, ,
.,
.
2.4 :
' (2.11)
. ,
, . Maxwell
, Frensel,
. ,
,
.
(
) ,
180. , ,
-
7/25/2019 Polla Gia Ulika6
20/112
13
.
.
,
.
.
, . 2.11
. ,
.
[7],[8]
.
.
. 5-10 %
.
2.4
.
.
Shell:
sinsin '' '
(2.12)
-
7/25/2019 Polla Gia Ulika6
21/112
-
7/25/2019 Polla Gia Ulika6
22/112
15
,
.
,
. .
:
2
's
s
s
ER
E
(2.19)
2
'p
p
p
ER
E
(2.20)
2.3.2.2& Beer-Lambert
,
.
.
.
,
/ .
,
. ,
.
,
.
,
.
. ,
.
-
7/25/2019 Polla Gia Ulika6
23/112
-
7/25/2019 Polla Gia Ulika6
24/112
17
.
,
.
280nm.
(HbO2).
.
. .
280 nm, 420 nm, 540 nm
580nm 600nm.
,
600 nm 1200 nm.
. ,
[7],[8]
.
2.3.2.3
.
2.6
.
, .
-
7/25/2019 Polla Gia Ulika6
25/112
18
.
.
:
.
.
.
. ( )
, ,
.
( ).
.
,
in vivo.
.
2.7
-
7/25/2019 Polla Gia Ulika6
26/112
-
7/25/2019 Polla Gia Ulika6
27/112
-
7/25/2019 Polla Gia Ulika6
28/112
21
p (g/cm3) , c (J/grC),
(W/cm/k) QL (W/cm3)
.
:
2 2
2 2 2
1 1 1L
QT T T
r r r K D t
(3.2)
, D=k/pc (cm2/s) .
X, :
2
2
1L
QT T
X K D t
(3.3)
3.2.2
: laser,
,
( , )
. ,
laser.
: laser
-
. -,
, ,
.
, .
:
- : laser
1010
W.cm-2
, laser
. shock wave,
.
- : ,
laser
-
7/25/2019 Polla Gia Ulika6
29/112
22
, .
- ,
,
.
- : laser
,
,
,
laser .
3.2 (
) laser.
(
light fluence)
-
7/25/2019 Polla Gia Ulika6
30/112
23
3.3
3.3.1
3.3. ( )
,
(nD= 1.0)
(nD1 1.55). ,
4% 7%
250-3000 nm .
-
(reflectance of diffuse), (back scattered) ,
(remittance spectra) .
:
1.
2. ,
,
.
93-96%
3.3
-
7/25/2019 Polla Gia Ulika6
31/112
-
7/25/2019 Polla Gia Ulika6
32/112
25
dI Idx
(3.4)
dI I
dx ,
. (3.4) . ,
:
(3.5)
, ( )
( ) .
(3.4) x
(3.5) Beer-Lambert:
( ) x
oI x I e (3.6)
, I .
, 1/ ,
, . ,
, , .
:
10log ( )e
C
(3.7)
, C .
(cm-1
*M-1
).
2.
, s,
.
( ) sx
oI x I e (3.8)
, I ,
, x .
.
-
7/25/2019 Polla Gia Ulika6
33/112
26
,
, :
s s s
(3.9)
, s ( ) s
( ) .
, 1/s ,
, . ,
s*x ( ) .
3.
/ . *, 2000+:
1
s
(3.10)
1/e (37%)
. Lambert:
( )( ) s
x
oI x I e (3.11)
, I(x)=(1/e)*Io . , , (3.11)
(3.10),
.
4.
:
t s (3.12)
.
,
,
, .
.
-
7/25/2019 Polla Gia Ulika6
34/112
-
7/25/2019 Polla Gia Ulika6
35/112
-
7/25/2019 Polla Gia Ulika6
36/112
29
,
.
,
.
. ,, .
, ( , ' ) p s s ,
s , 's . ,
,
.
,
, , *Prahl, 1988+:
4
( , ') 1 p s s d
(3.19)
, d s .
(3.19)
,
.
, , ( , ') p s s d ,
s , 's . ,
.
,
*Prahl, 1988+:
( , ') ( , ') ( , ') [| | | ' | cos( )]
( , ') [cos( )]
p s s p s sp s s p s s
p s s p
(3.20)
, .
, Henyey-Greenstein
*Ishimaru, 1989+.
2
2 3/ 2(1 )( )( 2 cos )
gpa g g
(3.21)
-
7/25/2019 Polla Gia Ulika6
37/112
-
7/25/2019 Polla Gia Ulika6
38/112
31
4
1( , ') ( , ')
s
g p s s s s d
(3.25)
,
, g = 0 , g = 1,
. g = 1,
. ,
,
0.69 g 0.99 [Cheong, 1990].
, ,
(transport reduced scattering coefficient),s,
*Schmidt, 1999+.
' (1 )s s
g (3.26)
. ,
, 1/s , ,
.
,
,
-
7/25/2019 Polla Gia Ulika6
39/112
-
7/25/2019 Polla Gia Ulika6
40/112
-
7/25/2019 Polla Gia Ulika6
41/112
-
7/25/2019 Polla Gia Ulika6
42/112
-
7/25/2019 Polla Gia Ulika6
43/112
36
*Arridge, 1992; Patterson, 1989+. , TPSF
(Temporal Point Spread Function, [Hebden, 1995+) d =
50mm s = 1.0mm1
= 0.01mm1
,
3.5.
, ,
*Arridge, 1992+.
,
, , ,
, , .
, ,
.
(finite - difference method, FDM)
(partial differential equation, PDE).
. ,
( ) .
( )
. (
) , ,
3.5 TPSF () Green
().
-
7/25/2019 Polla Gia Ulika6
44/112
-
7/25/2019 Polla Gia Ulika6
45/112
-
7/25/2019 Polla Gia Ulika6
46/112
39
Kubelka Munk
.
[Cheong, 1990]:
1 1 ( )ln
R x yS
y d T
(3.39a)
( 1)K x S (3.39b)
,:
2 2
12
R TxR
(3.40)
2 1y x (3.41)
, R T , .
, ,
, , . ( )
.
*Mudgett, 1972+. ,
,
.
, Kubelka Munk
[Molenaar, 1999]:
1.
. , .
2. .
3. , ,
.
4. .
5.
.6. .
-
7/25/2019 Polla Gia Ulika6
47/112
-
7/25/2019 Polla Gia Ulika6
48/112
41
,
.
Monte Carlo ,
,
.
, .
.
Poisson,
(SNR)
.
,
,
s ( , ') p s s .
. d
:
( ) sP d e d
(3.44)
,
:
0
exp( ') ' 1 ss
d e r
(3.45)
, [0,...,1]r . ,
*Wilson, 1983; Hiraoka, 1993+:
1ln(1 )
s
r
(3.46)
, :
1ln( )
s
r
(3.47)
, ,
*Schmidt, 1999+:
12 r (3.48)
-
7/25/2019 Polla Gia Ulika6
49/112
42
20
( ') 'p d r
(3.49)
,1
r
2 [0,...,1]r .
, .
[0,...,1]w
*Hiraoka, 1993+:
' exp( )w w
(3.50)
, w
.
,
,
.
, w , . ,
survival weighting, , ,
, Monte Carlo
, .
3.3.3.4.2 Random Walk
Random Walk (RWT),
,
.
,
. ,
(constrained walks).
, RWT
.
Monte Carlo,
*Hebden, 1995+.
,
, . ,
-
7/25/2019 Polla Gia Ulika6
50/112
-
7/25/2019 Polla Gia Ulika6
51/112
-
7/25/2019 Polla Gia Ulika6
52/112
-
7/25/2019 Polla Gia Ulika6
53/112
-
7/25/2019 Polla Gia Ulika6
54/112
-
7/25/2019 Polla Gia Ulika6
55/112
-
7/25/2019 Polla Gia Ulika6
56/112
49
,
.
4 :
1. (Hb2)
2. (Hb)
3. (etHb)( )
4. (COHb) (
)
,
.
4.3.2
,
(
). , SaO2 SpO2,
:
4.1 .
-
7/25/2019 Polla Gia Ulika6
57/112
-
7/25/2019 Polla Gia Ulika6
58/112
-
7/25/2019 Polla Gia Ulika6
59/112
-
7/25/2019 Polla Gia Ulika6
60/112
53
2 2[ ( ) ( ) ]
10 Hb R Hb HbO R HbOC C d
R RinI I
(4.5a)
2 2[ ( ) ( ) ]
10 Hb IR Hb HbO IR HbOC C d
IR IRinI I
(4.5b)
, CHb CHbO2
.
:
10
10
log ( / )
log ( / )R Rin
IR IRin
I IR
I I (4.6)
:
22
2
2
2 2
( ) ( )
[ ( ) ( )] [ ( ) ( )]
HbO
HbO Hb
Hb IR Hb R
Hb IR HbO IR Hb R HbO R
CSaO
C C
RSaO
R
(4.7)
(Zijlstra et al., 1992).
[nm]
Hb
[L mmol
1
cm
1
]
Hb02
660 0.81 0.08
940 0.18 0.29
(4.7)
.
COHb MetHb
.
(Hb2 b), MetHb COHb
, .
.
.
.
-
7/25/2019 Polla Gia Ulika6
61/112
54
, Beer
4 : b2, Hb, COHb, MetHb.
,
, ,
.
4.3.4 O
(
)
.
,
. 4.5
.
,
.
.
,
(),
d .
,
,
(dc )
4.4 , ,
.
-
7/25/2019 Polla Gia Ulika6
62/112
-
7/25/2019 Polla Gia Ulika6
63/112
56
d .
dmin dmax. d
dmin + d Beer I
IHd 0
dmaxdmin .
2 2[ ( ) ( ) ] ( )
( ) 10 Hb Hb HbO HbOC C d t
HI t I
(4.10)
4.3.5
Beer
.
LEDs,
, .
, .
4.3.5.1
,
(LEDs)
. DC
,
. In
4.6 Beer
-
7/25/2019 Polla Gia Ulika6
64/112
57
( )
(,R IH,IR
). (4.10) :
2 2[ ( ) ( ) ] ( )( )( ) 10 Hb Hb HbO HbO
C C d t
n
H
I tI tI
(4.11)
.
,
4.7. AC
,
.
d
.
4.7 .
LED (R) LED (IR) DC
.
.
.
-
7/25/2019 Polla Gia Ulika6
65/112
58
4.3.5.2
.
H( (4.11))
AC
.
R
.
R (4.6) :
10 , ,
10 , ,
log ( / )
log ( / )
H R L R
H IR L IR
I IR
I I (4.12)
(4.11) :
2 2
2 2
[ ( ) ( ) ]
[ ( ) ( ) ]
Hb R Hb HbO R HbO R
Hb IR Hb HbO IR HbO IR
C C dR
C C d
(4.13)
dR dIR
,
(4.7)
:
22 2
( ) ( )
[ ( ) ( )] [ ( ) ( )]
Hb IR Hb R
Hb IR HbO IR Hb R HbO R
RSaO
R
, R (4.12).
.
-
7/25/2019 Polla Gia Ulika6
66/112
59
4.4
probe
,
. probe , .
LED
.
4.8
R.
.
4.9
-
7/25/2019 Polla Gia Ulika6
67/112
60
.
,
.
.
4.4.1 Probe
probe LEDs,
( )
. probe
.
, ,
.
660nm
940nm, .
600 nm
( 10 , 600 nm)
. ,
,
.
4.10
-
7/25/2019 Polla Gia Ulika6
68/112
61
.
.
,
.
.
( ),
( ). ,
, . DC
AC
.
.
,
. , ,
.
4.11
-
7/25/2019 Polla Gia Ulika6
69/112
62
4.4.2 Block
block
, Texas
Instruments .
4.4.3 Chip X MSP430
,
MSP430FG437.
probe
LCD.
,
, . probe
, ,
. probe LEDs
(660nm) (940nm).
,
.
4.12 Block Texas
Instruments
-
7/25/2019 Polla Gia Ulika6
70/112
63
4.4.3.1
.
,
.
.
,
chip
( Texas
Instruments) MSP430. ,
. , ,
.
4.4.3.2
,
(SaO2)
.
Sa2
:
22
[ ]
[ ]
HbOSaO
. -.
,
. ,
.
1
2
2
log( )' '
log( )
ac
ac
IR SaO R
I
1 2
.
AC DC. DC
, C .
-
7/25/2019 Polla Gia Ulika6
71/112
64
, SaO2 R ,
. ,
.
4.4.3.3
Block .
LEDs 500 . ,
PIN ,
.
1 0. O DC12 .
hardware ADC12 software
.
SaO2 LCD .
, RS232
.
.
4.13 Block
-
7/25/2019 Polla Gia Ulika6
72/112
-
7/25/2019 Polla Gia Ulika6
73/112
66
pull-down transistor
.
4.4.3.5 PIN
H .
(trans-impedance).
, 0,
. ,
.
0
(1V) C (10mV pk-pk).
H DC
.
LED.
C
,
50/60 Hz. .
LED 0
,
4.15. LED
. ,
LEDs .
4.15 Front-end LED
-
7/25/2019 Polla Gia Ulika6
74/112
67
C 0
, 1. DC
DC ,
OA1.
, C
. , DC .
offset 1 .
.
4.4.3.6 Hardware
O Timer
.
CCR0 , LED
:
4.16
-
7/25/2019 Polla Gia Ulika6
75/112
68
DAC12OPS bit DAC12_0 set
LED . T Port2 set
LED.
DAC12_0
.
DAC12_1 DC
LED.
1 0
DAC12_1.
LED, DAC12_1
2 LED .
.
, 0 DC
1
.
set MSC bit ADC
.
,
CU LED
DAC12_0.
4.4.3.7 AC
1 DC 1000sps.
, LED
500sps.
1 DC
. , .
4.17 AC
-
7/25/2019 Polla Gia Ulika6
76/112
69
IIR DC .
DC
AC .
, 50Hz
. , FR ,
6Hz 50db 50Hz .
.
4.4.3.8 DC
DC 4.18,
IIR .
.
,
. ,
.
K. .
, AC DC
,
AC , C
DC .
,
32 bits. 16 bits .
4.4.3.9
LEDs ,
.
50/60 z.
4.18 DC
-
7/25/2019 Polla Gia Ulika6
77/112
70
DC
AC
.
. DC
.
LED DC
PIN
. LEDs,
DC .
DC , SaO2
:
1
2
2
log( )' '
log( )
ac
ac
IR SaO R
I
, 500 sps.
:
500 60
3
Heart Beats per MinuteSamples Count
4.19 SaO2 R.
4.19 SaO2(R)
-
7/25/2019 Polla Gia Ulika6
78/112
71
80%,
offset.
4.4.3.10
4.20 .
115 Kbps.
4.20
-
7/25/2019 Polla Gia Ulika6
79/112
72
512-
(ADC12)
ADC12,
MSP430 Texas Instruments,
12-Bit . ADC12
MSP430x13x, MSP430x14x,
MSP430x15x MSP430x16x.
,
,
,
MSP430.
5.1
ADC12 , 12-it .
12-Bit SAR , ,
buffer 16 . buffer 16
, CPU.
ADC12 :
200Ksps
,
, software timers
software, Timer_A Timer_B
software on-chip
(1.5 V 2.5V) software
8
, AVcc
4 : ,
, , . ADC .
-
7/25/2019 Polla Gia Ulika6
80/112
73
16
5.1 Block ADC12.
5.2 ADC12
O ADC12 software.
.
5.1 Block ADC12
-
7/25/2019 Polla Gia Ulika6
81/112
74
5.2.1 ADC12
ADC 12 bit
.
/ (VR+, VR)
. (NADC) (0FFFh)
.
. :
ADC12 , ADC12CTL0 ADC12CTL1. ADC12ON bit. ADC12
.
bits ADC12
ENC=0. ENC 1 .
5.2.2
ADC12CLK
. ADC12
ADC12SSELx bits. SMCLK, MCLK, ACLK
, ADC12OSC.
ADC12OSC, , 5-MHz,
,
. ADC12OSC Datasheet
.
- ADC12CLK .
,
.
5.2.3 ADC12
.
break-before-make,
, 5.2. A/D
-
7/25/2019 Polla Gia Ulika6
82/112
75
(AVss),
crosstalk.
ADC12 .
,
.
.
5.2.4
ADC12 P6,
CMOS .
CMOS , Vcc
GND.
. buffer
. bits P6SELx buffers
.
5.2.5
ADC12
1.5 V 2.5 V.
VREF+.
REF0N=1 . REF2_5V=1,
2.5 V, 1.5 V REF2_5V=0.
.
5.2
-
7/25/2019 Polla Gia Ulika6
83/112
76
VR+ VR-
VeREF+ VREF-/VeREF-.
VR- AVss
.
5.2.6 Power-Down
O ADC12
. ADC12 ,
,
. ADC12OSC.
,
REFON=0. ,
.
5.2.7
SHI. SHI SHS
bits :
ADC12SC bit
1 Timer_A
0 Timer_
1 Timer_
SHI bit ISSH.
SAMPCON
. SAMPCON high, . high-
to-low SAMPCON
13 ADC12CLK. bit SHP
.
.
SHP=0. SHI
SAMPCON tsample.
SAMPCON high, . high-to-low
SAMPCON
ADC12CLK.
.
-
7/25/2019 Polla Gia Ulika6
84/112
77
SHP=1.
timer . bits
SHT0x SHT1x ADC12CTL0
SAMPCON tsample. timer
SAMPCON high ADC12CLK
tsample.
tsample tsync. T
5.4.
SHTx bits
4xADC12CLK. SHT0x
ADC12MCTL0 7 SHT1x
ADC12MCTL8 15.
5.3
5.3
-
7/25/2019 Polla Gia Ulika6
85/112
78
5.2.8
,
, .
ADC12 ADC12MEMx A/D
.
.
ADC12CTLx
. . bits
ADC12
, , ADC
ADC12CTL0 ADC12CTL1.
0140h -
015Eh.
5.2.9
ADC12
, bits CONSEQx.
:
-
-
5.1 ADC12
-
7/25/2019 Polla Gia Ulika6
86/112
79
-
ADC12MEMx CSTARTADDx bits.
ADC12SC bit ,
ADC12SC bit. , ENC
.
.
5.4
-
7/25/2019 Polla Gia Ulika6
87/112
80
.
,
ADC12MEMx CSTARTADDx bits. ADC12SC
bit , ADC12SC bit.
, ENC
. .
5.5
-
7/25/2019 Polla Gia Ulika6
88/112
81
-
.
ADC12MEMx CSTARTADDx bits.
,
, ADC12MEMx
.
.
5.6
-
7/25/2019 Polla Gia Ulika6
89/112
82
.
,
ADC12MEMx CSTARTADDx bits.
EOS bit .
.
5.7
-
7/25/2019 Polla Gia Ulika6
90/112
83
Bit (MSC)
,
. MSC=1, CONSEQx > 0
, SHI .
, .
SHI
bit ENC
. bit ENC
MSC bit.
ADC12 . ,
:
- , reset
ENC, .
, busy bit reset
ENC.
,
reset ENC,
.
, reset ENC,
.
, CONSEQx 0
reset ENC, .
.
:
bit EOS set ,
reset bit ENC . , reset
ENC.
-
7/25/2019 Polla Gia Ulika6
91/112
84
5.2.10 ADC12
ADC12 18 :
ADC12IFG0-ADC12IFG15
ADC12OV, ADC12MEMx
ADC12TOV, ADC12
bits ADC12IFGx set,
ADC12MEMx .
, ADC12IEx bit GIE bit set.
ADC12OV ,
ADC12MEMx
. ADC12OV ,
.
, ADC12IV
ADC12
.
ADC12IV
.
ADC12IV. ,
software.
ADC12IV.
, , ADC12IV
set ADC12OV ADC12OV,
.
.
ADC12IFGx reset, ADC12V. bits
ADC12IFGx reset, ADC12MEMx.
reset software.
,
, . ,
ADC12OV ADC12IFG3
ADC12IV, ADC12OV
reset. RETI
, ADC12IFG3 .
-
7/25/2019 Polla Gia Ulika6
92/112
85
5.2.11 ADC12
,
ADC12,
.
5.2 ADC12
-
7/25/2019 Polla Gia Ulika6
93/112
86
ADC12CTL0
bits ADC12CTL0 .
ADC12SC (0) ADC12SC bit
. ENC bit set.
bit ADC12SC reset.
0
1
ENC (1) .
0 .
1
SAMPCON. H
bit
ENC set.
ADC12TOVIE (2)
.
GIE bit.
ADC12OVIE (3) .
ADC
.
GIE bit.
ADC12ON (4) ADC12
0 off.
.
1 ADC12 .
-
7/25/2019 Polla Gia Ulika6
94/112
87
bit reset
.
REFON (5)
0 .
.
1 .
.
REF2_5V (6)
0 1.5 V bit REFON
1.
1 2.5 V bit REFON
1.
MSC (7) .
timer
SAMPCON (SHP=1) A/D
.
0 timer
SHI
.
1 SHI
timer ,
.
SHT0 (8-11) . bits
ADC12MEM0- ADC12MEM7.
SHT1 (12-15) . bits
ADC12MEM8-ADC12MEM15.
-
7/25/2019 Polla Gia Ulika6
95/112
88
5.3 SHTx .
ADC12CTL1
bits ADC12CTL1
.
ADC12BUSY (0) bit ADC12BUSY
.
0 .
1
.
CONSEQ (1-2) CONSEQ bits 00
-
7/25/2019 Polla Gia Ulika6
96/112
89
01
10
11
ADC12SSEL (3-4) :
00 ADC12OSC
01 ACLK
10 MCLK
11 SMCLK
ADC12DIV (5-7)
ADC12SSEL bits.
ISSH (8)
0
1
SHP (9) SHP bit
timer
.
0 SAMPCON
.
1 SAMPCON timer
.
SHS (10-11) :00 ADC12SC
01 Timer_A.OUT1
10 Timer_B.OUT0
11 Timer_B.OUT1
CSTART (12-15)
ADD (ADC12MEMx)
ADC12 .
-
7/25/2019 Polla Gia Ulika6
97/112
90
ADC12MEMx
:
ADC12MEM0 - ADC12MEM15 (0-15) 12-bit
. bit 11 MSB. bits 12-15
0.
.
ADC12MCTLx
,
..
. bits ADC12MCTLx reset POR.
, bit
ENC reset.
ENC set .
:
INCH (0-3) bits INCH ( )
,
.
-
7/25/2019 Polla Gia Ulika6
98/112
91
SREF (4-6) bits SREF
.
EOS (7) .
.
0
1
ADC12IE ,
bits
:
-
7/25/2019 Polla Gia Ulika6
99/112
92
ADC12IEx (0-15) . bits
ADC12IFGx
bits.
0
1
ADC12IFG,
bits-
:
ADC12IFGx (0-15) ADC12IFGx
ADC12MEMx
.
reset ADC12MEMx
software.
ADC12IV,
bits
:
-
7/25/2019 Polla Gia Ulika6
100/112
93
ADC12IVx (0-15)
:
5.3 ADC12
MSP430,
ADC12
.
-
7/25/2019 Polla Gia Ulika6
101/112
94
P6.0 ( 0
ADC12), AVcc,
ADC12 LED (
0.5AVcc) .
// Description: A single sample is made on A0 with reference to AVcc.
// Software sets ADC10SC to start sample and conversion - ADC12SC
// automatically cleared at EOC. ADC12 internal oscillator times sample (16x)
// and conversion. In Mainloop MSP430 waits in LPM0 to save power until ADC12
// conversion complete, ADC12_ISR will force exit from LPM0 in Mainloop on
// reti. If A0 > 0.5*AVcc, P1.0 set, else reset.
//
// MSP430F149
// -----------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// Vin-->|P6.0/A0 P1.0|--> LED
//
// M. Buccini
// Texas Instruments Inc.
// Feb 2005
// Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.21A
//***************************************************************************
#include
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
ADC12CTL0 = SHT0_2 + ADC12ON; // Set sampling time, turn on ADC12
ADC12CTL1 = SHP; // Use sampling timer
ADC12IE = 0x01; // Enable interrupt
ADC12CTL0 |= ENC; // Conversion enabled
P6SEL |= 0x01; // P6.0 ADC option select
P1DIR |= 0x01; // P1.0 output
for (;;)
{
ADC12CTL0 |= ADC12SC; // Sampling open
_BIS_SR(CPUOFF + GIE); // LPM0, ADC12_ISR will force exit
}
}
// ADC12 interrupt service routine
#pragma vector=ADC12_VECTOR
__interrupt void ADC12_ISR (void){
-
7/25/2019 Polla Gia Ulika6
102/112
95
if (ADC12MEM0 < 0x7FF)
P1OUT &= ~0x01; // Clear P1.0 LED off
else
P1OUT |= 0x01; // Set P1.0 LED on
_BIC_SR_IRQ(CPUOFF); // Clear CPUOFF bit from 0(SR)
}
(WDTCTL=WDTPW + WDTHOLD) Watchdog
Timer. ( ADC12CTL0 = SHT0_2 + ADC12ON)
16 DC12CLK (tsample=16*tADC12CLK)
ADC12. ( datasheet MSP430
fADC12OSC 3.7 MHz 6.3
MHz). ADC12CTL1 = SHP
SAMPCON.
ADC12IE = 0x01 ,
. (ADC12CTL0 |=
ENC) (P6SEL |= 0x01) P6.0
(
0 ADC12).O P1.0
(P1DIR |= 0x01).
(ADC12CTL0 |= ADC12SC).
MCU
, . _BIS_SR(CPUOFF + GIE) MCU LPM0 (
CPU MCLK SMCLK ACLK ). M
ADC12 ,
interrupt void ADC12_ISR.
.
ADC12MEM0
0x7FF 2047 (2047212
/2).
P1.0
LED (P1OUT &= ~0x01).
1 P1.0
LED (P1OUT |= 0x01).
MCU (_BIC_SR_IRQ(CPUOFF)).
-
7/25/2019 Polla Gia Ulika6
103/112
96
P6.0 ( 0
ADC12),
VR+=VREF+=2.5V VR=VSS .
//***************************************************************************
// MSP-FET430P140 Demo - ADC12, Using the Internal Reference
//
// Description: This example shows how to use the internal reference of the ADC12.
// It uses the internal 2.5V reference and performs a single conversion
// on channel A0. The conversion results are stored in ADC12MEM0. Test by
// applying a voltage to channel A0, then setting and running to a break point// at the "_NOP()" instruction. To view the conversion results, open an ADC12
// register window in debugger and view the contents of ADC12MEM0.
//
//
// MSP430F149
// ---------------
// | |
// Vin --> |P6.0/A0 |
// | |
//
//// M. Mitchell
// Texas Instruments Inc.
// Feb 2005
// Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.21A
//***************************************************************************
#include
void main(void)
{
volatile unsigned int i;
WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer
P6SEL |= 0x01; // Enable A/D channel A0
ADC12CTL0 = ADC12ON+SHT0_2+REFON+REF2_5V; // Turn on and set up ADC12
ADC12CTL1 = SHP; // Use sampling timer
ADC12MCTL0 = SREF_1; // Vr+=Vref+
for ( i=0; i
-
7/25/2019 Polla Gia Ulika6
104/112
97
{
ADC12CTL0 |= ADC12SC; // Start conversion
while ((ADC12IFG & BIT0)==0);
_NOP(); // SET BREAKPOINT HERE
}
1
.
Watchdog Timer, ADC12,
VREF+=2.5V (ADC12CTL0 =
ADC12ON+SHT0_2+REFON+REF2_5V). ,
.
ADC12MCTL0 = SREF_1
VR+= VREF+ VR= VSS.
for ( i=0; i
-
7/25/2019 Polla Gia Ulika6
105/112
98
( 80ms)
MSP430Fx39
2 .
2 LED
.
//***************************************************************************
// MSP-FET430P140 Demo - ADC12, Sample A10 Temp, Set P1.0 if Temp ++ ~2C
//
// Description: Use ADC12 and the integrated temperature sensor to detect
// temperature gradients. The temperature sensor output voltage is sampled// ~ every 80ms and compared with the defined delta values using an ISR.
// (ADC12OSC/256)/ determines sample time which needs to be greater than
// 30us for temperature sensor.
// ADC12 is operated in repeat-single channel mode with the sample and
// convert trigger sourced from Timer_A CCR1. The ADC12MEM0_IFG at the end
// of each converstion will trigger an ISR.
// ACLK = n/a, MCLK = SMCLK = default DCO ~ 800k, ADC12CLK = ADC12OSC
//
// MSP430Fx49
// -----------------
// /|\| XIN|-// | | |
// --|RST XOUT|-
// | |
// |A10 P1.0|-->LED
//
// A. Dannenberg
// Texas Instruments Inc.
// Feb 2005
// Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.21A
//***************************************************************************
#include
#define ADCDeltaOn 12 // ~2 Deg C delta
static unsigned int FirstADCVal; // holds 1st ADC result
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog
P1OUT = 0x00; // Clear P1
P1DIR = 0x01; // P1.0 as outputADC12CTL1 = SHS_1 + SHP + CONSEQ_2; // TA trig., rpt conv.
-
7/25/2019 Polla Gia Ulika6
106/112
99
ADC12MCTL0 = SREF_1 + INCH_10; // Channel A10, Vref+
ADC12IE = 0x01; // Enable ADC12IFG.0
ADC12CTL0 = SHT0_8 + REF2_5V + REFON + ADC12ON + ENC; // Config ADC12
TACCTL1 = OUTMOD_4; // Toggle on EQU1 (TAR = 0)
TACTL = TASSEL_2 + MC_2; // SMCLK, cont-mode
while (!(0x01 & ADC12IFG)); // First conversion?FirstADCVal = ADC12MEM0; // Read out 1st ADC value
_BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
#pragma vector=ADC12_VECTOR
__interrupt void ADC12ISR (void)
{
if (ADC12MEM0
-
7/25/2019 Polla Gia Ulika6
107/112
100
ADC12OSC. fADC12OSC5Hz
tsample(256/5)s.
30s.
VREF+=2.5V,
.
, Timer_A
counter timer .
Timer_A .
Timer_A
SMCLK ( default 800kHz)
. tTimer_A = 65535 * tSMCLK =
(65535/800)ms82ms.
FirstADCVal. (static
unsigned int FirstADCVal) -
.
_BIS_SR(LPM0_bits + GIE) MCU
LPM0, CPU MCLK SMCLK ACLK
, (o SMCLK
Timer_A) set to GIE bit set ADC12IE0 bit
interrupt void ADC12_ISR.
(
ADC12MEM0)
20C. ,
P1.0 LED.
LED.
-
7/25/2019 Polla Gia Ulika6
108/112
101
.
- ( )
.
//***************************************************************************
// MSP-FET430P140 Demo - ADC12, Repeated Sequence of Conversions
// Description: This example shows how to perform a repeated sequence of
// conversions using "repeat sequence-of-channels" mode. AVcc is used for the
// reference and repeated sequence of conversions is performed on Channels A0,
// A1, A2, and A3. Each conversion result is stored in ADC12MEM0, ADC12MEM1,// ADC12MEM2, and ADC12MEM3 respectively. After each sequence, the 4 conversion
// results are moved to A0results[], A1results[], A2results[], and A3results[].
// Test by applying voltages to channels A0 - A3. Open a watch window in
// debugger and view the results. Set a breakpoint in the last line to see the
// array values change sequentially.
//
// Note that a sequence has no restrictions on which channels are converted.
// For example, a valid sequence could be A0, A3, A2, A4, A2, A1, A0, and A7.
// See the MSP430x1xx User's Guide for instructions on using the ADC12.
//
//
// MSP430F149
// -----------------
// | |
// Vin0 -->|P6.0/A0 |
// Vin1 -->|P6.1/A1 |
// Vin2 -->|P6.2/A2 |
// Vin3 -->|P6.3/A3 |
// | |
//
//
// M. Mitchell
// Texas Instruments Inc.
// Feb 2005
// Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.21A
//***************************************************************************
#include
#define Num_of_Results 8
static unsigned int A0results[Num_of_Results]; // These need to be global in
static unsigned int A1results[Num_of_Results]; // this example. Otherwise, the
static unsigned int A2results[Num_of_Results]; // compiler removes them because
static unsigned int A3results[Num_of_Results]; // they are not used
-
7/25/2019 Polla Gia Ulika6
109/112
102
void main(void)
{
WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer
P6SEL = 0x0F; // Enable A/D channel inputs
ADC12CTL0 = ADC12ON+MSC+SHT0_8; // Turn on ADC12, extend sampling time// to avoid overflow of results
ADC12CTL1 = SHP+CONSEQ_3; // Use sampling timer, repeated sequence
ADC12MCTL0 = INCH_0; // ref+=AVcc, channel = A0
ADC12MCTL1 = INCH_1; // ref+=AVcc, channel = A1
ADC12MCTL2 = INCH_2; // ref+=AVcc, channel = A2
ADC12MCTL3 = INCH_3+EOS; // ref+=AVcc, channel = A3, end seq.
ADC12IE = 0x08; // Enable ADC12IFG.3
ADC12CTL0 |= ENC; // Enable conversions
ADC12CTL0 |= ADC12SC; // Start conversion
_BIS_SR(LPM0_bits + GIE); // Enter LPM0, Enable interrupts
}
#pragma vector=ADC12_VECTOR
__interrupt void ADC12ISR (void)
{
static unsigned int index = 0;
A0results[index] = ADC12MEM0; // Move A0 results, IFG is cleared
A1results[index] = ADC12MEM1; // Move A1 results, IFG is cleared
A2results[index] = ADC12MEM2; // Move A2 results, IFG is cleared
A3results[index] = ADC12MEM3; // Move A3 results, IFG is cleared
index = (index+1)%Num_of_Results; // Increment results index, modulo; Set/ // Breakpoint here
}
Watchdog Timer P6.0, P6.1, P6.2,
P6.3 ADC12 ( F=1111).
ADC12CTL0 = ADC12ON+MSC+SHT0_8
ADC12 ,
SHI
timer ,
256 DC12CLK.
ADC12CTL1 = SHP+CONSEQ_3
SAMPCON
.
4 0, 1, 2, 3
.
3
.
-
7/25/2019 Polla Gia Ulika6
110/112
103
ADC12IE = 0x08 ,
4
( 0x08=1000) (3)
.
1
(0)
.
_BIS_SR(LPM0_bits + GIE) MCU LPM0
set to GIE bit set ADC12IE3 bit
interrupt void ADC12_ISR.
4 ,
, 8 4
. index
(
4 ) 8 1.
0 7 1
( 0 7).
-
7/25/2019 Polla Gia Ulika6
111/112
[1] , . ,
. . , 2001.
[2] Physiology, biochemistry and molecular biology of the skin, L. A. Goldsmith,
Oxford University Press, New York 1991.
[3] P (RNase P) , .
, , 2004.
[4]Nick Strobel's Astronomy Notes.
[5]Paras N. Prasad, Introduction to biophotonics, John Wiley & Sons, USA (2003).
[6]J. D. Jackson, Classical Electrodynamics, Third Edition, John Wiley & Sons, New
York (1998).
[7] M. H. Niemz, Laser-Tissue Interactions: Fundamentals and Applications,
Springer-Verlag, Berlin (1996).
[8] J. Lalanne, A. Ducasse, S. Kielich, Laser - Molecule interaction , Willey-
Interscience, 99-135, 223-234, New York (1996).
[9] R.Rox Anderson, B.S. and John A. Parrish M.D., The optics of human skin, The
Journal of Investigative Dermatology, 77:13-19, 1981.
[10] . ,
, , 2003.
[11] . , Laser
, , 2007.
[12] . ,
, , , 2005.
[13] Pulse Oximetry and the Oxyhemoglobin Dissociation Curve, by SSB Healthcare
Division.
[14] Neonatal and Pediatric Pulse Oximetry, John W. Salyer MBA RRT-NPC FAARC.
[15] Dr Neil Townsend , Pulse Oximetry, Medical Electronics, Michaelmas Term
2001.
[16]J G Webster, Design of Pulse Oximeters, Taylor & Francis Group, New York,
1997.
http://www.astronomynotes.com/http://www.astronomynotes.com/ -
7/25/2019 Polla Gia Ulika6
112/112
[17] Pulse Oximetry Medical Solutions from Texas Instruments (www.ti.com)
[18]Vincent Chan, Steve Underwood, A Single-Chip Pulsoximeter Design Using the
MSP430, Texas Instruments, November 2005.
[19]MSP430x1xx Family Users Guide, Texas Instruments 2006