Bus Serie entre circuitos dentro de un mismo equipo El bus serie
es una forma de transportar datos con un mínimo de
líneas, aunque se vea limitada la velocidad. Esta
modalidad se introdujo con la aparición de los
microcontroladores; cuando se necesitaban periféricos
externos, permitiendo comunicar con ellos con el mínimo
posible de líneas. Los fabricantes han ido integrando
periféricos de comunicación serie dentro de los
microcontroladores. Si un microcontrolador no tiene ningún
tipo de periférico de comunicación, también
se puede implementar por software, utilizando las líneas
necesarias en un puerto de entrada/salida esclavo.
Microwire™ y Microwire/Plus™ Es una
interconexión serie con tres hilos, síncrona y
bidireccional. Se utiliza para la interconexión de
microcontroladores y sus periféricos (convertidores A/D,
Eeproms, drivers de display) u otros microcontroladores.
Microwire™ y Microwire Plus™ son marcas registradas
de National Semiconductor Corporation.
Utiliza tres señales: SI (Serial Input), SO (Serial
Output), y SK (Serial Clock). Las señales SI y SO
alternativamente transportan 8 bits de datos sincronizadas por
SK. Teóricamente, pueden acceder infinitos dispositivos al
mismo “bus” serie y además es especialmente
permisible secuencial mente en el tiempo. En la práctica,
el número de dispositivos que pueden acceder al mismo
“bus” depende de la velocidad de transmisión
del sistema, de los requerimientos de fuente de
alimentación, de la capacidad de carga de las salidas SK y
SO, y de los requerimientos de las familias lógicas o
dispositivos discretos a ser interconectados. Para más
información sobre Microwire™:
http://www.st-micros.com
Esquema de interconexión de un Bus Serie
Microwire™
SPI™ (Serial Peripheral Interface), QSPI™ (Queued
Serial Peripheral Interface) Es una interconexión serie de
cuatro hilos, síncrona y bidireccional (full duplex),
desarrollado por Freescale (Motorola 1980). Se utiliza para la
interconexión de microcontroladores y sus
periféricos (convertidores A/D, Eeproms, drivers de
display) u otros microcontroladores. Utiliza las señales
de Data In y/o Data Out, Clock y un CS o Enable. En algunos
microcontroladores se utilizan los terminos MOSI (Master-On
Slave-In) o datos desde el maestro al esclavo y MISO (Master-In
Slave-On) o datos del esclavo al maestro y (SS Slave Select) o
selector de esclavo
Esquema de interconexión típica de un Bus Serie
SPI
Se ha convertido en estándar de la industria, soporta el
modo de trabajo “master” o “slave”, puede
simultanear la transmisión y la recepción, utiliza
8 bits de datos sincronizados por la señal de
“clock”.
Serial Clock (SCLK): El SCLK se usa para sincronizar la
comunicación entre un master (DSP, micro, etc.) y el
dispositivo en cuestión, manteniendo la fuente de reloj
para la interfaz serie. Las instrucciones, direcciones o datos
presentados en Data In son latched en el flanco de subida (o en
el flanco de bajada) de la entrada SCLK, mientras que los datos
en el pin Data Out se actualiza después del flanco de
bajada (o del flanco de subida) de la entrada de SCLK. Data In:
El pin Data In se usa para transferir datos en el dispositivo.
Recibe instrucciones, direcciones y datos. El dato se enclava en
el flanco de subida (o de bajada) de SCLK. Data Out: • El
pin Data Out se usa para transferir datos hacia fuera del
dispositivo. Durante un ciclo de lectura, el dato se desplaza
hacia fuera de este pin, después del flanco de bajada (o
de subida) de SCLK. Es posible juntar los pins Data In y Data
Out, o ser uno en el mismo pin. Con este formato, pueden ocurrir
dos caminos de comunicación de datos, usando sólo
una E/S del microcontrolador.
Enable o CS: Para acceder a un dispositivo con interfaz SPI
también se controla a través de una señal
Enable o una entrada equivalente (CS), permitiendo el uso de
varios dispositivos SPI/QSPI en el mismo bus serie. Para llevar a
cabo esta función la salida de Datos tiene que ponerse en
estado de alta impedancia, seguido de una operación de
lectura. Para llevar a cabo esto, el dispositivo tiene que tener
una un pin CS.
se puede conectar todos los Slaves en una larga cadena de shift
registers. El Master no puede intercambiar datos de forma
selectiva con un simple Slave.
Para más información SPI™:
http://freescale.com . http://www.st-micros.com .
http://www.semiconductors.philips.com/ http://www.analog.com
http://www.cypressmicro.com
I2C™ (Inter Integrated Circuit Bus)
Es una interconexión serie con dos hilos, síncrona
y bidireccional. Fue desarrollado por Philips en 1980. Se utiliza
para la interconexión de un microcontrolador con sus
periféricos (Convertidor A/D, Eeprom, driver LCD, RTC,.. )
u otros microcontroladores.
Utiliza dos señales: SDA (Serial DAta) y SCL (Serial
CLock), soporta modo multimaster. El dispositivo puede trabajar
como receptor o como transmisor, dependiendo de sus funciones.
Cada dispositivo tiene su propia dirección de 7 bits. Cada
dirección consiste comúnmente de una parte fija (4
bits internos del chip) y de una parte de dirección
variable (3 pins del dispositivo).
Esquema de interconexión de un Bus Serie I2C™
Terminología del “bus” I2C: Transmisor
(Transmitter): Es el dispositivo que envía datos a la
línea SDA. Receptor (Receiver): Es el dispositivo que
recibe datos desde la línea SDA. Maestro (Master): Es el
dispositivo que empieza una transferencia, genera la señal
de reloj (clock). Esclavo (Slave): El dispositivo que es
direccionado por el “master”.
Multimaestro (Multimaster): Es la habilidad de coexistir
más de un dispositivo “master” para controlar
el bus serie de datos (SDA) y el bus serie de reloj (SCL).
Arbitraje (Arbitration): Si más de un dispositivo intenta
simultáneamente controlar el bus, tiene lugar un
procedimiento simple de arbitraje, de modo que solamente un
dispositivo puede ser el “Master”.
Sincronización (Synchronization): Es el procedimiento para
sincronizar la señal de reloj de dos o más
dispositivos
Los nuevos dispositivos I2C se pueden direccionar individualmente
por software a una única dirección que puede ser
modificada por los pins hardware que se le han añadido,
así que se pueden conectar dispositivos idénticos
en el mismo bus I2C. Se pueden conectar hasta 8 dispositivos
idénticos en el mismo bus.
La velocidad máxima de transmisión en el modo
estándar es de 100 kb/s y en el modo “fast”
hasta 400kb/s (versión 1.0). El máximo
número de dispositivos conectados al bus está
limitado por la capacidad del propio bus que es de 400 pF,
típicamente cada dispositivo tiene una capacidad de 10 pF.
La velocidad en el modo “high speed” es de 3,4 Mb/s
(versión 2.0).
Existe una gran cantidad de dispositivos I2C como: Receptor de
TV, Receptor de radio, Procesadores de audio, Microcontroladores,
Control de infrarrojos, DTMF, Control de LCD, Control de LED, I/O
de propósito general, Expansión/Control de Bus,
Convertidores A/D y DA, Memorias RAM y EEprom, Clocks y
Timers….
Expansores de I/O de propósito general vía I2C:
Transfiere las señales desde un teclado, interruptores,
expande las I/O de un microcontrolador necesitar estar
localizadas lejos o en varias tarjetas (usando pins como salidas
para controlar LEDs, relés y otros pins como
entradas).
Intermitentes y atenuadores de LED vía I2C: Este circuito
libera al “timer” del microcontrolador del control de
parpadeo intermitente de un LED o un relé. Se pueden
programar dos las intermitencias definibles por el usuario entre
250ms y 6,3s y en el caso del atenuador, entre 6,25ms y
1,6s.
Multiplexores y Demultiplexores de Bus I2C: Una familia de
Multiplexores y Demultiplexores permiten que muchos dispositivos
especializados tengan la misma dirección I2C, permiten
aislar ramas del bus I2C y también permiten montar un bus
I2C multipunto.
Conmutadores “Dip switches” I2C: La familia de
conmutadores PCA8550 y PCA95xx se usan para reemplazar
“jumpers” o “dip switches”. No es
necesario abrir la caja del equipo para modificar la
posición de los “jumpers” o “dip
switches”. Una Eeprom retiene los valores, cuando el
dispositivo está desconectado. Se escribe la Eeprom
vía I2C.
Extensor de Bus I2C: El circuito P82B96 permite extender la
distancia de trabajo del bus I2C hasta 50 metros a 85kHz o hasta
1km a 31kHz sobre un par de cable trenzado.
Si la extensión necesita un aislamiento galvánico
el P82B96 permite conectar los pins Tx y Rx respectivamente a un
optoacoplador