T
E
RABAJO Y
XPLICACIÓN
INTRODUCCIÓN
La comunicación serie es una forma muy apreciada de transferir datos
digitales entre sistemas y circuitos integrados, dada la reducida cantidad de
líneas que precisa.
En los PIC16F87X se ha implantado el módulo MSSP (Master
Synchronous Serial Port), que proporciona una excelente interfaz de
comunicación de los microcontroladores con otros microcontroladores y
diversos periféricos, entre los que destacan la memoria EEPROM serie, los
conversores A/D, los controladores de displays, etc.
Además el módulo MSSP admite dos de las alternativas más usadas en la
comunicación serie síncrona:
1ª SPI (Serial Peripheral Interface).
2ª I2C (Inter Integrated Circuit).
La comunicación serie en modo SPI la utilizan principalmente las
memorias (RAM y EEPROM) y utiliza tres líneas para llevarla a cabo. En el
modo I2C sólo se emplean dos líneas y, recientemente, ha conseguido una
importante implantación en la comunicación de circuitos integrados, existiendo
en el mercado todo tipo de periféricos capaces de trabajar con este protocolo.
El módulo MSSP consta básicamente de dos registros: el SSPSR, que es un
registro de desplazamiento que transforma la información serie en paralelo
y viceversa, y el registro SSPBUF, que actúa como buffer de la información
que se recibe o transmite.
El funcionamiento del módulo MSSP es muy sencillo. En transmisión, el
byte que se quiere transmitir se carga en el registro SSPBUF a través del bus de
datos interno y automáticamente se pasa al registro SSPSR, que va desplazando
bit a bit el dato, sacándolo ordenadamente al exterior al ritmo de los impulsos
del reloj. En recepción, los bits van entrando al ritmo del reloj por una pata y se
van desplazando en el SSPSR hasta que lo llenan, en cuyo momento la
información se traspasa al SSPBUF, donde queda lista para su lectura. Este
doble almacenamiento de datos recibidos, permite iniciar la recepción de un
nuevo dato antes de que se haya leído el último.
Cuando se han recibido 8 bits durante la recepción en SSPSR, se traspasa
dicha información a SSPBUF y entonces el bit señalizador BF (Buffer-Full) se
pone a 1, al igual que el flag de interrupción SSPIF. Cualquier escritura en el
SSPBUF se ignora durante la transferencia de información y se señaliza
poniendo a 1 el bit WCOL. Recae la responsabilidad del programador pasar el
bit WCOL a 0 una vez completada la escritura en SSPBUF.
D
P
ESARROLLO
ROYECTOS Y
PIC 16F87
X
P
E
ROTOTIPOS
LECTRÓNICOS
2º DPE
48