Está en la página 1de 4

SISTEMA DE PROTOTIPAJE CON COMUNICACIN RS232 CON EL PC

El objetivo de este captulo es realizar una implementacin hardware del protocolo RS232 que se utilizar para desarrollar una placa de desarrollo para sistemas digitales que interaccionan con el PC. Se va a describir, pues, el diseo e implementacin una placa de desarrollo controlada por ordenador. El sistema digital implementado es una placa de desarrollo que se comunica con el PC mediante comunicacin serie RS232. En este captulo se describe la constitucin global del sistema y se implementa totalmente el protocolo RS232 en lenguaje VHDL. En el anexo se detallan los componentes finales que componen el sistema, se dan los esquemticos y layout de la placa de circuito impreso y se proporciona un programa simple (en Visual Basic) de comunicacin entre el PC y el sistema digital de desarrollo. La construccin que se realiza en este captulo de la transmisin asncrona serie se describe de forma topdown.

Etapas de desarrollo del sistema digital.


Durante el desarrollo de un sistema digital deben sucederse un conjunto de etapas coherentes que permitan la implementacin del sistema con el mximo de garantas funcionales. Estas etapas pueden dividirse en: Especificaciones del sistema. Componentes de que consta el sistema. Descripcin de componentes. Requerimientos hardware/software. o El sistema que se va a implementar es una placa de desarrollo basada en un circuito programable de Altera. El sistema se comunica con el PC mediante protocolo RS232, cuya descripcin se realiza mediante lenguaje de alto nivel VHDL y se programa dentro del circuito programable de Altera. El protocolo de comunicacin se programar hardware en el circuito EPM7128S de Altera, siendo el componente principal del sistema. Dentro del circuito programable tambin se programar un divisor de frecuencia que permite elegir la velocidad de comunicacin con el PC. La lgica programable restante del circuito puede aprovecharse para ampliaciones de prestaciones de la placa de desarrollo. El sistema se fabricar sobre placa de circuito impreso. La placa ser el soporte fsico de toda la circuitera de soporte en la comunicacin con el PC, regular la alimentacin, alojar el circuito programable y contendr un conjunto de conectores y dispositivos para expansin. La frecuencia base de funcionamiento se obtendr de un oscilador a 1.8432MHz. El protocolo de comunicacin se describir en lenguaje VHDL. El protocolo implementado es un protocolo RS232 full-dplex, con bits de start, 8 bits de datos, sin paridad y un bit de stop. Se programar, utilizando un cable ByteBlaster de Altera sobre el circuito programable.

Implementacin hardware. o

Protocolo de comunicacin. o

Interfase con el puerto serie.


Protocolo RS232 Para detalles ms precisos del puerto serie se recomienda consultar el estndar EIA RS232-c. (expandir....)

El protocolo de comunicacin serie full-dplex RS232 asncrona establece una comunicacin fcil entre computador y perifrico. El protocolo de comunicacin RS232 establece el formato de la figura XX de transmisin de datos. Est formado por:

Figura 1

El estado de reposo implica un 1 lgico. Un bit de start a 0 lgico. 7 u 8 bits de datos. Posibilidad de bit de paridad. Uno, uno y medio o dos bits de stop, a 1 lgico.

Durante la transmisin (recepcin) la duracin de cada bit es de 16 ciclos de reloj base. Por consiguiente, en la realizacin de los drivers (transmisor y receptor) se tendr que contemplar la sincronizacin de la transmisin / recepcin de datos con el reloj base. Aunque computador y perifrico se programen para transmitir datos a una frecuencia determinada, es difcil asegurar que las frecuencias base de los relojes estn perfectamente sincronizadas. Por ello la emisin y recepcin de datos se realiza tomando como base una frecuencia 16 veces superior a la frecuencia de transmisin de datos. Por otra parte, durante la recepcin de datos pueden producirse en la transmisin glitches que, debido a interferencias, pueden introducir errores de recepcin. Para minimizar este efecto suelen tomarse distintas muestras de la recepcin del bit, tomando como resultado bueno, el valor que ms se sucede dentro de la recepcin del bit. Es por ello, que durante la recepcin se deber considerar circuitera adicional para asegurar un comportamiento ms fiable de la transmisin. En nuestro caso se va a utilizar un formato simple de comunicacin asncrona: se elige una comunicacin full-dplex basada en un bit de start, 8 bits de datos sin paridad, y un bit de stop. Aunque la implementacin del protocolo en todas sus opciones tan slo exige un registro de control de operacin adicional, para simplicidad, se ha optado por fijar las caractersticas de transmisin. En una comunicacin simple mediante protocolo RS232 (sin control de recepcin) tan slo son necesarias tres lneas de conexin entre el PC y el perifrico: RxD o recepcin, TxD o transmisin, y tierra. Puerto serie. Aunque el puerto serie puede tener un tamao de 25 pines, el formato ms utilizado es el de 9 pines. La tabla del pinout para ambos conectores es:
Seal Transmit Data Receive Data Request to Send Clear to Send Data Set Ready Signal Ground Carrier Detection Data Terminal Ready TxD RxD RTS CTS DSR GND CD DTR Se activa cuando el mdem recibe una portadora del otro mdem Informa al mdem que la UART est Salida serie Entrada serie Informa al mdem que la UART est preparada para intercambiar datos Mdem datos preparado par intercambiar Funcin Pinout 9 pines 3 2 7 8 6 5 1 4 Pinout 25 pines 2 3 4 5 6 7 8 20

Inidica a la UART que el mdem est preparado para establecer conexin

preparada para establecer conexin Ring Indicator RI Se activa cuando el mdem detecta una seal indicadora de sonido. 9 22

Tabla 1

En sistemas de prototipado con el PC o en comunicaciones serie dedicadas con microcontroladores en los que los errores de comunicacin son prcticamente nulos existen dos conexionados tpicos simples que eliminan el protocolo de conexin: el null modem y la conexin loopback. Null modem Se establece el conexionado de la figura YYY, en el que slo se requieren tres conexiones: TxD, RxD y GND. Las conexiones dan a entender al computador que est conectado con un mdem. La transmisin del PC se recibe en la UART por la seal de entrada. Y viceversa, la transmisin de la UART se enva al bit de recepcin del PC.

Figura 2. Comunicacin RS232 en modo Null Modem.

La conexin Null modem es la que se utiliza en el ejemplo. Es una conexin simple que slo requiere las tres conexiones mostradas en la figura. Conexin loopback La conexin loopback es til cuando se realiza un programa de debugging en el PC. La seal de datos de salida del PC se conecta a la de entrada. De esta forma, toda seal enviada por el PC es recibida en la lnea de entrada como si fuera un eco del mdem.

Figura 3. Comunicacin RS232 en modo LoopBack.

Descripcin del protocolo RS232 hardware.


El driver RS232 realiza la comunicacin full-dplex. Consta de dos partes totalmente diferenciadas: el circuito transmisor y el circuito receptor. El circuito receptor es el responsable de la recepcin de los datos que se envan desde el computador al perifrico: la lnea TxD de salida del computador se conecta al pin RxD del perifrico. De forma similar, el circuito transmisor es el responsable del envo de datos al computador: la lnea de salida TxD del perifrico se conecta al nodo de entrada RxD del computador. La figura TTT muestra el esquema de conexin (a nivel de esquemtico) de los mdulos transmisor (TxD) y receptor (RxD).

Figura 4. Diagrama de bloques del circuito RS232 programado.

El conexionado de entrada/salida est formado por las seales: Frecuencia base de trabajo del circuito: ck. Seal de reset del circuito: nReset. Seal de inicio de transmisin: start (actualment denominada Trans) Dato a transmitir: dTxD[7..0]. Es un byte que el circuito de transmisin serializa. Seal de transmisin: qTxD. Seal de actividad en la transmisin: trans. Su valor se mantiene a uno lgico mientras se est transmitiendo (actualment denominada busyTr) Seal de recepcin: RxD. Dato transmitido: qRxD[7..0]. Es la paralelizacin del dato transmitido. Seal de actividad en la recepcin: fi (actualment denominada busyRec). Su valor es uno lgico cuando no se recibe transmisin alguna.

Los bloques de transmisin/recepcin contienen otras seales internas que pueden observarse, si es necesario, en situaciones de debugging del sistema.