Sei sulla pagina 1di 15

DISEO DIGITAL CON VHDL

Comunicacin Serial

Alumno:
Vidaa Adame Joseph Atzael 14040982.

Facilitador:
Ing. Esparza vila Miguel ngel.
Grupo: 5L.

Fecha de Entrega: 15 de Junio del 2017.


Modos de transmisin
Existen dos modos bsicos para realizar la transmisin de datos y son:
Modo asncrono.
Modo sncrono.
Las transmisiones asncronas son aquellas en que los bits que constituyen el cdigo de un caracter
se emiten con la ayuda de impulsos suplementarios que permiten mantener en sincronismo los dos
extremos.
En las transmisiones sncronas los caracteres se transmiten consecutivamente, no existiendo ni bit de
inicio ni bit de parada entre los caracteres, estando dividida la corriente de caracteres en bloques,
envindose una secuencia de sincronizacin al inicio de cada bloque.

La transmisin asncrona
Cuando se opera en modo asncrono no existe una lnea de reloj comn que establezca la duracin
de un bit y el caracter puede ser enviado en cualquier momento. Esto conlleva que cada dispositivo
tiene su propio reloj y que previamente se ha acordado que ambos dispositivos transmitirn datos a la
misma velocidad.
No obstante, en un sistema digital, un reloj es normalmente utilizado para sincronizar la transferencia
de datos entre las diferentes partes del sistema. El reloj definir el inicio y fin de cada unidad de
informacin as como la velocidad de transmisin. Si no existe reloj comn, algn modo debe ser
utilizado para sincronizar el mensaje.
En realidad, la frecuencia con que el reloj muestrea la lnea de comunicacin es mucho mayor que la
cadencia con que llegan los datos. Por ejemplo, si los datos estn llegando a una cadencia de 2400
bps, el reloj examinar la lnea unas 19200 veces por segundo, es decir, ocho veces la cadencia
binaria. La gran rapidez con que el reloj muestrea la lnea, permite al dispositivo receptor detectar una
transmisin de 1 a 0 o de 0 a 1 muy rpidamente, y mantener as la mejor sincronizacin entre los
dispositivos emisor y receptor.
El tiempo por bit en una lnea en que se transfiere la informacin a 2400 bps es de unos 416
microsegundos (1 seg/2400). Una frecuencia de muestreo de 2400 veces por segundo nos permitir
muestrear el principio o el final del bit. En ambos casos detectaremos el bit, sin embargo, no es extrao
que la seal cambie ligeramente, y permanezca la lnea con una duracin un poco ms larga o ms
corta de lo normal. Por todo ello, una frecuencia de muestreo lenta no sera capaz de detectar el
cambio de estado de la seal a su debido tiempo, y esto dara lugar a que la estacin terminal no
recibiera los bits correctamente.
Bit de inicio y bit de parada
En la transmisin asncrona un carcter a transmitir es encuadrado con un indicador de inicio y fin de
carcter, de la misma forma que se separa una palabra con una letra mayscula y un espacio en una
oracin. La forma estndar de encuadrar un carcter es a travs de un bit de inicio y un bit de parada.
Durante el intervalo de tiempo en que no son transferidos caracteres, el canal debe poseer un "1"
lgico. Al bit de parada se le asigna tambin un "1". Al bit de inicio del carcter a transmitir se le asigna
un "0". Por todo lo anterior, un cambio de nivel de "1" a "0" lgico le indicar al receptor que un nuevo
carcter ser transmitido.

Reglas de transmisin asncrona


La transmisin asncrona que vamos a ver es la definida por la norma RS232, en la que
profundizaremos ms adelante y que se basa en las siguientes reglas:
a. Cuando no se envan datos por la lnea, sta se mantiene en estado alto (1).
b. Cuando se desea transmitir un carcter, se enva primero un bit de inicio que pone la lnea a
estado bajo (0) durante el tiempo de un bit.
c. Durante la transmisin, si la lnea est a nivel bajo, se enva un 0 y si est a nivel alto se enva
un 1.
d. A continuacin se envan todos los bits del mensaje a transmitir con los intervalos que marca
el reloj de transmisin. Por convenio se transmiten entre 5 y 8 bits.
e. Se enva primero el bit menos significativo, siendo el ms significativo el ltimo en enviarse.
f. A continuacin del ltimo bit del mensaje se enva el bit (o los bits) del final que hace que la
lnea se ponga a 1 por lo menos durante el tiempo mnimo de un bit. Estos bits pueden ser un
bit de paridad para detectar errores y el bit o bits de stop, que indican el fin de la transmisin
de un carcter.
Los datos codificados por esta regla, pueden ser recibidos siguiendo los pasos siguientes:
a. Esperar la transicin 1 a 0 en la seal recibida.
b. Activar el reloj con una frecuencia igual a la del transmisor.
c. Muestrear la seal recibida al ritmo de ese reloj para formar el mensaje.
d. Leer un bit ms de la lnea y comprobar si es 1 para confirmar que no ha habido error en la
sincronizacin.
Velocidad de transmisin
En la transmisin asncrona por cada caracter se enva al menos 1 bit de inicio y 1 bit de parada as
como opcionalmente 1 bit de paridad. Esta es la razn de que los baudios no se correspondan con el
nmero de bits de datos que son transmitidos.

La transmisin sncrona
Es un mtodo ms eficiente de comunicacin en cuanto a velocidad de transmisin. Ello viene dado
porque no existe ningn tipo de informacin adicional entre los caracteres a ser transmitidos.

Cuando se transmite de manera sncrona lo primero que se enva es un octeto de sincronismo ("sync").
El octeto de sincronismo realiza la misma funcin que el bit de inicio en la transmisin asncrona,
indicando al receptor que va a ser enviado un mensaje. Este carcter, adems, utiliza la seal local
de reloj para determinar cundo y con qu frecuencia ser muestreada la seal, es decir, permite
sincronizar los relojes de los dispositivos transmisor y receptor. La mayora de los dispositivos de
comunicacin llevan a cabo una resincronizacin contra posibles desviaciones del reloj, cada uno o
dos segundos, insertando para ello caracteres del tipo "sync" peridicamente dentro del mensaje.
Los caracteres de sincronismo deben diferenciarse de los datos del usuario para permitir al receptor
detectar los caracteres "sync". Por ejemplo, el cdigo ASCII utiliza el octeto 10010110.
Existen ocasiones en que son definidos dos caracteres de sincronismo, ello puede ser necesario si,
por cualquier motivo el caracter "sync" original se desvirtuara, el siguiente permitir la reinicializacin
del receptor. En segundo lugar, puede ocurrir que el equipo receptor necesite un tiempo adicional para
adaptarse a la seal entrante.
Cuando se transmite de forma sncrona, es necesario mantener el sincronismo entre el transmisor y
el receptor cuando no se envan caracteres, para ello son insertados caracteres de sincronismo de
manera automtica por el dispositivo que realiza la comunicacin.
El receptor/transmisor sncrono debe indicar adems cundo el sincronismo ha sido logrado por parte
del receptor.
Detectar errores en la comunicacin
Cuando se escriben o se envan datos, pueden producirse errores, entre otras cosas, por ruidos
inducidos en las lneas de transmisin de datos. Es por tanto necesario comprobar la integridad de los
datos transmitidos mediante algn mtodo que permita determina sis se ha producido un error.
En un caso tpico, si al transmitirse un mensaje se determina que se ha producido un error, el receptor
solicita de nuevo el mensaje al emisor.
Se pueden detectar errores de acuerdo a la forma de transmisin:
1. Transmisin asncrona:
a. Paridad.
b. Sobre escritura.
c. Error de encuadre (framing).
2. Transmisin sncrona:
a. Paridad.
b. Sobre escritura.
Generadores y detectores de paridad
Como un error en una transmisin serie solamente suele afectar a un bit, uno de los mtodos ms
comunes para detectar errores es el control de la paridad.
El control de paridad consiste en aadir un bit, denominado de paridad, a los datos que se envan o
escriben.
Paridad par
El bit de paridad ser cero, cuando el nmero de bit "unos" que contienen los datos a transmitir sea
un nmero par, y el bit de paridad ser uno cuando los datos que se mandan contienen un nmero
impar de unos.

Dato Paridad

0000 0001 1

0101 0001 1

0101 0101 0

0000 0000 0

La suma de los bits que son unos, contando datos y bit de paridad dar siempre como resultado un
nmero par de unos.
En las siguientes figuras se muestra cmo realizar un generador de paridad y un detector de paridad
con puertas lgicas or-exclusivas (XOR).

Paridad impar

Dato Paridad

0000 0001 0

0101 0001 0

0101 0101 1

0000 0000 1

En el sistema de paridad impar, el nmero de unos (datos + paridad) siempre debe ser impar
UART
UART, son las siglas en ingls de Universal Asynchronous Receiver-Transmitter, en
espaol: Transmisor-Receptor Asncrono Universal, es el dispositivo que controla los puertos y
dispositivos serie. Se encuentra integrado en la placa base o en la tarjeta adaptadora del dispositivo.
La mayora de las computadoras modernas utilizan el chip UART 16550, que soporta velocidades de
transmisin de hasta 921,6 Kbps (Kilobits por segundo). Las funciones principales de chip UART son:
manejar las interrupciones de los dispositivos conectados al puerto serie y convertir los datos en
formato paralelo, transmitidos al bus de sistema, a datos en formato serie, para que puedan ser
transmitidos a travs de los puertos y viceversa.

Un UART dual, o DUART,


combina dos UART en un
solo chip. Existe un
dispositivo electrnico
encargado de generar la
UART en cada puerto serie.

El controlador del UART es el componente clave del subsistema de comunicaciones series de una
computadora. El UART toma bytes de datos y transmite los bits individuales de forma secuencial. En
el destino, un segundo UART re ensambla los bits en bytes completos. La transmisin serie de la
informacin digital (bits) a travs de un cable nico u otros medios es mucho ms efectiva en cuanto
a costo que la transmisin en paralelo a travs de mltiples cables. Se utiliza un UART para convertir
la informacin transmitida entre su forma secuencial y paralela en cada terminal de enlace. Cada
UART contiene un registro de desplazamiento que es el mtodo fundamental de conversin entre las
forma secuencial y paralela.
El UART normalmente no genera directamente o recibe las seales externas entre los diferentes
mdulos del equipo. Usualmente se usan dispositivos de interfaz separados para convertir las seales
de nivel lgico del UART hacia y desde los niveles de sealizacin externos.
Las seales externas pueden ser de variada ndole. Ejemplos de estndares para sealizacin por
voltaje son RS-232, RS-422 y RS-485 de la EIA. Histricamente se us la presencia o ausencia de
corriente en circuitos telegrficos.
Algunos esquemas de sealizacin no usan cables elctricos; ejemplo de esto son la fibra
ptica, infrarrojo (inalmbrico) y Bluetooth (inalmbrico). Algunos esquemas de sealizacin emplean
una modulacin de seal portadora (con o sin cables); por ejemplo, la modulacin de seales de audio
con mdems de lnea telefnica, la modulacin en radio frecuencia (RF) en radios de datos y la DC-
LIN para la comunicacin de lnea elctrica.
El UART es el dispositivo clave de un sistema de comunicacin seria. Su funcin principal es convertir
los datos paralelos a seria para transmisin (de salida).
En la siguiente figura se muestra el esquema general con los bloques bsicos de una UART. Se
distinguen los registros de datos tanto de recepcin como de transmisin y sus correspondientes
circuitos de desplazamiento (RxD, TxD), los registros de control de transmisin y recepcin y seales
de sincronizacin para comienzo de la transmisin/recepcin (RTS, CTS). Aunque la transmisin es
realmente sncrona, tradicionalmente se les ha llamado asncrona para hacer referencia al hecho de
que existe flexibilidad para la transmisin de la siguiente palabra de datos.

Comunicacin serie con RS-232


Propiedades del Hardware
Los dispositivos que usan cables serie para comunicarse se dividen en dos categoras:

Los DCE (Data Communications Equipment) y los DTE (Data Terminal Equipment.) los Equipos de
Comunicacin de Datos tales como el modem,adaptador TA, plotter,
etc. Mientras que el Equipo Terminal de Datos es la computadora o Terminal.
Las especificaciones elctricas del puerto serial estn contenidas en el estndar RS232 de EIA (
Electronics Industry Association) que establece muchos parmetros tales como:
1. Un Espacio (0 lgico) est entre +3 y +25 volts.
2. Una Marca (1 lgico) estar entre -3 y- 25 Volts
3. La regin entre +3 y -3 volts es indefinida.
4. Un circuito abierto nunca debe exceder 25 Volts (con referencia a tierra)
5. La corriente de corto circuito nunca debe exceder de 500mA. El manejador debe ser capaz de
manipular esta corriente sin daarse.

El estndar RS232C especifica un baudaje mximo de 20,000 BPS, que para los estndares de ahora
es muy lento.

1. Los cables serie pueden ser ms largos que los cables paralelos. El puerto serie transmite una '1'
como -3 a -25 voltios y un '0' como +3 a +25 voltios donde como un puerto paralelo transmite un '0'
como 0v y un '1' como 5v. Por lo tanto, el puerto serie puede tener una mxima de 50 V en comparacin
con el puerto paralelo que tiene un oscilacin de 5 voltios. Por lo tanto la prdida del cable no va a ser
tanto de un problema para los cables serie que para el paralelo.

Protocolo de comunicacin asncrona


Funcin de pines de un puerto RS-232

El RS_232 usa niveles lgicos incompatibles con TTL por lo tanto se requiere de un convertidor de
niveles logicos se puede utilizar la MAX_232 o capacitores externos.
Max_232

Comunicacin serial con I2C


El bus I2C, un estndar que facilita la comunicacin entre I2C: Abreviatura de Inter-IC
microcontroladores, memorias y otros dispositivos con (inter integrated circuits), un
cierto nivel de "inteligencia", slo requiere de dos lneas tipo de bus diseado por Philips
de seal y un comn o masa. Fue diseado a este efecto Semiconductors a principios de
por Philips y permite el intercambio de informacin entre los 80s, que se utiliza para
muchos dispositivos a una velocidad aceptable, de unos conectar circuitos integrados
100 Kbits por segundo, aunque hay casos especiales en (ICs).
los que el reloj llega hasta los 3,4 MHz.
La metodologa de comunicacin de datos del bus I2C es
en serie y sincrnica. Una de las seales del bus marca el tiempo (pulsos de reloj) y la otra se utiliza
para intercambiar datos.

Descripcin de las seales


SCL (System Clock) es la lnea de los pulsos de reloj que sincronizan el sistema.
SDA (System Data) es la lnea por la que se mueven los datos entre los dispositivos.
GND (Masa) comn de la interconexin entre todos los dispositivos "enganchados" al bus.
Las lneas SDA y SCL son del tipo drenaje abierto, es decir, un estado similar al de colector abierto,
pero asociadas a un transistor de efecto de campo (o FET). Se deben polarizar en estado alto
(conectando a la alimentacin por medio de resistores "pull-up") lo que define una estructura de bus
que permite conectar en paralelo mltiples entradas y salidas.

Protocolo de comunicacin del bus I2C


Habiendo varios dispositivos conectados sobre el bus, es lgico que para establecer una comunicacin
a travs de l se deba respetar un protocolo. Digamos, en primer lugar, lo ms importante: existen
dispositivos maestros y dispositivos esclavos. Slo los dispositivos maestros pueden iniciar una
comunicacin.
La condicin inicial, de bus libre, es cuando ambas seales
estn en estado lgico alto. En este estado cualquier dispositivo
maestro puede ocuparlo, estableciendo la condicin
de inicio (start). Esta condicin se presenta cuando un
dispositivo maestro pone en estado bajo la lnea de datos (SDA),
pero dejando en alto la lnea de reloj (SCL).
El primer byte que se transmite luego de la condicin de inicio
contiene siete bits que componen la direccin del dispositivo que se desea seleccionar, y un octavo
bit que corresponde a la operacin que se quiere realizar con l (lectura o escritura).
Si el dispositivo cuya direccin corresponde a la que se indica en los siete bits (A0-A6) est presente
en el bus, ste contesta con un bit en bajo, ubicado inmediatamente luego del octavo bit que ha
enviado el dispositivo maestro. Este bit de reconocimiento (ACK) en bajo le indica al dispositivo
maestro que el esclavo reconoce la solicitud y est en condiciones de comunicarse. Aqu la
comunicacin se establece en firme y comienza el intercambio de informacin entre los dispositivos.
Si el bit de lectura/escritura (R/W) fue puesto en esta comunicacin a nivel lgico bajo (escritura), el
dispositivo maestro enva datos al dispositivo esclavo. Esto se mantiene mientras contine recibiendo
seales de reconocimiento, y el contacto concluye cuando se hayan transmitido todos los datos.
En el caso contrario, cuando el bit de lectura/escritura estaba a
nivel lgico alto (lectura), el dispositivo maestro genera pulsos
de reloj para que el dispositivo esclavo pueda enviar los datos.
Luego de cada byte recibido el dispositivo maestro (quien est
recibiendo los datos) genera un pulso de reconocimiento.

Comunicacin SPI
La comunicacin SPI, (Serial Peripheral Interface por sus siglas en ingls) es uno de los protocolos
seriales sncronos ms verstiles y ms utilizados en el mundo de los microcontroladores, por su
facilidad de implementacin y su velocidad de comunicacin en distancias cortas. Una gran infinidad
de sensores, chips y mdulos de hardware se comunican por medio de este protocolo, por lo que
saber dominarlo y programarlo a la perfeccin nos abre un mundo de posibilidades a la hora de crear
proyectos y ampliar las capacidades de los mismos con perifricos y sensores que se comuniquen por
medio de este protocolo.
Este protocolo est basado en la arquitectura maestro-esclavo, en el que el dispositivo maestro tiene
el control de bus, el cual pone los datos y genera la seal de reloj que se enviar al dispositivo esclavo
en particular. Los datos son enviados serialmente mediante las 3 lineas que conforman al bus: MOSI
(Master Output Slave Input), MISO (Master Input Slave Output) y SCLK (Clock).

El comportamiento de estas seales depende de si el dispositivo est actuando como maestro o como
esclavo. En el dispositivo maestro, las seales MOSI y SCLK se comportan como salida y la seal
MISO como entrada y son generadas y controladas el mismo maestro. En el dispositivo maestro, la
seal MISO es configurada como salida y las seales MOSI y SCLK como entrada, respondiendo con
datos en el bus cuando se detecta la seal de reloj y los datos de entrada
Bus SPI
Como se mencion anteriormente, el protocolo SPI se comunica mediante un BUS, lo que permite
conectar ms de 1 dispositivo a este bus. Existen 2 maneras de conectar mltiples dispositivos
esclavos al bus, una de ellas es la configuracin de esclavos independientes, en el cual se necesita
de hardware adicional o salidas digitales dedicadas y controladas por el dispositivo maestro para
seleccionar el dispositivo esclavo deseado conectado al bus.
La otra manera es la conexin en cascada o Daysi Chain, en la cual el maestro genera una seal que
habilita a todos los dispositivos a la vez y las salida de datos de los esclavos (MISO) se conecta en
cascada con la entrada de datos (MOSI) del siguiente esclavo, as el maestro enviar los datos slo
al primer esclavo y recibir respuesta del ltimo esclavo.

Conexin de mltiples esclavos independientes en un bus SPI


Conexin de mltiples esclavos en cascada (Daisy Chain)
Transferencia de datos
El intercambio de datos se hace bit por bit, el dispositivo maestro prepara el dato en el bus, la seal
MOSI se va a Alto (1) si el bit a enviar es 1 o a Bajo (0) si el bit es un 0, para despus generar un pulso
ya sea de bajada o de subida por la seal SCLK, con este pulso el dispositivo esclavo toma como
vlido el dato puesto en el bus. Al mismo tiempo que el dispositivo maestro enva el dato y el pulso de
reloj, el dispositivo esclavo responde con un dato en la seal MISO, que es el dato que el dispositivo
esclavo tiene en su registro de salida.
Aunque el protocolo no especifica un numero de bits fijo para el tamao del dato, por lo regular se
usan transferencias de 8 bits, pero el nmero de bits consecutivos que se pueden enviar puede ser
arbitrario y queda definido por el hardware (en caso de que se utilice la comunicacin por este medio)
o por el software (en caso de que se implemente el protocolo con el mtodo de Bit Bang).

Potrebbero piacerti anche