DIPLOMADO EN SISTEMAS DIGITALES USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor: MC. Rodrigo Lucio Maya Ramírez.

1 DIPLOMADO EN SISTEMAS DIGITALES USO DE LOS PERIFERICOS ...
Author: Domingo Acuña Toro
0 downloads 0 Views

1 DIPLOMADO EN SISTEMAS DIGITALES USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor: MC. Rodrigo Lucio Maya Ramírez

2 Uso del LCD

3 Operación escritura

4 Operación lectura

5 Inicialización con 4 bits

6 Conjunto de caracteres en el LCD

7 Conjunto de comandos

8

9 Interfase de datos de 4 bits

10 Inicialización LCD

11

12

13 Conexiones del LCD

14

15

16

17 Programación en VHDL

18 Cristal library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity cristal is Port ( Intcont : in STD_LOGIC_VECTOR (5 downto 0); Port ( Intcont : in STD_LOGIC_VECTOR (5 downto 0); Sallcd : out STD_LOGIC_VECTOR (6 downto 0)); Sallcd : out STD_LOGIC_VECTOR (6 downto 0)); end cristal; architecture Behavioral of cristal is begin with Intcont select Sallcd

19 Separador library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity separador is Port ( entrada : in STD_LOGIC_VECTOR (6 downto 0); Port ( entrada : in STD_LOGIC_VECTOR (6 downto 0); LCD : out STD_LOGIC_VECTOR (3 downto 0); LCD : out STD_LOGIC_VECTOR (3 downto 0); Enable : out STD_LOGIC; Enable : out STD_LOGIC; R_s : out STD_LOGIC; R_s : out STD_LOGIC; Write : out STD_LOGIC); Write : out STD_LOGIC); end separador; architecture Behavioral of separador is begin LCD

20 Puerto PS2  Es un contacto de 6 pines tipo mini DIN  Cada tecla proporciona un solo y único código de exploración que es enviado siempre que se presione la tecla  Si se presiona la tecla y es sostenida el código de exploración será enviado en varias ocasiones cada 100 ms.

21  Cuando se suelta la tecla presionada, el código FO se envía seguido del código de exploración de la tecla  Algunas teclas llamadas teclas extendidas, envían un E0 delante del código de exploración

22  El teclado envía datos al dispositivo principal en palabras de 11 bits, que contiene un bit de inicio 0, seguidas por 8 bits del código de exploración (LSB primero), seguidas por un bit de paridad impar y terminadas con un bit de paro 1.

23  El teclado genera 11 transiciones de reloj (aproximadamente 20 – 30 Khz.) cuando se envían los datos y estos son válidos en el flanco de bajada

24 Programación en VHDL

25 Architecture Arq_Csp of Csp is begin Process (PS2C,inicio)is Process (PS2C,inicio)is variablecuenta:std_logic_vector (3 downto 0):="0000"; variablecuenta:std_logic_vector (3 downto 0):="0000"; variable guardar:std_logic_vector (7 downto 0); variable guardar:std_logic_vector (7 downto 0); variable s:std_logic :='1'; variable s:std_logic :='1'; begin begin if (inicio='1')then if (inicio='1')then if (PS2C'event and PS2C='0') then if (PS2C'event and PS2C='0') then cuenta:=cuenta+1; cuenta:=cuenta+1; if (cuenta="0001") then if (cuenta="0001") then Datos

26 Convertidor Digital Analógico

27  DAC 12 bits de resolución LTC2624  Compatible SPI ( serial peripheral interface )  4 canales

28 Comunicación SPI  El bus SPI es full-duplex, síncrono.  El maestro del bus - el fpga - genera la señal de reloj del bus SPI_SCK y transmite los datos de manera serial SPI_MISO al esclavo seleccionado - el DAC - al mismo tiempo el bus del esclavo regresa los datos enviados a través de SPI_MISO de manera serial al maestro

29 Conexión digital analógica

30  SPI_MOSI, SPI_MISO, y SPI_CLK son señales que están compartidas con otros dispositivos del bus SPI.  La señal DAC_CS se activa en bajo y selecciona la entrada al DAC.  La señal DAC_CLR se activa en activa en bajo y es un reset asíncrono del DAC

31  Cada bit se transmite o se recibe de acuerdo a la señal de reloj SPI_SCK el bus soporta frecuencias máximas hasta de 50 MHz aunque algunos parámetros pueden estar limitados.  Después de enviar la señal DAC_CS a un nivel bajo el fpga transmite los datos a través de SPI_MOSI enviando el bit MSB primero, el LTC2624 captura los datos de entrada en el flanco de subida de SPI_SCK los datos deben mantenerse al menos 4 ns.  El LTC2624 transmite los datos a través de SPI_MISO en el flanco de bajada de SPI_SCK.  Después de transmitir los 32 bits, el fpga completa la transición mandando la señal DAC_CS a un nivel alto y comienza el proceso de conversión digital-analógica dentro del DAC.

32 Protocolo de comunicación Dentro del DAC, la interface SPI esta compuesta por un registro de corrimiento de 32 bits; cada palabra de 32 bits esta formada por: un comando, una dirección y un valor. Dentro del DAC, la interface SPI esta compuesta por un registro de corrimiento de 32 bits; cada palabra de 32 bits esta formada por: un comando, una dirección y un valor. El fpga envía primero 8 bits que no importa su valor, seguido por un comando de 4 bits, el comando mas utilizado en el sistema de desarrollo es COMMAND[3:0]=“0011” el cual activa inmediatamente la salida del DAC seleccionada con el valor especificado. El fpga envía primero 8 bits que no importa su valor, seguido por un comando de 4 bits, el comando mas utilizado en el sistema de desarrollo es COMMAND[3:0]=“0011” el cual activa inmediatamente la salida del DAC seleccionada con el valor especificado. Después el fpga selecciona uno o todos los canales de salida del DAC a través de un campo de dirección de 4 bits. Después el fpga selecciona uno o todos los canales de salida del DAC a través de un campo de dirección de 4 bits. A continuación el fpga envía el valor del dato de 12 bits sin signo que el DAC convierte a un valor analógico y lo envía por la salida seleccionada A continuación el fpga envía el valor del dato de 12 bits sin signo que el DAC convierte a un valor analógico y lo envía por la salida seleccionada

33  Finalmente se envían 4 bits cuyo valor no importa para formar el comando de 32 bits

34 Voltaje de salida del DAC  El voltaje de salida viene dado por:  El voltaje de referencia es diferente para los 4 canales de DAC  Los canales A y B usan un voltaje de referencia de 3.3 v  Los canales C y D usan un voltaje de referencia de 2.5 v

35  Salidas A y B del DAC  Viene expresado por la siguiente ecuación  El voltaje de referencia asociado es de 3.3 v con una tolerancia de +/- 5%  Salidas C y D del DAC  Viene expresado por la siguiente ecuación  El voltaje de referencia asociado es de 2.5 v con una tolerancia de +/- 5%

36 Localización UCF

37 Programación en VHDL

38 Convertidor Analógico Digital  Preamplificador programable LTC6912I (j7)  ADC LTC1407A  Ambos programables serialmente

39 Circuito de captura analógica

40  El circuito de captura analógica convierte el voltaje de VINA o VINB y lo convierte a una representación digital de 14 bits, que viene expresada por: La ganancia se especifica en el preamplificador programable

41 Preamplificador programable  La finalidad del preamplificador es escalar el voltaje de entrada VINA o VINB de tal forma que se maximice el rango de conversión del ADC.  Cada canal tiene asociado un amplificador de ganancia programable

42 Control de la interface SPI  Cuando la señal AD_CONV va a alto, el ADC simultáneamente muestrea ambos canales analógicos.  El resultado no se presenta hasta la próxima señal en AD_CONV  La máxima razón de muestreo es de 1.5 MHz  La señal muestreada se representa en notación complemento a 2 en 14 bits

43  Manipular con cuidado la señal AD_CONV y asegurarse de proporcionar los suficientes ciclos de reloj SPI_SCK para que la señal SPI_MISO salga del estado de alta impedancia, de otra manera el ADC bloquea la comunicación con otros periféricos SPI.  Se utiliza una secuencia de comunicación de 34 ciclos

44

45

46

47

48

49

50