Escolar Documentos
Profissional Documentos
Cultura Documentos
FACULTAD DE INGENIERA
Escuela Acadmico Profesional de Ingeniera Electrnica
PROYECTO DE TESIS
PARA OPTAR EL TTULO PROFESIONAL DE INGENIERO
ELECTRNICO
PRESENTADO POR:
Lima - Per
2011
INDICE
Lista de Figuras
Lista de Tablas
10
Agradecimientos
11
13
Objetivo General...15
1.2.2
Objetivo especifico...15
La espectrofotometra19
2.1.2
Sistema ptico...21
2.1.3
Sistema Electrnico...21
2.1.3.1 El Espectrofotmetro..22
2.1.3.2 El fotmetro24
2.2.1
Principio de Funcionamiento30
2.2.1.1 Impedancia Elctrica..30
2.2.1.2 Cuantificacin del Buffy Coat....31
2.2.1.3 Rayo Laser..32
2.2.2
Sistema Electrnico...32
2.2.3
35
3.1 Electrocardigrafos.......36
3.1.1
Principio de funcionamiento.37
Principio de funcionamiento.40
Filtraje Digital...42
3.3.2
3.3.3
Componentes a utilizar..46
3.4.2
3.4.3
3.4.4
3.4.5
3.4.6
3.4.7
4. Hardware e interface
68
4.1.2
Microcontrolador PIC18F4550.71
4.1.3
4.1.4
74
Conclusiones y Recomendaciones
81
Bibliografa
84
Glosario de Trminos
85
Anexos
90
90
A1: Coeficientes filtro..90
A2: Coeficientes de filtro en representacin Hexadecimal.91
92
B1: Descripcin VHDL del ADCS7476..92
B2: Descripcin VHDL para DAC121S10193
95
C1: Descripcin VHDL del PmodAD1, con complemento a 2..95
C2: Descripcin VHDL del PmodDA2, con complemento a 2.97
99
D1: Diagrama de bloques de Filtro FIR...99
D2: Distribucin de DCM en FPGA..100
D3: Librera para el uso de multiplicadores internos del FPGA....101
D4: Descripcin VHDL para el uso de memorias.102
D5: Diagrama de bloques del filtro104
D6: Diagrama de estados del filtro....105
D7: Diagrama de bloques del filtro de 2 canales..106
D8: Diagrama de tiempos de filtro de 2 canales....107
D9: descripcin VHDL para el adcs7476_r_ir para la adquisicin de
seales rojas e Infrarojas....108
D10: Diagrama de tiempos del oximetro de pulso....110
111
E1: Tarjeta inteface NEXYS PIC...111
E2: Microcontrolador con interface USB y tarjeta grfica LCD..112
E3: Software USB NEXYS 2 mostrando sin conexin AL PIC...113
E4: Software USB NEXYS 2 mostrando con conexin al PIC y
transfiriendo Datos......114
115
F1: Equipo Electrocardigrafo ar 1200 view115
F2: Equipo Oximetro de pulso Nonin 9600..116
F3: Diseo de EKG por Texas Instruments..117
LISTA DE FIGURAS
LISTA DE TABLAS
10
AGRADECIMIENTOS
INTRODUCCIN
12
CAPITULO I
PROBLEMTICA DEL SECTOR SALUD
http://www.tvc.org/Site/Content/Photos/Laboratory.jpg
14
http://cybertesis.urp.edu.pe/urp/2006/gaspar_bw/html/index-frames.html
15
http://w3.iec.csic.es/URSI/articulos_modernos/articulos_villaviciosaodon_2001/articulos/149.pdf
16
17
CAPITULO II
EQUIPOS MDICOS, CARACTERISTICAS Y
PRINCIPIOS DE FUNCIONAMIENTO
2.1.1 La espectrofotometra
La ley de Lambert, nos dice: A cualquier longitud de onda, la
cantidad de luz Monocromtica transmitida es proporcional a la
intensidad de la luz incidente. La absorcin de luz es una funcin
exponencial del espesor, en la figura 2.1a, muestra como la luz
absorbida es directamente proporcional al espesor de la solucin.
la
cantidad
de luz
absorbida
es
directamente
www.frlp.utn.edu.ar/grupos/aepeq/leyes.pps
19
A = -Log T
www.frlp.utn.edu.ar/grupos/aepeq/leyes.pps
20
Tramitancia, T = I / I0
% Tramitancia; %T = 100 T
Absorbancia o densidad ptica:
A = log10 I0 / I entonces A = log10 1 / T
A = log10 100 / %T
A = log10 100 - log10 %T
A = 2 - log10 %T
http://proton.ucting.udg.mx/somi/memorias/didactica/Did-6.pdf
21
7
8
http://arturobola.tripod.com/spectro/radem.htm
http://proton.ucting.udg.mx/somi/memorias/didactica/Did-6.pdf
22
http://www.chem.agilent.com/en-US/Products/Instruments/uv-vis/pages/photodiode_array_benefits.aspx
23
24
10
11
http://www.xtec.cat/~gjimene2/llicencia/students/08turbi.html
http://www.metrolab.com.ar/1600dr.php
25
12
http://www.thermoscientific.com/wps/portal/ts/products/detail?productId=11962990&groupType=PRO
DUCT&searchType=0
26
Los
microprocesadores,
aprovechan
su
funcin
de
28
Los
microprocesadores,
por
lo
general
reciben
la
29
30
http://www.scribd.com/doc/13620276/Interpretacion-del-Sysmex-Hematologico
31
los
mtodos
principios
antes
mencionados,
14
32
http://www.sanatorios.info/boletines/0104/internacionales.htm
33
CAPITULO III
DISEO DE ELECTROCARDIGRAFO Y PULSIOXMETRO
3.1 Electrocardigrafos
Los
Electrocardigrafos
(ECG/EKG,
del
alemn
de
potencial
(biodiferenciales),
es
registrado
en
16
http://es.wikipedia.org/wiki/Electrocardiograma
http://www.elrancaguino.cl/news/agosto-mes-del-corazon-enfermedades-cardiovasculares-son-laprimera-causa-de-muerte-en-chile/
17
36
37
3.2;
uno
de
sus
principales
aplicaciones
es
la
http://pdf1.alldatasheet.com/datasheet-pdf/view/56674/BURR-BROWN/INA114.html
38
Determina
la
saturacin
de
oxgeno
[15],
midiendo
19
20
http://www.fisterra.com/material/tecnicas/pulsioximetria/pulsio.asp
http://www.fisterra.com/material/tecnicas/pulsioximetria/pulsio.asp
39
21
http://spanish.alibaba.com/product-free/nellcor-7-pin-bci-9-pin-nonin-compatible-adult-spo2-sensor111529752.html
40
Una vez adquirida la seal esta es filtrada, ya sea por filtraje digital
o analgico y es enviada a un microprocesador para su posterior
representacin grafica y/o numrica.
41
[] = 0 [] + 1 [ 1] + 1 [ + 1] = [ ]
=0
22
Ashok Ambar, Procesamiento de seales analgicas y digitales, Thomson Learning, 2da ed., Mxico,
2002
42
[] = [] [ ]
=0
Para disear los filtros FIR se tienen que truncar la serie infinita de
los coeficientes de Fourier en una serie finita 24. Si estos
coeficientes son truncados, el filtro se ver afectado y se producir
el efecto de Gibbs [18]. Se producirn ondulaciones antes y
despus de cualquier discontinuidad. Estas ondulaciones no
desaparecern, sin importar que tan larga sea la serie, ya que
siempre ser finita. Por esto es que se emplea el mtodo de ventana
donde se usa un nmero finito de secuencias de w(n).
Proakis, John G.; Manolakis, Dimitris: Tratamiento Digital de Seales . Prentice Hall, Madrid 1998
24
http://www.dsp.efn.unc.edu.ar/documentos/Filtro_FIR.pdf
43
44
lgicas,
banco
de
memorias
RAM
[19]
multiplicadores.
http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,789&Prod=NEXYS2
46
26
27
http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,401,499&Prod=PMOD-AD1
http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,401,487&Prod=PMOD-DA2
47
28
http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,401,499&Prod=PMOD-AD1
48
de 10Khz
la
29
http://pdf1.alldatasheet.com/datasheet-pdf/view/225222/NSC/ADCS7476.html
49
30
http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,401,487&Prod=PMOD-DA2
50
31
http://pdf1.alldatasheet.com/datasheet-pdf/view/106695/NSC/DAC121S101.html
51
52
Nmero
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
A
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
Binario
Natural
B C
1 1
1 1
1 0
1 0
0 1
0 1
0 0
0 0
1 1
1 1
1 0
1 0
0 1
0 1
0 0
0 0
D
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Complemento
a2
A B C D
0 1 1 1
0 1 1 0
0 1 0 1
0 1 0 0
0 0 1 1
0 0 1 0
0 0 0 1
0 0 0 0
1 1 1 1
1 1 1 0
1 1 0 1
1 1 0 0
1 0 1 1
1 0 1 0
1 0 0 1
1 0 0 0
Nmero
7
6
5
4
3
2
1
0
-1
-2
-3
-4
-5
-6
-7
-8
53
54
Directa
Transpuesta 32.
Esta
se
deriva
de
la
55
filtro
implementar,
el
cual
est
compuesto
por
56
57
58
59
60
61
64
65
66
1
16
1
1
= 625
1
16
10 103
67
CAPITULO IV
HARDWARE E INTERFACE
69
33
http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,395,461&Prod=FX2SOCKET
70
34
http://pdf1.alldatasheet.com/datasheet-pdf/view/195394/MICROCHIP/PIC18F2550.html
71
35
http://www.newhavendisplay.com/specs/NHD-240128WG-BTMI-VZ.pdf
72
73
CAPITULO 5
EQUIPOS EN EL MERCADO Y GASTOS
DE IMPLEMENTACIN
ar 1200 view
EKG
> 100db
> 100db
0.05 - 150
0.05 - 150
3 canales
1 2 canales
Adqu isicin
Filtros
Interface Serial
75
Equipo:
Avant 9600
Oximetro
Rango de
Saturacin de
oxigeno
0% a 100%
0% a 100%
display numrico de 3
digitos tricolor (rojo,
ambar, verde), indicador de
resistencia, indicador de
calidad de pulso
Pantalla
Exactitud
Sin movimiento:
adultos, Pediatricos
70 - 100% 2 digitos.
neonatales 70 - 100%
3 dig.
Movimiento:
adultos, Pediatricos
70-100% 2 digitos.
Configurable en 3 digitos
para todos los casos
neonatales 70-100%
3 dig.
Baja perfusin:
adultos, Pediatricos
70 - 100% 2 digitos.
neonatales 70 - 100%
3 dig.
76
Los
precios
de
los
equipos
con
los
cuales
36
http://www.solostocks.com/venta-productos/salud/material-sanitario-instrumental/cardiolineelectrocardiografos-electrocardiografo-ar-1200-view-bt-se-ref-5797369
37
http://www.pmedicalonline.net/servlet/the-40/Nonin-9600-Oximetro-mesa/Detail
77
Item Descripcin
Cantidad
Precio
Total $
1
2
3
4
5
6
7
Procesamiento
XC3S500E - 4CPG132
GLCD NHD-240128W G-BTMI-VZ
PIC18F4550-I/P-ND
Oscilador XC345CT-ND
USB conector
Cristal 20M hz
Resistencia 10K
1
1
1
1
1
1
2
23.010
62.500
6.800
5.550
0.360
0.750
0.180
23.01
62.50
6.80
5.55
0.36
0.75
0.36
8
9
10
11
12
13
14
15
16
17
18
19
Conversin A/D
ADCS7476
NL27WZ17DF
LMV712MM/NOPB
10K SMD
1K SMD
2K SMD
100 SMD
2.2uF
0.1uF
470uF
220uF
Diodos
2
1
2
4
4
2
2
1
5
2
2
4
4.170
0.500
1.880
0.180
0.180
0.180
0.180
0.180
0.180
0.180
0.180
0.180
8.34
0.50
3.76
0.72
0.72
0.36
0.36
0.18
0.90
0.36
0.36
0.72
20
21
22
23
24
25
26
27
28
29
30
31
Reguladores
LTC3545
LTC1844
Bobina 2.2uH (CC453232-2R2KL-ND)
Bobina 10uH (445-3186-1-ND)
10K ohm SMD
511 ohm SMD
10uF
22uF
300 ohm
680 ohm
4.7uF
10nF
1
1
2
1
6
2
3
3
1
1
2
1
6.200
2.880
0.720
0.770
0.180
0.180
0.180
0.180
0.180
0.180
0.180
0.180
6.20
2.88
1.44
0.77
1.08
0.36
0.54
0.54
0.18
0.18
0.36
0.18
Total
127.13
78
Item Descripcin
1
2
3
Cantidad
Precio
Total $
3
1
3
2.290
6.040
2.210
6.87
6.04
6.63
19.54
Item Descripcin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Adquisicin
INA326
OPA2335
OPA335
REF345
40 Kohm
390 ohm
200 Kohm
20 Kohm
5 Kohm
1 Mohm
3.2 Mohm
100 ohm
750 pF
1 uF
0.0015 uF
0.1 uF
10 uF
Cantidad
Precio
Total $
1
2
1
1
2
4
1
1
1
1
1
2
1
2
1
2
1
5.400
4.560
3.330
3.470
0.180
0.180
0.180
0.180
0.180
0.180
0.180
0.180
0.180
0.180
0.180
0.180
0.180
5.40
9.12
3.33
3.47
0.36
0.72
0.18
0.18
0.18
0.18
0.18
0.36
0.18
0.36
0.18
0.36
0.18
Total
24.92
38
79
Item Descripcin
1
2
3
4
5
6
7
8
9
10
Cantidad
Precio
Total $
2
1
2
4
1
2
1
1
1
1
3.330
3.470
0.180
0.180
0.180
0.180
0.180
0.180
2.240
0.800
6.66
3.47
0.36
0.72
0.18
0.36
0.18
0.18
2.24
0.80
Adquisicin
OPA335
REF345
100 Kohm
99 Kohm
1 Kohm
1.6 Kohm
100 ohm
2.2 uF
Led IR 900nm
Led Rojo 650nm
Total
15.15
127.13
127.13
19.54
19.54
24.920
15.150
Total
700.00
700.00
871.59
861.82
1733.41
39
80
1.
2.
3.
4.
82
5.
6.
7.
8.
9.
83
BIBLIOGRAFIA
Proakis, John G.; Manolakis, Dimitris: Tratamiento Digital de Seales. Prentice
Hall, Madrid 1998
Ashok Ambar, Procesamiento de seales analgicas y digitales, Thomson
Learning, 2da ed., Mxico, 2002.
Uwe Meyer Baese, Digital Signal Processing with Field Programmable Gate
Arrays, Springer, 1era ed., Alemania, 2001.
Douglas L. Perry, VHDL Programming by Example, McGraw Hill, 4ta ed.,
united State of America, 2002.
E. Lecha, M. More, S. Olcoz, T. Riesgo, F. Rincn, P. Snchez, L. Ters, E. del
a Torre, Y. Torroja, J. Vidal, E. Villar, y J. Uceda, VHDL LENGUAJE
ESTANDAR DEL DISEO ELECTRONICO, McGraw Hill/Internacional de
Espaa S.A.U., 1era ed., Espaa, 1998.
84
GLOSARIO DE TRMINOS
[1] Muestra: Sangre centrifugada donde se separan los glbulos rojos, plaquetas
y solo permanece el suero.
[2] reactivos: Es toda sustancia que interacta con otra en una reaccin qumica
que da lugar a otras sustancias de propiedades, caractersticas y conformacin
distinta, denominadas reaccin.
[6] RS232: Es una interfaz que designa una norma para el intercambio serie de
datos binarios entre un DTE (Equipo terminal de datos) y un DCE (Equipo de
Comunicacin de datos).
85
86
[14] Rechazo al modo comn: (o CMRR, de las siglas inglesas Common Mode
Rejection Ratio) es uno de los parmetros de un amplificador operacional (o
AOP). En un conjunto de AOPs configurados como amplificador de
instrumentacin, cuando el voltaje 1 (V ) y el voltaje 2 (V + ) son iguales, existe
una pequea seal de salida, cuando lo ideal sera que esta fuera cero. La CMRR
es una medida del rechazo que ofrece la configuracin a la entrada de voltaje
comn.
[15] Saturacin de oxigeno: Prueba que mide la cantidad de oxgeno que llevan
los glbulos rojos.
87
[20] Antialising: Procesos que permiten minimizar el aliasing (efecto que causa
que seales continuas distintas se tornen indistinguibles cuando se les muestrea
digitalmente), cuando se desea representar una seal de alta resolucin en un
sustrato de ms baja resolucin.
88
un lenguaje definido por el IEEE usado por ingenieros para describir circuitos
digitales. Aunque puede ser usado de forma general para describir cualquier
circuito se usa principalmente para programar PLD y FPGA.
89
ANEXOS
A1: Coeficientes del filtro
0.0037841796875
0.004058837890625
0.0048980712890625
0.0062713623046875
0.008148193359375
0.010467529296875
0.01318359375
0.0162200927734375
0.0194854736328125
0.022918701171875
0.0264129638671875
0.0298919677734375
0.03326416015625
0.0364227294921875
0.039306640625
0.0418243408203125
0.0439300537109375
0.045562744140625
0.0466766357421875
0.0472412109375
0.0472412109375
0.0466766357421875
0.045562744140625
0.0439300537109375
0.0418243408203125
0.039306640625
0.0364227294921875
0.03326416015625
0.0298919677734375
0.0264129638671875
0.022918701171875
0.0194854736328125
0.0162200927734375
0.01318359375
0.010467529296875
0.008148193359375
0.0062713623046875
0.0048980712890625
0.004058837890625
0.0037841796875
90
91
Process(CLK)
VARIABLE DATA_AC: STD_LOGIC_VECTOR(11 DOWNTO 0):=
X"000";
begin
if INICIO = '1' then
if CLK 'EVENT and CLK = '1' then
FIN <= '0';
NCS <= '0';
PULSOS <= PULSOS + 1;
if PULSOS = 16 then
Fin <= '1';
NCS <= '1';
DATA <= DATA_AC;
SCLK <= '1';
PULSOS <= b"00000";
end if;
end if;
if CLK 'EVENT and CLK = '0' then
if SDATA = '1' then
DATA_AC := DATA_AC(10 downto 0) & '1';
else
92
Captura := '0';
Habilita := '1';
end if;
end if;
if Habilita = '1' then
NSYNC <= '0';
DIN <= DATA_AC(15);
DATA_AC := DATA_AC(14 DOWNTO 0) & '0';
PULSO <= PULSO + 1;
end if;
if PULSO = 16 then
NSYNC <= '1';
PULSO <= B"00000";
Habilita := '0';
Captura := '1';
end if;
end if;
SCLK <= CLK;
end Process Escribe_DAC;
end Behavioral;
94
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity ADCS7476 is
Port ( CLK : in STD_LOGIC;
SDATA : in STD_LOGIC;
INICIO : in STD_LOGIC;
SCLK : out STD_LOGIC;
NCS : out STD_LOGIC:= '1';
FIN : out STD_LOGIC:= '1';
DATA: out STD_LOGIC_VECTOR(11 DOWNTO 0));
end ADCS7476;
architecture Behavioral of ADCS7476 is
SIGNAL PULSOS: STD_LOGIC_VECTOR(4 DOWNTO 0):= B"00000";
begin
Lee_ADC:
Process(CLK,INICIO)
VARIABLE DATA_AC: STD_LOGIC_VECTOR(11 DOWNTO 0):=
X"000";
begin
if INICIO = '1' then
if CLK 'EVENT and CLK = '1' then
if PULSOS = 15 then
FIN <= '0';
NCS <= '0';
PULSOS <= PULSOS + 1;
elsif PULSOS = 31 then
Fin <= '1';
NCS <= '1';
DATA <= not DATA_AC(11) & DATA_AC(10 downto 0);
PULSOS <= b"00000";
else
PULSOS <= PULSOS + 1;
end if;
end if;
if CLK 'EVENT and CLK = '0' then
95
96
98
99
100
101
X"7A7",
X"6C3",
X"5DE",
X"4FD",
X"427",
X"360",
X"2AE",
X"216",
X"19B",
X"141",
X"10A",
X"0F8");
end Rom0;
--a11 = 0.0298919677734375
--a10 = 0.0264129638671875
-- a9 = 0.022918701171875
-- a8 = 0.0194854736328125
-- a7 = 0.0162200927734375
-- a6 = 0.01318359375
-- a5 = 0.010467529296875
-- a4 = 0.008148193359375
-- a3 = 0.0062713623046875
-- a2 = 0.0048980712890625
-- a1 = 0.004058837890625
-- a0 = 0.0037841796875
103
104
105
106
Doble procesamiento de los datos, clculos matemticos del doble filtro mientras
se adquiere dos nuevos datos a la vez.
107
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity ADCS7476_R_IR is
Port ( CLK : in STD_LOGIC;
SDATA : in STD_LOGIC;
INICIO : in STD_LOGIC;
SCLK : out STD_LOGIC;
NCS : out STD_LOGIC:= '1';
R : out STD_LOGIC:= '1';
IR : out STD_LOGIC:= '0';
FIN : out STD_LOGIC:= '1';
DATA0: out STD_LOGIC_VECTOR(11 DOWNTO 0);
DATA1: out STD_LOGIC_VECTOR(11 DOWNTO 0));
end ADCS7476_R_IR;
architecture Behavioral of ADCS7476_R_IR is
SIGNAL PULSOS: STD_LOGIC_VECTOR(5 DOWNTO 0):= B"000000";
begin
Process(CLK, INICIO)
VARIABLE DATA_AC0: STD_LOGIC_VECTOR(11 DOWNTO 0):= X"000";
VARIABLE DATA_AC1: STD_LOGIC_VECTOR(11 DOWNTO 0):= X"000";
begin
if INICIO = '1' then
if rising_edge(CLK) then
if PULSOS = 16 then
NCS <= '1';
DATA0 <= not DATA_AC0(11) & DATA_AC0(10
downto 0);
PULSOS <= PULSOS + 1;
R <= '0';
IR <= '1';
elsif PULSOS = 33 then
FIN <= '1';
NCS <= '1';
108
109
111
112
113
114
115
116
117