Beruflich Dokumente
Kultur Dokumente
PS/2
Utilizando la tarjeta de desarrollo Basys 3 se puede controlar
un teclado a través del puerto USB HID HOST, a diferencia
de otras familias de FPGA que poseen un puerto PS2, la
comunicación de datos a través del puerto USB HOST emula
el funcionamiento del puerto PS2 por medio de un
microcontrolador PIC24FJ128, un terminal en la PC nos
permite visualizar los caracteres correspondientes a las teclas
presionadas en en teclado conectado [2].
Figura 5. Asignación de pines PMOD en el FPGA [2].
UART
La tarjeta Basys 3 incluye un Puente USB-UART que
permite utilizar comandos COM para comunicar la tarjeta
con la computadora. Esto se hace posible al convertir los
paquetes USB a UART/puerto serie. Donde estos datos serie
se intercambian con el FPGA usando un puerto en serie de 2
Figura 2. Conexiones - Basys 3 PIC24FJ28 [2]. hilos (TXD / RXD) con comandos COM desde la PC se
genera tráfico de datos en serie en los pines B18 y A18 de la
El microcontrolador después de recibir estos datos los FPGA [2].
convierte en dos señales que son procesadas por el FPGA, en
donde PS2_CLK es una señal de reloj y PS2_DAT una línea
de datos trasmitidos en serie en donde se envían 11 bits de
los cuales: el primero corresponde al bit de inicio, los
siguientes 8 bits que indican el dato de la tecla, dos bits
siguientes de paridad y parada, este último cuando no se
ingresa ningún dato. El módulo PS2 codifica los datos
obtenidos y realiza los sincronismos correspondientes entre Figura 6. Conexiones - Basys 3 FT2232HQ.[2]
el clock de teclado ps2 y reloj del sistema. Estas Los controladores para establecer la comunicación
características se observan en la siguiente figura. TXD/RXD de trasmisión y recepción, reciben el dato serie a
mostrar así como una señal de inicio y el reloj del sistema
para establecer la sincronización y comunicación con la PC.
XADC
En la Basys3, el conector del XADC Pmod alberga 4 pares
analógicos diferenciales. Los canales XADC
correspondientes son 6, 7, 14 y 15. Los puertos Pmod están Figura 7. 1) Terminal micro-usb, 2) Terminal usb Host [2].
dispuestos en un ángulo recto de 2x6, y son conectores
hembra que se acoplan con el estándar. Cada puerto Pmod de
12 pines proporciona dos señales VCC de 3,3 V (pines 6 y C. IP cores
12), dos señales de tierra (pines 5 y 11) y ocho señales
lógicas. Las clavijas VCC y de tierra pueden entregar hasta 1 XADC Wizard
A de corriente. A continuación se muestran a los pines del El XADC core dentro del Artix-7 es un convertidor
Pmod y su asignación de pines para la E / S conectada al analógico a digital de doble canal de 12 bits capaz de
FPGA. También hay que tener presente la configuración del funcionar a 1 MSPS. Cualquiera de los canales puede ser
FPGA para los canales mencionados. controlado por cualquiera de los pares de entrada analógica
auxiliar conectados al encabezado JXADC [5].
IV. IMPLEMENTACIÓN
MODO 1
Figura 4. Pines del PMOD [3]. Para este modo se utiliza en específico los módulos que
Anexo 2. Diagrama del XC7A35T con distribución de controlan el teclado de esta forma se codifica los datos
canales del FPGA [5]. obtenidos del mismo y realiza los sincronismos
correspondientes entre el reloj de teclado ps2 y el del
sistema. Como salida de este módulo se obtiene una señal
correspondiente al Scan-Code de las teclas presionadas (alfa-
numéricas).
Figura 8. Scan-Codes [4]. Figura 12. Código para el módulo uart buf
Decodificador Binario-ASCII
Este módulo contenido en el demo de keyboard permite la MODO 2
conversión de los datos obtenidos del módulo que ingresa los En este modo nos valdremos tanto del conversor ADC como
datos scan del teclado a su equivalente en código ASCII el de todos los recursos usados en el modo 1, el primero para
esquema general se presenta en la figura 8 y el código de activar la alarma en un voltaje predeterminado que va de 0 a
conversión descrito en verilog en la figura 9. 1 voltio y el segundo para el ingreso de la contraseña que
desactive esa alarma, cabe recalcar que dicha alarma no debe
desactivarse aunque la diferencia de potencial sea cero y que
la contraseña debe constar de tres caracteres numéricos.
XADX Demo
De este módulo que posee un IP Core se extrae solo la
activación de la alarma representada en un led, este solo se
encenderá en un voltaje de aproximadamente 0.5 Voltios,
dicha señal nos advertirá el encendido de la alarma, el
Figura 9. Módulo Conversor Binario-ASCII.
esquema general se presenta en la figura 13 y el código de
conversión descrito en verilog en la figura 14.
Módulo estclave
Este módulo controla que la activación de la alarma siga
aunque el voltaje de entrada del módulo ADC baje, a menos
que la señal de desactivación de la alarma dada por el Figura 20. Conexión del módulo MUXSEG.
modulo clave del teclado este encendida. En la figura 17 se
muestra su conexión y en la figura 18 el diagrama de estados
de estclave donde “l” corresponde a la señal de activación de
la alarma (led), “r” a la señal de reset, “a” la señal de
activación de la alarma y “lo” al encendido de la misma hasta
ingresar la clave (ledout).
VII. RECOMENDACIONES