Documente Academic
Documente Profesional
Documente Cultură
RESUMEN
El presente artculo muestra el diseo, implementacin y prueba de una interfaz programable de comunicacin serie
asincrnica en un FPGA. El diseo est orientado a emular de forma parcial el funcionamiento de los dispositivos de
recepcin transmisin asincrnica universal (UART) comerciales del fabricante Intel. Se muestra la estructura interna de
los bloques funcionales fundamentales y los resultados de la simulacin funcional. Finalmente algunas aplicaciones y los
principales aspectos distintivos del diseo son discutidos.
Palabras claves: UART, FPGA, Comunicaciones Asincrnicas.
ABSTRACT
This paper shows the design, implementation and test of an asynchronous serial communications programmable interface
on FPGA device. The design is oriented to partially emulate the behavioural of the Intels universal asynchronous receiver
transmitter (UART) available in the market. The internal functional blocks structure and the functional simulation results
are showed. Finally some applications and essentially subjects of the design are argued both.
KeyWords: UART, FPGA, Asynchronous Communications
Asynchronous serial communication programmable interface on FPGA
Figura 1
Protocolo serie asincrnico.
RESULTADOS
Las tablas de costo de implementacin en el FPGA se
muestran, Tabla I y Tabla II, en cada caso se muestran los
costes de implementacin de los bloques funcionales y
finalmente para la estructura completa.
Como se muestra en ambas tablas el resultado de la
Figura 6 implementacin no supera el 2% de los recursos para una
Estructura interna del mdulo de transmisin (TXM). tarjeta con el XC3S1000FT256.
A los elementos antes mencionados se suman el registro
de retencin de transmisin (THR), la lgica de chequeo
Tabla II: Tabla de costos de implementacin
de transmisin, que en este caso estara ms bien llamarle
XC3S1000FT256
lgica de generacin de paridad, (LTSR), el registro de
desplazamiento de transmisin (TSR) y el registro de Element S % SFF % 4ILUT %
estado de lnea (LSR), en los bits que competen a la o
BRGR 9 0.12 9 0.10 - -
transmisin.
El registro de retencin de transmisin (THR) es un LCR 5 0.07 8 0.05 - -
registro comn de 8 bits que realiza la misma funcin que
RXM 68 0.89 64 0.42 125 0.81 Se ha elegido el modo loop para comprobar el
funcionamiento del sistema debido a que permite en una
TXM 56 0.73 57 0.37 101 0.66
misma simulacin comprobar tanto el sistema de
ASCPI 146 1.9 145 0.94 263 1.71 transmisin como el de recepcin.
S: Slices Tabla VI: Parmetros de configuracin del dispositivo
SFF: Slices Flip/Flops para la simulacin.
4ILUT: 4 - Input LUTs Parmetro Valor
Velocidad 98000 b
Tabla III: Tabla de costos de bloques de entrada/salida y
seales de reloj XC3S1000FT256 Divisor 2
Figura 8
La Figura 8 muestra los resultados de una simulacin
Resultados de la simulacin funcional.
funcional. Para ello se ha montado un banco de prueba
(testbench) con los datos de la simulacin hasta el pulso
nmero 769 de un reloj de 200 ns de perodo (5 MHz). El RSR muestra la secuencia de entrada de los bits desde
La simulacin incluye la configuracin del dispositivo, el LSB hasta el bit de STOP, mientras RBR es el registro
as como las lecturas de encuesta al pin DR (DATA buffer de recepcin a la entrada es por ello que se ve
READY), para conocer cuando ha llegado un nuevo dato como cambia la seal, pues en realidad no debe cambiar
al mdulo de recepcin. hasta que sea recibido el bit de STOP que marca el
Los parmetros de configuracin del dispositivo se instante de registrar el contenido del RSR y modificar si
muestran en la Tabla VI. La velocidad se ha tomado es necesario el estado del registro de estado de lnea
grande para que la simulacin no se extienda demasiado (LSR).
en el tiempo de manera que sea ms rpido y fcil de Tambin se muestran las seales de control del
comprobar el correcto funcionamiento del dispositivo. dispositivo en general, parte del bus de direcciones
(A[2:0]) y el bus de datos bidireccional (D[15:0]).
DISCUSIN
Para discutir las caractersticas del mdulo los autores se
han basado en dos (2) elementos fundamentales que
tienen que ver con:
1. Semejanzas, diferencias, ventajas y
desventajas del mdulo frente a un UART
clsico (modelo 8250 16550).
2. Aplicaciones de prueba
Comenzando con el primer aspecto, el mdulo ha sido
construido teniendo en cuenta el protocolo serie
asincrnico y como modelo los UART de Intel por ello
existe bastante similitud en la manera de programar el Figura 9
dispositivo pues se ha tratado, salvando las diferencias, Mini plataforma 1.
de mantener las mismas direcciones de los registros.
Estas direcciones se mantienen inalterables para el
registro de estado de lnea (LSR), el registro buffer de El programa que incorpora el procesador implementa el
recepcin (RBR), el registro de transmisin (THR) y el algoritmo que se muestra en la Figura 10.
registro de control de lnea (LCR).
Esta situacin permite que a pesar de no ser un UART
completo el dispositivo siga parte del algoritmo clsico
de programacin de un 8250 o un 16550.
Esta filosofa le da la posibilidad al diseo de seguir
creciendo en el futuro hasta dejar de ser una interfaz
bastante simple para convertirse en un verdadero UART.
Las diferencias ms significativas estn dadas en la
imposibilidad de la interfaz de variar el tamao de la
trama (fija en 8) y el nmero de bits de stop (fijo en 1), la
inexistencia de los registros asociados al tratamiento de
interrupciones (IER, IIR) y seales y control de mdem
(MCR, MSR).
Otras diferencias se aprecian en que la interfaz no Figura 10
especifica reloj as que este puede tener en general una
Algoritmo de prueba en la mini plataforma 1.
frecuencia distinta a la clsica 1.8432 MHz, no existe
soporte para el BIT 4 del LSR (BI) y por ltimo debido Bsicamente se trata de programar el procesador para que
al tamao del bus de datos (16 bits) no tiene efecto a su vez programe la interfaz en modo loop y
utilizar DLAB al programar la velocidad, lo que trae seguidamente transmitir un dato, recibir el dato y
como consecuencia que para programar los divisores esto comparar el dato enviado con el recibido
se realiza en una sola operacin de transferencia de 16 (autodiagnstico) y como seal de xito o fallo encender
bits y como si se estuviera escribiendo el bit ms una de las lmparas con un valor especfico para cada
significativo de la velocidad en un UART clsico, esto es, caso.
en la misma direccin. Lo primero a hacer es programar la velocidad de
Pasando al tema de la aplicaciones, para discutir los transmisin y recepcin, a continuacin se programan las
resultados los autores se auxiliaron de dos mini caractersticas de la trama, esto es, el tipo de paridad,
plataformas distintas, la plataforma nmero uno se pues es fijo 8 bits de datos, 1 bit de stop; y el modo.
muestra en la Figura 9 y no es ms que una extensin real Seguidamente se enva un byte de informacin (E) al
del testbench realizado en el acpite anterior. THR para inmediatamente comenzar a encuestar el bit
Se trata de una plataforma que adems de la interfaz de DR (DATA READY) del Registro de Estado de Lnea
comunicacin que se analiza, incorpora el procesador (LSR). Cuando se halla recibido el dato se lee el
Silmaril 1.1, y un mdulo de visualizacin para cuatro contenido del Registro Buffer de Recepcin (RBR) que
lmparas de 7 segmentos. [5] - [6]. es en definitiva el byte recibido (R).
El objetivo de la plataforma es comprobar prcticamente El prximo paso es comparar el dato enviado (E) con el
el modo de funcionamiento en lazo (loop) y en general de dato recibido (R), si la diferencia es cero entonces son
toda la estructura de la interfaz. iguales y se procede a encender una de las lmparas con
el carcter A, si no es as se ilumina la lmpara con el
valor B.
La mini plataforma 2 se muestra en la Figura 11, como se en aplicaciones como dispositivos de control inteligentes
ve se trata de un procesador, conectado a un adaptador de y configurables.
vdeo VGA con su correspondiente conector, un
adaptador de teclado, similar al utilizado en el IBM PC
AT y la interfaz serie conectada a un adaptador de nivel
REFERENCIAS
fsico (conector RS232C) y un cable comn para conectar 1. XILINX, INC: Xilinx UG130 Spartan-3 Starter Kit
al PC. Board User Guide. 2004.
2. XILINX, INC: Xilinx Libraries Guide. 2004.
3. WAKERLY, J. F: Digital Design. Principles and
Practices. 4ed. New Jersey: Pearson Perentice Hall,
pp. 553 587. 2006.
4. XILINX, INC: StateCAD Release 6.2i Help.
2004.
5. ASHENDEN, P. J: The VHDL Cookbook. 1990.
6. SUREZ LEN, A. A: Diseo del
microprocesador Silmaril 1.1 para sistemas
empotrados en FPGA en Conferencia Internacional
FIE 2008. 2008
Figura 11 AUTORES
Mini plataforma 2. Alexander A. Surez Len, Ing. en Automtica,
El objetivo de la prueba es realizar un pequeo Chat entre Instructor recin graduado, Universidad de Oriente. FIE,
el ordenador (PC) y la plataforma para el intercambio de Dpto. Ingeniera Biomdica. aasl@fie.uo.edu.cu
informacin entre ambas. Lo que requiere hardware y Miembro del Grupo Cientfico de Electrnica
software del lado de la plataforma y software del lado del Programable Ni.
PC. Danelia Matos Molina, Ing. en Automtica, Profesor
La plataforma ha sido construida y se encuentra Instructor, Centro Provincial de Electromedicina,
funcionando en una tarjeta de desarrollo que incorpora Santiago de Cuba, Dpto. Electro-ptica. Miembro del
adems de los adaptadores de nivel fsico para monitor Grupo Cientfico de Electrnica Programable Ni.
VGA y teclado, un Spartan - 3 XC3S1000-4FT256 de Roger E. Rivero Labrada, Ing. en Materiales y
Xilinx. Componentes Electrnicos, Profesor Asistente, Master en
Ciencias, Universidad de Oriente. FIE, Dpto. Ingeniera
CONCLUSIONES Biomdica. roger@fie.uo.edu.cu. Subdirector Grupo
Cientfico de Electrnica Programable Ni. Jefe de Carrera
Hasta aqu se han mostrado el diseo, la implementacin Ingeniera Biomdica.
y algunas plataformas de prueba de la interfaz tratada.
Rubn D. Lpez Noa, Ing. en Automtica, Profesor
Se han examinado las principales caractersticas que Auxiliar, Master en Ciencias. Universidad de Oriente
acercan y alejan la interfaz al comportamiento clsico de FIE, Dpto. Ingeniera Biomdica. lnoa@fie.uo.edu.cu
los dispositivos de transmisin serie que se encuentran en Director del Grupo Cientfico de Electrnica
los ordenadores. Programable Ni. Jefe de Departamento Ingeniera
A pesar de no contar con la universalidad de un UART se Biomdica.
puede decir que salvando la primera letra de esta sigla el
Berta Pallerols Mir, Ing. en Telecomunicaciones, Profesora
dispositivo cumple con el resto y puede (como se ha
mostrado) ser utilizado en numerosas aplicaciones donde Auxiliar, Universidad de Oriente. FIE, Dpto. Ingeniera en
se requiera la transmisin de datos hacia un PC u otro Telecomunicaciones bertapm@fie.uo.edu.cu. Miembro del
dispositivo similar. Grupo Cientfico de Electrnica Programable Ni. Jefa de
Departamento Ingeniera en Telecomunicaciones.
Como se ha visto adems es un dispositivo que requiere
de relativamente pocos recursos y tiene una respuesta en
frecuencia que puede calificarse como aceptable.
Tambin se ha visto en el caso de la mini plataforma 2
cmo combinado con un procesador y algunos otros
dispositivos se puede crear un pequeo terminal con
comunicacin a un PC que puede ser utilizado en las dos
direcciones para intercambiar datos, lo que cobra utilidad