universidad autÓnoma metropolitana …148.206.53.84/tesiuami/uami10315.pdfel reciente desarrollo de...

114
UNIVERSIDAD AUTÓNOMA METROPOLITANA UNIDAD IZTAPALAPA CIENCIAS BASICAS E INGENIERIA INGENIERIA BIOMEDICA MONITOREO FETAL ELECTRONICO MEDIANTE FONOCARDIOGRAFIA MIDIENDO LA FRECUENCIA CARDIACA FETAL JUAN SALVADOR SALGADO BLANCO ABRIL 2003

Upload: tranlien

Post on 27-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

UNIVERSIDAD AUTÓNOMA METROPOLITANAUNIDAD IZTAPALAPA

CIENCIAS BASICAS E INGENIERIA

INGENIERIA BIOMEDICA

MONITOREO FETAL ELECTRONICO MEDIANTE FONOCARDIOGRAFIAMIDIENDO LA FRECUENCIA CARDIACA FETAL

JUAN SALVADOR SALGADO BLANCO

ABRIL 2003

Page 2: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

A mis padres,

por su cariño y apoyo incondicional en

los momentos en los que ya nadie más lo hizo...

eterno respeto y agradecimiento a su fortaleza de espíritu.

Gracias Papá y Mamá.

Page 3: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

A mis Asesores Ramón González y Jatziri Gaytán,

que ante el mar de dificultades presentado, siempre

mostraron buena voluntad y disposición de ayuda

para llevar al mejor fin posible este proyecto.

Gracias profesores.

Page 4: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

A mi esfuerzo,

para que nunca olvide la importancia del trabajo y la

perseverancia, aun en los días futuros más difíciles.

Page 5: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Introdución.

La vigilancia fetal intraparto (VFI) es una herramienta crucial del cuidadoobstétrico. El feto deberá someterse al estrés del parto y tanto el equipo de salud como lapaciente y sus familiares esperan el nacimiento de un bebé sano y sin complicaciones.Una tecnología que ha permitido mejorar esta evaluación es el monitoreo fetal electrónico(MFE) o cardiotacografía (CTG), que registra los latidos cardiofetales (LCF) y surelación con las contracciones uterinas.

La frecuencia cardiaca fetal se ha usado como indicador del estado del feto por 160 años,hasta años recientes, la auscultación intermitente usando un estetoscopio había sido elúnico método disponible, sin embargo, durante el último cuarto de siglo, la metodologíaelectrónica ha hecho posible el monitoreo continuo. Las bases del monitoreo electrónicode la frecuencia cardiaca fetal es el registro del intervalo latido a latido del corazón delfeto, ciertos patrones de los registros del monitoreo electrónico de la frecuencia cardiacafetal, están fuertemente asociados con cambios específicos en la condición fetal.

El uso clínico del MFE está basado en los cambios de la frecuencia cardiofetal (FCF) enrelación a alteraciones en la capacidad reguladora del sistema nervioso autónomo (SNA)y/o a depresión miocárdica directa, que son provocadas por la hipoxia y la acidosis fetal.

Existen 3 tipos de monitoreo electrónico, el monitoreo a través de electrocardiografía,ultrasonido y fonocardiografía. Cada uno posee ventajas y desventajas, a continuación sehará una descripción general de cada tipo de monitoreo y una comparación entre ellos.

El Ultrasonido

Un ultrasonido crea imágenes que permiten examinar diversos órganos del cuerpo y eneste caso del feto. La máquina de ultrasonido envía ondas sonoras de alta frecuencia quereflejan estructuras corporales para crear una imagen.

ElectrocardiogramaEl electrocardiógrafo permite registrar la actividad eléctrica cardiaca a partir de una seriede terminales o electrodos conectados en la superficie de cuerpo del paciente. La señal esamplificada y posteriormente enviada a un oscilógrafo capaz de hacer modificar laposición de un elemento de registro gráfico que se mueve al paso de un papelmilimetrado.

Las diferencias de potencial se interpretan con movimientos de la aguja hacia arriba oabajo en consonancia con la polaridad registrada y la magnitud del potencial, mientrasque en el papel se obtiene un trazo con ondas positivas y negativas que reflejan laactividad cardiaca observada desde los diferentes terminales o electrodos. Se utiliza unpapel especial milimetrado en forma de cuadrícula (el milimetrado es tanto vertical comohorizontal), de manera que el tiempo se mide sobre el eje de abscisas y el voltaje sobre eldeordenada.

Page 6: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

El Fonocardiograma

La fonocardiografía (registro gráfico de los sonidos del corazón) fue desarrollada paramejorar los resultados obtenidos con el estetoscopio acústico. Aunque la fonocardiografíaofrece información adicional que no puede ser obtenida por otros métodos, su uso en eldiagnóstico de enfermedades del corazón es muy raro en estos días. Una razón para estoes el complicado uso de los dispositivos fonocardiográficos tradicionales. Un trabajointeresante sobre fonocardiografía es el escrito por Van Vollenhoven y Chin (1993).El fonocardiograma documenta los tiempos y las intensidades relativas de los sonidoscardíacos en forma clara y repetida. Más aún, los sonidos débiles pueden ser amplificadoscon circuitos electrónicos.Lamentablemente, los dispositivos fonocardiográficos fueron introducidos antes de queestuvieran disponibles los circuitos integrados pequeños y de alta calidad.El reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevasposibilidades en el campo de instrumentación para la auscultación. Actualmente, existenamplificadores de alta calidad, bajo ruido y bajo consumo. Además es posibleimplementar el registro digital de señales de audio y el tratamiento digital de los datos entiempo real usando computadoras personales.

Los primeros dos métodos de medición de frecuencia cardiaca se descartanprincipalmente por tres razones, la primer razón y quizás la más importante es el costo enambos casos, otra razón es el tamaño, que, aunque en el ultrasonido no es tanconsiderable, en el electrocardiógrafo es muy notoria debido al procesamiento que seaplica y por lo tanto la electrónica necesaria, y por último, la tercer razón es debido a lamorfología de la señal y las interferencias generadas por ruido provocado por latidos dela madre, movimientos intestinales, etc., que bajo un criterio específico y muy propio,podemos pensar que es más fácil eliminar la señal no deseada.

Existe una gran diferencia sin embargo entre el dispositivo que se desarrolló y enfonocardiografo ya que el fonocardigrafo genera un tacograma y para fines prácticos eldispositivo diseñado sólo despliega la frecuencia cardiaca fetal en una pantalla de cristallíquido y no genera un registro de la señal.

El objetivo es mostrar sólo la frecuencia cardiaca fetal en la pantalla ya que de éste modose facilita el trabajo del médico de hacer uso de instrumentos manuales como el pinar y elestetoscopio y elimina los posibles riesgos que existen de cometer errores al usar elantiguo método de auscultación.Aún cuando el instrumento no realiza un registro de la señal obtenida, la medición de lafrecuencia cardiaca fetal es un indicador importante del estado de salud del feto.

Page 7: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Antecedentes

En 1826 el Dr. Rene Laenec, médico francés, inventó el precursor del estetoscopiomoderno. Desde entonces, una gran cantidad de datos de auscultaciones cardíacas se havuelto asequible. La informática nos provee ahora de herramientas que nos permitentener, en nuestra computadora, registros de auscultaciones de alta calidad que sirven deguía en el diagnóstico cardíaco. De esta forma, se abre la posibilidad de utilizar nuevastécnicas y algoritmos asistidos por computadora con el consecuente desarrollo deherramientas innovadoras aplicadas al diagnóstico. El sonido, mecánicamente hablando,es la alternancia de frentes de presión alta y baja, que se mueven a la velocidad del sonido(alrededor de 330 metros por segundo en el aire, 1570 metros por segundo a través de lasangre puesto que es más densa). Generalmente, estas ondas tienen superpuestas variasfrecuencias (o veces por segundo que la presión va de un bajo a un alto, causando altímpano una succión y un empuje, respectivamente). La forma usual de interpretar lossonidos del corazón es aquella en la que el médico escucha el corazón del paciente yescribe una descripción de su opinión subjetiva. Este método se basa en el uso delestetoscopio acústico tradicional y encuentra los siguientes inconvenientes:1. La clasificación de los hallazgos por auscultación depende fuertemente de la capacidadauditiva, entrenamiento y experiencia del médico.2. La respuesta acústica de los estetoscopios comerciales está lejos de ser de altafidelidad.3. La falta de documentación objetiva de la auscultación.4. La imposibilidad de enviar el registro a otro profesional para efectuar una segundaopinión médica o dictar una clase a distancia sobre la interpretación de sonidos cardiacos.5. La falta de un registro adecuado, situación que genera, entre otras, problemáticas deíndole legal.6. La imposibilidad de evaluar la evolución auscultatoria de un paciente por falta de unregistro gráfico que permita su análisis comparativo.Por ejemplo, soplos inocentes (funcionales) del corazón son escuchados en un 70 a 85%de los niños. Aunque la mayoría de los soplos pueden ser fácilmente escuchados, elanálisis de los hallazgos por auscultación depende fuertemente de las habilidades yexperiencia del médico. Contar con un dispositivo capaz de registrar y grabar los sonidosde una auscultación proporciona las siguientes soluciones a estos inconvenientes:a) La clasificación puede ser basada en la comparación con registros de patologíastípicas, que pueden ser vistos y escuchados repetidamente. Más aún, ésta tarea puede serllevada a cabo por la misma computadora usando algoritmos tales como: redesneuronales, función correlación, etc.b) Por otra parte, el entrenamiento con pacientes virtuales puede compensar de algunamanera la falta de experiencia con pacientes reales.c) La calidad de la señal captada por los estetoscopios digitales puede ser incrementadadependiendo de la calidad de los componentes electrónicos, el diseño del circuito, lavelocidad de muestreo del conversor analógico digital, el ruido térmico, etc. Existe laposibilidad de utilizar filtros pasivos, activos y además se puede filtrar digitalmentemediante un tratamiento de datos, arrojando un sonido de alta fidelidad.

Page 8: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

d) El archivo multimedial resultante de una auscultación puede ser transferido a otracomputadora o puesto en un sitio web con fines didácticos o almacenado en la historiaclínica electrónica de un paciente.e) Dicho archivo puede usado como prueba objetiva del estado del paciente al momentode ser auscultado. (1)

Frecuencia Cardiaca Fetal Basal (FCFB):

Frecuencia cardiaca promedio en un trazado de 10 min. Se redondean los incrementos de± 5 latidos por minuto (lpm), excluyendo los períodos de variabilidad marcada o dondehaya cambios periódicos o episódicos con lo cual se obtiene una línea de base o FCFB. Sitrazado dura menos de 2 minutos, no se puede determinar la línea de base. El cambio dela línea de base es aquel que dura un tiempo 10 min. y se clasifican en:

· FCFB normal: 110-160 lpm· bradicardia: FCFB < 110 lpm· taquicardia: FCFB > 160 lpm.

Aceleraciones:

Incremento brusco de la FCFB sobre la línea de base, de instalación en un tiempo £ 30seg. El cambio debe durar 15 segundos y con amplitud 15 lpm (en los embarazosmenores a 32 semanas se aceptan variaciones de 10 lpm por al menos 10 seg.).Aceleración prolongada es la que tiene una duración entre 2 y 10 minutos. Como ya semencionó, un cambio de más de 10 min de duración es un cambio de la FCFB yconstituiría una taquicardia.

Cambios periódicos y episódicos:

Los cambios episódicos son cambios en la línea de base, sin relación con lascontracciones uterinas. Los cambios periódicos son aquellos cambios en la línea de baseque se asocian con las contracciones uterinas. Se miden en descensos de los lpm respectode la línea de base y la duración se cuantifica en segundos y minutos.

Desaceleraciones precoces:

Son de instalación gradual (descenso se instala en un lapso 30 seg.), y su mayor descensocoincide con el acmé de la contracción.

Desaceleraciones variables:

Son de instalación abrupta o brusca (descenso se instala en un lapso < 30 seg.) y tienenuna relación variable con la contracción. A pesar que la nomenclatura del Taller del NIH(Nacional Institue of Health) no hace diferencias entre los tipos de desaceleracionesvariables, proponemos hacer una definición que distinga entre variables simples y

Page 9: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

complejas, por la mayor asociación entre variables complicadas y acidosis fetalintraparto y/o puntajes del test de Apagar bajos. Desaceleración variable complicada (ocompleja) es aquella desaceleración que presenta una amplitud a 60 lpm y/o desciende a60 lpm ó menos y/o que tiene una duración 60 seg. y/o que tiene recuperación lenta y/opresenta un alza compensatoria posterior a la desaceleración.

Desaceleración prolongada:

Es un descenso visible en la FCFB por debajo de la línea de base, de duración entre 2 y10 min.

Interpretación del MFE:

Es el significado clínico atribuido al análisis sistemático e integrado de los componentesindividuales del trazado del MFE. Para interpretar un trazado, se sugiere analizar unsegmento de aproximadamente 30 min., con un mínimo de 10 min. de registro de buenacalidad.

Patrón normal:

FCFB 110-160 lpm, con variabilidad moderada y aceleraciones. En general, en presenciade aceleraciones no hay fetos comprometidos, aunque haya desaceleraciones. También sedefine como patrón normal aquel que no tiene aceleraciones, siempre que la FCFB y lavariabilidad sean normales y no haya desaceleraciones.

Patrón sospechoso (de alarma o alterado):

Alteraciones de la FCFB, de la variabilidad y/o aparición de desaceleraciones periódicas(frecuentemente de tipo variables). Este patrón puede ser un patrón evolutivo, que secorrija y se vuelva normal o evolucione hacia un patrón patológico.

Patrón patológico (u ominoso)

Alteraciones más severas de la FCFB y/o de la variabilidad; desaceleraciones frecuentes,asociadas con variabilidad mínima o indetectable y/o alza compensatoria. Si en 15minutos hay más de 50% de desaceleraciones tardías o variables, es considerado comocriterio para la interrupción pronta del embarazo (desaceleraciones recurrentes).

Salud fetal en el trabajo de parto

Desde siempre, el momento del trabajo de parto, el parto propiamente dicho y elnacimiento de un nuevo ser han sido percibidos por nuestra especie como una situacióncrítica. Esto se debe a los riesgos que este maravilloso proceso fisiológico conlleva,correspondiendo aún hoy al período de mayor morbimortalidad a la que cada individuo seenfrenta potencialmente en toda su vida. (2)

Page 10: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

El feto como paciente y la obstetricia de seguridad

El diagnóstico de salud fetal intraparto tiene entre sus hitos los estudios de RobertoCaldeyro Barcia y todo el equipo de la escuela de Montevideo, quienes comenzaron susestudios a finales de la década del 50. El desarrollo de este conocimiento tuvo entre susconsecuencias más notorias la de aportar a la transformación del concepto de feto comosimple móvil en el trabajo de parto, al rol actual de paciente en el cual hay que evaluarsalud, diagnosticar posibles enfermedades y realizar el tratamiento si así se requiere.

Nos ubicamos hoy en una nueva etapa de la perinatología y particularmente de laobstetricia: la de una especialidad de seguridad.

Esto implica, por un lado, la necesidad de agotar los esfuerzos para asegurarle al pacienteaún no nacido, el máximo bienestar con el mínimo riesgo para así poder desarrollar sumáximo desempeño, desarrollar toda su capacidad física y mental expresando sin ningúntipo de handicap su potencial genético. Esta seguridad debe hacerse extensiva a su madre,su familia y la sociedad donde se enmarcará su crecimiento y desarrollo.

Madre, familia y comunidad exigen al equipo obstétrico y perinatológico el desarrollo detodas las garantías para que el proceso de parto no afecte negativamente al nuevo ser.

En este marco es obligación del obstetra poner en práctica aquellas medidas de vigilanciafetal intraparto adecuadas a cada situación específica de riesgo, sabiendo de lainexistencia de un método 100% seguro. (3)

Métodos diagnósticos y el papel de la monitorización electrónica de la frecuenciacardiaca fetal

Los métodos de diagnóstico de salud fetal intraparto se exponen en la tabla 2.

Tabla 2. Métodos de evaluación en salud fetal intraparto

1) DIAGNÓSTICO CLÍNICO

2) DIAGNÓSTICO PARACLÍNICO2.1) Indicadores biofísicos2.1-A) Monitorización fetal intraparto

2.1.A1) Evaluación visual2.1A.2) Evaluación computarizada

2.1.B) Métodos coadyuvantes en el análisis de la frecuencia cardíaca fetal2.1B. 1) Respuesta de la frecuencia cardíaca fetal a laestimulación del cuero cabelludo2.1B. 2) Respuesta de la frecuencia cardíaca fetal a laestimulación vibroacústica

2.2) Indicadores bioquímicos2.2.A) Evaluación de los gases en sangre2.2. B) Indicadores bioquímicos

Page 11: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

2.2.C) Otros2.3) Indicadores ecográfico-biofísicos

2.3-A) Perfil biofísico2.3-B) Ecografía Doppler

De entre ellos el más difundido es sin duda la monitorización electrónica de la frecuenciacardíaca fetal intraparto (MECFI). La misma se define como la observación y el registrocontinuo de variables biológicas frecuencia cardiaca fetal (FCF) instantánea, en relación ala presión intra amniótica (tocografía interna) o en su defecto la diferente tensión de lapared abdominal (tocografía externa), para inferir parámetros usualmente consideradoscomo buenos indicadores de la condición fetal.

Este método evalúa cinco parámetros: la FCF basal, la variabilidad de la FCF a corto ylargo plazo, las desaceleraciones de la FCF (dips), y los ascensos de la FCF.

Estos parámetros se evalúan en relación con las contracciones uterinas, valoradadirectamente mediante presión intrauterina o indirectamente mediante la deformación otensión de la pared abdominal.

Definiremos estos parámetros según lo informado por Caldeyro Barcia y colaboradores(4):

Estos definen cuatro modelos principales de la FCF durante el parto que son:

1. El modelo fisiológico.

2. Estasis sanguínea en el espacio intervelloso, dada por la presencia de dips II.

3. Oclusión de los vasos umbilicales, dado por la presencia de dips variables.

4. Compresión que deforma la cabeza fetal, dips I o cefálicos.

La variabilidad de la FCF expresa desde el punto de vista biológico la modulación queexiste sobre el aparato cardiovascular, más precisamente sobre el nódulo sinusal, de losdiferentes estímulos que regulan su actividad: actividad psíquica, física, respiratoria,cambios metabólicos, humorales, mecánicos, farmacológicos, estímulos secundarios almedio iónico, relativos a la conducción miocárdica, originados en el sistema deregulación térmica, respiratoria, del ciclo circadiano etcétera con el objetivo de prepararel aparato cardiovascular para adecuarse al ambiente que lo rodea.

Desde el punto de vista matemático, corresponde al fenómeno que expresa la diferenciaentre intervalos de tiempo que separan a los latidos cardíacos fetales y que puedeexpresarse en tiempo entre latidos o en la frecuencia de esos eventos en un lapso detiempo predeterminado. Para estudiar la variabilidad de la FCF instantánea es necesariodefinir el tipo de variabilidad que se va a estudiar, analizando fragmentos quecorrespondan a períodos estables o de equilibrio.

Page 12: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

El fenómeno de la variabilidad es un ejemplo de proceso no lineal o caótico. Correspondea un fenómeno con apariencia aleatoria pero regido por leyes deterministas; otros autoreslo expresan como una mezcla de azar y periodicidad que cumple con cuatro reglas: a)presenta determinismo y es aperiódico: no se repite en el tiempo; b) es dependiente de lascondiciones que le dan origen; c) se encuentra limitado a un marco regulatorio, es decirque tiene reglas que no pueden ser violadas; d) se presenta en formas predefinidas connormas, bandas prefijadas y zonas prohibidas.

Por último, la variabilidad es desde el punto de vista perinatológico uno de losparámetros que más se vincula con la salud fetal. En nuestro medio la primeradescripción fue de Moggia y Caldeyro Barcia. Fue también Caldeyro Barcia el que en1966 definió los eventos principales de la FCF y entre ellos la variabilidad pautando losvalores de normalidad; llamó en aquel momento "oscilaciones rítmicas" al fenómenoconstituido por ondas de hasta 15 latidos/minuto de amplitud que se repiten dos a seisveces por minuto. También observó variaciones más lentas de varios minutos deduración. La distinción entre fenómenos rápidos y lentos buscaba reflejar los efectos en lafrecuencia cardiaca de distintos mecanismos fisiológicos. Desde la década del 70 se hanpropuesto diferentes formas de evaluar la variabilidad. Muchos autores han propuestodiferentes índices para cuantificar la variabilidad de la FCF. La más difundida es la que laclasifica en STV (Short Term Variability), también llamada -variabilidad latido a latido ovariabilidad a corto plazo- y LTV (Long Term Variability) o variabilidad a largo plazo,siendo muy importante destacar que los límites para ambas varían de acuerdo a losautores (figura 2, tabla 3).

Figura 2. Esquema de registro de la variabilidad de la frecuencia cardíaca fetal (FCF)

Page 13: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Tabla 3. Cálculo de las medidas directas

FCF(cpm)

INTERVALOS(ms)

DIFERENCIA delos INTERVALOS

(ms)

STV(ms)

SUCESIÓN deINTERVALOS con

IGUAL SIGNO

LTV(ms)

133122 451 40139 491 60142 431 9123 422 65122 487 4135 491 47133 444 7 7145 451 38 38167 413 59 89178 359 22123 337 150122 487 4156 491 107

43 34

FCF: Frecuencia cardíaca fetal. STV: Short term variability. LTV: Longterm variability

Los objetivos específicos son:

a) Mejorar el valor predictivo de la prueba positiva del monitoreo fetal intraparto, elmétodo más utilizado en la valoración intraparto de salud fetal.

b) Evaluar a través de un "software", las medidas directas de la variabilidad de lafrecuencia cardiaca fetal.

c) Calcular el valor predictivo de los parámetros analizados para la presencia de acidosisneonatal mediante medidas directas en una población de fetos acidóticos y compararlacon una población apareada de fetos sin acidosis.

d) Sentar las bases para un estudio prospectivo de intervención clínica controlada.También se conoce con el nombre de prueba sin agresión,( non Stress test), ocardiotacografía ante parto sin agresión. Es un método que permite valorar la vitalidadfetal. Se comienza a emplear en general luego de la semana 28 de embarazo y evidenciael estado de salud feto-placentaria en forma inmediata. Fundamento: consiste en evaluarla frecuencia cardiaca fetal, que es regulada por el sistema nervioso. (5)

Page 14: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Criterios de Diseño

Sabiendo que deseamos muestrear sólo frecuencia cardiaca fetal que se encuentra en unrango bien definido, tomando en cuenta todas las características de la señal que se deseaobtener como su pequeña amplitud y las manipulaciones que queremos hacer a ésta, esconveniente usar diseño analógico para acondicionarla y posteriormente digitalizarla parapoder procesarla adecuadamente.

Se requiere un acondicionamiento previo de la señal porque al medirse directamente delvientre de la madre, debido a impedancias acústicas, posibles problemas de acoplamiento(altas impedancias de entrada al instrumento) y posibles movimientos externos oinclusive del mismo feto se producen pérdidas en la amplitud de la señal y ruidosexternos o no pertenecientes a la señal que son indeseables, otro de los criterios se basaen tratar de acondicionar la señal para que el operador del instrumento pueda teneropciones que le faciliten realizar la medición. Ahora bien, una vez que ya se haacondicionado la señal analógicamente queda el problema de cómo medir cada intervalolatido-latido del feto. Se trata de dar la solución más sencilla, por lo que se eligió usar unmicrocontrolador para procesar la señal y realizar los cálculos que se requieren paradesplegar el resultado que se desea, convirtiendo sólo los picos que se desean medir de laseñal a nivel digital, evitando así digitalizar toda la señal y eliminar pérdida de tiempo enanálisis de señal inútil para nuestro fin.

El siguiente diagrama a bloques describe el sistema deseado a grandes rasgos, másadelante se describirá cada bloque con detalle.

Micrófono

Teniendo ya una visión general del sistema y de las partes que conforman a este, esnecesario diseñar cada una por separado e ir acoplando según sea el requerimiento de laetapa anterior.

Filtro AmplificadorDetector deAltura de

Pulsos

MicrocontroladorPIC

LCD

Page 15: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Este documento presenta los siguientes capítulos y secciones:

• I – Acondicionamiento de la Señal. Debido a las características de la señalque se desea adquirir se muestran las características mínimas que debecumplir el transductor. Para poder procesar la señal se necesita filtrar elruido o señal no deseada y en ocasiones, la señal resultante es muypequeña, por lo que se necesitará amplificar. En esta sección se define elfuncionamiento y características de esta etapa.

• II –Procesamiento de la Señal. Después de acondicionar la señal senecesita un procesamiento, sin embargo se requiere nivel de voltaje digital,en este capitulo se describe el método de conversión. La parte deprocesamiento es en realidad la más compleja, también se dedica estecapítulo para la descripción del algoritmo usado para ello, y la etapa dedespliegue del resultado.

• III – Fuente de Alimentación. Se necesita un Dispositivo portátil para fácilmanejo, por lo que requiere baterías, en esta sección de describe laconfiguración de la fuente de alimentación usando baterías.

• Comentarios Finales. Se agrega una sección de comentarios finales acercadel desarrollo del sistema, proporcionándose ideas para mejorar el diseñoy remarcando algunas características especiales que en sí el diseñoprovocó a desarrollar.

• Apéndice A. Se anexan los códigos con comentarios de los programasusados para los microcontroladores.

• Apéndice B. Se agregan las especificaciones del Filtro, sus modos deoperación y características.

• Apéndice C. Se agregan las especificaciones de los PIC modelo 16F84.

• Apéndice D. Se anexa un manual de Operación del Instrumento.

• Apéndice E. Se anexa una guía rápida de uso para el MPLAB y elMPASM.

Page 16: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

I. ACONDICIONAMIENTO DE LA SEÑAL

Page 17: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Micrófono.

El micrófono no se incluyó en el diseño del proyecto, sin embargo se debe usar uno, porlo cual se sugiere que cumpla con ciertas características específicas para que no existaproblema de acoplamiento. Se usará un ejemplo para mostrar la especificación delmicrófono que se puede acoplar al sistema.

Se puede caracterizar la respuesta en frecuencia del micrófono de la siguiente manera,usando un software de apoyo para la adquisición de la señal, en este caso el Biopac, seconecta el micrófono acoplado a un medio con determinadas características deimpedancia acústica simulando el medio que existe desde el bebé hasta el micrófono(liquido amniótico y tejidos principalmente), y haciendo un barrido de frecuencias con ungenerador conectado a una bocina colocada en el otro extremo.

Se hará un registro de la señal variando ascendentemente la frecuencia desde 5 Hz, hasta200 Hz, ya que no interesa para este fin la respuesta a altas frecuencias.

Una vez obtenida la señal (Voltaje vs. Tiempo) se aplica una transformada rápida deFourier (FFT por sus siglas en inglés) para determinar el espectro de frecuencia de esta.La respuesta del transductor debe ser lo más plana posible para este rango de frecuenciaspara que no existan ganancias diferentes en nuestra señal resultante y no altere lainformación.

Filtro:

La señal que se desea obtener no es menor de 5 Hz ni mayor de 150 Hz, sin embargo, noes conveniente muestrear en un ancho de banda que abarque ese intervalo, ya quenormalmente el primer y segundo ruido cardiaco se encuentran alrededor de 80 y 50 Hzrespectivamente, por lo que si se desea hacer un conteo de latidos basado en uno solo deestos ruidos, habría problemas dado que ambos formarían parte de la señal de salida, porotra parte, existen casos en los que es más evidente un ruido que el otro, y por ellotampoco es conveniente diseñar un filtro para registrar un solo ruido cardiaco, entonces,se diseñará un filtro con una frecuencia de resonancia variable para poder cambiar derango y así poder elegir el ruido cardiaco más conveniente (con mayor amplitud), perocon un ancho de banda lo suficientemente pequeño (selectivo), para que las señales no setraslapen e interfiera una con otra durante el proceso de selección.Para lograr que las señales no se traslapen, se puede utilizar un filtro paso banda debutterworth de cuarto orden.Se utilizará un Circuito Integrado que contiene dos filtros de butterworth de segundoorden tipo CMOS conectados en cascada para generar un solo filtro de cuarto orden.

Page 18: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

MF10 (Universal Monolithic Dual Switched Capacitor Filter)(national semiconductor) (6)

Características:- Funcionamiento a través de Capacitores Conmutados.- Baja sensibilidad a variaciones de componentes externos.- Funciones separadas de paso bandas, paso bajas y paso altas.- Rango de Fo x Q superior a 200 KHz.- Rango de Operación de 1 Hz a 300 KHz.

Existen más características de éste integrado interesantes, sin embargo las antes descritasson suficientes para validar el uso del mismo en el sistema, ya que se tiene mayorprecisión al ser controlado por reloj (por ser de capacitores conmutados), bajo nivel deruido, rango de operación más que suficiente (en frecuencia) y opción de implementarganancia a la señal, incluso antes de pasar por el amplificador, el cual se describirá másadelante en este mismo capítulo.

La respuesta de el filtro se muestra en la figura

Page 19: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Para este modelo de integrado, existen diferentes modos de operación los cualesdependen de la función para la cual sean designados, por ejemplo, pasa bajo, paso alto,paso todo, paso banda, etc. En este caso nos interesa que funcione como paso banda, porlo que se eligió el modo de operación 1, el cual se describe en el apéndice C.

La frecuencia de la señal aplicada puede tener un efecto pronunciado sobre la respuestade un circuito simple o de varias etapas. A bajas frecuencias encontraremos que loscapacitores de acoplamiento y de derivación no pueden reemplazarse por la aproximaciónde corto circuito, debido al incremento de reactancia de estos elementos. Los parámetrosdependientes de la frecuencia de los modelos de pequeña señal, y las capacitanciasparásitas asociadas con el dispositivo activo del circuito, limitarán la respuesta en altafrecuencia del sistema. Unicamente utilizaremos los dos filtros de segundo ordenincluidos en el circuito integrado y así obtener uno sólo de cuarto orden ya que unaumento en la cantidad de etapas de un sistema en cascada también limitará la respuestaen altas y bajas frecuencias, lo que ocasionaría pérdidas de datos en la señal resultante.

Dado que es un filtro generado por capacitores conmutados, necesitamos una señal dereloj que permita dicha conmutación a una frecuencia determinada para obtener así lafrecuencia central que se desee.Para generar la señal de reloj podríamos utilizar un monoestable controlado por unpotenciómetro, pero sería difícil controlar la frecuencia central de filtrado, por lo que seutilizará un microcontrolador más (el otro se utiliza para la etapa final de procesamiento ydespliegue), de este modo con un simple interruptor de 8 posiciones se pueden generar 8señales con distinta frecuencia y así tener 8 filtros a una frecuencia de resonancia (ocentral) bien definida. El microcontrolador de ésta manera servirá simplemente como ungenerador de onda cuadrada a diferentes frecuencias pero con excelente precisión.El código se muestra en el apéndice A simplemente para tener la documentacióncompleta del sistema y se describe detalladamente, sin embargo los comandos(mnemónicos), encabezados y la notación se explicarán en el capítulo II cuando sedescriba la etapa de procesamiento y despliegue.El programa se describe en el siguiente diagrama a bloques:

A través de un software llamado MPLAB de Microchip se realizan las manipulacionesnecesarias de éste código y se graba el PIC (también a través de el MPLAB más unHardware para grabar PIC´s) y como resultado obtenemos 8 señales a diferentesfrecuencias específicas para fijar la frecuencia central del filtro paso banda como semencionó anteriormente.

Una vez establecidas las señales a diferentes frecuencias en realidad obtenemos 8 filtrospaso banda con diferentes frecuencias centrales y un mismo ancho de banda pudiendo asíseleccionar la que más convenga para facilitar el procesamiento de la señal resultante.

Para observar el efecto de los diferentes filtros en la señal se muestra una simulaciónobtenida a través del Software ACKNOWLEDGE complementado con el HardwareBIOPAC para generar una señal (realizando una conversión digital-analógico) deFonocardiograma a continuación.

Page 20: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Se ñal Original

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

T iemp o [ seg ]

Señal Filtrada 20-40 Hz

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

T i e mp o [ s e g]

Señal Filtrada 30-50 Hz

-0. 2

-0.15

-0. 1

-0.05

0

0.05

0. 1

0.15

0. 2

T i e m p o [ s e g ]

Señal Filtrada 40-60 Hz

-0 .2

-0 .15

-0 .1

-0 .05

0

0.05

0.1

0.15

0.2

T i e m p o [ s e g *

Señal Filtrada 50-70 Hz

-0.2-0.1

00.10.2

Tiem po [se g]

Am

plitu

d [V

]

Page 21: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Se ñal Filtrada 60-80 Hz

-0. 05

-0. 03

-0. 01

0. 01

0. 03

0. 05

T i e m p o [ s e g ]

Señal Filtrada 70-90 Hz

-0 .0 5

-0 .0 3

-0 .0 1

0 .0 1

0 .0 3

0 .0 5

T i e m p o [ s e g ]

Señal Filtrada 80-100 Hz

-0. 05

-0. 03

-0. 01

0. 01

0. 03

0. 05

T i e m p o [ s e g ]

Señal Filtrada 90-110 Hz

-4. 00E -02

-3. 00E -02

-2. 00E -02

-1. 00E -02

0. 00E +00

1. 00E -02

2. 00E -02

3. 00E -02

T i e m p o [ s e g ]

A través de un conector disponible en el instrumento de medición el usuario podrá ver laseñal en un osciloscopio o en una computadora y así decidir mediante un selector de 8posiciones cualquier filtro descrito anteriormente o bien la señal original si se da el casoen que no sea necesario, quedando todo a criterio del usuario.

Amplificador.

Cuando la señal sale del filtro, dependiendo de la medición realizada, la señal puede serdel orden de milivolts, por lo que necesitamos amplificarla para poder manipularla másfácilmente, en esta parte sólo hay que tener cuidado con la relación señal/ruido.Podemos usar un amplificador simple inversor, este se muestra a continuación en lasiguiente figura.

Page 22: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Para el cual, Vsalida = - Rf / Ri (Ventrada)Como ya mencionamos, Ventrada es del orden de milivolts, entonces la relación Rf / Ri oganancia del amplificador debe ser de 10 para poder manipular fácil la señal, y así poderpasar a la siguiente etapa.Cabe mencionar que la Rl (resistencia de carga) es significativa, ya que en realidad lacarga la representa la siguiente etapa, el Detector de Altura de Pulso.No siempre será necesario usar el amplificador, ya que en la etapa de filtración seimplementa una ganancia, por lo que queda a criterio del usuario, pudiendo activar dichoamplificador a través de un simple interruptor.A continuación se ejemplifican los dos casos que se pueden presentar, en el primero laseñal es lo suficientemente grande para alcanzar el umbral sin problema y se muestra enla figura.

Se ñal Original

-0 .6

-0.4

-0.2

0

0.2

0.4

0.6

T iemp o [ seg ]

Page 23: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

En el segundo caso, la señal es muy pequeña y aunque es posible bajar el umbral hastadetectar los picos, éste se vuelve un poco inestable y puede generar error, a continuaciónse muestra la señal obtenida no amplificada.

Señal Filtrada 90-110 Hz

-4. 00E -02

-3. 00E -02

-2. 00E -02

-1. 00E -02

0. 00E +00

1. 00E -02

2. 00E -02

3. 00E -02

T i e m p o [ s e g ]

Si amplificamos la señal entonces daría como resultado la señal mostrada en la figurapermitiendo aumentar el umbral de detección y eliminando la inestabilidad en el mismo.

Señal Filtrada y Am plificada 90-110 Hz

-4.00E-01

-3.00E-01

-2.00E-01

-1.00E-01

0.00E+00

1.00E-01

2.00E-01

3.00E-01

T i e mpo [ s eg]

Page 24: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

El Diagrama Eléctrico de la parte de Diseño Analógico quedaría de la siguiente Manera:

Acon

dici

onam

ient

o de

la S

eñal

(Dis

eño

Anal

ógic

o)

11

Sund

ay, D

ecem

ber 0

8, 2

002

Title

Size

Doc

umen

t Num

ber

Rev

Dat

e:Sh

eet

of

-5V

5V

GN

D

GN

D

GN

D

+ -

TL08

4

3 21

4 11

5V

5V

PIC

16F8

4

1 2 34

6 7 8 9 10 11 12 13

15

16 17 18

RA2

RA3

RA4

/TO

CKI

MC

LR

RB0

/INT

RB1

RB2

RB3

RB4

RB5

RB6

RB7

OSC

1/C

LKIN

OSC

2/C

LKO

UT

RA0

RA1

U15

A

MF1

0

4 35 1

2 9 12 6 10

VIN

N/A

P/H

PS1 LP

BP LVLS

HFT

50/1

00SA

B

CLK

Xtal

4 M

Hz

100

K

10 K

4.2

K 72 K

1 K

Salid

a1

Entra

da1

Switc

h pa

ra s

elec

ción

de

Filtr

o

1 2 3 4 5 6 7 8

16 15 14 13 12 11 10 9

Page 25: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

II. PROCESAMIENTO DE LA SEÑAL

Page 26: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Detector de Altura de Pulso o Comparador de Nivel de Voltaje:

Ya filtrada y amplificada la señal, tenemos los picos más grandes justamente durante elprimer o segundo ruido cardiaco, sin embargo, para procesar la señal necesitamosinformación digital, como la señal obtenida hasta el momento analógica la introducimos aun circuito llamado “detector de altura de pulso”, este detecta un nivel de voltaje de DC ylo convierte a un pulso de 5 volts, así ya tenemos pulsos de 5 volts, que en conjunto sepuede considerar como una señal digital.Este circuito funciona de la siguiente manera:Se establece un nivel de voltaje de referencia variable con un potenciómetro, si el voltajede entrada rebasa la altura de éste nivel de voltaje seleccionado, se produce un pulso de 5volts de la misma duración que el pulso de entrada desde que rebasa el nivel de referenciahasta que vuelve a ser menor.El diagrama eléctrico se muestra en la siguiente figura.

La señal resultante se muestra en la siguiente figura.

Se ñal de salida

0

1

2

3

4

5

6

T i empo [ seg]

Hay que tener en cuenta que es sólo un ejemplo por lo que en cada señal obtenida durantemediciones posteriores lo más probable es que varíe el tiempo del ancho del pulso.

Una vez que se ha manipulado la señal y convertida a nivel de voltaje digital, está listapara ser procesada para calcular el valor de la frecuencia en latidos por minuto [lpm] ydesplegarlo en la pantalla de cristal líquido, mismo procedimiento que se detalla en lasiguiente sección de éste capítulo.

Page 27: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

PIC16CXX (Se usará el 16F84 cuyas características corresponden en general a lasque se describen).

La gama baja de microcontroladores que fabrica Microchip esta destinada a soportaraplicaciones con unas exigencias técnicas muy limitadas, característica que resulta muyfrecuente en aplicaciones masivas. Esa familia de sencillos dispositivos se englobaba bajola denominación PIC16C5X. Cuando el microcontrolador se emplea en la resolución desistemas mas complejos que requieren mas recursos, la familia adecuada es laPIC16CXX, que se sitúa en la zona media.

Los microcontroladores de la gama media reúnen las prestaciones mas completas a unprecio muy competitivo. Disponen de comparadores analógicos, convertidoresAnalógicos/Digitales (CAD) de 8 bits, circuito de Captura/Comparación, Interfaz seriesincrono SP/I2 de 2, 3 o 4 hilos, Interfaz serie asincrono SCI de 8 o 9 bits, PWM paramanipular impulsos de 8 o 10 bits con modulación de anchura y PSP, que consiste en unPuerto paralelo esclavo que proporciona la conexión con otros microprocesadores.Además, estos recursos se distribuyen eficazmente entre los diversos modelos para que elusuario disponga de un gran abanico de posibilidades para optimizar su elección.

La principal novedad del PIC16F84 es de disponer de memoria EEPROM para contenerel programa, además de 64 bytes de este tipo de memoria para datos. Su gran ventaja (quele hace uno de los dispositivos mas empleados en los laboratorios de diseño) es su fácilreprogramabilidad pues los dispositivos EEPROM son borrables eléctricamente y norequieren un proceso de borrado con rayos ultravioleta que retrasa y complica su nuevouso. Las memorias EEPROM pueden ser regrabables cuantas veces se quieradirectamente desde el grabador, de la misma forma que se graban. (7)

Procesamiento de la Señal (mediante un microcontrolador PIC):

Con la información que nos proporciona la señal digital de entrada al microcontrolador,podemos obtener la Frecuencia Cardiaca instantánea con la siguiente fórmula:F. C. = 60/ tn [latidos/minuto]donde F.C. es la frecuencia cardiaca, 60 representa los 60 que existen en un minuto y tn

el intervalo de tiempo entre un latido y otro.Sin embargo, si se calculara la frecuencia cardiaca y se desplegara inmediatamente, lafrecuencia de desplegado sería muy rápida y probablemente sería difícil apreciar el valordado que también es muy probable que este cambie constantemente, por lo que en vez dehacer el promedio latido a latido de la frecuencia cardiaca, se hará cada cuatro latidos, eigualmente el despliegue del resultado, entonces tenemos que la fórmula cambia como semuestra a continuación:F. C. = 4(60)/TDonde ahora T = 4t, es decir el tiempo durante cuatro ciclos de latido.Por ahora supondremos que la forma en que se medirá la frecuencia cardiaca es clara ycontinuaremos mostrando el programa realizado en MPLAB que realiza las operacionesnecesarias para este proceso.

Page 28: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

El programa se describe en el siguiente diagrama a bloques:

Declaración de Variables

Inicio

Inicialización de Variables

Especificación de Dirección de Puertos

Inicio de Detección de Latidos (inicio de conteo)

No Si

Estado de Espera (1er latido) Condición de Seguridad para no Detecciónde más pulsos dentro de la duración delmismo

Inicio de Contador (tiempo = 0.02 seg/ciclo)

Incremento de Latidos (condición ¿=5?)

No Si

Condición de Seguridad para no Detección de más Cálculos pulsos dentro de la duración del mismo

Acondicionamiento de los Datos para la pantalla (LCD)

Envío de Datos a la pantalla Inicio

Especificación de PIC (código para programación de PIC)

Page 29: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

El Diagrama Eléctrico se muestra a Continuación:

Proc

esam

ient

o de

la S

eñal

(Dis

eño

Dig

ital)

11

Sund

ay, D

ecem

ber 0

8, 2

002

Title

Size

Doc

umen

t Num

ber

Rev

Dat

e:Sh

eet

of

Xtal

4 M

Hz

GN

D

5V

1 K

PIC

16F8

4

1 2 34

6 7 8 9 10 11 12 13

15

16 17 18

RA2

RA3

RA4

/TO

CKI

MC

LR

RB0

/INT

RB1

RB2

RB3

RB4

RB5

RB6

RB7

OSC

1/C

LKIN

OSC

2/C

LKO

UT

RA0

RA1

100

K

2 1

+ -

TL08

4

5 67

4 11

LCD

1 2 3 4 5 6 7 8 9 10 11 12 13 14

5V

-5 V

Entra

da

1

Page 30: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

IV. FUENTE DE ALIMENTACIÓN.

Page 31: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Fuente de AlimentaciónUna "fuente de voltaje" o "fuente de tensión" es un dispositivo que provee electricidadcon una cierta TENSION ELECTRICA (que se puede medir en unidades llamadasVoltios). Hay fuentes de tensión continua (la tensión es siempre la misma) o alternas (latensión sube y baja). Por ejemplo, tu PC tiene una Fuente de Tensión, que es una cajitametálica que está en una esquina en el interior del gabinete de tu PC. Esta fuente detensión recibe la electricidad a través del enchufe. La electricidad que recibe a través dela línea eléctrica de tu casa es de 220 V (si estás en Argentina). Pero si le pusieras los 220V de la línea a los dispositivos electrónicos de tu PC, se quemarían todos en pocosmilisegundos. Por eso, la fuente de tensión convierte estos 220 V en voltajes mucho máspequeños (típicamente,de 3, 3 Volt, 5 Volt o 12 Volt) con los que funcionan los distintoscomponentes de tu PC. La fuente de tensión tiene un transformador, que convierte los220 Voltios en voltajes menores, y un circuito rectificador, que convierte la tensiónalterna de la línea en una tensión continua. Hoy en día las fuentes de tensión ademástienen una serie de circuitos para su control (por ejemplo, para que puedas apagar tumáquina desde un programa, sin tener que apretar ningún botón).Hay fuentes de tensión variables, que pueden dar distintos voltajes de salida. Hay quetener cuidado de configurarla con la tensión correcta para el dispositivo que se quieraconectar. También hay que observar que la fuente de tensión tenga la potencia (que semide en Watt, o vatios) adecuada para el dispositivo que está alimentando.Para las fuentes controladas, puede utilizarse un voltaje de entrada para controlar unvoltaje o corriente de salida, o una corriente de entrada puede usarse para controlar unvoltaje o corriente de salida. Estos tipos de conexiones son adecuados para usarse endiversos circuitos de instrumentación.

Para proveer al dispositivo con el voltaje necesario para funcionar se usaron Reguladoresajustables de tres terminales, específicamente el LM317T y el LM337T (positivo ynegativo).

La razón que se tiene para usar voltaje positivo y negativo de alimentación es que tanto elTL084 (4 Op-Amps) como el FM10 (Filtro de Butterworth de cuarto orden) utilizanambos voltajes. Otra de las razones por las que se usaron estos dispositivos es que laalimentación se lleva a cabo a través de baterías de 9V, este voltaje no afecta a los Op-Amp, sin embargo, al tener circuitos CMOS y un LCD los cuales son muy sensibles avoltajes mayores a 5 volts, es necesario ajustar la salida de la fuente y así evitar que sedañen los circuitos integrados ya mencionados.

El Regulador Ajustable de tres terminales es un circuito integrado monolítico que proveemas de 1.5 A con un voltaje de salida ajustable de 1.2 hasta 37V. El Diagrama eléctrico yla descripción de las patitas del integrado se muestran en la figura.

Page 32: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

El Voltaje de salida está dado por los resistors R1 y R2 conectados como se muestra en lafigura. El voltaje que pasa por R1 es un voltaje constante de 1.25 V y la corriente de laterminal de ajuste es menor de 100uA. El Voltaje de salida se puede aproximar mucho a1.25V*(1+(R2/R1)).

Cuando la fuente que alimenta al regulador es apagada, el voltaje de salida cae másrápido que el voltaje de entrada, si esto no sucede, se puede conectar un diodo entre lasterminales de entrada y salida para proteger al regulador.

TO-220 -> tipo de encapsulado.

Page 33: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Los diagramas mostrados anteriormente corresponden al LM317T, que es el regulador devoltaje positivo, pero son los mismos que los que corresponden al LM337T sólo que aéste se le alimenta con un voltaje negativo. (8)

Por último acoplando ambas fuentes y reguladores y así tenemos los voltajes positivo ynegativo necesarios para alimentar a todo el sistema de medición portátil.

Page 34: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

LIST P=16F84;Se emplea el PIC 16F84 RADIX HEX;Sistema de numeraci¢n hexadecimal errorlevel -302;Elimina los mensajes que se generan durante la compilación processor 16f84 INCLUDE "P16f84.INC" ; Etiquetas gen‚ricas para los PIC 16CXX;Etiquetas genéricas para los PIC 16CXX __config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF;Condiciones para oscilador (4 MHz para crystal externo) y Watch Dog (TMR1deshabilitado).AUX EQU 0X1E ; K = address hex 1EMIENTRAS EQU 0X1DCOM EQU 0X1CNUM EQU 0X1BOPCION EQU 0x81^80HC EQU .0 ;bit 0 de status CARRYDC EQU .1 ;bit 1 de status DECIMAL CARRYZ EQU .2 ;bit 2 de status indicador de resultado nuloPD EQU .3 ;bit 3 de status SLEEP o bit de bajo consumoTO EQU .4 ;bit 4 de status bit de fin de temp. WDTRPO EQU .5 ;bit 5 de status selección de banco 0RP1 EQU .6 ;bit 6 de status selección de banco 1

Se asigna una localidad de memoria para cada variable, para así, poder almacenar datos ypoder mandar a llamar cuando sea requerido por algún comando, por ejemplo, la variablelatidos se encuentra en la localidad 1F.Hay que tener en cuenta que el espacio de memoria para almacenar variables es limitado,ya que a partir de la localidad 2F se comienza a almacenar el programa ya compilado, osea, en hexadecimal.

ORG 0 goto INICIO ORG 5INICIO bsf STATUS,RP0 movlw 0x00 movwf TRISA movlw 0xFF movwf TRISB movlw b'10000000' movwf OPTION_REG bcf STATUS,RP0

Llamadas a subrutinas para inicialización de Pantalla de Cristal Líquido (se mantiene enespera de datos para despliegue).

Page 35: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

INICIO2 movlw 0x00 movwf AUX movwf NUM

Se carga el valor 0 al registro interno W (default) y se copia a las variables indicadas acontinuación del mnemónico

REVISION movf PORTB,W movwf MIENTRAS movlw 0x00 xorwf MIENTRAS,0 btfsc STATUS,2 call FREC0 ;para 30.16 Hz movlw 0x01 xorwf MIENTRAS,0 btfsc STATUS,2 call FREC1 ;para 39.94 Hz movlw 0X02 xorwf MIENTRAS,0 btfsc STATUS,2 call FREC2 ;para 50 Hz movlw 0x03 xorwf MIENTRAS,0 btfsc STATUS,2 call FREC3 ;para 59.5 Hz movlw 0x04 xorwf MIENTRAS,0 btfsc STATUS,2 call FREC4 ;para 70.5 Hz movlw 0x05 xorwf MIENTRAS,0 btfsc STATUS,2 call FREC5 ;para 80.15 Hz movlw 0x06 xorwf MIENTRAS,0 btfsc STATUS,2 call FREC6 ;para 89.94 Hz movlw 0x07 xorwf MIENTRAS,0 btfsc STATUS,2 call FREC7 ;para 100 Hz movlw 0x01 movwf PORTA call TIMER

Page 36: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

movlw 0x00 movwf PORTA call TIMER goto INICIO

Dependiendo de la posición del switch se genera un estado o número binario yautomáticamente es leído a través del puerto B del pic y le asigna una frecuencia paragenerar a su vez un filtro específico.

TIMER bcf STATUS,RP0 clrf TMR0 bsf STATUS,RP0 movlw 0X80 movwf OPTION_REG bcf STATUS,RP0TIMER2 movf TMR0,W ;base = 1:2 addwf COM, 0 btfsc STATUS, 0 goto TIMER3 goto TIMER2TIMER3 clrf TMR0TIMER4 movf TMR0,W addwf AUX, 0 btfsc STATUS, 0 return goto TIMER4

Rutinas destinadas a realizar una pérdida de tiempo dependiendo de los valores asignadospara generar cada filtro.

FREC0 movlw 0x80 ;complemento para que exista acarreo movwf COM movlw 0xFF movwf AUX returnFREC1 movlw 0x60 ;complemento para que exista acarreo movwf COM movlw 0xFF movwf AUX returnFREC2 movlw 0x40 ;complemento para que exista acarreo movwf COM movlw 0xFF movwf AUX returnFREC3 movlw 0x20 ;complemento para que exista acarreo

Page 37: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

movwf COM movlw 0xFF movwf AUX returnFREC4 movlw 0x20 ;complemento para que exista acarreo movwf COM movlw 0xE0 movwf AUX returnFREC5 movlw 0x20 ;complemento para que exista acarreo movwf COM movlw 0xC0 movwf AUX returnFREC6 movlw 0x20 ;complemento para que exista acarreo movwf COM movlw 0xA0 movwf AUX returnFREC7 movlw 0x20 ;complemento para que exista acarreo movwf COM movlw 0x80 movwf AUX return

Valores asignados a las variables correspondientes para ser interpretadas y generar cadauno de los ocho filtros a través de las subrutinas TIMERX.

END

Nota: Las función de cada instrucción se detalla en el código usado para el segundopic anotada como comentario debajo de cada instrucción.

Page 38: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

LIST P=16F84;Se emplea el PIC 16F84RADIX HEX;Sistema de numeración hexadecimalprocessor 16f84INCLUDE "P16f84.INC";Etiquetas genéricas para los PIC 16CXX__config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF;Condiciones para oscilador (4 MHz para crystal externo) y Watch Dog (TMR1deshabilitado).

- Inicio Declaración de VariablesInicialización de Variables

LATIDOS EQU 0X1F ; J = address hex 1FAUX EQU 0X1E ; K = address hex 1EREGISTRO EQU 0X1DREGISTRO2 EQU 0X26TEMPORAL EQU 0X1CRESULTADO1 EQU 0X1BRESULTADO2 EQU 0X09CONTADOR EQU 0X1AREG1 EQU 0X20REG2 EQU 0X21REG3 EQU 0X27CENTENA EQU 0X22DECENA EQU 0X23UNIDAD EQU 0X24MIENTRAS EQU 0X25LCD_VAR EQU 0X26RESUL EQU 0x0CTEMPO1 EQU 0x0DOFFSET EQU 0x0ETEMP_1 EQU 0X0FSEG EQU 0X10OPCION EQU 0x81^80HC EQU .0 ;bit 0 de status CARRYDC EQU .1 ;bit 1 de status DECIMAL CARRYZ EQU .2 ;bit 2 de status indicador de resultado nuloPD EQU .3 ;bit 3 de status SLEEP o bit de bajo consumoTO EQU .4 ;bit 4 de status bit de fin de temp. WDTRPO EQU .5 ;bit 5 de status selección de banco 0RP1 EQU .6 ;bit 6 de status selección de banco 1

Page 39: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Se asigna una localidad de memoria para cada variable, para así, poder almacenar datos ypoder mandar a llamar cuando sea requerido por algún comando, por ejemplo, la variablelatidos se encuentra en la localidad 1F.Hay que tener en cuenta que el espacio de memoria para almacenar variables es limitado,ya que a partir de la localidad 2F se comienza a almacenar el programa ya compilado, osea, en hexadecimal.

ORG 0 goto INICIOEl programa comienza en la dirección 0 y salta a la dirección 5 para sobrepasar el vectorde interrupción. ORG 5 INCLUDE "LC2_CXX.ASM"INICIO

call UP_LCD call LCD_INI call DISPLAY_ON_CUR_OFFLlamadas a subrutinas para inicialización de Pantalla de Cristal Líquido (se mantiene enespera de datos para despliegue). bsf STATUS,RP0; Selección del banco 1 movlw 0x08; Carga 08hex en el registro W movwf TRISA;Copia lo que hay en el registro W al registro TRISA movlw b'10000111';Carga 10000111bin en el registro W movwf OPTION_REG;Copia lo que hay en el registro W al registro OPTION_REG bcf STATUS,RP0; Selección del banco 0

Selección del Banco 1 para acceso al Registro TrisA (inicialización del puerto A) yOption_Reg (inicialización del contador TMR0).

movlw 0x00;Carga 00hex en el registro W movwf UNIDAD;Copia lo que hay en el Registro W al registro UNIDAD movwf CONTADOR;Copia lo que hay en el Registro W al registro CONTADOR movwf CENTENA;Copia lo que hay en el Registro W al registro CENTENA movwf DECENA;Copia lo que hay en el Registro W al registro DECENA movwf LATIDOS

Page 40: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

;Copia lo que hay en el Registro W al registro LATIDOS movwf AUX;Copia lo que hay en el Registro W al registro AUX movwf REG2;Copia lo que hay en el Registro W al registro REG2 movwf REG1;Copia lo que hay en el Registro W al registro REG1 movwf SEG;Copia lo que hay en el Registro W al registro SEG

Se carga el valor 0 al registro interno W (default) y se copia a las variables indicadas acontinuación del mnemónico, por ejemplo, el comando movwf UNIDAD copia el valor 0a la variable UNIDAD, así se evita tener problemas en caso de tener un valor anterioralmacenado dicha variable el cual lo más seguro es que sea basura para nuestro fin.

- Especificación de Dirección de Puertos

PRINCIPAL1bsf STATUS,RP0

;Selecciona página 1 movlw b'00001111';Carga 00001111bin en el Registro W movwf PORTB;Copia lo que hay en el Registro W al Registro PORTB bsf OPTION_REG,NOT_RBPU;Activa cargas pull-up de las patitas de los puertos bcf STATUS,RP0;Selecciona página 0

Se especifica la dirección del puerto B cambiando de banco, cabe mencionar que en laparte anterior se especifica la dirección del puerto B mediante el mismo procedimiento(en el banco 1 o página 1 TRISA = PORTA y TRISB = PORTB).por ejemplo, si el bit0 = 1 en TRISB para el banco 1, automáticamente al cambiar alpuerto 0, el bit0 del puerto B estará configurado como salida, contrariamente, si el bit0 =0 en el banco 1, al cambiar al banco 0 el mismo bit del puerto B estará configurado comoentrada.

- Inicio de Conteo de Latidos (condición ¿Hay detección?)-

PRINCIPAL09 call REVISION;Manda a llamar a subrutina REVISION (para verificar hay un pulso) movwf MIENTRAS;Copia lo que hay en el Registro W al Registro MIENTRAS movlw 0XF8;Carga F8hex en el Registro W

Page 41: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

addwf MIENTRAS,0;Suma los Registros MIENTRAS y W y los almacena en W btfss STATUS,0;Si hay un bit de acarreo generado por la suma brinca goto LOOPM;Manda el apuntador a Subrutina LOOPM goto INCREMENTO;Manda el apuntador a Subrutina INCREMENTO

En esta subrutina se carga el valor del puerto A al registro W, el único bit de entrada en elpuerto A es el bit3 (comenzando a contar de 0), por lo cual, si hay un nivel alto (5 volts),significa que hubo un latido por lo cual por lo menos tendrá el valor de 23 (8 en decimal),dependiendo de los demás bits (configurados como salida), si usamos como indicador elregistro STATUS (registro de estado o de banderas), podemos hacer losiguiente, se almacena temporalmente el puerto A en la variable MIETRAS para poderhacer manipulaciones algebraicas, como siguiente paso, se suma la variable MIENTRAScon F8 hex (248 en decimal), de tal forma que si existe un pulso (5 volts) genera un 8dec enla variable MIENTRAS que al sumarse con 248 provoca un acarreo poniendo en alto labandera de CARRY (bit0 de STATUS).Habiendo explicado lo anterior podemos entender la condición de brinco, el mnemónicobtfss genera un brinco de linea cuando cumple la condición deseada (si bit = 1 => brinca,de lo contrario realiza la instrucción de la siguiente linea) de tal forma que si hay pulsobrinca a la Subrutina INCREMENTO, si no lo hay, no brinca manda el apuntador a laSubrutina LOOPM

- Estado de Espera (1er latido)La Subrutina LOOPM es para borrar la información cargada en la variable MIENTRAS einicializarla de nuevo, esta se muestra a continuación:LOOPM

movlw 0X00;Carga 00hex en el Registro W movwf MIENTRAS;Copia lo que hay en el Registro W al Registro MIENTRAS goto PRINCIPAL03;Manda el apuntador a Subrutina PRINCIPAL09

REVISIONmovf PORTA,W

;Copia lo que hay en el Puerto A al registro Wmovwf MIENTRAS

;Copia lo que hay en el Registro W al Registro Mientrasmovlw b'00001000'

;Carga el valor 00001000 binario en el registro Wandwf MIENTRAS,W

;Realiza la operación lógica and entre el registro W y el registro Mientras, y lo almacenaen W

Page 42: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

return;Regresa el apuntador

Así, después de inicializar la variable MIENTRAS, regresa a la Subrutina PRINCIPAL09y se genera un lazo cerrado que no se rompe hasta que se detecta el primer latido (pulsode 5 volts).

La Subrutina INCREMENTO se explicará más adelante.

- Condición de Seguridad para no Detección de más pulsos dentro de laduración del mismo

PRINCIPAL11movlw 0xF4

;carga F4hex en el Registro W addwf REG3,0;Suma los registros REG3 y W y el resultado lo almacena en W btfsc STATUS,0;Si hay un cero en el bit de acarreo generado por la suma brinca goto PRINCIPAL12;Manda el apuntador a Subrutina PRINCIPAL12 call TIMER;Manda a llamar a Subrutina TIMER (el apuntador regresa a este punto) goto PRINCIPAL11;Manda el apuntador a Subrutina PRINCIPAL11PRINCIPAL12

movlw 0x00;Carga 00hex en el Registro W movwf REG3;Copia lo que hay en el Registro W al Registro REG3 goto PRINCIPAL;Manda el apuntador a Subrutina PRINCIPAL

La Subrutina TIMER sirve para perder tiempo, se explicará más adelante, sólo semenciona por el momento para poder comprender estas dos subrutinas.La razón de haber cargado F2hex (242 en decimal) es para hacer perder 14 veces el tiempoque pierde a su vez el TIMER ( 14 x .02 seg = .28 seg), esto se realiza de la siguientemanera, se carga el valor F2 al registro W, se suma al valor almacenado en REG3, la cuales una variable que se incrementa cada vez que el apuntador regresa de la SubrutinaTIMER, así, cuando REG3 alcance el valor de 0Ehex (14 en decimal) la suma generará unacarreo y el bit0 del Registro STATUS cambiará de 0 a 1 (nivel alto).El mnemónico btfsc funciona de manera inversa al btfss, en este caso si el bit que sedesea monitorear es igual a 0 se genera el brinco de línea, de lo contrario no se genera,enotonces, cuando la variable REG3 alcanza el valor de 14dec se manda a llamar a lasubrutina PRINCIPAL12 que inicializa la variable REG3 con el valor de 0 y el apuntadorse va a la Subrutina PRINCIPAL para esperar un nuevo latido, en caso de no haber

Page 43: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

llegado a el valor deseado, se genera un lazo cerrado mandando a llamar a la SubrutinaTIMER hasta que REG3 alcance este valor.

- Inicio de Contador (tiempo = 0.02 seg/ciclo)

TIMERbcf STATUS,RP0

;Selección página 1 clrf TMR0;limpia el registro TMR0 (registro que lleva el conteo interno) bsf STATUS,RP0;Selección página 0 movlw 0X87;Carga el valor 87hex en el registro W movwf OPTION_REG;Copia lo que hay en el registro W al registro OPTION_REG bcf STATUS,RP0;Selección página 1 TIMER2 movf TMR0,W;Copia lo que hay en el registro TMR0 al registro W movwf REGISTRO:Copia lo que hay en el registro W al registro REGISTRO movlw 0X06;Carga el valor 06hex en el registro W movwf REGISTRO2;Copia lo que hay en el registro W al registro REGISTRO movf REGISTRO, W;Copia lo que hay en el registro REGISTRO a W xorwf REGISTRO2, W;Realiza una operación lógica XOR con REGISTRO2 y W y la almacena en W btfss STATUS,2;Si hay un uno en el bit de bandera zero generado por la operación lógica binca goto TIMER2;Manda el apuntador a la Subrutina TIMER2 goto TIMER2A;Manda el apuntador a la Subrutina TIMER

TIMER2Aincf SEG

;Incrementa la Variable (registro) SEG movlw 0x0D;Carga el valor Dhex en el Registro W xorwf SEG,W;Realiza la operación lógica XOR con SEG y W y la almacena en W btfsc STATUS,2

Page 44: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

;Si hay un cero en el bit de bandera zero generado por la operación lógica binca call SEGUNDERO;Manda a llamar a la subrutina SEGUNDERO return;Regresa el apuntadorSEGUNDERO incf AUX:Incrementa la variable (registro) AUX incf REG3;Incrementa la variable (registro) REG3 movlw 0X00;Carga el valor 0hex en el Registro W movwf SEG;Copia lo que hay en el Registro W al Registro SEG return;Regresa el apuntador

Para poder utilizar adecuadamente el TMR0 se requiere inicializar el registroOPTION_REG localizado dentro del banco 1, cada bit modificado (valor 1 o 0) modificael modo de trabajo del TMR0.El modo en que trabaja el TMR0 para los valores cargados en el OPTION_REG es elsiguiente:Frecuencia del oscilador : 1 MhzDivisor de Frecuencias : 256 bitsFunción como contador de eventos internosPor lo que el TMR0 se incremente cada .000256 segundos, al realzarlo 4Dhex (77 endecimal) veces tenemos un incremento de .019712 en REGISTRO cada ciclo dividido endos subrutinas (TIMER2 y TIMER2A) para evitar el caso en que se presente un pulsodurante esta pérdida de tiempo, cuando la variable REGISTRO alcanza el valor deseado,se manda a llamar a la subrutina SEGUNDERO, que incrementa la variable AUX yREG3, en la variable AUX se lleva la cuenta del tiempo transcurrido durante cada latido(el tiempo del periodo entre latido y latido) y en la variable REG3 el tiempo que pierdecuando ya se ha detectado el pulso.

Incremento de Latidos (condición ¿=5?)

PRINCIPALcall REVISION

;Manda a llamar a la subrutina REVISION movwf MIENTRAS;Copia lo que hay en el Registro W en el Registro MIENTRAS movlw 0XF8;Carga el valor F8hex en el Registro W addwf MIENTRAS,0;Hace una suma con el Registro MIENTRAS y el Registro W y lo almacena en W btfsc STATUS,0

Page 45: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

;Si hay un cero en el bit de acarreo generado por la suma brinca goto INCREMENTO;Manda el apuntador a la Subrutina INCREMENTO call TIMER;Manda a llamar a la Subrutina TIMER goto LOOP1;Manda el apuntador a la Subrutina INCREMENTOINCREMENTO

incf LATIDOS, W:Incrementa la variable (registro) LATIDOS y lo almacena en W movwf LATIDOS;Copia lo que hay en el Registro W al Registro LATIDOS movlw 0x05;Carga el valor 5hex en el Registro W xorwf LATIDOS,w;Realiza la operación lógica XOR con LATIDOS y W y lo almacena en W btfss STATUS,2;Si hay un uno en el bit de bandera zero generado por la operación lógica binca goto PRINCIPAL11;Manda el apuntador a la Subrutina PRINCIPAL11 goto DIVISION;Manda el apuntador a la Subrutina DIVISION

La Subrutina PRINCIPAL se encarga de detectar latidos una vez que ya se detectó elprimero, funciona de manera similar a la Subrutina PRINCIPAL10 y de igual forma elLOOP1 al LOOPM, la única diferencia es que no se mantiene en un lazo permanenteesperando el latido, sino que en lugar de esto, manda a llamar a la Subrutina TIMER paraincrementar la cuenta de tiempo mientras llega el 2º, 3º, 4º o 5º latido, cada vez quedetecta un latido nuevo, llama a la Subrutina INCREMENTO, en esta Subrutina seincrementa la variable LATIDOS y cuando llega a 5 manda el apuntador a la SubrutinaDivisión, en caso contrario se crea un lazo sin dejar de perder tiempo a través de laSubrutina TIMER esperando un nuevo latido hasta que se cumpla la condición.

- Condición de Seguridad para no Detección de más pulsos dentro de laduración del mismo

Se Utilizan las Subrutinas PRINCIPAL11 Y PRINCIPAL12

- CálculosDIVISION

movlw 0xE0 ;divisor (24000 dec) movwf RESULTADO1 ;guarda w en RESULTADO1 movlw 0x2E movwf RESULTADO2

DIVISION2call CHEQUEO

Page 46: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

incf CONTADOR, W ;incrementa contador y lo guarda encontador movwf CONTADOR movf AUX,W subwf RESULTADO1 btfsc STATUS,2 goto ULTIMA btfsc STATUS,0 goto DIVISION2 goto ACARREO

ULTIMAmovlw 0x00

movwf REG2 movf RESULTADO2,0 xorwf REG2,0 btfss STATUS,2 goto DIVISION2 goto REST100

ACARREOcall CEROS

addwf RESULTADO2,W movwf RESULTADO2 movf RESULTADO1,W goto DIVISION2

CEROSmovlw 0xFF

return

CHEQUEO movf RESULTADO2,W btfsc STATUS,2 goto CHEQUEO2 return

CHEQUEO2movf AUX,0 ;guarda RESULTADO1 en Wsubwf RESULTADO1,0

;rutinita para comparar si RESULTADO1<AUX btfss STATUS,0 ;si no es igual, brinca goto REST100 movf RESULTADO1,W return

Page 47: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Las subrutinas anteriores se encargan de realizar la división, en realidad se realiza comorestas sucesivas, se necesita más procesamiento de lo que se piensa ya que en este caso alusar unidades de milisegundos se necesitan más dígitos (no es posible hacerlo de otromodo), y se necesita usar dos registros en vez de uno, lo cual complicaconsiderablemente las operaciones de números binarios por los acarreos y complementos.

- Acondicionamiento de los Datos para la pantalla (LCD)

REST100movf CONTADOR, W

movwf REG1

REST100_Amovwf REG1

movlw 0x64 subwf REG1, 0 btfss STATUS,0 goto REST10 incf CENTENA goto REST100_AREST10

movlw 0x00 xorwf CENTENA btfsc STATUS,2 call ARREGLOREST10_A

movlw 0x0A subwf REG1,0 btfss STATUS,0 goto REST1 incf DECENA movwf REG1 goto REST10_AREST1

movlw 0x00 xorwf DECENA btfsc STATUS,2 call ARREGLO movf REG1,W movwf UNIDAD goto PREVIO

Una vez calculado el valor que se desea hay que cambiarlo a decimal, por lo que en estarutina, se realiza de nuevo una serie de restas sucesivas para calcular y separar unidades,decenas y centenas.

Page 48: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

PREVIOmovlw 0xF6

addwf CENTENA,0 btfsc STATUS,0 call UNO1 movlw 0x00 xorwf CENTENA,0 btfsc STATUS,2 call CERO1 movlw 0x01 xorwf CENTENA,0 btfsc STATUS,2 call UNO1 movlw 0X02 xorwf CENTENA,0 btfsc STATUS,2 call DOS1 movlw 0X03 xorwf CENTENA,0 btfsc STATUS,2 call TRES1 movlw 0X04 xorwf CENTENA,0 btfsc STATUS,2 call CUATRO1 movlw 0X05 xorwf CENTENA,0 btfsc STATUS,2 call CINCO1 movlw 0X06 xorwf CENTENA,0 btfsc STATUS,2 call SEIS1 movlw 0X07 xorwf CENTENA,0 btfsc STATUS,2 call SIETE1 movlw 0X08 xorwf CENTENA,0 btfsc STATUS,2 call OCHO1 movlw 0X09 xorwf CENTENA,0 btfsc STATUS,2 call NUEVE1

Page 49: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

goto PREVIO2

PREVIO2movlw 0xF4

addwf DECENA,0 btfsc STATUS,0 call NUEVE2 movlw 0x01 xorwf DECENA,0 btfsc STATUS,2 call UNO2 movlw 0x02 xorwf DECENA,0 btfsc STATUS,2 call DOS2 movlw 0x03 xorwf DECENA,0 btfsc STATUS,2 call TRES2 movlw 0x04 xorwf DECENA,0 btfsc STATUS,2 call CUATRO2 movlw 0x05 xorwf DECENA,0 btfsc STATUS,2 call CINCO2 movlw 0x06 xorwf DECENA,0 btfsc STATUS,2 call SEIS2 movlw 0x07 xorwf DECENA,0 btfsc STATUS,2 call SIETE2 movlw 0x08 xorwf DECENA,0 btfsc STATUS,2 call OCHO2 movlw 0x09 xorwf DECENA,0 btfsc STATUS,2 call NUEVE2 movlw 0x0A xorwf DECENA,0 btfsc STATUS,2

Page 50: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

call NUEVE2 movlw 0x0B xorwf DECENA,0 btfsc STATUS,2 call NUEVE2 movlw 0x0C xorwf DECENA,0 btfsc STATUS,2 call NUEVE2 movlw 0x00 xorwf DECENA,0 btfsc STATUS,2 call CERO2 goto PREVIO3

PREVIO3movlw 0xF4

addwf UNIDAD,0 btfsc STATUS,0 call NUEVE3 movlw 0x01 xorwf UNIDAD,0 btfsc STATUS,2 call UNO3 movlw 0x02 xorwf UNIDAD,0 btfsc STATUS,2 call DOS3 movlw 0x03 xorwf UNIDAD,0 btfsc STATUS,2 call TRES3 movlw 0x04 xorwf UNIDAD,0 btfsc STATUS,2 call CUATRO3 movlw 0x05 xorwf UNIDAD,0 btfsc STATUS,2 call CINCO3 movlw 0x06 xorwf UNIDAD,0 btfsc STATUS,2 call SEIS3 movlw 0x07 xorwf UNIDAD,0

Page 51: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

btfsc STATUS,2 call SIETE3 movlw 0x08 xorwf UNIDAD,0 btfsc STATUS,2 call OCHO3 movlw 0x09 xorwf UNIDAD,0 btfsc STATUS,2 call NUEVE3 movlw 0x0A xorwf UNIDAD,0 btfsc STATUS,2 call NUEVE3 movlw 0x0B xorwf UNIDAD,0 btfsc STATUS,2 call NUEVE3 movlw 0x0C xorwf UNIDAD,0 btfsc STATUS,2 call NUEVE3 movlw 0x00 xorwf UNIDAD,0 btfsc STATUS,2 call CERO3 goto INICIO_1

CERO1movlw '0'

movwf CENTENA returnUNO1

movlw '1' movwf CENTENA returnDOS1

movlw '2' movwf CENTENA returnTRES1

movlw '3' movwf CENTENA returnCUATRO1

movlw '4'

Page 52: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

movwf CENTENA returnCINCO1

movlw '5' movwf CENTENA returnSEIS1

movlw '6' movwf CENTENA returnSIETE1

movlw '7' movwf CENTENA returnOCHO1 movlw '8' movwf CENTENA returnNUEVE1 movlw '9' movwf CENTENA returnUNO2

movlw '1' movwf DECENA returnDOS2

movlw '2' movwf DECENA returnTRES2

movlw '3' movwf DECENA returnCUATRO2

movlw '4' movwf DECENA returnCINCO2 movlw '5' movwf DECENA returnSEIS2

movlw '6' movwf DECENA return

Page 53: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

SIETE2movlw '7'

movwf DECENA returnOCHO2

movlw '8' movwf DECENA returnNUEVE2

movlw '9' movwf DECENA returnCERO2

movlw '0' movwf DECENA returnUNO3

movlw '1' movwf UNIDAD returnDOS3

movlw '2' movwf UNIDAD returnTRES3

movlw '3' movwf UNIDAD returnCUATRO3

movlw '4' movwf UNIDAD returnCINCO3

movlw '5' movwf UNIDAD returnSEIS3

movlw '6' movwf UNIDAD returnSIETE3

movlw '7' movwf UNIDAD returnOCHO3

movlw '8'

Page 54: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

movwf UNIDAD returnNUEVE3

movlw '9' movwf UNIDAD returnCERO3

movlw '0' movwf UNIDAD returnARREGLO

movf CONTADOR,W movwf REG1 return

Las tablas mostradas anteriormente son simplemente para asignar el valor en códigoASCIII para poder enviar los datos correctamente a la pantalla de cristal líquido.

- Envío de Datos a la pantalla

INICIO_1call UP_LCD ; Configura el PIC para el uso del LCD

bsf STATUS,RP0 ; Selecci¢n del banco 1 movlw b'10000111' movwf OPCION ;Asigna preescaler al TMR0 bcf STATUS,RP0 call LCD_INI ;Inicializa el LCD call BORRA_Y_HOME call DISPLAY_ON_CUR_OFF movlw 0x80 ; Primera posici¢n de primera fila call LCD_REG movlw b'00000110' ; Entry Mode Set. Inc de cursor call LCD_REG clrf OFFSET ; Direcci¢n del mensaje call MENSBUCL goto INICIO

;RUTINA MENS: Esta rutina saca mensajes por la pantalla LCD,;siendo el primer car cter aquel que est en la posici¢n apuntada;por OFFSET, y debiendo ser el £ltimo 0x00MENS

clrf RESUL ;Inicializa contador de caracteresMENS_1

movf OFFSET,W ;Coge el desplazamiento addwf RESUL,W ;Calcula el car cter a coger

Page 55: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

call DATOS ;Coge el car cter iorlw 0 ;Actualiza flags btfsc STATUS,2 ;Comprueba si es el £ltimo return ;Si es el £ltimo vuelve call LCD_DATO ;Visualiza el car cter incf RESUL,F ;Incrementa contador de caracteres incf RESUL,F movlw d'10' movwf TEMPO1 goto MENS_1DATOS

addwf PCL,1 movf CENTENA,W return ; OFFSET = 0x00 movf DECENA,W return movf UNIDAD,W return nop retlw ' ' nop retlw 'l' nop retlw 'p' nop retlw 'm' nop retlw 0x00

Existen algunas subrutinas que no se incluyen en el código, dado que ya están hechas ysólo se usaron para apoyo y para facilitar el método de procesamiento. Para informaciónadicional consultar la página de Microchip components: http/www.Microchip.com

Page 56: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

MF10Universal Monolithic Dual Switched Capacitor FilterGeneral DescriptionThe MF10 consists of 2 independent and extremely easy touse, general purpose CMOS active filter building blocks.Each block, together with an external clock and 3 to 4resistors, can produce various 2nd order functions. Eachbuilding block has 3 output pins. One of the outputs can beconfigured to perform either an allpass, highpass or a notchfunction; the remaining 2 output pins perform lowpass andbandpass functions. The center frequency of the lowpassand bandpass 2nd order functions can be either directlydependent on the clock frequency, or they can depend onboth clock frequency and external resistor ratios. The centerfrequency of the notch and allpass functions is directly de-pendent on the clock frequency, while the highpass centerfrequency depends on both resistor ratio and clock. Up to 4thorder functions can be performed by cascading the two 2ndorder building blocks of the MF10; higher than 4th orderfunctions can be obtained by cascading MF10 packages.

Any of the classical filter configurations (such as Butter-worth, Bessel, Cauer and Chebyshev) can be formed.

For pin-compatible device with improved performance referto LMF100 datasheet.

Featuresn Easy to usen Clock to center frequency ratio accuracy ±0.6%n Filter cutoff frequency stability directly dependent on

external clock qualityn Low sensitivity to external component variationn Separate highpass (or notch or allpass), bandpass,

lowpass outputsn fO x Q range up to 200 kHzn Operation up to 30 kHzn 20-pin 0.3" wide Dual-In-Line packagen 20-pin Surface Mount (SO) wide-body package

System Block Diagram

01039901

Package in 20 pin molded wide body surface mount and 20 pin molded DIP.

May 2001M

F10U

niversalMonolithic

DualS

witched

Capacitor

Filter

© 2001 National Semiconductor Corporation DS010399 www.national.com

Page 57: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Absolute Maximum Ratings (Note 1)

If Military/Aerospace specified devices are required,please contact the National Semiconductor Sales Office/Distributors for availability and specifications.

Supply Voltage (V+ − V−) 14V

Voltage at Any Pin V+ + 0.3V

V− − 0.3V

Input Current at Any Pin (Note 2) 5 mA

Package Input Current (Note 2) 20 mA

Power Dissipation (Note 3) 500 mW

Storage Temperature 150˚C

ESD Susceptability (Note 11) 2000V

Soldering InformationN Package: 10 sec 260˚C

SO Package:

Vapor Phase (60 Sec.) 215˚C

Infrared (15 Sec.) 220˚C

See AN-450 “Surface Mounting Methods and TheirEffect on Product Reliability” (Appendix D) for othermethods of soldering surface mount devices.

Operating Ratings (Note 1)

Temperature Range TMIN ≤ TA ≤ TMAX

MF10ACN, MF10CCN 0˚C ≤ TA ≤ 70˚C

MF10CCWM 0˚C ≤ TA ≤ 70˚C

Electrical CharacteristicsV+ = +5.00V and V− = −5.00V unless otherwise specified. Boldface limits apply for T MIN to TMAX; all other limits TA = TJ =25˚C.

MF10ACN, MF10CCN,

MF10CCWM

Symbol Parameter Conditions Typical Tested Design Units

(Note8)

Limit Limit

(Note9)

(Note10)

V+ −V−

Supply Voltage Min 9 V

Max 14 V

IS Maximum Supply Clock Applied to Pins 10 &11

8 12 12 mA

Current No InputSignal

fO Center Frequency Min fO x Q < 200 kHz 0.1 0.2 Hz

Range Max 30 20 kHz

fCLK Clock Frequency Min 5.0 10 Hz

Range Max 1.5 1.0 MHz

fCLK/fO 50:1 Clock toCenter FrequencyRatio Deviation

MF10A Q = 10Mode 1

Vpin12 = 5VfCLK = 250KHz

±0.2 ±0.6 ±0.6 %

MF10C ±0.2 ±1.5 ±1.5 %

fCLK/fO 100:1 Clock toCenter FrequencyRatio Deviation

MF10A Q = 10Mode 1

Vpin12 = 0VfCLK = 500kHz

±0.2 ±0.6 ±0.6 %

MF10C ±0.2 ±1.5 ±1.5 %

Clock Feedthrough Q = 10Mode 1

10 mV

Q Error (MAX) Q = 10 Vpin12 = 5V ±2 ±6 ±6 %

(Note 4) Mode 1 fCLK = 250kHz

Vpin12 = 0V ±2 ±6 ±6 %

fCLK = 500kHz

HOLP DC Lowpass Gain Mode 1 R1 = R2 = 10k 0 ±0.2 ±0.2 dB

VOS1 DC Offset Voltage (Note 5) ±5.0 ±20 ±20 mV

VOS2 DC Offset Voltage Min Vpin12 = +5V SA/B = V+ −150 −185 −185 mV

MF1

0

www.national.com 2

Page 58: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Electrical Characteristics (Continued)V+ = +5.00V and V− = −5.00V unless otherwise specified. Boldface limits apply for T MIN to TMAX; all other limits TA = TJ =25˚C.

MF10ACN, MF10CCN,

MF10CCWM

Symbol Parameter Conditions Typical Tested Design Units

(Note8)

Limit Limit

(Note9)

(Note10)

(Note 5)Max (fCLK/fO =

50)−85 −85

Min Vpin12 = +5V SA/B = V− −70 mV

Max (fCLK/fO =50)

VOS3 DC Offset Voltage Min Vpin12 = +5V All Modes −70 −100 −100 mV

(Note 5)Max (fCLK/fO =

50)−20 −20

VOS2 DC Offset Voltage Vpin12 = 0V SA/B = V+ −300 mV

(Note 5) (fCLK/fO =100)

Vpin12 = 0V SA/B = V− −140 mV

(fCLK/fO =100)

VOS3 DC Offset Voltage Vpin12 = 0V All Modes −140 mV

(Note 5) (fCLK/fO =100)

VOUT Minimum Output BP, LP Pins RL = 5k ±4.25 ±3.8 ±3.8 V

Voltage SwingN/AP/HPPin

RL = 3.5k ±4.25 ±3.8 ±3.8 V

GBW Op Amp Gain BW Product 2.5 MHz

SR Op Amp Slew Rate 7 V/µs

Dynamic Range(Note 6) Vpin12 = +5V(fCLK/fO = 50)

83 dB

Vpin12 = 0V(fCLK/fO = 100)

80 dB

ISC Maximum Output Short Source 20 mA

Circuit Current(Note 7)

Sink 3.0 mA

Logic Input CharacteristicsBoldface limits apply for T MIN to TMAX; all other limits TA = TJ = 25˚C

MF10ACN, MF10CCN,

MF10CCWM

Parameter Conditions Typical Tested Design Units

(Note 8) Limit Limit

(Note 9) (Note 10)

CMOS Clock Min Logical “1” V+ = +5V, V− = −5V, +3.0 +3.0 V

Input Voltage Max Logical “0” VLSh = 0V −3.0 −3.0 V

Min Logical “1” V+ = +10V, V− = 0V, +8.0 +8.0 V

Max Logical “0” VLSh = +5V +2.0 +2.0 V

TTL Clock Min Logical “1” V+ = +5V, V− = −5V, +2.0 +2.0 V

Input Voltage Max Logical “0” VLSh = 0V +0.8 +0.8 V

MF10

www.national.com3

Page 59: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Logic Input Characteristics (Continued)Boldface limits apply for T MIN to TMAX; all other limits TA = TJ = 25˚C

MF10ACN, MF10CCN,

MF10CCWM

Parameter Conditions Typical Tested Design Units

(Note 8) Limit Limit

(Note 9) (Note 10)

Min Logical “1” V+ = +10V, V− = 0V, +2.0 +2.0 V

Max Logical “0” VLSh = 0V +0.8 +0.8 V

Note 1: Absolute Maximum Ratings indicate limits beyond which damage to the device may occur. DC and AC electrical specifications do not apply when operatingthe device beyond its specified operating conditions.

Note 2: When the input voltage (VIN) at any pin exceeds the power supply rails (VIN < V− or VIN > V+) the absolute value of current at that pin should be limitedto 5 mA or less. The 20 mA package input current limits the number of pins that can exceed the power supply boundaries with a 5 mA current limit to four.

Note 3: The maximum power dissipation must be derated at elevated temperatures and is dictated by TJMAX, θJA, and the ambient temperature, TA. The maximumallowable power dissipation at any temperature is PD = (TJMAX − TA)/θJA or the number given in the Absolute Maximum Ratings, whichever is lower. For this device,TJMAX = 125˚C, and the typical junction-to-ambient thermal resistance of the MF10ACN/CCN when board mounted is 55˚C/W. For the MF10AJ/CCJ, this numberincreases to 95˚C/W and for the MF10ACWM/CCWM this number is 66˚C/W.

Note 4: The accuracy of the Q value is a function of the center frequency (fO). This is illustrated in the curves under the heading “Typical PerformanceCharacteristics”.

Note 5: VOS1, VOS2, and VOS3 refer to the internal offsets as discussed in the Applications Information Section 3.4.

Note 6: For ±5V supplies the dynamic range is referenced to 2.82V rms (4V peak) where the wideband noise over a 20 kHz bandwidth is typically 200 µV rms forthe MF10 with a 50:1 CLK ratio and 280 µV rms for the MF10 with a 100:1 CLK ratio.

Note 7: The short circuit source current is measured by forcing the output that is being tested to its maximum positive voltage swing and then shorting that outputto the negative supply. The short circuit sink current is measured by forcing the output that is being tested to its maximum negative voltage swing and then shortingthat output to the positive supply. These are the worst case conditions.

Note 8: Typicals are at 25˚C and represent most likely parametric norm.

Note 9: Tested limits are guaranteed to National’s AOQL (Average Outgoing Quality Level).

Note 10: Design limits are guaranteed but not 100% tested. These limits are not used to calculate outgoing quality levels.

Note 11: Human body model, 100 pF discharged through a 1.5 kΩ resistor.

MF1

0

www.national.com 4

Page 60: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Typical Performance Characteristics

Power Supply Current vs. Power Supply VoltagePositive Output Voltage Swing vs. Load Resistance

(N/AP/HP Output)

0103993401039935

Negative Output Voltage Swing vs. LoadResistance

(N/AP/HP Output) Negative Output Swing vs. Temperature

01039936 01039937

Positive Output Swing vs. Temperature Crosstalk vs. Clock Frequency

0103993801039939

MF10

www.national.com5

Page 61: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Typical Performance Characteristics (Continued)

Q Deviation vs. Temperature Q Deviation vs. Temperature

01039940 01039941

Q Deviation vs. Clock Frequency Q Deviation vs. Clock Frequency

01039942 01039943

fCLK/fO Deviation vs. Temperature f CLK/fO Deviation vs. Temperature

01039944 01039945

MF1

0

www.national.com 6

Page 62: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Typical Performance Characteristics (Continued)

fCLK/fO Deviation vs. Clock Frequency f CLK/fO Deviation vs. Clock Frequency

01039946 01039947

Deviation of f CLK/fO vs. Nominal Q Deviation of f CLK/fO vs. Nominal Q

01039948 01039949

MF10

www.national.com7

Page 63: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Pin DescriptionsLP(1,20), BP(2,19), N/AP/HP(3,18)

The second order lowpass, bandpassand notch/allpass/highpass outputs.These outputs can typically sink 1.5 mAand source 3 mA. Each output typicallyswings to within 1V of each supply.

INV(4,17) The inverting input of the summingop-amp of each filter. These are highimpedance inputs, but the non-invertinginput is internally tied to AGND, makingINVA and INVB behave like summingjunctions (low impedance, currentinputs).

S1(5,16) S1 is a signal input pin used in theallpass filter configurations (see modes4 and 5). The pin should be driven witha source impedance of less than 1 kΩ.If S1 is not driven with a signal it shouldbe tied to AGND (mid-supply).

SA/B(6) This pin activates a switch that con-nects one of the inputs of each filter’ssecond summer to either AGND (SA/B

tied to V−) or to the lowpass (LP) output(SA/B tied to V+). This offers the flexibil-ity needed for configuring the filter in itsvarious modes of operation.

VA+(7),VD

+(8) Analog positive supply and digital posi-tive supply. These pins are internallyconnected through the IC substrate andtherefore VA

+ and VD+ should be de-

rived from the same power supplysource. They have been brought outseparately so they can be bypassed byseparate capacitors, if desired. Theycan be externally tied together and by-passed by a single capacitor.

VA−(14), VD

−(13) Analog and digital negative supplies.The same comments as for VA

+ andVD

+ apply here.

LSh(9) Level shift pin; it accommodates vari-ous clock levels with dual or single sup-ply operation. With dual ±5V supplies,the MF10 can be driven with CMOSclock levels (±5V) and the LSh pinshould be tied to the system ground. Ifthe same supplies as above are used

but only TTL clock levels, derived from0V to +5V supply, are available, theLSh pin should be tied to the systemground. For single supply operation (0Vand +10V) the VA

−, VD−pins should be

connected to the system ground, theAGND pin should be biased at +5V andthe LSh pin should also be tied to thesystem ground for TTL clock levels.LSh should be biased at +5V for CMOSclock levels in 10V single-supplyapplications.

CLKA(10), CLKB(11)Clock inputs for each switched capaci-tor filter building block. They shouldboth be of the same level (TTL orCMOS). The level shift (LSh) pin de-scription discusses how to accommo-date their levels. The duty cycle of theclock should be close to 50% especiallywhen clock frequencies above 200 kHzare used. This allows the maximumtime for the internal op-amps to settle,which yields optimum filter operation.

50/100/CL(12) By tying this pin high a 50:1clock-to-filter-center-frequency ratio isobtained. Tying this pin at mid-supplies(i.e. analog ground with dual supplies)allows the filter to operate at a 100:1clock-to-center-frequency ratio. Whenthe pin is tied low (i.e., negative supplywith dual supplies), a simple currentlimiting circuit is triggered to limit theoverall supply current down to about2.5 mA. The filtering action is thenaborted.

AGND(15) This is the analog ground pin. This pinshould be connected to the systemground for dual supply operation or bi-ased to mid-supply for single supplyoperation. For a further discussion ofmid-supply biasing techniques see theApplications Information (Section 3.2).For optimum filter performance a“clean” ground must be provided.

1.0 Definition of TermsfCLK: the frequency of the external clock signal applied to pin10 or 11.

fO: center frequency of the second order function complexpole pair. fO is measured at the bandpass outputs of theMF10, and is the frequency of maximum bandpass gain.(Figure 1)

fnotch : the frequency of minimum (ideally zero) gain at thenotch outputs.

fz: the center frequency of the second order complex zeropair, if any. If fz is different from fO and if QZ is high, it can beobserved as the frequency of a notch at the allpass output.(Figure 10)

Q: “quality factor” of the 2nd order filter. Q is measured at thebandpass outputs of the MF10 and is equal to fO divided by

the −3 dB bandwidth of the 2nd order bandpass filter (Figure1). The value of Q determines the shape of the 2nd orderfilter responses as shown in Figure 6.

QZ: the quality factor of the second order complex zero pair,if any. QZ is related to the allpass characteristic, which iswritten:

where QZ = Q for an all-pass response.

HOBP: the gain (in V/V) of the bandpass output at f = fO.

MF1

0

www.national.com 8

Page 64: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1.0 Definition of Terms (Continued)

HOLP: the gain (in V/V) of the lowpass output as f → 0 Hz(Figure 2).

HOHP: the gain (in V/V) of the highpass output as f → fCLK/2(Figure 3).

HON: the gain (in V/V) of the notch output as f → 0 Hz and asf → fCLK/2, when the notch filter has equal gain above and

below the center frequency (Figure 4). When thelow-frequency gain differs from the high-frequency gain, asin modes 2 and 3a (Figure 11 and Figure 8), the two quan-tities below are used in place of HON.

HON1: the gain (in V/V) of the notch output as f → 0 Hz.

HON2: the gain (in V/V) of the notch output as f → fCLK/2.

01039905

(a)

01039906

(b)

01039956

FIGURE 1. 2nd-Order Bandpass Response

MF10

www.national.com9

Page 65: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1.0 Definition of Terms (Continued)

01039907

(a)

01039908

(b)

01039957

FIGURE 2. 2nd-Order Low-Pass Response

MF1

0

www.national.com 10

Page 66: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1.0 Definition of Terms (Continued)

01039909

(a)

01039910

(b)

01039958

FIGURE 3. 2nd-Order High-Pass Response

MF10

www.national.com11

Page 67: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1.0 Definition of Terms (Continued)

01039911

(a)

01039912

(b)

01039960

FIGURE 4. 2nd-Order Notch Response

MF1

0

www.national.com 12

Page 68: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1.0 Definition of Terms (Continued)

01039913

(a)

01039914

(b)

01039961

FIGURE 5. 2nd-Order All-Pass Response

MF10

www.national.com13

Page 69: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1.0 Definition of Terms (Continued)

2.0 Modes of OperationThe MF10 is a switched capacitor (sampled data) filter. Tofully describe its transfer functions, a time domain approachis appropriate. Since this is cumbersome, and since theMF10 closely approximates continuous filters, the followingdiscussion is based on the well known frequency domain.Each MF10 can produce a full 2nd order function. See Table1 for a summary of the characteristics of the various modes.

MODE 1: Notch 1, Bandpass, Lowpass Outputs:

fnotch = fO (See Figure 7 )

fO= center frequency of the complex pole pair

fnotch= center frequency of the imaginary zero pair = fO.

= quality factor of the complex pole pair

BW = the −3 dB bandwidth of the bandpass output.

Circuit dynamics:

MODE 1a: Non-Inverting BP, LP (See Figure 8 )

Note: VIN should be driven from a low impedance (<1 kΩ) source.

(a) Bandpass (b) Low Pass (c) High-Pass

01039950 0103995101039952

(d) Notch (e) All-Pass

01039953 01039954

FIGURE 6. Response of various 2nd-order filters as a function of Q.Gains and center frequencies are normalized to unity.

MF1

0

www.national.com 14

Page 70: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

2.0 Modes of Operation (Continued)

MODE 2: Notch 2, Bandpass, Lowpass: f notch < fO(See Figure 9 )

MODE 3: Highpass, Bandpass, Lowpass Outputs(See Figure 10 )

01039916

FIGURE 7. MODE 1

01039917

FIGURE 8. MODE 1a

MF10

www.national.com15

Page 71: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

2.0 Modes of Operation (Continued)

01039918

FIGURE 9. MODE 2

01039919

*In Mode 3, the feedback loop is closed around the input summing amplifier; the finite GBW product of this op amp causes a slight Q enhancement. If this is aproblem, connect a small capacitor (10 pF − 100 pF) across R4 to provide some phase lead.

FIGURE 10. MODE 3

MF1

0

www.national.com 16

Page 72: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

2.0 Modes of Operation (Continued)

MODE 3a: HP, BP, LP and Notch with External Op Amp(See Figure 11 )

MODE 4: Allpass, Bandpass, Lowpass Outputs(SeeFigure 12 )

*Due to the sampled data nature of the filter, a slight mis-match of fz and fO occurs causing a 0.4 dB peaking aroundfO of the allpass filter amplitude response (which theoreti-cally should be a straight line). If this is unacceptable, Mode5 is recommended.

01039920

FIGURE 11. MODE 3a

MF10

www.national.com17

Page 73: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

2.0 Modes of Operation (Continued)

MODE 5: Numerator Complex Zeros, BP, LP(See Figure 13 )

MODE 6a: Single Pole, HP, LP Filter (See Figure 14 )

MODE 6b: Single Pole LP Filter (Inverting andNon-Inverting) (See Figure 15 )

01039921

FIGURE 12. MODE 4

01039922

FIGURE 13. MODE 5

MF1

0

www.national.com 18

Page 74: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

2.0 Modes of Operation (Continued)

TABLE 1. Summary of Modes. Realizable filter types (e.g. low-pass) denoted by asterisks.Unless otherwise noted, gains of various filter outputs are inverting and adjustable by resistor ratios.

Mode BP LP HP N AP Number of Adjustable Notes

Resistors f CLK/fO1 * * * 3 No

(2) May need input buffer.

1a HOBP1 = −Q HOLP + 1 2 No Poor dynamics for

HOBP2 = +1 high Q.

2 * * * 3 Yes (above fCLK/50

or fCLK/100)

3* * * 4 Yes Universal State-Variable

Filter. Best general-purpose mode.

3a* * * * 7 Yes As above, but also includes

resistor-tuneable notch.

4 * * * 3 No Gives Allpass response with

HOAP = −1 and HOLP = −2.

5 * * * 4 Gives flatter allpass response

than above if R1 = R2 = 0.02R4.

6a * * 3 Single pole.

6b 2 Single pole.

01039923

FIGURE 14. MODE 6a

01039924

FIGURE 15. MODE 6b

MF10

www.national.com19

Page 75: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

3.0 Applications InformationThe MF10 is a general-purpose dual second-order statevariable filter whose center frequency is proportional to thefrequency of the square wave applied to the clock input(fCLK). By connecting pin 12 to the appropriate DC voltage,the filter center frequency fO can be made equal to eitherfCLK/100 or fCLK/50. fO can be very accurately set (within±6%) by using a crystal clock oscillator, or can be easilyvaried over a wide frequency range by adjusting the clockfrequency. If desired, the fCLK/fO ratio can be altered byexternal resistors as in Figures 9, 10, 11, 13, 14, 15. Thefilter Q and gain are determined by external resistors.

All of the five second-order filter types can be built usingeither section of the MF10. These are illustrated in Figure 1through Figure 5 along with their transfer functions and somerelated equations. Figure 6 shows the effect of Q on theshapes of these curves. When filter orders greater than twoare desired, two or more MF10 sections can be cascaded.

3.1 DESIGN EXAMPLE

In order to design a second-order filter section using theMF10, we must define the necessary values of three param-eters: f0, the filter section’s center frequency; H0, the pass-band gain; and the filter’s Q. These are determined by thecharacteristics required of the filter being designed.

As an example, let’s assume that a system requires afourth-order Chebyshev low-pass filter with 1 dB ripple, unitygain at DC, and 1000 Hz cutoff frequency. As the systemorder is four, it is realizable using both second-order sectionsof an MF10. Many filter design texts include tables that listthe characteristics (fO and Q) of each of the second-orderfilter sections needed to synthesize a given higher-orderfilter. For the Chebyshev filter defined above, such a tableyields the following characteristics:

f0A = 529 Hz QA = 0.785

f0B = 993 Hz QB = 3.559

For unity gain at DC, we also specify:

H0A = 1

H0B = 1

The desired clock-to-cutoff-frequency ratio for the overallfilter of this example is 100 and a 100 kHz clock signal isavailable. Note that the required center frequencies for thetwo second-order sections will not be obtainable withclock-to-center-frequency ratios of 50 or 100. It will be nec-essary to adjust

externally. From Table 1, we see that Mode 3 can be used toproduce a low-pass filter with resistor-adjustable center fre-quency.

In most filter designs involving multiple second-order stages,it is best to place the stages with lower Q values ahead ofstages with higher Q, especially when the higher Q is greaterthan 0.707. This is due to the higher relative gain at thecenter frequency of a higher-Q stage. Placing a stage withlower Q ahead of a higher-Q stage will provide some attenu-ation at the center frequency and thus help avoid clipping ofsignals near this frequency. For this example, stage A hasthe lower Q (0.785) so it will be placed ahead of the otherstage.

For the first section, we begin the design by choosing aconvenient value for the input resistance: R1A = 20k. Theabsolute value of the passband gain HOLPA is made equal to1 by choosing R4A such that: R4A = −HOLPAR1A = R1A = 20k.If the 50/100/CL pin is connected to mid-supply for nominal100:1 clock-to-center-frequency ratio, we find R2A by:

The resistors for the second section are found in a similarfashion:

The complete circuit is shown in Figure 16 for split ±5Vpower supplies. Supply bypass capacitors are highlyrecommended.

MF1

0

www.national.com 20

Page 76: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

3.0 Applications Information (Continued)

01039925

FIGURE 16. Fourth-Order Chebyshev Low-Pass Filter from Example in 3.1.±5V Power Supply. 0V–5V TTL or −5V ±5V CMOS Logic Levels.

01039926

FIGURE 17. Fourth-Order Chebyshev Low-Pass Filter from Example in 3.1.Single +10V Power Supply. 0V–5V TTL Logic Levels. Input Signals

Should be Referred to Half-Supply or Applied through a Coupling Capacitor.

MF10

www.national.com21

Page 77: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

3.0 Applications Information (Continued)

01039927

(a) Resistive Divider withDecoupling Capacitor

01039928

(b) Voltage Regulator

01039929

(c) Operational Amplifierwith Divider

FIGURE 18. Three Ways of Generating V +/2 for Single-Supply Operation

MF1

0

www.national.com 22

Page 78: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

3.0 Applications Information(Continued)

3.2 SINGLE SUPPLY OPERATION

The MF10 can also operate with a single-ended power sup-ply. Figure 17 shows the example filter with a single-endedpower supply. VA

+ and VD+ are again connected to the

positive power supply (8V to 14V), and VA− and VD

− areconnected to ground. The AGND pin must be tied to V+/2 forsingle supply operation. This half-supply point should bevery “clean”, as any noise appearing on it will be treated asan input to the filter. It can be derived from the supply voltagewith a pair of resistors and a bypass capacitor (Figure 18a),or a low-impedance half-supply voltage can be made using athree-terminal voltage regulator or an operational amplifier(Figure 18b and Figure 18c). The passive resistor dividerwith a bypass capacitor is sufficient for many applications,provided that the time constant is long enough to reject anypower supply noise. It is also important that the half-supplyreference present a low impedance to the clock frequency,so at very low clock frequencies the regulator or op-ampapproaches may be preferable because they will requiresmaller capacitors to filter the clock frequency. The mainpower supply voltage should be clean (preferably regulated)and bypassed with 0.1 µF.

3.3 DYNAMIC CONSIDERATIONS

The maximum signal handling capability of the MF10, likethat of any active filter, is limited by the power supply volt-ages used. The amplifiers in the MF10 are able to swing towithin about 1V of the supplies, so the input signals must bekept small enough that none of the outputs will exceed theselimits. If the MF10 is operating on ±5V, for example, theoutputs will clip at about 8 Vp–p. The maximum input voltagemultiplied by the filter gain should therefore be less than8 Vp–p.

Note that if the filter Q is high, the gain at the lowpass orhighpass outputs will be much greater than the nominal filtergain (Figure 6). As an example, a lowpass filter with a Q of10 will have a 20 dB peak in its amplitude response at fO. Ifthe nominal gain of the filter HOLP is equal to 1, the gain at fOwill be 10. The maximum input signal at fO must therefore beless than 800 mVp–p when the circuit is operated on ±5Vsupplies.

Also note that one output can have a reasonable smallvoltage on it while another is saturated. This is most likely fora circuit such as the notch in Mode 1 (Figure 7). The notchoutput will be very small at fO, so it might appear safe toapply a large signal to the input. However, the bandpass willhave its maximum gain at fO and can clip if overdriven. If oneoutput clips, the performance at the other outputs will bedegraded, so avoid overdriving any filter section, even oneswhose outputs are not being directly used. AccompanyingFigure 7 through Figure 15 are equations labeled “circuitdynamics”, which relate the Q and the gains at the variousoutputs. These should be consulted to determine peak circuitgains and maximum allowable signals for a given applica-tion.

3.4 OFFSET VOLTAGE

The MF10’s switched capacitor integrators have a higherequivalent input offset voltage than would be found in atypical continuous-time active filter integrator. Figure 19shows an equivalent circuit of the MF10 from which theoutput DC offsets can be calculated. Typical values for theseoffsets with SA/B tied to V+ are:

Vos1 = opamp offset = ±5 mV

Vos2 = −150 mV @ 50:1: −300 mV @ 100:1

Vos3 = −70 mV @ 50:1: −140 mV @ 100:1

When SA/B is tied to V−, Vos2 will approximately halve. TheDC offset at the BP output is equal to the input offset of thelowpass integrator (Vos3). The offsets at the other outputsdepend on the mode of operation and the resistor ratios, asdescribed in the following expressions.

MF10

www.national.com23

Page 79: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

3.0 Applications Information(Continued)

For most applications, the outputs are AC coupled and DCoffsets are not bothersome unless large signals are applied

to the filter input. However, larger offset voltages will causeclipping to occur at lower AC signal levels, and clipping at

01039930

FIGURE 19. MF10 Offset Voltage Sources

01039931

FIGURE 20. Method for Trimming V OS

MF1

0

www.national.com 24

Page 80: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

3.0 Applications Information(Continued)

any of the outputs will cause gain nonlinearities and willchange fO and Q. When operating in Mode 3, offsets canbecome excessively large if R2 and R4 are used to makefCLK/fO significantly higher than the nominal value, especiallyif Q is also high. An extreme example is a bandpass filterhaving unity gain, a Q of 20, and fCLK/fO = 250 with pin 12tied to ground (100:1 nominal). R4/R2 will therefore be equalto 6.25 and the offset voltage at the lowpass output will beabout +1V. Where necessary, the offset voltage can beadjusted by using the circuit of Figure 20. This allows adjust-ment of VOS1, which will have varying effects on the differentoutputs as described in the above equations. Some outputscannot be adjusted this way in some modes, however(VOS(BP) in modes 1a and 3, for example).

3.5 SAMPLED DATA SYSTEM CONSIDERATIONS

The MF10 is a sampled data filter, and as such, differs inmany ways from conventional continuous-time filters. Animportant characteristic of sampled-data systems is theireffect on signals at frequencies greater than one-half thesampling frequency. (The MF10’s sampling frequency is thesame as its clock frequency.) If a signal with a frequencygreater than one-half the sampling frequency is applied tothe input of a sampled data system, it will be “reflected” to afrequency less than one-half the sampling frequency. Thus,an input signal whose frequency is fs/2 + 100 Hz will causethe system to respond as though the input frequency wasfs/2 − 100 Hz. This phenomenon is known as “aliasing”, and

can be reduced or eliminated by limiting the input signalspectrum to less than fs/2. This may in some cases requirethe use of a bandwidth-limiting filter ahead of the MF10 tolimit the input spectrum. However, since the clock frequencyis much higher than the center frequency, this will often notbe necessary.

Another characteristic of sampled-data circuits is that theoutput signal changes amplitude once every sampling pe-riod, resulting in “steps” in the output voltage which occur atthe clock rate (Figure 21). If necessary, these can be“smoothed” with a simple R–C low-pass filter at the MF10output.

The ratio of fCLK to fC (normally either 50:1 or 100:1) will alsoaffect performance. A ratio of 100:1 will reduce any aliasingproblems and is usually recommended for wideband inputsignals. In noise sensitive applications, however, a ratio of50:1 may be better as it will result in 3 dB lower output noise.The 50:1 ratio also results in lower DC offset voltages, asdiscussed in Section 3.4.

The accuracy of the fCLK/fO ratio is dependent on the valueof Q. This is illustrated in the curves under the heading“Typical Performance Characteristics”. As Q is changed, thetrue value of the ratio changes as well. Unless the Q is low,the error in fCLK/fO will be small. If the error is too large for aspecific application, use a mode that allows adjustment ofthe ratio with external resistors.

It should also be noted that the product of Q and fOshould belimited to 300 kHz when fO < 5 kHz, and to 200 kHz for fO >5 kHz.

01039932

FIGURE 21. The Sampled-Data Output Waveform

MF10

www.national.com25

Page 81: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

3.0 Applications Information (Continued)

Connection DiagramSurface Mount and

Dual-In-Line Package

01039904

Top ViewOrder Number MF10CCWM

See NS Package Number M20BOrder Number MF10ACN or MF10CCN

See NS Package Number N20A

MF1

0

www.national.com 26

Page 82: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Physical Dimensions inches (millimeters)unless otherwise noted

Molded Package (Small Outline) (M)Order Number MF10ACWM or MF10CCWM

NS Package Number M20B

20-Lead Molded Dual-In-Line Package (N)Order Number MF10ACN or MF10CCN

NS Package Number N20A

MF10

www.national.com27

Page 83: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Notes

LIFE SUPPORT POLICY

NATIONAL’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORTDEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT AND GENERALCOUNSEL OF NATIONAL SEMICONDUCTOR CORPORATION. As used herein:

1. Life support devices or systems are devices orsystems which, (a) are intended for surgical implantinto the body, or (b) support or sustain life, andwhose failure to perform when properly used inaccordance with instructions for use provided in thelabeling, can be reasonably expected to result in asignificant injury to the user.

2. A critical component is any component of a lifesupport device or system whose failure to performcan be reasonably expected to cause the failure ofthe life support device or system, or to affect itssafety or effectiveness.

National SemiconductorCorporationAmericasTel: 1-800-272-9959Fax: 1-800-737-7018Email: [email protected]

National SemiconductorEurope

Fax: +49 (0) 180-530 85 86Email: [email protected]

Deutsch Tel: +49 (0) 69 9508 6208English Tel: +44 (0) 870 24 0 2171Français Tel: +33 (0) 1 41 91 8790

National SemiconductorAsia Pacific CustomerResponse GroupTel: 65-2544466Fax: 65-2504466Email: [email protected]

National SemiconductorJapan Ltd.Tel: 81-3-5639-7560Fax: 81-3-5639-7507

www.national.com

MF1

0U

nive

rsal

Mon

olith

icD

ualS

witc

hed

Cap

acito

rFi

lter

National does not assume any responsibility for use of any circuitry described, no circuit patent licenses are implied and National reserves the right at any time without notice to change said circuitry and specifications.

Page 84: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1996 Microchip Technology Inc. DS30189D-page 1

This document includes the programming specifications for the following devices:

• PIC16C84

1.0 PROGRAMMING THE PIC16C84

The PIC16C84 is programmed using the serial method.The serial mode will allow the PIC16C84 to be pro-grammed while in the users system. This allows forincreased design flexibility.

1.1 Hardware Requirements

The PIC16C84 requires one programmable power sup-ply for V

DD

(4.5V to 5.5V) and a V

PP

of 12V to 14V. Bothsupplies should have a minimum resolution of 0.25V.

1.2 Programming Mode

The programming mode for the PIC16C84 allows pro-gramming of user program memory, data memory, spe-cial locations used for ID, and the configuration word.

Pin Diagram

RA1RA0OSC1/CLKINOSC2/CLKOUTVDDRB7RB6RB5RB4

RA2RA3

RA4/T0CKIMCLR

VSSRB0/INT

RB1RB2RB3

•123456789

181716151413121110

PIC

16C84

PDIP, SOIC

PIC16C84

EEPROM Memory Programming Specification

PIN DESCRIPTIONS (DURING PROGRAMMING): PIC16C84

Pin Name

During Programming

Pin Name Pin Type Pin Description

RB6 CLOCK I Clock input

RB7 DATA I/O Data input/output

MCLR V

TEST MODE

P* Program Mode Select

V

DD

V

DD

P Power Supply

V

SS

V

SS

P Ground

Legend: I =Input, O = Output, P = Power

*In PIC16C84, programming high voltage is internally generated. To activate the programming mode, high voltage needs to be appliedto MCLR input. This means that MCLR does not draw any significant current.

This document was created with FrameMaker 4 0 4

Page 85: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

PIC16C84

DS30189D-page 2

1996 Microchip Technology Inc.

2.0 PROGRAM MODE ENTRY

2.1 User Program Memory Map

The user memory space extends from 0x0000 to 0x1FFF(8K), of which 1K (0x0000 - 0x03FF) is physically imple-mented. In actual implementation the on-chip user pro-gram memory is accessed by the lower 10-bits of the PC,with the upper 3-bits of the PC ignored. Therefore if thePC is greater than 0x3FF, it will wrap around and addressa location within the physically implemented memory.(See Figure 2-1).

In programming mode the program memory spaceextends from 0x0000 to 0x3FFF, with the first half(0x0000-0x1FFF) being user program memory and thesecond half (0x2000-0x3FFF) being configuration mem-ory. The PC will increment from 0x0000 to 0x1FFF to0x2000 to 0x3FFF and wrap around to 0x2000 (not to0x0000). Once in configuration memory, the highest bit ofthe PC stays a '1', thus always pointing to the configura-tion memory. The only way to point to user program mem-ory is to reset the part and reenter program/verify modeas described in Section 2.3.

In the configuration memory space, 0x2000-0x200F arephysically implemented. Locations beyond 0x200F willphysically access user memory. (See Figure 2-1).

2.2 ID Locations

A user may store identification information (ID) in four IDlocations. The ID locations are mapped in [0x2000 :0x2003]. It is recommended that the user use only thefour least significant bits of each ID location. In somedevices, the ID locations read-out in a scrambled fashionafter code protection is enabled. For these devices, it isrecommended that ID location is written as “11 1111 1000bbbb” where 'bbbb' is ID information.

In other devices, the ID locations read out normally, evenafter code protection. To understand how the devicesbehave, refer to Table 4.3.

To understand the scrambling mechanism after code pro-tection, refer to Section 4.0.

Page 86: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1996 Microchip Technology Inc. DS30189D-page 3

EEPROM Memory Programming Specification

Implemented

Non-implemented

Implemented

Non-implemented

FIGURE 2-1: PROGRAM MEMORY MAPPING

0

3FF400

1FFF2000

ID Location

ID Location

ID Location

ID Location

Reserved

Reserved

Reserved

Configuration Word

2000

2001

2002

2003

2004

2005

2006

2007

200F

3FFF

2010

Page 87: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

PIC16C84

DS30189D-page 4

1996 Microchip Technology Inc.

2.3 Program/Verify Mode

The program/verify mode is entered by holding pinsRB6 and RB7 low while raising MCLR pin from V

IL

toV

IHH

(high voltage). Once in this mode the user pro-gram memory and the configuration memory can beaccessed and programmed in serial fashion. The modeof operation is serial, and the memory that is accessedis the user program memory. RB6 and RB7 are SchmittTrigger Inputs in this mode.

The sequence that enters the device into the program-ming/verify mode places all other logic into the resetstate (the MCLR pin was initially at V

IL

). This meansthat all I/O are in the reset state (High impedanceinputs).

2.3.1 SERIAL PROGRAM/VERIFY OPERATION

The RB6 pin is used as a clock input pin, and the RB7pin is used for entering command bits and data input/output during serial operation. To input a command, theclock pin (RB6) is cycled six times. Each command bitis latched on the falling edge of the clock with the leastsignificant bit (lsb) of the command being input first.The data on pin RB7 is required to have a minimumsetup and hold time (see AC/DC specifications) withrespect to the falling edge of the clock. Commands thathave data associated with them (read and load) arespecified to have a minimum delay of 1

µ

s between thecommand and the data. After this delay, the clock pin iscycled 16 times with the first cycle being a start bit andthe last cycle being a stop bit. Data is also input andoutput lsb first.

Therefore, during a read operation the lsb will be trans-mitted onto pin RB7 on the rising edge of the secondcycle, and during a load operation the lsb will belatched on the falling edge of the second cycle. A min-imum 1

µ

s delay is also specified between consecutivecommands.

All commands are transmitted lsb first. Data words arealso transmitted lsb first. The data is transmitted on therising edge and latched on the falling edge of the clock.To allow for decoding of commands and reversal ofdata pin configuration, a time separation of at least 1

µ

sis required between a command and a data word (oranother command).

The commands that are available are:

2.3.1.1 LOAD CONFIGURATION

After receiving this command, the program counter(PC) will be set to 0x2000. By then applying 16 cyclesto the clock pin, the chip will load 14-bits in a “dataword”, as described above, to be programmed into theconfiguration memory. A description of the memorymapping schemes of the program memory for normaloperation and configuration mode operation is shownin Figure 2-1. After the configuration memory isentered, the only way to get back to the user programmemory is to exit the program/verify test mode by tak-ing MCLR low (V

IL

).

TABLE 2-1: COMMAND MAPPING (SERIAL OPERATION)

Command Mapping (MSB ... LSB) Data

Load Configuration 0 0 0 0 0 0 0, data (14), 0

Load Data for Program Memory 0 0 0 0 1 0 0, data (14), 0

Read Data from Program Memory 0 0 0 1 0 0 0, data (14), 0

Increment Address 0 0 0 1 1 0

Begin Programming 0 0 1 0 0 0

Load Data for Data Memory 0 0 0 0 1 1 0, data (14), 0

Read Data from Data Memory 0 0 0 1 0 1 0, data (14), 0

Bulk Erase Program Memory 0 0 1 0 0 1

Bulk Erase Data Memory 0 0 1 0 1 1

Page 88: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1996 Microchip Technology Inc. DS30189D-page 5

EEPROM Memory Programming Specification

FIGURE 2-2: PROGRAM FLOW CHART - PIC16C84 PROGRAM MEMORY

Start

No

Yes

Yes

Done

No

NoData Correct?

Program Cycle

Read Data Command

Report Programming Failure

Increment Address Command

All Locations Done?

Data Correct? Report Verify Error @ VDD min.

Program Cycle

Load Data Command

Begin Programming Command

Wait 10 ms

No

Yes

Data Correct? Report Verify Error @ VDD max.

Yes

Set VDD = VDDp

Verify all Locations @ VDD max.

Verify all Locations @ VDD min.

Page 89: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

PIC16C84

DS30189D-page 6

1996 Microchip Technology Inc.

FIGURE 2-3: PROGRAM FLOW CHART - PIC16C84 CONFIGURATION MEMORY

Report Program Config. Word Error

Start

Yes

No

Yes

Load Configuration Command

Program CycleRead Data Command

Data Correct

No

Address = 0x2004

Yes

No

Data Correct?

Increment Address Command

Increment Address Command

Increment Address Command

Program Cycle (Config. Word)

Report Programming Failure

Increment Address Command

Program ID Location?

Set VDD = VDD max.

Read Data Command

Done Data Correct?

NoYes

Set VDD = VDD min. Read Data Command

Yes

No

Page 90: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1996 Microchip Technology Inc. DS30190D-page 7

EEPROM Memory Programming Specification

2.3.1.2 LOAD DATA FOR PROGRAM MEMORY

After receiving this command, the chip will load in a 14-bit “data word” when 16 cycles are applied, asdescribed previously. A timing diagram for the load datacommand is shown in Figure 5-1.

2.3.1.3 LOAD DATA FOR DATA MEMORY

After receiving this command, the chip will load in a 14-bit “data word” when 16 cycles are applied. However,the data memory is only 8-bits wide, and thus only thefirst 8-bits of data after the start bit will be programmedinto the data memory. It is still necessary to cycle theclock the full 16 cycles in order to allow the internal cir-cuitry to reset properly. The data memory contains 64words. Only the lower 8-bits of the PC are decoded bythe data memory, and therefore if the PC is greaterthan 0x3F, it will wrap around and address a locationwithin the physically implemented memory.

2.3.1.4 READ DATA FROM PROGRAM MEMORY

After receiving this command, the chip will transmitdata bits out of the program memory (user or configu-ration) currently accessed starting with the second ris-ing edge of the clock input. The RB7 pin will go intooutput mode on the second rising clock edge, and it willrevert back to input mode (hi-impedance) after the 16thrising edge. A timing diagram of this command isshown in Figure 5-2.

2.3.1.5 READ DATA FROM DATA MEMORY

After receiving this command, the chip will transmitdata bits out of the data memory starting with the sec-ond rising edge of the clock input. The RB7 pin will gointo output mode on the second rising edge, and it willrevert back to input mode (hi-impedance) after the 16thrising edge. As previously stated, the data memory is 8-bits wide, and therefore, only the first 8-bits that areoutput are actual data.

2.3.1.6 INCREMENT ADDRESS

The PC is incremented when this command isreceived. A timing diagram of this command is shownin Figure 5-3.

2.3.1.7 BEGIN PROGRAMMING

A load command must be given before every begin pro-gramming command. Programming of the appropriatememory (test program memory, user program memoryor data memory) will begin after this command isreceived and decoded. An internal timing mechanismexecutes an erase before write. The user must allow10ms for programming to complete. No “end program-ming” command is required.

2.3.1.8 BULK ERASE PROGRAM MEMORY

To perform a bulk erase of the program memory, thefollowing sequence must be performed.

1. Do a “Load Data All 1’s” command.2. Do a “Bulk Erase User Memory” command.3. Do a “Begin Programming” command.4. Wait 10 ms to complete bulk erase.

If the address is pointing to the test program memory(0x2000 - 0x200F), then both the user memory and thetest memory will be erased. The configuration word willnot be erased, even if the address is pointing to loca-tion 0x2007.

If the address is pointing to the test program memory(0x2000 - 0x200F), then both the user memory and thetest memory will be erased. The configuration word willnot be erased, even if the address is pointing to loca-tion 0x2007.

2.3.1.9 BULK ERASE DATA MEMORY

To perform a bulk erase of the data memory, the follow-ing sequence must be performed.

1. Do a “Load Data All 1’s” command.2. Do a “Bulk Erase Data Memory” command.3. Do a “Begin Programming” command.4. Wait 10 ms to complete bulk erase.

2.4 Programming Algorithm Requires Variable V

DD

The PIC16C84 uses an intelligent algorithm. The algo-rithm calls for program verification at V

DD

(min.) as wellas V

DD

(max.). Verification at V

DD

(min.) guaranteesgood “erase margin”. Verification at V

DD

(max) guaran-tees good “program margin”.

The actual programming must be done with V

DD

in theV

DDP

range (4.5 - 5.5V).

V

DDP

= V

CC

range required during programming.

V

DD

min. = minimum operating V

DD

spec for the part.

V

DD

max.= maximum operating V

DD

spec for the part.

Programmers must verify the PIC16C84 at its specifiedV

DD

max. and V

DD

min. levels. Since Microchip mayintroduce future versions of the PIC16C84 with abroader V

DD

range, it is best that these levels are userselectable (defaults are ok).

Note:

Any programmer not meeting theserequirements may only be classified as“prototype” or “development” programmerbut not a “production” quality programmer.

Page 91: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

PIC16C84

DS30189D-page 8

1996 Microchip Technology Inc.

3.0 CONFIGURATION WORD

The PIC16C84 has five configuration bits. These bitscan be set (reads '0') or left unchanged (reads '1') toselect various device configurations.

FIGURE 3-1: CONFIGURATION WORD BIT MAP

Bit Number:

13 12 11 10 9 8 7 6 5 4 3 2 1 0

— — — — — — — — — CP PWRTE WDTE FOSC1 FOSC0

bit 4:

CP,

Code Protection Configuration Bit1 = code protection off0 = code protection on

bit 3:

PWRTE

, Power Up Timer Enable Configuration Bit1 = Power up timer enabled0 = Power up timer disabled

bit 3-2:

WDTE

, WDT Enable Configuration Bits1 = WDT enabled0 = WDT disabled

bit 1-0

FOSC<1:0>

, Oscillator Selection Configuration Bits11: RC oscillator10: HS oscillator01: XT oscillator00: LP oscillator

Page 92: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1996 Microchip Technology Inc. DS30189D-page 9

EEPROM Memory Programming Specification

4.2 Embedding Configuration Word and ID Information in the Hex File

TABLE 4-1: CONFIGURATION WORD

PIC16C84

To code protect:

XXXXXXXX0XXX

Legend: X = Don’t care

To allow portability of code, the programmer is required to read the configuration word and ID locations from the hexfile when loading the hex file. If configuration word information was not present in the hex file then a simple warningmessage may be issued. Similarly, while saving a hex file, all configuration word and ID information must be included.An option to not include this information may be provided.

Specifically for the PIC16C84, the EEPROM data memory should also be embedded in the hex file (see Section 5.1).

Microchip Technology Inc. feels strongly that this feature is important for the benefit of the end customer.

Program Memory Segment R/W in Protected Mode R/W in Unprotected Mode

Configuration Word (0x2007) Read Scrambled, Write Enabled Read Unscrambled, Write EnabledAll memory. Read Scrambled, Write Disabled Read Unscrambled, Write EnabledID Locations [0x2000 : 0x2003] Read Scrambled, Write Enabled Read Unscrambled, Write Enabled

4.0 CODE PROTECTION

For PIC16C84 devices, once code protection isenabled, all program memory locations read out in ascrambled fashion. The ID locations and the configura-tion word also read out in a scrambled fashion. Furtherprogramming is disabled for the entire program mem-ory as well as data memory. It is possible to programthe ID locations and the configuration word.

4.1 Disabling Code-Protection

It is recommended that the following procedure be per-formed before any other programming is attempted. Itis also possible to turn code protection off (code protectbit = 1) using this procedure; however,

all data withinthe program memory and the data memory will beerased when this procedure is executed, and thus,the security of the data or code is not compro-mised.

Procedure to disable code protect:

a) Execute load configuration (with a '1' in bit 4,code protect).

b) Increment to configuration word location (0x2007)c) Execute command (000001)d) Execute command (000111)e) Execute 'Begin Programming' (001000)f) Wait 10msg) Execute command (000001)h) Execute command (000111)

Page 93: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

PIC16C84

DS30189D-page 10

1996 Microchip Technology Inc.

4.3 Checksum

4.3.1 CHECKSUM CALCULATIONS

The checksum is calculated by summing the following:

• The contents of all program memory locations• The configuration word, appropriately masked• Masked ID locations (when applicable)

The least significant 16 bits of this sum is the check-sum.

The following table describes how to calculate thechecksum for each device. Note that the checksum cal-culation differs depending on the code protect setting.Since the program memory locations read out differ-ently depending on the code protect setting, the tabledescribes how to manipulate the actual program mem-ory values to simulate the values that would be readfrom a protected device. When calculating a checksumby reading a device, the entire program memory cansimply be read and summed. The configuration wordand ID locations can always be read.

Note that some older devices have an additional valueadded in the checksum. This is to maintain compatibil-ity with older device programmer checksums.

TABLE 4-2: CHECKSUM COMPUTATION

DeviceCode

ProtectChecksum*

Blank Value

0x25E6 at 0 and max address

PIC16C84 OFFON

SUM[0x000:0x3FF] + CFGW & 0x1F + 0x3FE0SUM_XNOR7[0x000:0x3FF] + (CFGW & 0x1F | 0x60)

0x3BFF0xFC6F

0x07CD0xFC15

Legend: CFGW = Configuration WordSUM[a:b] = [Sum of locations a to b inclusive]SUM_XNOR7[a:b] = XNOR of the seven high order bits of memory location with the seven low order bits summed over locations a through b inclusive. For example, location_a = 0x123 and location_b = 0x456, then SUM_XNOR7 [location_a : location_b] = 0x001F.*Checksum = [Sum of all the individual expressions]

MODULO

[0xFFFF]

Page 94: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1996 Microchip Technology Inc. DS30189D-page 11

EEPROM Memory Programming Specification

5.0 PROGRAM/VERIFY MODE ELECTRICAL CHARACTERISTICS

5.1 Embedding Data EEPROM Contents in Hex File

The programmer should be able to read data EEPROM information from a hex file and conversely (as an option) writedata EEPROM contents to a hex file along with program memory information and fuse information.

The 64 data memory locations are logically mapped starting at address 0x2100. The format for data memory storage isone data byte per address location, lsb aligned.

TABLE 5-1: AC/DC CHARACTERISTICSTIMING REQUIREMENTS FOR PROGRAM/VERIFY TEST MODE

Standard Operating Conditions

Operating Temperature +10

°

C

T

A

+40

°

C, unless otherwise stated, (25

°

C is recommended)

Operating Voltage 4.5V

V

DD

5.5V, unless otherwise stated.

Characteristic Sym. Min. Typ. Max. Units Conditions/Comments

Supply voltage during programming V

DDP

4.5 5.0 5.5 V

Supply voltage during verify V

DD

V V

DD

min. V

DD

max. V Note 1

High voltage on MCLR for test mode entry VIHH 12 14.0 V Note 2

Supply current (from V

DD

) during pro-gram/verify

I

DDP

50 mA

Supply current from V

IHH

(on MCLR) I

HH

200

µ

A

MCLR rise time (V

SS

to V

HH

) for test mode entry

tv

HHR

1.0

µ

s

(RB6, RB7) input high level V

IH

1 0.8 V

DD

V Schmitt Trigger input

(RB6, RB7) input low level MCLR (test mode selection

V

IL1 0.2 VDD V Schmitt Trigger input

RB6, RB7 setup time (before pattern setup time)

tset0 100 ns

Data in setup time before clock ↓ tset1 100 ns

Data in hold time after clock ↓ thld1 100 ns

Data input not driven to next clock input (delay required between command/data or command/command)

tdly1 1.0 µs

Delay between clock ↓ to clock ↑ of next command or data

tdly2 1.0 µs

Clock to data out valid (during read data) tdly3 80 ns

Note 1: Program must be verified at the minimum and maximum VDD limits for the part.Note 2: VIHH must be higher than VDD + 4.5V to stay in programming/verify mode.

Page 95: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

PIC16C84

DS30189D-page 12 1996 Microchip Technology Inc.

FIGURE 5-1: LOAD DATA FOR PROGRAM MEMORY COMMAND (SERIAL PROGRAM/VERIFY)

FIGURE 5-2: READ DATA FROM PROGRAM MEMORY COMMAND (SERIAL PROGRAM/VERIFY)

FIGURE 5-3: INCREMENT ADDRESS COMMAND (SERIAL PROGRAM/VERIFY)

V IHHMCLR

RB6 (CLOCK)

RB7 (DATA)

Reset

tset0thld0

1 2 3 4 5 6

0 00 0 0 0

tdly1

Program/Verify Test Mode

0

1µs min.tset1

thld1

100ns min.

tset1thld1

100ns min.

tdly21µs min. 1 2 3 4 5 15 16

1

100ns

100ns

V IHHMCLR

RB6 (CLOCK)

RB7 (DATA)

RB7 = input

tset0thld0

1 2 3 4 5 6

0 01 0 0

tdly1

1µs min.tset1

thld1

100ns min.

tdly3

tdly21µs min. 1 2 3 4 5 15 16

Reset

RB7 = outputRB7 input

Program/Verify Test Mode

0

V IHHMCLR

RB6 (CLOCK)

RB7 (DATA)

1 2 3 4 5

0 01 0

tdly1

1µs min.tset1 thld1

100ns min.

tdly21µs min.

2Next Command

ResetProgram/Verify Test Mode

1

0 001

6

Page 96: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

1996 Microchip Technology Inc. DS30190D-page 13

EEPROM Memory Programming Specification

NOTES:

Page 97: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Information contained in this publication regarding device applications and the like is intended for suggestion only and may be superseded by updates. No representation or warranty is given and no liability is assumedby Microchip Technology Incorporated with respect to the accuracy or use of such information, or infringement of patents or other intellectual property rights arising from such use or otherwise. Use of Microchip’s productsas critical components in life support systems is not authorized except with express written approval by Microchip. No licenses are conveyed, implicitly or otherwise, under any intellectual property rights. The Microchiplogo and name are registered trademarks of Microchip Technology Inc. in the U.S.A. and other countries. All rights reserved. All other trademarks mentioned herein are the property of their respective companies.

1999 Microchip Technology Inc.

All rights reserved. © 1999 Microchip Technology Incorporated. Printed in the USA. 11/99 Printed on recycled paper.

AMERICASCorporate OfficeMicrochip Technology Inc.2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel: 480-786-7200 Fax: 480-786-7277Technical Support: 480-786-7627Web Address: http://www.microchip.com

AtlantaMicrochip Technology Inc.500 Sugar Mill Road, Suite 200BAtlanta, GA 30350Tel: 770-640-0034 Fax: 770-640-0307BostonMicrochip Technology Inc.5 Mount Royal AvenueMarlborough, MA 01752Tel: 508-480-9990 Fax: 508-480-8575ChicagoMicrochip Technology Inc.333 Pierce Road, Suite 180Itasca, IL 60143Tel: 630-285-0071 Fax: 630-285-0075DallasMicrochip Technology Inc.4570 Westgrove Drive, Suite 160Addison, TX 75248Tel: 972-818-7423 Fax: 972-818-2924DaytonMicrochip Technology Inc.Two Prestige Place, Suite 150Miamisburg, OH 45342Tel: 937-291-1654 Fax: 937-291-9175DetroitMicrochip Technology Inc.Tri-Atria Office Building 32255 Northwestern Highway, Suite 190Farmington Hills, MI 48334Tel: 248-538-2250 Fax: 248-538-2260Los AngelesMicrochip Technology Inc.18201 Von Karman, Suite 1090Irvine, CA 92612Tel: 949-263-1888 Fax: 949-263-1338New YorkMicrochip Technology Inc.150 Motor Parkway, Suite 202Hauppauge, NY 11788Tel: 631-273-5305 Fax: 631-273-5335San JoseMicrochip Technology Inc.2107 North First Street, Suite 590San Jose, CA 95131Tel: 408-436-7950 Fax: 408-436-7955

AMERICAS (continued)TorontoMicrochip Technology Inc.5925 Airport Road, Suite 200Mississauga, Ontario L4V 1W1, Canada Tel: 905-405-6279 Fax: 905-405-6253

ASIA/PACIFICHong KongMicrochip Asia PacificUnit 2101, Tower 2Metroplaza223 Hing Fong RoadKwai Fong, N.T., Hong KongTel: 852-2-401-1200 Fax: 852-2-401-3431BeijingMicrochip Technology, Beijing Unit 915, 6 Chaoyangmen Bei Dajie Dong Erhuan Road, Dongcheng District New China Hong Kong Manhattan BuildingBeijing 100027 PRC Tel: 86-10-85282100 Fax: 86-10-85282104IndiaMicrochip Technology Inc.India Liaison OfficeNo. 6, Legacy, Convent RoadBangalore 560 025, IndiaTel: 91-80-229-0061 Fax: 91-80-229-0062JapanMicrochip Technology Intl. Inc.Benex S-1 6F3-18-20, ShinyokohamaKohoku-Ku, Yokohama-shiKanagawa 222-0033 JapanTel: 81-45-471- 6166 Fax: 81-45-471-6122KoreaMicrochip Technology Korea168-1, Youngbo Bldg. 3 FloorSamsung-Dong, Kangnam-KuSeoul, KoreaTel: 82-2-554-7200 Fax: 82-2-558-5934ShanghaiMicrochip Technology RM 406 Shanghai Golden Bridge Bldg.2077 Yan’an Road West, Hong Qiao DistrictShanghai, PRC 200335Tel: 86-21-6275-5700 Fax: 86 21-6275-5060

ASIA/PACIFIC (continued)SingaporeMicrochip Technology Singapore Pte Ltd.200 Middle Road#07-02 Prime CentreSingapore 188980Tel: 65-334-8870 Fax: 65-334-8850Taiwan, R.O.CMicrochip Technology Taiwan10F-1C 207Tung Hua North RoadTaipei, Taiwan, ROCTel: 886-2-2717-7175 Fax: 886-2-2545-0139

EUROPEUnited KingdomArizona Microchip Technology Ltd.505 Eskdale RoadWinnersh TriangleWokingham Berkshire, England RG41 5TUTel: 44 118 921 5858 Fax: 44-118 921-5835DenmarkMicrochip Technology Denmark ApSRegus Business CentreLautrup hoj 1-3Ballerup DK-2750 DenmarkTel: 45 4420 9895 Fax: 45 4420 9910FranceArizona Microchip Technology SARLParc d’Activite du Moulin de Massy43 Rue du Saule TrapuBatiment A - ler Etage91300 Massy, FranceTel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79GermanyArizona Microchip Technology GmbHGustav-Heinemann-Ring 125D-81739 München, GermanyTel: 49-89-627-144 0 Fax: 49-89-627-144-44ItalyArizona Microchip Technology SRLCentro Direzionale Colleoni Palazzo Taurus 1 V. Le Colleoni 120041 Agrate BrianzaMilan, Italy Tel: 39-039-65791-1 Fax: 39-039-6899883

11/15/99

WORLDWIDE SALES AND SERVICE

Microchip received QS-9000 quality system certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona in July 1999. The Company’s quality system processes and procedures are QS-9000 compliant for its PICmicro® 8-bit MCUs, KEELOQ® code hopping devices, Serial EEPROMs and microperipheral products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001 certified.

Page 98: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

APÉNDICE D

Page 99: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

El instrumento mostrado en la figura M-1, consta de dos etapas, la etapa deacondicionamiento de la señal y la etapa de procesamiento de la misma, la etapa deprocesamiento se encarga de realizar cálculos y generar el despliegue del resultado finalen latidos por minuto (lpm) en la pantalla de cristal líquido, todo esto automáticamente,sin embargo, en la etapa de acondicionamiento de la señal se pueden realizarmanipulaciones semi-manuales dependiendo de cómo el usuario crea que es másconveniente hacerlo. También es posible visualizar la señal en un osciloscopio o en unacomputadora.

Potenciómetro Conector no.2

Interruptor no.3 Interruptor no.2

Interruptor no.4 Conector no.3

Interruptor no.5

Conector no.1

Interruptor no.1

Figura M-1

Page 100: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Como se puede observar en la figura el instrumento consta de 5 interruptores (uno de 4posiciones), 3 conectores y un potenciómetro con cabeza de tornillo.

La señal se puede modificar a través de 4 interruptores, el interruptor no.1 es el deencendido-apagado.

Interruptor no.2 (posición 1 = arriba, posición 2 = abajo)Colocando el interruptor en la posición 1, la señal no sufre modificación alguna ypasa directamente hacia el siguiente interruptor.Colocando el interruptor en la posición 2, la señal pasa a través del filtro paraeliminar las frecuencias no deseadas (para seleccionar el tipo de filtro se usan losinterruptores 4 y 5).

Interruptor no.3 (posición 1 = arriba, posición 2 = abajo)Colocando el interruptor en la posición 1, la señal no sufre modificación alguna ypasa directamente hacia el detector pulsos.Colocando el interruptor en la posición 2, la señal pasa a través del amplificador,el cual aumenta la amplitud de la señal 5 veces su valor anterior, y posteriormentepasa hacia el detector de pulsos.

Interruptor no.4 (posición 1 = izquierda, posición 2 = derecha, tomando como referenciala pantalla de cristal líquido hacia arriba)

Colocando el interruptor en la posición 1, se selecciona el banco de filtros de másalto orden.Colocando el interruptor en la posición 2, se selecciona el banco de filtros de másbajo orden.

Interruptor no.5 (4 posiciones) Este interruptor es diferente ya que tiene 4 posiciones y se seleccionan girando almismo, si tomamos como posición 1 la primera posición del interruptor girándolo deacuerdo con el sentido de las manecillas del reloj y la posición 4 como la última, entoncesel orden del filtro se incrementa en el mismo sentido.

Una vez seleccionado si se quiere o no usar amplificador, filtro y el orden del filtro encaso de haber seleccionado usarlo, la señal pasa al detector de pulsos como se mencionóanteriormente, esta etapa se encarga de generar pulsos de nivel digital de la mismaduración del latido que se desee medir, por lo tanto si durante esta etapa la detección delos pulsos se realiza incorrectamente se obtendrán valores incorrectos. Debido a que laseñal depende de muchas variables y siempre se obtiene con diferente amplitud ycomponentes en frecuencia, se colocó un potenciómetro para que el usuario seleccione elnivel del umbral de detección con respecto de la señal que se está obteniendo y asígarantizar una buena medición y un resultado correcto.Para visualizar las señales se utilizan los conectores 2 y 3 (el conector 1 es para elmicrófono o señal de entrada).

Page 101: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

En el conector 1 se puede visualizar la señal acondicionada o de salida (que pasadirectamente al detector de pulsos).En el conector 2 se puede visualizar la señal que representa el umbral. Una vezvisualizadas ambas señales, se pueden superponer, y en conjunción con el potenciómetrose puede ajustar el nivel del umbral para hacerlo lo suficientemente pequeño para detectaradecuadamente los pulsos generados por los latidos del bebé, ya sea por el primero o elsegundo y lo suficientemente grande para no detectar otros pulsos generados por factoresexternos no deseados.

Realizadas correctamente las manipulaciones necesarias se obtendrá un valor correcto ysatisfactorio en la medición.

Page 102: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

MPLAB y MPASM Guía Rápida

ENTORNO DE DESARROLLO INTEGRADO MPLAB

El MPLAB corre bajo Microsoft Windows 3.1 o superior. MPLAB proporcionafunciones que permiten:· Crear y Editar archivos fuentes· Agrupar archivos fuente dentro de proyectos· Depurar código fuente

Herramientas de MPLAB

MPLAB es un conjunto de herramientas para el desarrollo y depuración de aplicacionesen un proyecto. MPLAB incluye un editor de texto, un manejador de proyectos paramantener tu código organizado y un ambiente para depurar el software que desarrollaspara tus propios diseños. Este ambiente incluye el simulador MPLAB-SIM, y soportaotras herramientas de Microchip tales como el emulador PICMASTER y el programadorde dispositivos PICSTART Plus.

Manejador de Proyectos

Page 103: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

El manejador de proyectos es la parte central del MPLAB. Sin la creación de un proyectono se puede hacer depuración alguna. A través del manejador de proyectos se hacen lassiguientes operaciones:· Crear un proyecto· Añadir un archivo de código fuente a un proyecto· Ensamblar o compilar código fuente· Editar código fuente· Reconstruir todos los archivos fuente, o compilar un archivo sencillo· Depurar el código fuente

El Editor MPLAB

El Editor de MPLAB permite a los programadores escribir y editar código fuente para lasfamilias de microcontroladores PIC16/17, así como otros archivos de texto.

El Ensamblador MPASM

El Ensamblador Universal de Microcontroladores PIC16/17 MPASM ofrece grandescaracterísticas completamente desarrolladas, ensamblado condicional y de diferentesfuentes y lista de formatos. MPASM permite generar varios formatos de código objetoque soportan las herramientas de desarrollo de Microchip así como los programadoresrelacionados sin salir de MPLAB.

El Simulador MPLAB-SIM

El simulador MPLAB-SIM permite aislar problemas de código y depurar diseños en losmicrocontroladores PIC16/17. Simula las funciones principales así como la mayoría delos periféricos de las familias de microcontroladores PIC16/17.

Otras Herramientas

El MPLAB soporta herramientas de desarrollo tales como programadores, compiladoresy emuladores ya sea de Microchip o de otros diseñadores.

REQUERIMIENTOS DE SOFTWARE Y HARDWARE

Relativo al software el MPLAB funciona correctamente en un ambiente operativo deWindows, ya que soporta el entorno de multitareas. Debido a que MPLAB tienecapacidades de emulación de multiprocesador, soporta DDE (intercambio dinámico dedatos) con programas cliente, los datos recolectados con MPLAB pueden serintercambiados con mas programas.Para tomar ventaja de las características de emulación del sistema, se debe instalar elsoftware de MPLAB en una computadora con la siguiente configuración (mínimo):· PC 386 o superior. Se recomienda Pentium· 4 MB de memoria en RAM, 16MB recomendado

Page 104: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

· 8 MB de espacio libre en disco duro, 20 MB recomendado· Monitor VGA o Super VGA· Microsoft Windows 3.1 o superior

FUNCIONES DE MPLAB

Después de ajustar y compilar un proyecto en MPLAB, querrás ver como corre el código.Si se cuenta con un programador, se puede programar un microcontrolador y conectarloen la aplicación actual para verificar que la aplicación funciona como se esperaba.Comúnmente, una aplicación no funciona correctamente la primera vez, y se tendrá quedepurar el código. Se puede usar el MPLAB-SIM para simular el código o se puede usarel emulador PICMASTER para correr tu aplicación en la aplicación actual mientras lodepuras.De otra manera, se pueden usar puntos de ruptura para ver como corre el código.Observar los valores de los registros en la ventana de Registros o la ventana de Registrosde Funciones Especiales para ver el estado del procesador tal y como funcionaria tucódigo paso por paso.El emulador PICMASTER corre el código en tiempo real en tu hardware objetivo,deteniéndose solamente en los puntos de ruptura que se hayan especificado. El MPLAB-SIM simula la ejecución de cualquier PIC16/17 y simula las condiciones deEntrada/Salida mas la velocidad depende de la velocidad de la PC en que se ejecuta.Las siguientes funciones de depuración trabajan igual con el simulador o el emulador.Las funciones principales son:· Emulación de la memoria (ventana Memoria de Programa)· Puntos de Ruptura· Paso-a-Paso· Monitoreo de Registros (SFR y File Register)Todas estas funciones utilizan información de un proyecto de MPLAB.

Ejecución en Tiempo-Real

La ejecución en Tiempo-Real solo es aplicable al emulador PICMASTER.

Ejecución en el Modo simulador MPLAB-SIM

Cuando se le dice al sistema que corre en tiempo real en el modo simulador, lasinstrucciones se ejecutan tan rápido como es posible por el software. Esto comúnmente esmas lento que lo que en realidad podrían corren los microcontroladores PIC16/17 en suciclo de reloj.La velocidad a la cual el simulador corre depende de la velocidad de la computadora en laque corre y de las demás tareas que se estén ejecutando al mismo tiempo. El softwaresimulador debe de actualizar todos los registros simulados en RAM, también monitorearlas Entradas/Salidas, ajustar y limpiar las banderas, checar y buscar por puntos de ruptura

Page 105: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

en el software, y simular las instrucciones de los microcontroladores PIC16/17 tal ycomo están siendo ejecutadas en el CPU de la computadora.Nota: Rutinas de tiempo pueden ser utilizadas en el código para generar retardos detiempo. Cuando se utiliza el simulador, se podría decrementar el tiempo de esos retardoso condicionarlos removiendo esas secciones del código con el fin de incrementar lavelocidad de simulación.En general cuando este manual dice “tiempo real” y se esta en modo de simulador, quieredecir que la simulación del software del código de los PIC16/17 es ejecutada simuladatan rápido como la PC puede simular las instrucciones.

Modo Animado

El modo animado es un método en que el procesador camina automáticamente paso-paso.El simulador ejecuta pasos sencillos mientras corre, pero solamente actualiza los valoresde los registros cuando es detenido. Para ir observando los cambios en las ventanas deRegistros de Funciones Especiales y Archivos de Registros se utiliza en modo animado.El modo animado corre mas lento que la función RUN, pero permite ver los cambios enlos valores de los registros.

Ambiente del Simulador MPLAB-SIM

El MPLAB-SIM es un simulador de eventos discretos para las familias demicrocontroladores PIC16/17 y se encuentra integrado al MPLAB IDE. La herramientade simulador MPLAB-SIM esta diseñada para:· Modelar las operaciones de las familias de microcontroladores PIC16C5X, PIC16CXXy PIC17CXX de Microchip Technology· Asistir al usuario en la depuración del software que utilizan los microcontroladores deMicrochip.Un simulador de eventos discretos, así como un emulador in-circuit como el emuladorPICMASTER, están diseñados para depurar software. El MPLAB-SIM permite modificarcódigo objeto e inmediatamente reejecutarlo, inyectarle estímulos externos al procesadorsimulado, y trazar la ejecución del código objeto. Un simulado difiere de un emulador in-circuit en tres áreas importantes:· Tiempo de las Entradas/Salidas· Velocidad de ejecución· Costo

Tiempo de las Entradas/Salidas

El tiempo en el MPLAB-SIM es procesado únicamente durante cada ciclo de instrucción.Las señales transitorias tales como los impulsos al MCLR, mas pequeñas que los ciclosde instrucción no pueden ser simuladas en un simulador pero si en un emulador in-circuit.

Page 106: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Velocidad de Ejecución

La velocidad de ejecución de un evento discreto en un software simulador es de acuerdoa la magnitud y a la orientación de la resolución del hardware. El usuario podría ver lavelocidad de la ejecución tan lenta o tan rápido como la herramienta lo permita. MPLAB-SIM esta diseñado para proporcionar la simulación de ciclos los mas rápida posible, ydepende de los modos de operación, puede operar en el orden de los milisegundos porinstrucción.

Costo

La tecnología de Microchip ha desarrollado el simulador MPLAB-SIM para el ser laherramienta para depuración de software de aplicaciones mas efectiva por su costo.MPLAB-SIM no requiere ningún tipo de software externo a la PC, y opera en la mayoríade sus funciones exactamente igual al emulador PICMASTER. A menos que se necesitedepurar la aplicación en tiempo real en el hardware actual, MPLAB-SIM puede serutilizado para buscar y corregir la mayoría de los errores de codificación.

Herramienta de Depuración

MPLAB-SIM esta particularmente catalogado para la optimización de algoritmos. Adiferencia de un emulador, el simulador hace visibles cualquier registro interno o puedeproporcionar herramientas de software que son difíciles o caras de implementar enhardware con un emulador in-circuit. Para la mayoría de los casos MPLAB-SIM puedeser utilizado para depurar completamente el sistema a menos que se corra en situacionesdonde un emulador in-circuit es requerido.

Consideraciones del Simulador

De cualquier manera, existen algunos eventos físicos que no pueden ser simuladosapropiadamente. Estos caen dentro de las siguientes categorías:· Eventos puramente asincronos· Eventos que tienen periodos mas cortos que un ciclo de instrucción (1 ciclo deinstrucción = 4 ciclos de reloj)En realidad, la red resultante simula únicamente ciclos de instrucción de todos loseventos sincronizados, y todos los eventos mas pequeños que un ciclo de instrucción noson reconocidos.Los siguientes son una lista de operaciones de las familias de microcontroladoresPIC16/17 las cuales se ven afectadas en la simulación:· Entradas de reloj mas pequeñas que un ciclo de reloj utilizadas en el Prescaler· Salidas PWM cuya resolución es menor que un ciclo de reloj· Comparaciones mayores a 8 bits no se soportan· En modo contador no sincronizado, las entradas mas pequeñas a un ciclo de reloj no sepueden usar.· Las formas de onda del oscilador en RC0/RC1 no pueden mostrarse.

Page 107: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

COMO USAR EL PROGRAMA MPLAB Y EL ENSAMBLADOR MPASM

Creación y desarrollo

MPLAB es un Entorno de Desarrollo Integrado (IDE) fácil de aprender y fácil de usar. Lacaracterística IDE proporciona a los desarrolladores de software para aplicaciones laflexibilidad para editar, compilar, emular, simular, desarrollar y depurar su propiosoftware para las familias de microcontroladores PIC16/17 de Microchip.

Figura 7-1. Ventana del MPLAB IDE

El programa MPLAB es un software que contiene un editor, un ensamblador, unemulador y un simulador, todos ellos integrados en el mismo ambiente. El editor nossirve para escribir un nuevo programa o modificarlo, para empezar a trabajar en el editorse necesita abrir o crear un nuevo archivo fuente como a continuación se muestra unejemplo:

Page 108: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Esta figura nos muestra la manera de como abrir un archivo mas la opción NEW es laadecuada para comenzar a realizarlo.

Una vez terminado de escribir el programa en el editor se procede a salvarlo (guardarlo)presionando CTRL+S, una vez ahí es tiempo de ponerle el nombre que uno desee, serecomienda que sea adecuado al programa o aplicación que se esta realizando, después deesto se procede a ejecutar el programa MPASM para pode ensamblar el archivo queacabamos de guardar/crear.

Esta figura nos muestra el programa MPASM que es un ensamblador paramicrocontroladores PIC de Microchip. Para comenzar a ensamblar se localiza con elmouse/teclado el botón que dice Browse y lo presionamos para localizar/indicar nuestroarchivo que vamos a ensamblar.Una vez que ya localizamos el archivo buscaremos el numero/modelo de PIC queusaremos para nuestra aplicación o para simularlo, una vez establecido el

Page 109: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

microcontrolador PIC que se utilizara se procede a ensamblar el archivo presionando elbotón Assemble y aparecerá el siguiente cuadro:

Este cuadro nos muestra los errores, warnings (advertencias), mensajes y líneasensambladas, si no se tuvo ningún error el siguiente paso es simular y si no se procede acorregir los errores auxiliándose del archivo .ERR, que es generado por MPASM y sepuede leer en el editor de MPLAB o en cualquier otro editor de texto, que nos muestra lalínea en que nos equivocamos.Para esto lo podemos abrir como cualquier otro archivo con el que se desea trabajar,indicado anteriormente, este archivo generalmente es generado junto con otros mas conextensión diferente, por ejemplo . COD, .HEX, y se localizan en el mismo directorio oubicación que el archivo fuente.

Page 110: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Para comenzar a simular el archivo después de haber sido correctamente ensamblado seprocede a bajar el archivo .HEX del archivo que queremos simular a la memoria delsimulador.

El siguiente paso es abrir una ventana con el programa ensamblado para podersimularlo.También abrir File Registers y Special Function Registers

Para poder simular en este programa es necesario cambiar la configuración de modoEditor a modo Simulador, encontrar tu modelo de microcontrolador PIC con el que se vaa simular y apretar RESET.

Page 111: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

El siguiente paso es comenzar a simular nuestro programa, primero tendremos que moverel mouse hacia DEBUG y se verán todas las barras de dicha tarea:

Ahora explicare para que sirve cada barra, para correr un programa automáticamentepresionaremos ANIMATE, para detenerlo esta HALT y el RESET para inicializarnuestro programa hasta PC 0x00 (inicio del contador de programa). STEP es para irsimulando paso a paso cada instrucción.

Para resetear el programa .HEX que esta en memoria en caso de que se desee simularotro o de que al programa existente se le haya hecho algún cambio y se haya ensambladode nuevo, se utiliza CLEAR PROGRAM MEMORY y para limpiar todos los registros dememoria y registros especiales como: PORTB, PORTA, W(acumulador),TIMERS, etc.,se utiliza CLEAR ALL POINTS.

A continuación se presenta una imagen con los registros especiales registro de memoria

Page 112: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

Modificar.

Seleccione Window>Modify para desplegar o modificar los contenidos de la Memoria deDatos, Memoria de Programas, la Pila o la memoria EEPROM.

Modificar permite leer/escribir a una dirección especifica, leer/escribir mientras se estaincrementando a la siguiente dirección o llenar un bloque de direcciones. MPLABpermite dejar abierta la ventana de Modificar todo el tiempo. Existen cuatro maneras paraabrir el cuadro de dialogo Modificar:· Seleccionar Window>Modify· Doble clic en un elemento en la ventana de registros de funciones especiales· Doble clic en un elemento de la ventana Watch· Seleccionar una dirección o un rango en la ventana File Register y dar un clic en elbotón derecho del mouse para desplegar el botón Fill Register. Presione el botón FillRegister para desplegar el cuadro de dialogo Modify.

Elementos del cuadro de dialogo Modify

Address Introduce la dirección en la cual el dato va a ser leído omodificado. Se puede introducir una dirección numérica o un símbolo(etiqueta)Data/Opcode Presione Read para desplegar el valor del dato/Opcode de ladirección seleccionada y el área de memoria. Presione en Write para escribirel valor del dato/Opcode de la dirección seleccionada y área dememoria

Page 113: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

en hexadecimal, decimal o mnemónicoMemory Area Seleccione el área de memoria que se quiera modificarData Memory Memoria RAMProgram Memory Memoria ROM en el emuladorStack Memoria de la Pila del dispositivoEEPROM Datos de la memoria EEPROMEnd Adr La dirección final para llenar el rangoFill Range Llena el rango definido por las dos direcciones con el valor introducido en Data/OpcodeAuto Increment Seleccione auto increment para incrementar a la siguientedirección después de cada lectura/escrituraNota: Auto Increment avanza a la siguiente dirección, despliega la siguiente dirección ylee el contenido de la dirección. Si se esta utilizando Auto Increment para leer un rango,introduzca la dirección del área de memoria menos uno, debido a que la primer lecturaincrementara la dirección.Write Introduce un nuevo en el campo Data/Opcode, presione Write para modificar el dato de la dirección especifica. (Se pueden introducir datos en formato simbólico) Cuando un dato es modificado, todaslas ventanas que lo utilizan se actualizan con la nueva informaciónRead Presione Read para leer el dato de la dirección especificadaClose Presione Close para salir de Modificar.

Page 114: UNIVERSIDAD AUTÓNOMA METROPOLITANA …148.206.53.84/tesiuami/UAMI10315.pdfEl reciente desarrollo de la microelectrónica digital y analógica ha abierto nuevas posibilidades en el

114

REFERENCIAS

1. - Miguel Ángel Peña Castillo. Universidad Autónoma Metropolitana, Medición de laFrecuencia cardiaca fetal instantánea por fonocardiografía.2. - Ritola J.y Lukkarinen S.: Comparison of Time-Frequency Distributions in the HeartSounds Analysis. Medical & Biological Engineering & Computing. Vol 34, Supplement 1,part 1, (1996) 89-903. - Van Vollenhoven E. y Chin J.G.J.: Phonocardiography: Past, Present y Future, ActaCardiologica, 48 (1993) 337-3444. - Van Oort A. y otros: The vibratory innocent heart murmur in schoolchildren:Difference in auscultatory findings between school medical officers and a pediatriccardiologist, Pediatr. Cardiol., 15(1994) 282-287.5. - Fuentes de Internet24.232.114.45/BMF2002%20Clase_9%20Examen%20de%20Salud%20Cuidado%20del%20Embarazo.pdf

6. - MF10Universal Monolithic Dual Switched Capacitor FilterDatasheet

7.- Microchip PIC MicrocontrollersData Book, Microchip Technology Inc.Microchip, The embedded control solutions company, 1997

8.- LM317T & LM337T DATASHEET