Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tutorial Comunicación Serial PDF
Tutorial Comunicación Serial PDF
Tpicamente, la comunicacin serial se utiliza para transmitir datos en formato ASCII. Para
realizar la comunicacin se utilizan 3 lneas de transmisin: (1) Tierra (o referencia), (2)
Transmitir, (3) Recibir. Debido a que la transmisin es asincrnica, es posible enviar datos
por un lnea mientras se reciben datos por otra. Existen otras lneas disponibles para
realizar handshaking, o intercambio de pulsos de sincronizacin, pero no son requeridas.
Las caractersticas ms importantes de la comunicacin serial son la velocidad de
transmisin, los bits de datos, los bits de parada, y la paridad. Para que dos puertos se
puedan comunicar, es necesario que las caractersticas sean iguales.
Indica el nmero de bits por segundo que se transfieren, y se mide en baudios (bauds).
Por ejemplo, 300 baudios representan 300 bits por segundo. Cuando se hace referencia
a los ciclos de reloj se est hablando de la velocidad de transmisin. Por ejemplo, si el
protocolo hace una llamada a 4800 ciclos de reloj, entonces el reloj est corriendo a 4800
Hz, lo que significa que el puerto serial est muestreando las lneas de transmisin a
4800 Hz. Las velocidades de transmisin ms comunes para las lineas telefnicas son de
14400, 28800, y 33600. Es posible tener velocidades ms altas, pero se reducira la
distancia mxima posible entre los dispositivos. Las altas velocidades se utilizan cuando
los dispositivos se encuentran uno junto al otro, como es el caso de dispositivos GPIB
www.psoc-chile.es.tl 1
Bits de datos:
Bits de parada:
Usado para indicar el fin de la comunicacin de un solo paquete. Los valores tpicos son
1, 1.5 o 2 bits. Debido a la manera como se transfiere la informacin a travs de las
lneas de comunicacin y que cada dispositivo tiene su propio reloj, es posible que los
dos dispositivos no estn sincronizados. Por lo tanto, los bits de parada no slo indican el
fin de la transmisin sino adems dan un margen de tolerancia para esa diferencia de los
relojes. Mientras ms bits de parada se usen, mayor ser la tolerancia a la sincrona de
los relojes, sin embargo la transmisin ser ms lenta.
Paridad:
Es una forma sencilla de verificar si hay errores en la transmisin serial. Existen cuatro
tipos de paridad: par, impar, marcada y espaciada. La opcin de no usar paridad alguna
tambin est disponible. Para paridad par e impar, el puerto serial fijar el bit de paridad
(el ltimo bit despus de los bits de datos) a un valor para asegurarse que la transmisin
tenga un nmero par o impar de bits en estado alto lgico. Por ejemplo, si la informacin
a transmitir es 011 y la paridad es par, el bit de paridad sera 0 para mantener el nmero
de bits en estado alto lgico como par. Si la paridad seleccionada fuera impar, entonces
el bit de paridad sera 1, para tener 3 bits en estado alto lgico. La paridad marcada y
espaciada en realidad no verifican el estado de los bits de datos; simplemente fija el bit
de paridad en estado lgico alto para la marcada, y en estado lgico bajo para la
espaciada. Esto permite al dispositivo receptor conocer de antemano el estado de un bit,
lo que servira para determinar si hay ruido que est afectando de manera negativa la
transmisin de los datos, o si los relojes de los dispositivos no estn sincronizados.
Qu es RS-232?
www.psoc-chile.es.tl 3
El circuito MAX232 que ser instalado en el Protoboard se ve as:
www.psoc-chile.es.tl 4
En el caso del Kit PSOC CY3210 este circuito viene integrado en la placa:
www.psoc-chile.es.tl 5
Configurar PSOC
Para poder transmitir los datos de forma serial al Pc, en una primera instancia debemos
seleccionar el modulo UART, el cual consta de 2 bloques, uno transmisor (TX) y otro
receptor (RX), como se muestra en la figura
El Globar Resources debe configurarse considerando que los datos que ingresar a la
UART se deben dividir por 8, por lo que si queremos transmitir a una velocidad de 19200
bps , el clock que ingresa al bloque debe ser 8 veces mas grande (*).
www.psoc-chile.es.tl 6
Considere que en el ejemplo la UART esta siendo alimentada por VC3, el cual esta
alimentado por SYSCLOCK/1
www.psoc-chile.es.tl 7
Codigo Assembler
;-----------------------------------------------------------------------------
; Assembly main line
;-----------------------------------------------------------------------------
export _main:
// Declaracion de variables
area bss(RAM)
iResult: blk 2
// Declaracion de Codigo
area text(ROM,REL)
_main:
mov A, UART_1_PARITY_NONE // Define paridad en la Uart
call UART_1_Start // Habilita UART
mov A, >THE_STR
mov X, <THE_STR
lcall UART_1_CPutString //
lcall UART_1_PutCRLF // Retorno del carro
mov A, >THE_STR
mov X, <THE_STR
www.psoc-chile.es.tl 8
M8C_EnableGInt // Habilita interrupciones globales
loop:
mov [iResult+1], A
mov [iResult+0], X
mov A, [iResult+1]
mov X, [iResult+0]
mov A, 1 // Fila
mov X, 4 // columna
call LCD_1_Position
jmp loop
.LITERAL
THE_STR:
DS " Psoc-Chile "
DB 00h ; indica final de datos en db
.ENDLITERAL
www.psoc-chile.es.tl 9