Clase10 Comunicacion Serie

60
Juan Alarcón. [email protected] 1 Comunicación Serie.

Transcript of Clase10 Comunicacion Serie

Page 1: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 1

Comunicación Serie.

Page 2: Clase10 Comunicacion 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

Page 3: Clase10 Comunicacion Serie

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.

Page 4: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 4

Comunicación serie y paralelo.

Page 5: Clase10 Comunicacion Serie

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).

Page 6: Clase10 Comunicacion Serie

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.

Page 7: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 7

Half-duplex y Full-duplex

Page 8: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 8

Comunicación serie sincrónica.

Page 9: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 9

Comunicación serie sincrónica.

Page 10: Clase10 Comunicacion Serie

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.

Page 11: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 11

Comunicación serie asincrónica.

Page 12: Clase10 Comunicacion Serie

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.

Page 13: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 13

Comunicación asincrónica.

Page 14: Clase10 Comunicacion Serie

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.

Page 15: Clase10 Comunicacion Serie

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.

Page 16: Clase10 Comunicacion Serie

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).

Page 17: Clase10 Comunicacion Serie

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).

Page 18: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 18

Especificación mecánica.

Page 19: Clase10 Comunicacion Serie

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.

Page 20: Clase10 Comunicacion Serie

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).

Page 21: Clase10 Comunicacion Serie

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

Page 22: Clase10 Comunicacion Serie

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)

Page 23: Clase10 Comunicacion Serie

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.

Page 24: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 24

RS422. Niveles eléctricos.

Page 25: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 25

RS422. Muchos dispositivos.

Page 26: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 26

Driver para RS422.

Page 27: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 27

Resumen RS422.

Page 28: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 28

Velocidad vs distancia. RS422.

Page 29: Clase10 Comunicacion Serie

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.

Page 30: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 30

Bus de dispositivos en RS485.

Page 31: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 31

Características eléctricas. RS485.

Page 32: Clase10 Comunicacion Serie

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

Page 33: Clase10 Comunicacion Serie

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.

Page 34: Clase10 Comunicacion Serie

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.

Page 35: Clase10 Comunicacion Serie

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.

Page 36: Clase10 Comunicacion Serie

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.

Page 37: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 37

Registros S (extracto).

Page 38: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 38

Registros S. Ejemplo.

Page 39: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 39

Registros de información.

Page 40: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 40

Registros de Información. Ejemplo.

Page 41: Clase10 Comunicacion Serie

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.

Page 42: Clase10 Comunicacion Serie

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.

Page 43: Clase10 Comunicacion Serie

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

Page 44: Clase10 Comunicacion Serie

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.

Page 45: Clase10 Comunicacion Serie

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.

Page 46: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 46

SPI. Conexión de varios dispositivos.

Page 47: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 47

SPI. Señales.

Page 48: Clase10 Comunicacion Serie

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

Page 49: Clase10 Comunicacion Serie

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.

Page 50: Clase10 Comunicacion Serie

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.

Page 51: Clase10 Comunicacion Serie

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.

Page 52: Clase10 Comunicacion Serie

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.

Page 53: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 53

I2C. Breve Descripción eléctrica

Page 54: Clase10 Comunicacion Serie

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).

Page 55: Clase10 Comunicacion Serie

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.

Page 56: Clase10 Comunicacion Serie

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).

Page 57: Clase10 Comunicacion Serie

Juan Alarcón. [email protected] 57

I2C. Operaciones entre maestros y esclavos.

Page 58: Clase10 Comunicacion Serie

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.

Page 59: Clase10 Comunicacion Serie

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.

Page 60: Clase10 Comunicacion Serie

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