4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta...

50
4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor: MC. Rodrigo Lucio Maya Ramírez

Transcript of 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta...

Page 1: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

4.7 Aplicaciones usando la tarjeta Spartan 3E

USO DE LOS

PERIFERICOS DEL

SISTEMA DE

DESARROLLO

SPARTAN 3E

Instructor:

MC. Rodrigo Lucio Maya Ramírez

Page 2: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Uso del LCD

Page 3: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Operación escritura

Page 4: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Operación lectura

Page 5: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Inicialización con 4 bits

Page 6: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Conjunto de caracteres en el

LCD

Page 7: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Conjunto de comandos

Page 8: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 9: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Interfase de datos de 4 bits

Page 10: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Inicialización LCD

Page 11: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 12: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 13: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Conexiones del LCD

Page 14: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 15: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 16: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 17: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Programación en VHDL

Page 18: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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);

Sallcd : out STD_LOGIC_VECTOR (6 downto 0));

end cristal;

architecture Behavioral of cristal is

begin

with Intcont select

Sallcd<= "0000000" when "000000",

"0011100" when "000001",--3H

"0011000" when "000010",

"0100101" when "011001",--H

"0100001" when "011010", --COMENZANDO A ENVIAR DATOS DE SALIDA

. . .

"0000000" when others;

end Behavioral;

Page 19: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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);

LCD : out STD_LOGIC_VECTOR (3 downto 0);

Enable : out STD_LOGIC;

R_s : out STD_LOGIC;

Write : out STD_LOGIC);

end separador;

architecture Behavioral of separador is

begin

LCD<=entrada(6 downto 3);

Enable<=entrada(2);

Write<=entrada(1);

R_s<=entrada(0);

end Behavioral;e

Page 20: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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.

Page 21: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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

Page 22: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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.

Page 23: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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

Page 24: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Programación en VHDL

Page 25: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Architecture Arq_Csp of Csp is begin

Process (PS2C,inicio)is

variable cuenta:std_logic_vector (3 downto 0):="0000";

variable guardar:std_logic_vector (7 downto 0);

variable s:std_logic :='1';

begin

if (inicio='1')then

if (PS2C'event and PS2C='0') then

cuenta:=cuenta+1;

if (cuenta="0001") then

Datos<="00000000";

enable<='0';

elsif (cuenta="0010") then

guardar(0):=PS2D;

elsif (cuenta="0011") then

guardar(1):=PS2D;

elsif (cuenta="0100") then

guardar(2):=PS2D;

elsif (cuenta="0101") then

guardar(3):=PS2D;

elsif (cuenta="0110") then

guardar(4):=PS2D;

elsif (cuenta="0111") then

guardar(5):=PS2D;

elsif (cuenta="1000") then

guardar(6):=PS2D;

elsif (cuenta="1001") then

guardar(7):=PS2D;

elsif (cuenta="1011") then

if (guardar="11110000") then

s:='0';

enable<='0';

elsif (guardar="11100000") then

enable<='0';

else

if (s='1') then

Datos<=guardar;

enable<='1';

else

enable<='0';

s:='1';

end if;

end if;

cuenta:="0000";

end if;

end if;

else

enable<='0';

s:='1';

Datos<="00000000";

end if;

end process;

end Arq_Csp;

Page 26: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Convertidor Digital

Analógico

Page 27: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

DAC 12 bits de

resolución LTC2624

Compatible SPI (

serial peripheral

interface )

4 canales

Page 28: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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

Page 29: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Conexión digital analógica

Page 30: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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

Page 31: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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.

Page 32: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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.

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.

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

Page 33: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Finalmente se envían 4 bits cuyo valor no importa para formar el

comando de 32 bits

Page 34: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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

Page 35: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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%

Page 36: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Localización UCF

Page 37: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Programación en VHDL

Page 38: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Convertidor Analógico Digital

Preamplificador

programable LTC6912I (j7)

ADC LTC1407A

Ambos programables

serialmente

Page 39: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

Circuito de captura analógica

Page 40: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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

Page 41: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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

Page 42: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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

Page 43: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:

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

Page 44: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 45: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 46: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 47: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 48: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 49: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor:
Page 50: 4.7 Aplicaciones usando la tarjeta Spartan 3E - Materias FCE · 4.7 Aplicaciones usando la tarjeta Spartan 3E USO DE LOS PERIFERICOS DEL SISTEMA DE DESARROLLO SPARTAN 3E Instructor: