Comunicación ?C – Interfaces
UART 8250
Universal Asynchronous Receiver/Transmitter
El ?C puede escribir en los registros de la UART como si accediera a memoria(mapeo) y la UART se encarga de transmitirlos en serie por el cable.
La UART recibe bytes en serie por el puerto RS-232 y los almacena en un registro: el ?C puede leer esos bytes como si accediera a memoria.
Puede enviar/recibir en serie a diferentes tasas: 300,9600,28800bps…
UART 8250
Tiene dos tipos de registros:
Control:
IER(Interrupt Enable Register)
IIR (Interrupt Identification Register)
LCR (Line Control Register)
MCR (Modem Control Register)
LSR (Line Status Register)
MSR (Modem Status Register
SCR (Scratch Register)
Datos:
RBR (Receiver Buffer Register)
THR (Transmitter Holding Register)
Reloj:
DLL (Divisor Latch LSB)
DLM (Divisor Latch MSB)
UART 8250
Patillaje:
1:8 Bus de Datos
9 Reloj del receptor
10 Entrada serie
11 Salida serie
12 Chip Select 0
13 Chip Select 1
14 Chip Select 2
15 Reloj del transmisor
16 Entrada de reloj externo
17 Salida del reloj con F. ref.
18 Escritura de CPU (negada)
19 Escritura de CPU
20 Toma de tierra
21 Orden de lectura de CPU
22 Orden de lectura de CPU invert
23 Indica que la CPU esta leyendo
24 Indica que esta lista para Tx
25 Fija los valores de A0..A2
26..29 Bus de direcciones A2..A0
30 Salida de Interrupciones
32 Request to send
33 Data Terminal Ready
35 Reset principal
36 Clear To Send
37 Data Set Ready
38 Data Carrier Detect
39 Ring Indicator
40 VCC = +5 Volts
Mapeo en memoria
SubCommunicationBoardTaskForce
UART 8250
Señales de control
Cuando accedemos a posiciones de memoria entre 1000h y 1FFFh, la PAL del circuito activa la linea PER1, que es quien se encargara de activar la UART para lectura o escritura del ?C. Para permitir lectura o escritura en UART, CS0..2=110 por tanto:
CS0=PER1
CS1=PER1
CS2=PER1
UART 8250
MAPEO DE LA MEMORIA
Tenemos 3 bits de direcciones en la UART, por tanto solo necesitamos 3 bits del bus de datos del ?C para mapear la UART y poder así acceder a sus diversos registros. Conectaremos:
UART ? ?C
A0 A0
A1 A1
A2 A2
Si el bit 7 del Line Control Register és 1, entonces 1000h y 1001h acceden a los registros que indican la velocidad de Tx y Rx: DLL y DLM
Mapeo de los registros de la UART
Lectura/Escritura
DLL: Base + 0h (DLAB=1)
IER: Base + 1h (DLAB=0)
DLM: Base + 1h (DLAB=1)
LCR: Base + 3h
MCR: Base + 4h
LSR: Base + 5h
MSR: Base + 6h
SCR: Base + 7h
Lectura
RBR: Base + 0h (DLAB=0)
IIR: Base + 2h
Escritura
THR: Base + 0h (DLAB=0)
FCR: Base + 2h
UART 8250
Interrupciones:
El Kit de prácticas tiene dos interrupciones: INT0 y INT1.
INT1 está conectada a los interruptores.
Utilizaremos INT0 para que la UART pueda avisar al ?C de que ha recibido nuevos datos.
El programador deberá encargarse de mirar que dispositivo generó la interrupcion y cual es la causa.
El registro IIR indica la interrupciones pendientes, y LSR indica si hay nuevos datos.
RS-232
Introducción
Historia
Utilidad
Especificaciones
Drivers
Historia
El RS-232 nació en el 1962.
Se desarrolló para interconectar equipos.
RS-232 es un conjunto de especificaciones mecánicas, eléctricas y funcionales.
Utilidad
TTL útil para comunicaciones muy muy cercanas, pero muy sensible al ruido.
RS-232 más resistente al ruido.
Permite comunicaciones a mayor distancia Ejemplo. Ordenador-módem (sigue siendo pequeña)
Especificaciones
Mecánicas: ISO2110
Funcionales V.24
Eléctricas V.28
Especificaciones Funcionales V.24
Define una interficie de comunicación.
Punto a punto
Half Duplex/Full Duplex
Síncrono/Asíncrono
Conexión Série
Especificaciones eléctricas V.28
Señalización Digital
Niveles eléctricos:
Datos:
1 lógico: -15?V ? -3
0 lógico: 3 ? V ? 15
Control:
ON: 3 ? V ? 15
OFF:-15 ? V ? -3
Drivers
MAXIM 222
Adapta Pulsos TTL a los niveles eléctricos del V.28
RS-485
Introducción
Presentaremos el standard EIA 485 para transmisión multipunto diferencial.
Comúnmente se denomina RS-485, pero su nombre oficial es el de EIA-485, que refleja el nombre del comité que lo estandarizó en 1983.
Está previsto que se revise en breve para redenominarse en TIA/EIA-485-A.
Introducción
La transmisión diferencial es ideal para transmitir a altas velocidades sobre largas distancias y a través de canales ruidosos.
Esto reduce los ruidos que aparecen por los voltajes en la línea de transmisión.
El standard TIA/EIA-422-B define la transmisión diferencial desde un único driver a múltiples receptores.
RS-485 permite múltiples drivers posibilitando una configuración multipunto.
Introducción
Al ser un standard bastante abierto permite muchas y muy diferentes configuraciones y/o utilizaciones.
Pero todas ellas deben seguir unas especificaciones obligadas.
Especificaciones requeridas
Interface Diferencial (Balanceado)
Multipunto
Alimentación única a +5V
Rango de bus -7V to +12V
Hasta 32 Unidades de carga (Transceivers)
10 Mbps máximo (@12 metros)
1200 metros de longitud máxima (@100 kbps)
Especificaciones requeridas
Cuatro puntos són los que definen una unidad de carga (driver).
Recev. Input current (IIN ) a +12V ?1 mA
IIN entre +5V y +12?0 mA
IIN a -7V³ -0.8 mA
IIN entre -3V y -7£ 0 mA
Topologías (bus)
RS-485 está definido como un sistema en bus multi-punto. Aunque existen otras configuraciones.
Topologías (estrella)
Otra configuración es en estrella, aunque esta no es muy recomendable por la longitud del cable y por lo tanto por sus reflexiones.
Enlace
El enlace es la distancia desde el dispositivo hasta el bus, o de la resistencia de terminación al bus.
Los enlaces al bus deben ser lo más cortos posibles. the stubs as short as
La longitud máxima no está definida en el standard, pero longitudes largas tienen un impacto negativo en la calidad de la señal.
Terminación
El standard define una terminación del bus en paralelo de 120W.
Se asume que la impedancia característica del cable está en el rango de ZO = 100W a 120W.
Esta no es la única implementación posible, pero si la más óptima.
Consideraciones finales
RS-485 está definido como half-duplex, pero diferentes aplicaciones y configuraciones en paralelo pueden hacerlo full-duplex.
Todas estas aplicaciones en paralelo requieren de la implementación más a fondo del protocolo de comunicaciones.
Driver Rs-485 LT1785
Alimentación
…..
..18V
Receiver Enab input Voltage
….
-0,3V a 6V
Driver Enab input Voltage
.
….
-0,3V a 6V
Driver input Voltage
.
….
-0,3V a 18V
Receiver input Voltage
.
.
-60V a 60V
Driver Output Voltage
….
-60V a 60V
Receiver Output Voltage
.
-0,3V a (Vcc+6V)
CENTRONICS
Dispositivo RS-232 completo
Página anterior | Volver al principio del trabajo | Página siguiente |