Clase10 Comunicacion Serie

Post on 20-Oct-2015

65 views 0 download

Transcript of Clase10 Comunicacion Serie

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 1

Comunicación Serie.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 4

Comunicación serie y paralelo.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 7

Half-duplex y Full-duplex

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 8

Comunicación serie sincrónica.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 9

Comunicación serie sincrónica.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 11

Comunicación serie asincrónica.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 13

Comunicación asincrónica.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 18

Especificación mecánica.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 24

RS422. Niveles eléctricos.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 25

RS422. Muchos dispositivos.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 26

Driver para RS422.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 27

Resumen RS422.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 28

Velocidad vs distancia. RS422.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 30

Bus de dispositivos en RS485.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 31

Características eléctricas. RS485.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 37

Registros S (extracto).

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 38

Registros S. Ejemplo.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 39

Registros de información.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 40

Registros de Información. Ejemplo.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 46

SPI. Conexión de varios dispositivos.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 47

SPI. Señales.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 53

I2C. Breve Descripción eléctrica

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 57

I2C. Operaciones entre maestros y esclavos.

Juan Alarcón. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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. jalarcon@electron.frba.utn.edu.ar 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