Upload
santiago-constantini
View
65
Download
0
Embed Size (px)
Citation preview
Juan Alarcón. [email protected] 1
Comunicación Serie.
Juan Alarcón. [email protected] 2
Agenda.
Comunicación serie.
Tipos de comunicación serie. Clasificaciones.
Normas de comunicación serie. RS232, RS422
y RS485.
Módems.
SPI.
I2C
Juan Alarcón. [email protected] 3
Comunicación Serie.
Se define a la comunicación serie como al proceso de transferir datos de un dispositivo a otro enviando un bit de datos a la vez por el medio utilizado para transferir los datos.
Juan Alarcón. [email protected] 4
Comunicación serie y paralelo.
Juan Alarcón. [email protected] 5
Serie vs. paralelo.
La comunicación paralela permite transmitir varios bits en el mismo ciclo de reloj.
La comunicación paralela no puede implementarse, es costosa o poco práctica en diferentes medios. Por ej: fibra óptica, pines en circuitos integrados, etc.
La comunicación serie es más inmune a interferencia entre los propios “cables” del bus utilizado (crosstalk).
La comunicación serie, en general, no tiene grandes inconvenientes relativos al clock skew (diferencia de tiempo de arribo a dos registros, en el mismo ciclo de reloj).
Juan Alarcón. [email protected] 6
Tipos de comunicación serie.
Si simultáneamente se pueden enviar y recibir datos por el canal, se la denomina full-duplex si no half-duplex.
Si se transfiere la señal de reloj la comunicación se la denomina sincrónicasi no se transmite la comunicación es asincrónica.
Juan Alarcón. [email protected] 7
Half-duplex y Full-duplex
Juan Alarcón. [email protected] 8
Comunicación serie sincrónica.
Juan Alarcón. [email protected] 9
Comunicación serie sincrónica.
Juan Alarcón. [email protected] 10
Comunicación serie asincrónica.
En la comunicación serie asincrónica cada uno de los dispositivos tiene su propia señal de reloj.
Para poder transferir datos entre los dispositivos, es necesario convenir de antemano la velocidad de transferencia, la cantidad de datos, las condiciones de inicio y de parada.
Es necesario resincronizar la transferencia bastante seguido para intentar poner en fase ambos relojes.
Juan Alarcón. [email protected] 11
Comunicación serie asincrónica.
Juan Alarcón. [email protected] 12
Comunicación asincrónica. Desfasajes.
Al tener cada equipo su propio reloj, van a
existir corrimientos de fase y de frecuencia.
Puede darse el caso de que debido a estas
diferencias se puede perder algún bit de
información, perdiendo la coherencia de la
transmisión.
Por lo que es necesario aumentar el reloj del
sistema de recepción.
Juan Alarcón. [email protected] 13
Comunicación asincrónica.
Juan Alarcón. [email protected] 14
Diferencia entre comunicación sincrónica y asincrónica.
Comunicación Asincrónica. La sincronización es sencilla. El hardware es bastante simple. Agrega mucho “overhead” al canal (por ej: si se
transmite en 8 bits se pierde un 20% del canal en bits de sincronización.
Comunicación Sincrónica. Agrega muy poco overhead. El hardware es más complejo que para la
sincronización asincrónica.
Juan Alarcón. [email protected] 15
RS232 (Norma EIA232).
La norma EIA232 define el formato mecánico, eléctrico, de formato de datos y líneas de handshake para transferencia de datos entre dos equipos.
Juan Alarcón. [email protected] 16
RS232. Definición de equipos.
La norma RS232
define dos tipos de
equipos.
Los DTE (típicamente este papel lo desarrolla una PC).
Los DCE (papel desarrollado por los módems usualmente).
Juan Alarcón. [email protected] 17
Especificación Eléctrica RS232.
El cero lógico está definido como una tensión entre +3V y +25V y GND.
El uno lógico está definido como una tensión entre -3V y -25V y GND.
Las tensiones entre +3V y -3V no definen ningún nivel de tensión. Un corto no debe exceder los 500mA. Slew / Rate (dV/dt) ≤ 30 V/µs. Impedancia de entrada: 3 KΩ a 7 K Ω Margen de ruido: 2V. Todas las tensiones están referidas a tierra (sistema
desbalanceado).
Juan Alarcón. [email protected] 18
Especificación mecánica.
Juan Alarcón. [email protected] 19
Señales RS232 (según el DTE).
TD: Señal de transmisión de datos. (salida) RD: Señal de recepción de datos. (entrada)
RTS: (Request To Send) esta línea informa al DCE que el DTE está listo para intercambiar datos. (salida)
CTS: (Clear To Send) esta línea indica que el DCE está listo para intercambiar datos. (entrada)
DSR: (Data Set Ready) Indica que el DCE está listo para establecer una comunicación (entrada)
DTR: (Data Terminal Ready) Indica que el DTE está listo para establecer una comunicación (salida)
DCD: (Data Carrier Detect) (entrada) RI: (Ring Indicator) (entrada) Retorno.
Juan Alarcón. [email protected] 20
Control de flujo.
Se denomina control de flujo al tipo de sincronización utilizada entre el DTE y el DCE. Control de flujo por hardware. Es el que utiliza las
líneas RTS y CTS.
Control de flujo por software, también llamado Xon/Xoff. Este control de flujo está orientado a la transmisión de caracteres imprimibles ASCII. Antes de enviar una cadena de caracteres se envía un carácter Xon (0x11) y al terminar se envía un Xoff(0x13).
Juan Alarcón. [email protected] 21
Módem nulo (conexión DTE-DTE).
P1
CONNECTOR DB25
13251224112310229
218
207
196
185
174
163
152
141
P3
CONNECTOR DB25
13251224112310229218207196185174163152141
spare
ext clock
ring ind ring ind
ext clock
spare
DTR DTR
SCR SCR
sec REC sec REC
sec TSRG sec TSRG
sup RECsup REC
sup TSRG sup TSRG
carr detc carr detc
sig GND sig GND
DSR DSR
CTS CTS
RTS RTS
rec data rec data
tsrg data tsrg data
Juan Alarcón. [email protected] 22
Drivers para RS232.
Debido a que los microcontroladores manejan niveles TTL es necesario utilizar driverspara convertir los niveles de RS232 a TTL.
Los drivers más comunes son el MAX232 (Vcc = 5V) y el MAX3232 (Vcc = 3.3V)
Juan Alarcón. [email protected] 23
Norma RS422.
La norma EIA RS422 es norma que especifica las características eléctricas para la conexión de dos sistemas.
Las principales diferencias entre la RS422 y la RS232:En RS422 las señales son balanceadas.
En RS422 permite que haya más de dos dispositivos en el mismo bus.
Juan Alarcón. [email protected] 24
RS422. Niveles eléctricos.
Juan Alarcón. [email protected] 25
RS422. Muchos dispositivos.
Juan Alarcón. [email protected] 26
Driver para RS422.
Juan Alarcón. [email protected] 27
Resumen RS422.
Juan Alarcón. [email protected] 28
Velocidad vs distancia. RS422.
Juan Alarcón. [email protected] 29
Norma RS485.
La norma es una norma de interconexión de dispositivos balanceada.
A diferencia de RS422 que suele utilizar comunicación full-duplex con dos pares trenzados. Utiliza un único par half-duplex.
Soporta varios dispositivos en el mismo bus. Los dispositivos pueden escribir y leer en el mismo a diferencia de RS422.
Juan Alarcón. [email protected] 30
Bus de dispositivos en RS485.
Juan Alarcón. [email protected] 31
Características eléctricas. RS485.
Juan Alarcón. [email protected] 32
Comparando las normas.
SPECIFICATIONS RS232 RS423 RS422 RS485
Mode of Operation SINGLE
-ENDED
SINGLE
-ENDED DIFFERENTIAL DIFFERENTIAL
Total Number of Drivers and Receivers on One Line (One
driver active at a time for RS485 networks)
1 DRIVER
1 RECVR
1 DRIVER
10 RECVR
1 DRIVER
10 RECVR
32 DRIVER
32 RECVR
Maximum Cable Length 50 FT. 4000 FT. 4000 FT. 4000 FT.
Maximum Data Rate (40ft. - 4000ft. for RS422/RS485) 20kb/s 100kb/s 10Mb/s-100Kb/s 10Mb/s-100Kb/s
Maximum Driver Output Voltage +/-25V +/-6V -0.25V to +6V -7V to +12V
Driver Output Signal Level (Loaded Min.) Loaded +/-5V to +/-
15V +/-3.6V +/-2.0V +/-1.5V
Driver Output Signal Level (Unloaded Max) Unloaded +/-25V +/-6V +/-6V +/-6V
Driver Load Impedance (Ohms) 3k to 7k >=450 100 54
Max. Driver Current in High Z State Power On N/A N/A N/A +/-100uA
Max. Driver Current in High Z State Power Off +/-6mA @ +/-
2v +/-100uA +/-100uA +/-100uA
Slew Rate (Max.) 30V/uS Adjustable N/A N/A
Receiver Input Voltage Range +/-15V +/-12V -10V to +10V -7V to +12V
Receiver Input Sensitivity +/-3V +/-200mV +/-200mV +/-200mV
Receiver Input Resistance (Ohms), (1 Standard Load for
RS485) 3k to 7k 4k min. 4k min. >=12k
Juan Alarcón. [email protected] 33
Comunicación serie en el LPC176x.
El LPC176x tiene 4 UARTs (Universal Asynchronous Receiver-Transmitter) de las cuales la UART1 puede manejar RS485.
Las cuatro UARTs son muy similares al 16550 y soportan DMA.
Juan Alarcón. [email protected] 34
Módems.
Módem es el acrónimo de modulador-demodulador. Son dispositivos que van a codificar señales digitales en otro tipo de señales más convenientes para su transmisión por diferentes medios.
Juan Alarcón. [email protected] 35
Módem. Interfaz
La interfaz con un módem se suele hacer a través de los comandos AT. Estos comandos definen un modo comando y un modo de datos.
En el modo comando se configuran los parámetros de la conexión, mientras que en el modo de datos se transfieren los datos entre el módem y el otro dispositivo.
Del modo datos al modo comando se pasa por medio del comando ATD o ATA.
Para pasar del modo datos al modo comando se usa una secuencia de escape que usualmente suele ser +++ sin datos durante 2 segundos.
Juan Alarcón. [email protected] 36
Módem. Registros S.
La configuración del módem es almacenada en un conjunto de registros llamados registros S.
AT&V. Muestra la configuración del módem.
AT&W. AT&W0 guarda la configuración
actual y AT&W1 carga la configuración por
defecto.
Juan Alarcón. [email protected] 37
Registros S (extracto).
Juan Alarcón. [email protected] 38
Registros S. Ejemplo.
Juan Alarcón. [email protected] 39
Registros de información.
Juan Alarcón. [email protected] 40
Registros de Información. Ejemplo.
Juan Alarcón. [email protected] 41
Módem GPRS.
Los módems GRPS, a diferencia de los módems telefónicos, se pueden establecer comunicaciones por tres medios diferentes. Sobre la comunicación
telefónica (CSD).
Sobre una conexión a Internet por GPRS.
Generando mensajes de texto.
Juan Alarcón. [email protected] 42
Módems GPRS.
Los módems GPRS también utilizan comandos AT para generar las diferentes conexiones.
Usualmente hay un conjunto de comandos AT normalizados y comandos AT extendidos que suelen ser los utilizados para utilizar el stack TCP/IP propio de los diferentes módulos.
Juan Alarcón. [email protected] 43
Módems GPRS. Enviando mensajes.
La configuración usual para enviar un mensaje de texto (Motorola G24) a través de un módem GPRS es la siguiente:AT+CMGF=1
OK
AT+CMGS="+5491166661234"
> Hola!!!. [CTRL-Z]
+CMGS: 198 OK
Juan Alarcón. [email protected] 44
SPI. ¿Qué es?
Es un protocolo desarrollado por Motorola.
Es un protocolo serie, sincrónico y full-duplex.
Es un protocolo que puede llegar a un clock de unos 75MHz.
Es un protocolo que permite un maestro y varios esclavos.
Juan Alarcón. [email protected] 45
SPI. Señales.
SCLK. Señal de reloj de la comunicación, esta señal la genera el SPI master.
MOSI. Datos generados por el SPI Master. MISO. Datos generados por el SPI Slave. SS. Señal de selección de Slave.
Juan Alarcón. [email protected] 46
SPI. Conexión de varios dispositivos.
Juan Alarcón. [email protected] 47
SPI. Señales.
Juan Alarcón. [email protected] 48
SPI. Modos.
Se leen datos en flanco de subida, se escriben en el flanco de bajada.113
Se leen datos en flanco de bajada, se escriben en el flanco de subida.012
Se leen datos en flanco de bajada, se escriben en el flanco de subida.101
Se leen datos en flanco de subida, se escriben en el flanco de bajada.000
FuncionamientoCPHACPOLModo
Juan Alarcón. [email protected] 49
SPI en LPC176x.
El procesador LPC176x tiene dos unidades de
SPI que pueden actuar, tanto como SPI master
o SPI slave.
Las transferencias pueden ser configuradas
entre 4 y 16 bits.
Poseen FIFO tanto para RX como para TX. Esta
FIFO es de 8 transferencias.
El SCLK llega como máximo a SPI_PCLK/2.
Juan Alarcón. [email protected] 50
SPI. Algunos dispositivos.
Memorias EEPROM no volátiles. 25LCxx.
Memorias Nor Flash. (4Mbytes de flash.
S25FL032P)
Conversores AD. (Por ejemplo AD7266).
Conversores DA. (DAC7612).
Expansores de entrada-salida. (MAX6966).
Etc.
Juan Alarcón. [email protected] 51
I2C. ¿Qué es?
I2C es un bus diseñado por Philips en los 80s. Es un bus que se lo utiliza para comunicar varios dispositivos compartiendo
el mismo bus, usualmente dentro de la misma placa de circuito impreso. La velocidad de este bus originalmente era de 100KHz, hay un modo de
400KHz y existe un modo de hasta 3.4 Mbit/s. Es un protocolo de comunicación multimaestro, multiesclavo Es un bus que soporta muchos dispositivos esclavos y varios maestros en el
mismo bus.
Juan Alarcón. [email protected] 52
I2C. Breve Descripción eléctrica
El bus consta de dos pines: SCL y SDA.
Estos pines son bidireccionales y trabajan en configuración de drain abierto, por lo que requieren necesariamente de resistencias de pull-up.
Juan Alarcón. [email protected] 53
I2C. Breve Descripción eléctrica
Juan Alarcón. [email protected] 54
I2C. Señales.
La Señal SDA es la señal de datos que va a ser válida cuando SCL estáalta.
Todas las transferencias de datos comienzan con una condición de arranque (bit de START) y finalizan con la condición de parada (bitde STOP).
Juan Alarcón. [email protected] 55
I2C. Señales
La unidad de transferencia del protocolo I2C es el byte.
Los bytes se transfieren enviando primero el bitmás significativo MSB.
Juan Alarcón. [email protected] 56
I2C. Transferencias de datos
Las transferencias del I2C comienzan enviando una dirección de dispositivo (propia de cada tipo de dispositivo I2C), un bit de R/W y luego los datos. Luego de cada dato el dispositivo que los recibe genera un pulso de recibido (ACK) o de no recibido (NACK).
Juan Alarcón. [email protected] 57
I2C. Operaciones entre maestros y esclavos.
Juan Alarcón. [email protected] 58
Controlador I2C. LPC1769
El LPC1769 tiene 3 controladores I2C disponibles.
La placa LPCXPRESSO que tiene el LPC1769 tiene una memoria 24LC64 conectado al controlador I2C1.
El controlador se puede configurar tanto como maestro o como esclavo.
Juan Alarcón. [email protected] 59
Algunos dispositivos I2C.
Memorias no volátiles. (24LCXX).
Relojes en tiempo real. (DS1307).
Expansores de I/O. (MCP23016).
Acelerómetros. (MMA7660FC).
Sensores de temperatura (ADT7410).
Sensores de presión (MPL115A2T1).
Etc.
Juan Alarcón. [email protected] 60
Bibliografía.
Manual del procesador LPC17xx http://www.nxp.com/download/pip/LPC1769FBD100/user_manual/
RS-422 and RS-485 Application Note. http://www.bb-elec.com/bb-elec/literature/tech/485appnote.pdf
RS-422 Bus. http://www.interfacebus.com/Design_Connector_RS422.html AT Commands, S-Registers, and Result Codes.
http://www.perle.com/support_services/documentation_pdfs/5500158.pdf Overview and Use of the PICmicro Serial Peripheral Interface
http://ww1.microchip.com/downloads/en/devicedoc/spi.pdf Introduction to Serial Peripheral Interface.
http://eetimes.com/discussion/beginner-s-corner/4023908/Introduction-to-Serial-Peripheral-Interface
Especificación de I2C. http://www.nxp.com/documents/user_manual/UM10204.pdf