Está en la página 1de 5

Dispositivos Digitales Programables

Prctica No. 05. Diseo en V. H. D. L. de un voltmetro digital

ING. Joaqun Saucedo Barajas

Felipe de Jess Ramrez perales 093137 Manuel Valdez Arreola 065311

X A

INGENIERIA MECATRONICA

Torren Coahuila 08 marzo 2013

CARACTERSTICAS
Disponen de 8 bits de salida El que sea un conversor A/D de 8 bits en la practica se traduce en que el valor medido (una tensin de entre 0 y 5voltios) ser un numero binario entre 00000000 y 11111111 (en decimal, un numero entre 0 y 255). Podemos calcular la "resolucin" del conversor haciendo la siguiente operacin.

5 voltios / 256 = 0.0195 volt. Es decir que podremos obtener variaciones de unas dos dcimas de volt usando este integrado pero nosotros decidimos redondear o dejar la cifra obtenida. Tiene un tiempo de conversin de 100 nanosegundos (es decir, se pueden hace 10 millones de conversiones por segundo). Los dispositivos trabajan con una tensin de alimentacin de + 5 V y disponen de un reloj interno, si bien admite que se conecte uno externo.

PINES
Pines en la figura del ADC0804:

Pinout del ADC0804 El pin 1, denominado CS (Chip Select - Seleccionar Chip) es el que habilita al chip a ser utilizado. Si este pin est a nivel alto (5V, o un "1" lgico) el chip se encuentra deshabilitado, Si ponemos este pin a tierra (0 Volt o "0" lgico) el chip queda seleccionado. El segundo pin, RD, es el que permite la lectura de los datos convertidos. WR activado durante al menos 100 us es el que le pide al chip que comience con la conversin. Esto le lleva aproximadamente unos 200 us, durante los cuales INTR pasa a nivel alto. El chip informa que se complet poniendo en bajo nuevamente el pin 5 (INTR).

Los pines 6 y 7 son los que "leen" el valor analgico a convertir. Estas entradas analgicas Vin(+) y Vin(-), estn protegidas contra sobrecargas, pero para un correcto funcionamiento, las seales aplicadas deben estar comprendidas entre 0V y la tensin de alimentacin. El dato en forma binaria se har presente en las salidas, pines 11 al 18 (D7 a D0). El pin 11 es el que contiene el MSB (Most Significative Bit o el Bit ms significativo). Estas salidas tienen un latch que mantienen su valor hasta que se peticione una nueva conversin.

INSTRUCCIONES
Las instrucciones del ADC0804 son: CS (Chip Select) - Autoriza el funcionamiento del convertidor. WR (Write) - Da la orden de inicio del conversor. RD (Read) - Efecta la lectura de los datos. INTR - Indicador fin conversin. Con CS y WR en "1" el convertidor A/D se bloquea y no acta. La conversin empieza con la llegada de un pulso "1" a la entrada de WR si la entrada de CS esta a 0. Durante la transicin de "1" a "0" de la seal en la entrada del WR o del CS, se resetean el controlador interno, y el registro de datos y la salida del INTR se pone a "1" Una operacin de lectura del RD con CS a "0" limpia la INTR y autoriza los latch de salida. Los periodos entre transiciones de "0" a "1" o de "1" a "0" deben ir precedidos de unos periodos de tiempo en espera de 0,5 milisegundos para permitir la adecuacin de todos los circuitos internos del conversor A/D. Para conseguir una conversin en continuo CS y RD deben de estar a 0 y el pin INTR conectada a la entrada de WR. Esta conexin INTR/WR fuerza a "0" el pin WR y asegura la operacin del circuito.

Abrimos el ispLEVER Project presionamos siguiente.

un nuevo projecto

seleccionamos el tipo de dselo VHDL y

Nos saldr una venta como la siguiente seleccionamos mostrar dispositivos obsoletos nos vamos a GAL Device seleccionamos nuestra GAL22V10D enseguida tipo de paquete en 24DIP y seleccionamos la velocidad que es 25 ns, damos siguiente y finalizar ya que no vamos agregar un cdigo fuente.

A continuacin damos clic derecho en GAL22V10-25LP y saldr un recuadro al cual seleccionaremos New, Nos saldr una venta y seleccionamos el VHDL Module el tipo de fuente.

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity volt_entity is port( E: in std_logic_vector ( 7 downto 0 ); S: out std_logic_vector ( 3 downto 0 ) ); end; architecture funcional of volt_entity is begin process(E) begin if(E = "11111111") then S <= "0101"; elsif(E > "11100110") then S <= "1100"; elsif(E > "11001100") then S <= "0100"; elsif(E > "10110010") then S <= "1011"; elsif(E > "10011001") then S <= "0011"; elsif(E > "01111111") then S <= "1010"; elsif(E > "01100110") then S <= "0010"; elsif(E > "01001100") then S <= "1001"; elsif(E > "00110011") then S <= "0001"; elsif(E > "00011001") then S <= "1000"; else S <= "0000"; end if; end process; end funcional;

También podría gustarte