podometro digital en vhdl

27
 PROYECTO DE INICIACIÓN: ELABORACIÓN DE UN PODÓMETRO EN VHDL Maira Estefanía Torres Gonzales 20101005074. Krystian Julian Marentes Urbano 20101005020. Joel Mateo Moreno Quintero 20101005088. Facultad de Ingeniería. Universidad Distrital Francisco José de Caldas. 1. INTRODUCCIÓN: En este documento se propone un modelo para la elaboración de un podómetro en lenguaje VHDL, el cual se desarrollará usando conceptos básicos de circuitos digitales y su correspondiente modelado en el lenguaje en mención. Éste podómetro debe permitir identificar la cantidad de pasos dados por una persona, la distancia total recorrida, la velocidad instantánea de la persona y el tiempo total empleado en el trayecto recorrido. La solución implementada proporciona una medición rápida y efectiva, sin embargo las mediciones pueden llegar a ser inexactas debido a la calibración manual del podómetro. Para modelado del podómetro se trataron por separado los 4 requerimientos de los cuales consta el problema principal, después de hallar una solución para cada uno, se integraron todas las soluciones, y a partir de allí se llego a la solución definitiva propuesta. En éste reporte se muestra cómo surgió la solución de cada problema, partiendo desde el mecanismo de detección de pasos, y utilizando estos resultados para modelar correctamente cada especificación. Luego se indica el proceso detallado de cada solución y su correspondiente diseño final. Por ultimo se muestran los resultados obtenidos a partir de simulaciones en las cuales se detalla el correcto funcionamiento tanto de las partes individuales del mecanismo, como del podómetro completo, obteniendo conclusiones acerca del proceso de modelado y solución del problema. 2. METODOLOGÍA: Teniendo en cuenta el problema planteado anteriormente para el modelamiento de un  podómetro en VHDL se uso la siguiente metodología. Primero se requiere saber que es un podómetro, de acuerdo a [1] un podómetro es un dispositivo electrónico, que cuenta cada paso que una persona realiza al caminar. El podómetro funciona con un sensor micro   electrónico   mecánico que emite ciertas señales eléctricas que se procesan en el  podómetro.

Upload: estefania-torres

Post on 21-Jul-2015

452 views

Category:

Documents


0 download

DESCRIPTION

Este documento que se muestra a continuacion es el primer informe para la asignatura Diseño de Microcontroladores dictada por el profesor Miguel Melgarejo. Aqui se explica todo el proceso que se debio llevar a cabo para el diseño de un podometro digital.El tabajo fue merecedor de una nota de 4.5

TRANSCRIPT

PROYECTO DE INICIACIN: ELABORACIN DE UN PODMETRO EN VHDL Maira Estefana Torres Gonzales 20101005074. Krystian Julian Marentes Urbano 20101005020. Joel Mateo Moreno Quintero 20101005088. Facultad de Ingeniera. Universidad Distrital Francisco Jos de Caldas.

1. INTRODUCCIN: En este documento se propone un modelo para la elaboracin de un podmetro en lenguaje VHDL, el cual se desarrollar usando conceptos bsicos de circuitos digitales y su correspondiente modelado en el lenguaje en mencin. ste podmetro debe permitir identificar la cantidad de pasos dados por una persona, la distancia total recorrida, la velocidad instantnea de la persona y el tiempo total empleado en el trayecto recorrido. La solucin implementada proporciona una medicin rpida y efectiva, sin embargo las mediciones pueden llegar a ser inexactas debido a la calibracin manual del podmetro. Para modelado del podmetro se trataron por separado los 4 requerimientos de los cuales consta el problema principal, despus de hallar una solucin para cada uno, se integraron todas las soluciones, y a partir de all se llego a la solucin definitiva propuesta. En ste reporte se muestra cmo surgi la solucin de cada problema, partiendo desde el mecanismo de deteccin de pasos, y utilizando estos resultados para modelar correctamente cada especificacin. Luego se indica el proceso detallado de cada solucin y su correspondiente diseo final. Por ultimo se muestran los resultados obtenidos a partir de simulaciones en las cuales se detalla el correcto funcionamiento tanto de las partes individuales del mecanismo, como del podmetro completo, obteniendo conclusiones acerca del proceso de modelado y solucin del problema. 2. METODOLOGA: Teniendo en cuenta el problema planteado anteriormente para el modelamiento de un podmetro en VHDL se uso la siguiente metodologa. Primero se requiere saber que es un podmetro, de acuerdo a [1] un podmetro es un dispositivo electrnico, que cuenta cada paso que una persona realiza al caminar. El podmetro funciona con un sensor microelectrnicomecnico que emite ciertas seales elctricas que se procesan en el podmetro.

Ahora se aborda cada uno de los problemas comenzando por la adecuacin de las seales, pasando por los modelos vhdl de cada uno de los requerimientos del proyecto y finalmente generando un esquemtico total del mismo.

Registro del Paso y acondicionamiento de seal de salida del sensor de presin. Para el registro de los pasos, se decide utilizar, un sensor como el mostrado en la figura 1 para registrar la presin en cada pie.

Figura 1

Este sensor ser el MPX2100 citado en el datasheet en [3], el cual funciona a partir de piezoresistencias de silicio sensibles a la presin como lo muestra la figura 2 que proporciona una variacin de tensin exacta y lineal directamente proporcional a la presin que se le aplica. El sensor consta, de un diafragma monoltico de silicio para medir el esfuerzo y consta tambin una fina pelcula en una red de resistencias integradas en un chip.

Figura 2

Dado que el sensor es lineal y de salida es directamente proporcional a la presin, se tiene una seal continua y muy variable en el tiempo que est regida por la siguiente ecuacin: (Ecuacin 1) Acondicionamiento de seal de salida del sensor de presin. Gracias a que el sensor tiene una seal de salida proporcional a la presin de los pies sobre el dispositivo, se requiere evaluar la presin del pie en funcin del tiempo. En la figura 3 se muestra la distribucin de fuerzas verticales que se producen en un ciclo al caminar. En la curva de fuerza vertical Fz al caminar tpicamente aparecen dos picos: el primero, durante el contacto del taln y el segundo, durante el impulso.

Figura 3

Acondicionamiento de Seal Dadas estas condiciones de presin en el ciclo del paso, se requiere pasar de una seal continua y variable, a una seal de niveles lgicos, la cual solo contenga el pulso dado por un evento determinado llamado paso, para que pueda ser recibida por un sistema digital, de seales concretas, para la adaptacin en VHDL. Para esta adaptacin se utiliza un circuito monoestable (mostrado en la figura 4), el cual solo puede tener dos niveles de salida, y a travs de comparadores de voltaje interno, acondiciona la seal y la convierte en una seal cuadrada la cual tiene nivel alto en cada paso.

Figura 4

Teniendo nuestra seal de salida del sensor ya procesada, se procedi a fraccionar el problema en cada uno de los 4 requerimientos mencionados, con el fin de proponer una solucin para cada uno, integrar las soluciones y realizar las modificaciones pertinentes. Modelado VHDL del codificador Para este podmetro, el usuario debe ingresar la longitud de su zancada, habiendo medido previamente dicha longitud. Por ello, se hace necesario contar con un mecanismo que le permita al usuario introducir ste dato. As mismo debe existir un dispositivo que realice el reconocimiento del dato ingresado y le transmita al circuito ste dato en un formato reconocible. El circuito que procesa el dato ingresado es un codificador. El codificador est modelado con un teclado numrico, para la entrada de datos por parte del usuario, la salida del codificador estar dada bajo los siguientes parmetros de entrada:

Figura 5

Ingreso de datos para cm:Dato Teclado Numrico 0 1 2 3 4 5 6 7 8 9 Otro caso Binario sin Codificacin 0000000001 0000000010 0000000100 0000001000 0000010000 0000100000 0001000000 0010000000 0100000000 1000000000 --------------Binario Codificado 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000

Ingreso de datos para dm:Dato Teclado Numrico 0 1 2 3 4 5 6 7 8 9 Otro caso Binario sin Codificacin 0000000001 0000000010 0000000100 0000001000 0000010000 0000100000 0001000000 0010000000 0100000000 1000000000 --------------Binario Codificado 00000000 00001010 00010100 00011110 00101000 00110010 00111100 01000110 01010000 01011010 00000000

Ingreso de datos para m:Dato Teclado Numrico 0 1 2 3 Otro caso Binario sin Codificacin 0001 0010 0100 1000 --------------Binario Codificado 000000000 001100100 011001000 100101100 000000000

Para la calibracin y medicin de la longitud de la zancada del podmetro vase Anexo 2 Para el cdigo VHDL del codificador vase Anexo 3

Modelado VHDL del contador de Pasos El primer problema a resolver fue el contador de pasos, cuya propuesta inicial (que se mantuvo en el modelo definitivo) es un contador ascendente sencillo, cuya entrada de reloj es la seal del sensor de paso; la salida de este contador indicar la cantidad de pasos dados por la persona.

Debido a que la longitud de bits de la salida (numero de pasos medidos) no puede ser ilimitada se opt por limitarla a 16 bits, por lo tanto el nmero mximo de pasos medidos ser 65535 pasos. El esquemtico RTL generado por el programa se muestra en la figura 6

Figura 6

Para el cdigo VHDL del contador de pasos vase Anexo 4

Modelado VHDL del medidor de distancia: Ahora, para el medidor de la distancia total recorrida se usa un sumador, que utiliza modelo cannico, es decir, el sumador a la entrada (circuito combinacional) y un registro, que almacena la tupla de salida del sumador y que realimenta a una de las entradas del mismo; la otra entrada del sumador est dada por la tupla que contiene la informacin de la longitud de pasos que el usuario debe ingresar. El esquemtico RTL generado por Xilinx se muestra en la figura 7

Figura 6

Para el cdigo VHDL del medidor de distancia vase Anexo 5

Modelado VHDL para la velocidad instantnea: La rapidez instantnea de un cuerpo en movimiento se define fsicamente como (Ecuacin 2) Debido a que la distancia mnima medida va a ser la longitud de la zancada ingresada por el usuario, el tiempo asociado a esta (divisor) ser el tiempo que transcurrido entre el flanco de bajada y el flanco de subida de la seal sensorpaso. La medicin de ese tiempo estar a cargo de un reloj de periodo real llamado clock clock : in std_logic sensorpaso : in std_logic

Sabiendo esto, la operacin aritmtica que determina la velocidad instantnea y la entregar en centmetros / segundos estar dada por (Ecuacin 3) Al ser el numerador (asignado en VHDL como longitudpor128) el resultado de una multiplicacin de una tupla de 9 bits por la potencia sptima de 2 , tendr una longitud de 16 bits. Debido a que el nmero de bits destinados al conteo de los pulsos no puede ser ilimitado, fue limitado a 10 bits, lo que indica que entre un paso y el otro no debe haber una diferencia mayor que: 7 segundos.

Para hacer posible la visualizacin de la velocidad instantnea y teniendo en cuenta que la longitud de la zancada por 128 permanecer constante siempre, debemos mantener invariante para cada paso tambin el denominador de la ecuacin; es decir, la salida del contador de pulsos pequeos no la podemos mandar directamente a el divisor, ya que cada 7.8125 ms cambiar la visualizacin en la pantalla LCD y ser imposible su lectura. (Esto se logra con ayuda del segundo proceso del cdigo VHDL). Como precaucin se inician las seales numpulsos (denominador) en 1111111111 para que la primera velocidad mostrada sea lo menor posible y la seal conteo en 0 (Esta asignacin inicial no afectar en los clculos de la velocidad instantnea posteriores a la primera zancada). El esquemtico RTL generado por Xilinx se muestra en la figura 7:

Figura 7

Para el cdigo VHDL de la velocidad instantnea vase Anexo 6

Retomando la funcin a modelar, teniendo el numerador y el denominador, solo basta con hacer la operacin de la ecuacin 4: (Ecuacin 4) Sin embargo, la complejidad para obtener un modelo VHDL para el algoritmo de la divisin es bastante alta, por ello se decidi hacer uso de la herramienta IP-Core Generator de Xilinx. Con esta herramienta se genera el componente con la siguiente estructura:Parmetro Longitud Divisor Longitud Dividendo SCLR(Reset Sincrnico) Valores o Estado (bits) 16 (15 downto 0) 10 (9 downto 0) Si

CE (clock enable)

No

Se Obtiene el Componente mostrado en la figura 8 generado por la herramienta

Figura 8

Ahora, teniendo el componente es necesario analizar su funcionamiento. Duracin del proceso de divisin

Figura 9

La latencia total (nmero de flancos de reloj necesarios antes de que el componente genere una salida vlida) es una funcin del nmero de bits del dividendo, por esta razn en el peor de los casos la cantidad de pulsos para la divisin son 10. Como se puede observar en la figura 9 el proceso de divisin tiene una determinada duracin, esto se ver reflejado en las simulaciones, ya que la velocidad instantnea no se ver de forma inmediata con la llegada de la seal sensorpaso, por el contrario la operacin se ver reflejada despus de unos pulsos de reloj (latencia), para ello fue

necesario la implementacin de una seal de reloj con una frecuencia de 100 MHz para la efectividad de la divisin. Medidor de Tiempo total transcurrido: Por ltimo, para la medicin de tiempo transcurrido, se implementa un contador cuya entrada de reloj ser el reloj implementado para el contador de pulsos realizado en la velocidad instantnea. Como ste reloj se encuentra a una frecuencia de 128 Hz, y para este caso se requiere que este contador cambie su salida cada 1 s, simplemente la salida del contador estar dada omitiendo los 7 bits menos significativos del contador interno, lo que permitir detectar un cambio cada segundo. El esquemtico generado por Xilinx es el siguiente:

Para el cdigo VHDL del tiempo de marcha vase Anexo 7

Esquemtico RTL del podmetro completo

Para el cdigo VHDL de interconexin de componentes vase Anexo 8

3. PRESENTACIN Y ANLISIS DE RESULTADOS: Indicaciones y Limitantes del Podmetro Este podmetro puede ser utilizado por el pblico en general, sin embargo es altamente recomendado para personas que puedan mantener una longitud de paso constante, con una tolerancia del 10%, y que adems debe coincidir con la establecida en el podmetro. Si no se cumplen estas condiciones, no es posible asegurar exactitud en las mediciones. Tenga en cuenta que la longitud de los pasos es dada por el usuario, as que si observa variaciones en la longitud de su paso, calibre de nuevo el podmetro. El Podmetro arroja resultados en segundos y en centmetros, por ello su velocidad instantnea est dada en cm/s. El botn reset, sirve para borrar todos los datos guardados en el podmetro, incluyendo distancia recorrida, nmero de pasos y tiempo transcurrido. El interruptor de enable, sirve para frenar la actividad del podmetro, sin que se borre ninguno de los registros. El usuario no podr permanecer ms de 7 segundos sin actividad que registre paso. Para ello podr presionar el interruptor enable. El tiempo mximo de medicin del podmetro ser de 9.10 horas o 32767 segundos. La distancia mxima de medicin del podmetro ser de 8388.6 km o 838860000 cm. El rango de longitudes en la zancada que podr ser ingresada por el usuario ser entre 0 cm y 399 cm El mximo de pasos registrad por el podmetro ser de 65535 pasos

-

Codificador Para verificar el funcionamiento del codificador, se introducen todos los datos posibles de entrada, y se verifica su correspondiente valor de salida, se pasa por todos casos posibles, y se pueden observar las seales internas que al final son sumadas y mostradas en centmetros. El correcto funcionamiento se puede ver a continuacin en Isim.

Contador de pasos Para verificar el correcto funcionamiento del contador de pasos se realiz la simulacin en ISIm. De esta simulacin se puede observar que cuando la entrada rst se encuentra en 1, mandar un 0 a la salida numeropasos independientemente de cualquier otra situacin; y que si la seal de enable se encuentra en 0 el valor de numeropasos no se ver modificado por el flanco de subida de sensorpaso, funcionando as como un pause

Medidor de distancia recorrida En esta simulacin se puede observar que cuando la seal sensorpaso presenta un flanco de subida, distancia aumenta su valor 80 unidades, ya que la seal longpasos, fue definida como 80 cm para el caso de esta simulacin. ste incremento ocurre siempre y cuando las seales rst y enable se encuentren en estado 0 y 1 respectivamente, de lo contrario, como se aprecia en la simulacin, cuando rst es 1, distancia se restablecer en el valor 0 y ningn flanco de subida en sensorpaso afectar este valor. Por otro lado, cuando enable conmuta a 0, en distancia permanecer el ltimo valor registrado antes de la conmutacin y tampoco se producir cambio alguno frente a conmutaciones de la seal sensorpasos.

Medidor de Velocidad instantnea Modulo contador de pulsos reloj de 7.8125 ms:

En este Test Bench se demuestra que efectivamente la seal de salida longitudpor128 es 128 veces el valor que tiene la seal longpasos. Tambin se evidencia en un instante de tiempo escogido que la salida numpulsos nos mostrar el conteo de flancos de subida del reloj de 7.8125 ms contados antes del flanco de subida inmediatamente anterior. Estas dos seales respectivamente (longitudpor128 , numpulsos) corresponden al numerador y al denominador de la divisin. Modulo contador de pulsos reloj de 7.8125 ms + divisor:

En este Test Bench se ve claramente que la salida longitudpor128 esta siendo correctamente dividida por numpulsos obteniendo as la velocidad instantnea. Sin embargo al realizar un zoom del vector de simulacin observamos el retraso por la latencia de que introduce el divisor (retraso seal naranja).

Medidor de Tiempo total transcurrido: En esta simulacin en tiempo real se observa como cada segundo se produce un aumento en la salida cont, indicando el tiempo transcurrido (en segundos). Al igual que en situaciones anteriores, cuando el valor de rst se encuentra en 1 el contador se reiniciar y permanecer sin conmutar hasta que rst no regrese al estado 0. Vale aclarar que para el caso de esta simulacin la seal de reloj tiene una frecuencia de 128 Hz, cuyas conmutaciones no alcanzan a ser visibles en la simulacin.

Simulacin Completa del podmetro:

Lo primero a notar en la simulacin es que se ingresa por teclado numrico un 0 para la entradametros un nueve para entradadecimetros y un 1 para entradacentimetros por lo que la longitud de la zancada ingresada por la persona es de 91 cm. Observando primero la distancia recorrida, podemos notar que en cada flanco de subida de sensorpaso aumenta el valor de la zancada; es decir si la distancia recorrida estaba en 182 cm, cuando el usuario apoye uno de sus pies contra el piso se aumentar a 182+91=273. Antes de 5 s se acciona el rst del podmetro Ahora bien, al observar la velocidad instantnea tenemos que mientras rst este en 1 (botn oprimido) nos mostrar el resultado que nada tiene que ver con la velocidad, pero al momento de que el usuario d su primera zancada este tomar el valor real de la velocidad. En la simulacin se observa que a menor distancia entre el flanco de bajada y el flanco de subida de

la seal sensorpaso mayor ser la velocidad instantnea mostrada por la simulacin. Tambin se muestra que cuando enable es 0 el siguiente pulso del sensorpaso no ser contado. Con respecto a la seal numeropasos, es evidente ver su correcto funcionamiento como contador de flancos de subida de sensorpaso, adems obedece a la definicin de enable y se reinicia cuando la seal rst esta 1. El conteo del tiempo mostrado por la seal de salida cont al igual que numeropasos obedece a las definiciones de rst y de enable implementadas.

4. CONCLUSIONES: El tiempo de ejecucin de la simulacin del componente podmetro es bastante alto, esta situacin es debida a que el software ISim tarda ms en mostrar los vectores de simulacin cuando se utilizan componentes que trabajan a tan distintas frecuencias de operacin. Para el caso de este podmetro esta diferencia se dio entre los relojes usados para la divisin y para el conteo de tiempo entre pasos utilizado en el mdulo de la velocidad instantnea, cuyas frecuencias son de 1 s y 7.8125 ms respectivamente. Debido a la enorme complejidad del circuito, y a la gran cantidad de recursos consumidos, la frecuencia de operacin del proyecto se vio bastante reducida en comparacin a otro tipo de implementaciones realizadas en clase. As mismo, es posible afirmar que esta solucin propuesta significara ciertos gastos innecesarios para la produccin en serie; adems con sus limitantes en cuanto a exactitud de la medicin no sera un dispositivo ptimo en trminos comerciales. Al momento de realizar la implementacin; el requerimiento de la velocidad instantnea fue aquel que ms dificultad represent, dado que con nuestros conocimientos solo nos fue posible modelar un algoritmo para la divisin, pero al momento de crear el circuito que desarrollara tal algoritmo se tuvo bastantes complicaciones. En el momento de crear un componente usando la herramienta IPCore Generator para el divisor, se encontr que el nmero de lneas de dicho cdigo es muy extenso, por consiguiente esto demanda una cantidad de recursos elevada en la FPGA.

5. BIBLBIOGRAFA:[1] Podmetro Wikipedia, la enciclopedia libre [en lnea] Disponible < http://es.wikipedia.org/wiki/Pod%C3%B3metro> [Consulta: 5 de abril de 2012]. en Web:

[2] UTILIZACIN DEL PODMETRO NEW LIFESTYLES DIGI-WALKER [en lnea] 2002 .Disponible en Web: < http://www.new-lifestyles.com/Digiwalker_SPANISH.pdf> [Consulta: 6 de abril de 2012].

[3] DATASHEET Motorola MPX2100 series (sensor de presin) [en lnea]. Disponible en Web: [Consulta: 14 de abril de 2012]. [4] Estudio dinmico de la presin en el pie: podobarografa [en lnea] 2002 .Disponible en Web: [Consulta: 14 de abril de 2012]. [5] BROWN, Stephen. Fundamentos de Lgica digital con diseo VHDL. Vranesic, Svonko. 2nda edicin. 2006. Editorial: Mc Graw Hill. [6] Sensores - Presin - Robots Argentina [en lnea] 2007 .Disponible en Web: [Consulta: 14 de abril de 2012]. [7] Sensor resistivo, sensor capacitivo y sensor piezoresistivo [en lnea] 28 Junio 2010 .Disponible en Web: [Consulta: 14 de abril de 2012]. [8] LAURENT, Gauch. Using Xilinx IP cores [en lnea] Jean-Pierre Gehrig. Version 0.1 2001. Disponible en Web: [Consulta: 29 de abril de 2012].

ANEXOS:Anexo 1: Tabla de seales de la especificacin VHDL

Tabla de convenciones entradas, salidas y seales relevantes del podometro. Nombre de la variable entradametros entradadecimetros entradacentimetros Enable Clock clk Funcin. Toma valor de metros de la zancada sin codificar (Ingresada por el Usuario). Toma valor de decmetros de la zancada sin codificar (Ingresada por el Usuario). Toma valor de centmetros de la zancada sin codificar (Ingresada por el Usuario). Pausa y reanuda momentneamente todo el funcionamiento del podmetro. Seal de Reloj de 128 Hz Seal de Reloj 1 MHz (esta seal es ms rpida para un rpido proceso en la divisin en la velocidad Instantnea) Entrada que recibe la seal del evento principal del podmetro: el paso. Entrada que puede ser manipulada para inicializar el podmetro. Seal de Salida en la cual se refleja la distancia total recorrida por el usuario del podmetro, en centmetros. Seal de salida, la cual indica, la velocidad que tiene el usuario un determinado instante de la marcha en centmetros/segundo. Seal de Salida la cual cuenta el total de pasos que lleva el usuario hasta ese momento. Seal de salida la cual muesta el total de tiempo transcurrido que lleva el usuario hasta el momento en segundos. Seal que contiene la longitud de la zancada del usuario en centmetros.

sensorpaso rst distancia

velocidadinstantanea

numeropasos

cont

longpasos

Anexo 2: Calibracin de la zancada del usuario Cmo determinar la longitud de su zancada: Al caminar, la longitud de su zancada es la distancia que cubre desde el dedo gordo del pie delantero hasta el dedo gordo del pie trasero (o del taln del pie delantero al taln del trasero). Antes de poder programar la longitud de su zancada en el podmetro, tiene que determinar cul es esa longitud. Para hacerlo, debe caminar o correr una distancia especfica (medida) contando el nmero de zancadas que tiene que dar para desplazarse esa distancia. (Su objetivo al realizar esto es descubrir cul es la longitud promedio de su zancada.) Existen varios mtodos de hacerlo: 1. Mtodo de Pista 1.1 Vaya a la pista de atletismo de una universidad o secundaria. 1.2 Indague cul es la distancia de la pista. (La mayora de las pistas exteriores tienen una distancia de 400 metros, aunque algunas interiores son de 200 metros.) 1.3 Camine una vuelta completa alrededor del carril interior de la pista, contando el nmero de pasos o zancadas que d. 1.4 De as desearlo, convierta los metros a centmetros. 1.5 Divida la longitud de la pista (en pies) entre el nmero de pasos o zancadas que haya dado. 2. El Mtodo de 10 Pasos 2.1 Marque un punto de salida en el suelo. 2.2 Con el extremo delantero de los zapatos en la raya del punto de salida, prese con los pies juntos. 2.3 D 10 pasos y detngase. 2.4 Marque en el piso el punto en donde se detuvo (el punto justo frente al extremo delantero de sus zapatos). 2.5 Mida la distancia recorrida. 2.6 Divida el nmero de pies recorrido entre 10 2.7 obtenga la longitud de la zancada en cm. Ingreso de Datos Para el ingreso de datos el sistema contara con un teclado matricial numrico, y por all podr ingresar los datos de la longitud de la zancada. Se coloca en modo cm y luego se ingresa el valor menos significativo de la zancada, luego en decmetros se ingresa el siguiente digito, y por ltimo en metros ingresando el ltimo digito.

Anexo 3: Cdigo VHDL para la implementacin del codificadorlibrary IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity codificador is Port ( entradametros : in STD_LOGIC_VECTOR (3 downto 0); entradadecimetros : in STD_LOGIC_VECTOR (9 downto 0); entradacentimetros : in STD_LOGIC_VECTOR (9 downto 0); salida : out STD_LOGIC_VECTOR (8 downto 0)); end codificador; architecture Behavioral of codificador is signal a: std_logic_vector (8 downto 0); --valor seal metros en binario signal b: std_logic_vector (7 downto 0); --valor seal decimetros en binario signal c: std_logic_vector (3 downto 0); --valor seal centimetros en binario signal d: std_logic_vector (8 downto 0); --valor seal de una suma parcial entre los valores introducidos, de metros y centiemtros begin process (entradametros) begin -- se realiza la (codificacin) asignacin del valor introducido en metros case entradametros is when "0001" =>aaaaabbbb bbbbbbbcccc ccccccc