DIPLOMADO EN SISTEMAS DIGITALES

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

description

DIPLOMADO EN SISTEMAS DIGITALES. USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor: MC. Rodrigo Lucio Maya Ramírez. Uso del LCD. Operación escritura. Operación lectura. Inicialización con 4 bits. Conjunto de caracteres en el LCD. Conjunto de comandos. - PowerPoint PPT Presentation

Transcript of DIPLOMADO EN SISTEMAS DIGITALES

Page 1: DIPLOMADO EN SISTEMAS DIGITALES

DIPLOMADO EN SISTEMAS DIPLOMADO EN SISTEMAS DIGITALESDIGITALES

USO DE LOS USO DE LOS PERIFERICOS DEL PERIFERICOS DEL

SISTEMA DE SISTEMA DE DESARROLLO DESARROLLO SPARTAN 3ESPARTAN 3E

Instructor: Instructor:

MC. Rodrigo Lucio Maya RamírezMC. Rodrigo Lucio Maya Ramírez

Page 2: DIPLOMADO EN SISTEMAS DIGITALES

Uso del LCD Uso del LCD

Page 3: DIPLOMADO EN SISTEMAS DIGITALES

Operación escrituraOperación escritura

Page 4: DIPLOMADO EN SISTEMAS DIGITALES

Operación lecturaOperación lectura

Page 5: DIPLOMADO EN SISTEMAS DIGITALES

Inicialización con 4 bitsInicialización con 4 bits

Page 6: DIPLOMADO EN SISTEMAS DIGITALES

Conjunto de caracteres en el Conjunto de caracteres en el LCDLCD

Page 7: DIPLOMADO EN SISTEMAS DIGITALES

Conjunto de comandosConjunto de comandos

Page 8: DIPLOMADO EN SISTEMAS DIGITALES
Page 9: DIPLOMADO EN SISTEMAS DIGITALES

Interfase de datos de 4 bitsInterfase de datos de 4 bits

Page 10: DIPLOMADO EN SISTEMAS DIGITALES

Inicialización LCDInicialización LCD

Page 11: DIPLOMADO EN SISTEMAS DIGITALES
Page 12: DIPLOMADO EN SISTEMAS DIGITALES
Page 13: DIPLOMADO EN SISTEMAS DIGITALES

Conexiones del LCDConexiones del LCD

Page 14: DIPLOMADO EN SISTEMAS DIGITALES
Page 15: DIPLOMADO EN SISTEMAS DIGITALES
Page 16: DIPLOMADO EN SISTEMAS DIGITALES
Page 17: DIPLOMADO EN SISTEMAS DIGITALES

Programación en VHDLProgramación en VHDL

Page 18: DIPLOMADO EN SISTEMAS DIGITALES

CristalCristal

library IEEE;library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity cristal isentity 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;end cristal;

architecture Behavioral of cristal isarchitecture Behavioral of cristal is

beginbeginwith Intcont selectwith Intcont selectSallcd<= "0000000" when "000000",Sallcd<= "0000000" when "000000",

"0011100" when "000001",--3H"0011100" when "000001",--3H"0011000" when "000010","0011000" when "000010","0100101" when "011001",--H"0100101" when "011001",--H"0100001" when "011010", --COMENZANDO A "0100001" when "011010", --COMENZANDO A ENVIAR DATOS DE SALIDAENVIAR DATOS DE SALIDA . . .. . .

"0000000" when others;"0000000" when others;end Behavioral;end Behavioral;

Page 19: DIPLOMADO EN SISTEMAS DIGITALES

SeparadorSeparador

library IEEE;library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity separador isentity separador is Port ( entrada : in STD_LOGIC_VECTOR (6 Port ( entrada : in STD_LOGIC_VECTOR (6

downto 0);downto 0); LCD : out STD_LOGIC_VECTOR (3 downto LCD : out STD_LOGIC_VECTOR (3 downto

0);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;end separador;

architecture Behavioral of separador isarchitecture Behavioral of separador is

beginbeginLCD<=entrada(6 downto 3);LCD<=entrada(6 downto 3);Enable<=entrada(2);Enable<=entrada(2);Write<=entrada(1);Write<=entrada(1);R_s<=entrada(0);R_s<=entrada(0);

end Behavioral;eend Behavioral;e

Page 20: DIPLOMADO EN SISTEMAS DIGITALES

Puerto PS2Puerto PS2

Es un contacto de 6 Es un contacto de 6 pines tipo mini DIN pines tipo mini DIN

Cada tecla proporciona Cada tecla proporciona un solo y único código un solo y único código de exploración que es de exploración que es enviado siempre que enviado siempre que se presione la teclase presione la tecla

Si se presiona la tecla Si se presiona la tecla y es sostenida el y es sostenida el código de exploración código de exploración será enviado en varias será enviado en varias ocasiones cada 100 ocasiones cada 100 ms.ms.

Page 21: DIPLOMADO EN SISTEMAS DIGITALES

Cuando se suelta la Cuando se suelta la tecla presionada, el tecla presionada, el código FO se envía código FO se envía seguido del código de seguido del código de exploración de la teclaexploración de la tecla

Algunas teclas Algunas teclas llamadas teclas llamadas teclas extendidas, envían un extendidas, envían un E0 delante del código E0 delante del código de exploraciónde exploración

Page 22: DIPLOMADO EN SISTEMAS DIGITALES

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

Page 23: DIPLOMADO EN SISTEMAS DIGITALES

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

Page 24: DIPLOMADO EN SISTEMAS DIGITALES

Programación en VHDLProgramación en VHDL

Page 25: DIPLOMADO EN SISTEMAS DIGITALES

Architecture Arq_Csp of Csp is beginArchitecture Arq_Csp of Csp is begin Process (PS2C,inicio)isProcess (PS2C,inicio)is variablevariable cuenta:std_logic_vector (3 downto 0):="0000";cuenta: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'; beginbegin if (inicio='1')thenif (inicio='1')then

if (PS2C'event and PS2C='0') thenif (PS2C'event and PS2C='0') then cuenta:=cuenta+1;cuenta:=cuenta+1;

if (cuenta="0001") thenif (cuenta="0001") then Datos<="00000000";Datos<="00000000";

enable<='0';enable<='0'; elsif (cuenta="0010") thenelsif (cuenta="0010") then

guardar(0):=PS2D;guardar(0):=PS2D; elsif (cuenta="0011") thenelsif (cuenta="0011") then

guardar(1):=PS2D;guardar(1):=PS2D; elsif (cuenta="0100") thenelsif (cuenta="0100") then

guardar(2):=PS2D;guardar(2):=PS2D; elsif (cuenta="0101") thenelsif (cuenta="0101") then

guardar(3):=PS2D;guardar(3):=PS2D; elsif (cuenta="0110") thenelsif (cuenta="0110") then

guardar(4):=PS2D;guardar(4):=PS2D; elsif (cuenta="0111") thenelsif (cuenta="0111") then

guardar(5):=PS2D;guardar(5):=PS2D; elsif (cuenta="1000") thenelsif (cuenta="1000") then

guardar(6):=PS2D;guardar(6):=PS2D; elsif (cuenta="1001") thenelsif (cuenta="1001") then

guardar(7):=PS2D;guardar(7):=PS2D; elsif (cuenta="1011") thenelsif (cuenta="1011") then

if (guardar="11110000") thenif (guardar="11110000") then s:='0';s:='0'; enable<='0';enable<='0'; elsif (guardar="11100000") thenelsif (guardar="11100000") then

enable<='0';enable<='0'; elseelse if (s='1') thenif (s='1') then Datos<=guardar;Datos<=guardar; enable<='1';enable<='1';

elseelse enable<='0';enable<='0';

s:='1';s:='1'; end if; end if; end if;end if;

cuenta:="0000";cuenta:="0000"; end if;end if;

end if;end if; elseelse

enable<='0';enable<='0'; s:='1';s:='1'; Datos<="00000000";Datos<="00000000";

end if;end if; end process;end process;end Arq_Csp;end Arq_Csp;

Page 26: DIPLOMADO EN SISTEMAS DIGITALES

Convertidor Digital Convertidor Digital AnalógicoAnalógico

Page 27: DIPLOMADO EN SISTEMAS DIGITALES

DAC 12 bits de DAC 12 bits de resolución LTC2624resolución LTC2624

Compatible SPI Compatible SPI ( serial peripheral ( serial peripheral interface )interface )

4 canales4 canales

Page 28: DIPLOMADO EN SISTEMAS DIGITALES

Comunicación SPIComunicación SPI

El bus SPI es full-duplex, El bus SPI es full-duplex, síncrono.síncrono.

El maestro del bus - el fpga - El maestro del bus - el fpga - genera la señal de reloj del genera la señal de reloj del bus SPI_SCK y transmite los bus SPI_SCK y transmite los datos de manera serial datos de manera serial SPI_MISO al esclavo SPI_MISO al esclavo seleccionado - el DAC - al seleccionado - el DAC - al mismo tiempo el bus del mismo tiempo el bus del esclavo regresa los datos esclavo regresa los datos enviados a través de enviados a través de SPI_MISO de manera serial SPI_MISO de manera serial al maestro al maestro

Page 29: DIPLOMADO EN SISTEMAS DIGITALES

Conexión digital analógicaConexión digital analógica

Page 30: DIPLOMADO EN SISTEMAS DIGITALES

SPI_MOSI, SPI_MISO, y SPI_CLK son señales que SPI_MOSI, SPI_MISO, y SPI_CLK son señales que están compartidas con otros dispositivos del bus SPI.están compartidas con otros dispositivos del bus SPI.

La señal DAC_CS se activa en bajo y selecciona la La señal DAC_CS se activa en bajo y selecciona la entrada al DAC.entrada al DAC.

La señal DAC_CLR se activa en activa en bajo y es un La señal DAC_CLR se activa en activa en bajo y es un reset asíncrono del DACreset asíncrono del DAC

Page 31: DIPLOMADO EN SISTEMAS DIGITALES

Cada bit se transmite o se recibe de acuerdo a la señal de reloj SPI_SCK el bus 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 soporta frecuencias máximas hasta de 50 MHz aunque algunos parámetros pueden estar limitados.estar limitados.

Después de enviar la señal DAC_CS a un nivel bajo el fpga transmite los datos a 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 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 entrada en el flanco de subida de SPI_SCK los datos deben mantenerse al menos 4 ns.ns.

El LTC2624 transmite los datos a través de SPI_MISO en el flanco de bajada de El LTC2624 transmite los datos a través de SPI_MISO en el flanco de bajada de SPI_SCK .SPI_SCK .

Después de transmitir los 32 bits, el fpga completa la transición mandando la señal 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 DAC_CS a un nivel alto y comienza el proceso de conversión digital-analógica dentro del DAC.del DAC.

Page 32: DIPLOMADO EN SISTEMAS DIGITALES

Protocolo de comunicaciónProtocolo de comunicación

Dentro del DAC, la interface SPI esta compuesta por un registro de 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 corrimiento de 32 bits; cada palabra de 32 bits esta formada por: un comando, una dirección y un valor.comando, una dirección y un valor.

El fpga envía primero 8 bits que no importa su valor, seguido por 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 un comando de 4 bits, el comando mas utilizado en el sistema de desarrollo es COMMAND[3:0]=“0011” el cual activa desarrollo es COMMAND[3:0]=“0011” el cual activa inmediatamente la salida del DAC seleccionada con el valor inmediatamente la salida del DAC seleccionada con el valor especificado.especificado.

Después el fpga selecciona uno o todos los canales de salida del 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.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 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 que el DAC convierte a un valor analógico y lo envía por la salida seleccionadaseleccionada

Page 33: DIPLOMADO EN SISTEMAS DIGITALES

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

Page 34: DIPLOMADO EN SISTEMAS DIGITALES

Voltaje de salida del DACVoltaje de salida del DAC

El voltaje de salida viene dado por:El voltaje de salida viene dado por:

El voltaje de referencia es diferente para los 4 canales de DACEl 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 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 vLos canales C y D usan un voltaje de referencia de 2.5 v

Page 35: DIPLOMADO EN SISTEMAS DIGITALES

Salidas A y B del Salidas A y B del DACDAC Viene expresado por Viene expresado por

la siguiente ecuaciónla siguiente ecuación

El voltaje de El voltaje de referencia asociado referencia asociado es de 3.3 v con una es de 3.3 v con una tolerancia de +/- 5%tolerancia de +/- 5%

Salidas C y D del Salidas C y D del DACDAC Viene expresado por Viene expresado por

la siguiente ecuaciónla siguiente ecuación

El voltaje de El voltaje de referencia asociado referencia asociado es de 2.5 v con una es de 2.5 v con una tolerancia de +/- 5%tolerancia de +/- 5%

Page 36: DIPLOMADO EN SISTEMAS DIGITALES

Localización UCFLocalización UCF

Page 37: DIPLOMADO EN SISTEMAS DIGITALES

Programación en VHDLProgramación en VHDL

Page 38: DIPLOMADO EN SISTEMAS DIGITALES

Convertidor Analógico DigitalConvertidor Analógico Digital

Preamplificador Preamplificador programable LTC6912I (j7)programable LTC6912I (j7)

ADC LTC1407AADC LTC1407A

Ambos programables Ambos programables serialmenteserialmente

Page 39: DIPLOMADO EN SISTEMAS DIGITALES

Circuito de captura analógicaCircuito de captura analógica

Page 40: DIPLOMADO EN SISTEMAS DIGITALES

El circuito de captura analógica convierte el voltaje de VINA o 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 VINB y lo convierte a una representación digital de 14 bits, que viene expresada por:viene expresada por:

La ganancia se especifica en el preamplificador programableLa ganancia se especifica en el preamplificador programable

Page 41: DIPLOMADO EN SISTEMAS DIGITALES

Preamplificador programablePreamplificador programable

La finalidad del preamplificador La finalidad del preamplificador es escalar el voltaje de entrada es escalar el voltaje de entrada VINA o VINB de tal forma que se VINA o VINB de tal forma que se maximice el rango de conversión maximice el rango de conversión del ADC.del ADC.

Cada canal tiene asociado un Cada canal tiene asociado un amplificador de ganancia amplificador de ganancia programableprogramable

Page 42: DIPLOMADO EN SISTEMAS DIGITALES

Control de la interface SPIControl de la interface SPI Cuando la señal AD_CONV va a alto, el ADC simultáneamente Cuando la señal AD_CONV va a alto, el ADC simultáneamente

muestrea ambos canales analógicos.muestrea ambos canales analógicos. El resultado no se presenta hasta la próxima señal en AD_CONVEl resultado no se presenta hasta la próxima señal en AD_CONV La máxima razón de muestreo es de 1.5 MHzLa máxima razón de muestreo es de 1.5 MHz La señal muestreada se representa en notación complemento a 2 La señal muestreada se representa en notación complemento a 2

en 14 bitsen 14 bits

Page 43: DIPLOMADO EN SISTEMAS DIGITALES

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

Se utiliza una secuencia de comunicación de 34 ciclosSe utiliza una secuencia de comunicación de 34 ciclos

Page 44: DIPLOMADO EN SISTEMAS DIGITALES
Page 45: DIPLOMADO EN SISTEMAS DIGITALES
Page 46: DIPLOMADO EN SISTEMAS DIGITALES
Page 47: DIPLOMADO EN SISTEMAS DIGITALES
Page 48: DIPLOMADO EN SISTEMAS DIGITALES
Page 49: DIPLOMADO EN SISTEMAS DIGITALES
Page 50: DIPLOMADO EN SISTEMAS DIGITALES