Universidad Antonio Nariño


Aplicación Industrial de Micros
Código: 444405



  CAPITULO 4
Experimentos introductorios


4.7 Comunicación serial

Objetivos:

En vista de que algunos de los elementos de la familia PIC16CXXX no poseen periféricos de comunicación serial, este capítulo hará referencia al desarrollo del algoritmo como tal simulando los pines de comunicación serial con puertos del microcontrolador.

Comunicación serial síncrona:
La comunicación síncrona se caracteriza porque los pulsos de sincronización deben ser transmitidos a lo largo de la línea de comunicación entre el transmisor y el receptor. Dentro de los varios tipos de comunicación serial síncrona vamos a notar  el protocolo I2C ó de dos hilos y el protocolo SPI ó de tres hilos.

 

Línea(s) de datos

Línea de reloj

I2C

SDA (serial data)

SCL 

SPI

SO (serial out), SI (serial in)

SCK

Tabla 4.7.1 Nomenclatura de los pines de comunicación  (síncronos)


FIG. 4.7.1 Disposición típica de pines en dispositivos síncronos (a)  I2C, (b) SPI

I2C
El bus I2C es un bus diseñado para que sobre éste puedan colocarse varios dispositivos dentro de la misma tarjeta electrónica (comunicación multipunto), cada dispositivo tendrá una dirección lógica asignada físicamente mediante los pines A0, A1 y A2 de acuerdo al nivel lógico al que estos sean alambrados. ver estos pines en la figura 4.7.1 a.


FIG. 4.7.2 Bits de START y STOP del protocolo I2C

En las figuras 4.7.2 y punto se observa la forma en que las señales SCL y SDA deben ser manejadas. Para iniciar la comunicación sobre un dispositivo I2C debe realizarse la secuencia denominada bit de START que consiste en pasar la línea de datos SDA de nivel alto a bajo mientras que la línea SCL permanece en alto. Para la culminar la comunicación con el dispositivo I2C debe ejecutarse la secuencia denominada bit de STOP la cual consiste en pasar la línea de datos SDA de nivel bajo a alto mientras que la línea de reloj SCL permanece en alto. Un bit de datos es aceptado por el dispositivo mientras que sobre la línea de datos SDA permanece el nivel adecuado al bit en cuestión, y sobre la línea de reloj SCL se lleva a cabo un pulso, es decir, el paso de nivel de bajo a alto y luego de alto a bajo. Los tiempos implicados en esta secuencia dependen básicamente del fabricante del dispositivo.


FIG. 4.7.3 Temporización en el bus I2C

SPI
El bus SPI es un bus diseñado para que sobre éste se coloque un dispositivo maestro y un dispositivo esclavo (comunicación punto a punto) ver figura 4.7.1 b. Con relación al bus I2C podemos notar que éste soporta mayor velocidad de comunicación.


FIG. 4.7.4 Entrada de datos a dispositivo SPI


FIG. 4.7.5 Salida de datos de dispositivo SPI

El dispositivo SPI posee como observamos el figura 4.7.1, una línea de selección CS la cual debe pasar al nivel lógico activo (en este caso bajo) para poder realizar la comunicación con el dispositivo. Desde este punto de vista podríamos colocar sobre un bus de este tipo varios dispositivos, pero utilizando un dispositivo decodificador adicional.
Otra línea podemos observar es la línea HOLD la cual permite al procesador detener momentáneamente la comunicación, ver figura 4.7.6.


FIG. 4.7.6 Utilización de la línea HOLD

Comunicación serial asíncrona:
En este tipo de comunicación tanto el transmisor como el receptor tienen incluido el reloj de sincronización de tal forma que no se transmite a lo largo de la línea de comunicación.

Datos de Entrada

Datos de Salida

RxD

TxD

Tabla 4.7.2 Nomenclatura de los pines básicos (asíncronos)

Para saber algunas generalidades del puerto serial asíncrono: The serial port,
Este artículo ha sido tomado de:  http://www.lvr.com  en donde pueden encontrarse temas muy interesantes acerca del mundo de la computación y las diferentes conexiones paralelas, serie, etc.

Algunas notas de aplicación de comunicación en formato PDF:

Comunicación serial síncrona SPI:   AN530 AN560
Comunicación serial sincrona I2C:   AN515 AN567
Comunicación serial asíncorna:    AN510   AN555
 

El código fuente de las notas de aplicación comprimidas en formato ZIP:

Comunicación serial síncrona SPI:   AN530 AN560
Comunicación serial sincrona I2C:   AN515 AN567
Comunicación serial asíncorna:     AN510   AN555

 


Aplicación de Transmisión y Recepción con PIC16F84 simulando el puerto serial asíncrono:
Código fuente:         TXRXASIN.TXT    (4KB)


Aplicación de Escritura y Lectura sobre dispositivo I2C simulando el puerto serial síncrono:

Código fuente: SERIAL.TXT (5KB)



  índice de capítulo