Está en la página 1de 60

Comunicacin Serie.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

Agenda.
Comunicacin serie. Tipos de comunicacin serie. Clasificaciones. Normas de comunicacin serie. RS232, RS422 y RS485. Mdems. SPI. I2C

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

Comunicacin Serie.
Se define a la comunicacin 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 Alarcn. jalarcon@electron.frba.utn.edu.ar

Comunicacin serie y paralelo.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

Serie vs. paralelo.


La comunicacin paralela permite transmitir varios bits en el mismo ciclo de reloj. La comunicacin paralela no puede implementarse, es costosa o poco prctica en diferentes medios. Por ej: fibra ptica, pines en circuitos integrados, etc. La comunicacin serie es ms inmune a interferencia entre los propios cables del bus utilizado (crosstalk). La comunicacin 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 Alarcn. jalarcon@electron.frba.utn.edu.ar

Tipos de comunicacin serie.


Si simultneamente se pueden enviar y recibir datos por el canal, se la denomina full-duplex si no half-duplex. Si se transfiere la seal de reloj la comunicacin se la denomina sincrnica si no se transmite la comunicacin es asincrnica.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 6

Half-duplex y Full-duplex

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

Comunicacin serie sincrnica.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

Comunicacin serie sincrnica.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

Comunicacin serie asincrnica.


En la comunicacin serie asincrnica cada uno de los dispositivos tiene su propia seal 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 Alarcn. jalarcon@electron.frba.utn.edu.ar 10

Comunicacin serie asincrnica.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

11

Comunicacin asincrnica. 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 algn bit de informacin, perdiendo la coherencia de la transmisin. Por lo que es necesario aumentar el reloj del sistema de recepcin.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

12

Comunicacin asincrnica.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

13

Diferencia entre comunicacin sincrnica y asincrnica.


Comunicacin Asincrnica.
La sincronizacin 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 sincronizacin.

Comunicacin Sincrnica.
Agrega muy poco overhead. El hardware es ms complejo que para la sincronizacin asincrnica.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

14

RS232 (Norma EIA232).


La norma EIA232 define el formato mecnico, elctrico, de formato de datos y lneas de handshake para transferencia de datos entre dos equipos.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

15

RS232. Definicin de equipos.


La norma RS232 define dos tipos de equipos.
Los DTE (tpicamente este papel lo desarrolla una PC). Los DCE (papel desarrollado por los mdems usualmente).
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

16

Especificacin Elctrica RS232.


El cero lgico est definido como una tensin entre +3V y +25V y GND. El uno lgico est definido como una tensin entre -3V y -25V y GND. Las tensiones entre +3V y -3V no definen ningn nivel de tensin. 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 estn referidas a tierra (sistema desbalanceado).

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

17

Especificacin mecnica.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

18

Seales RS232 (segn el DTE).


TD: RD: RTS: CTS: DSR: DTR: DCD: RI: Retorno. Seal de transmisin de datos. (salida) Seal de recepcin de datos. (entrada) (Request To Send) esta lnea informa al DCE que el DTE est listo para intercambiar datos. (salida) (Clear To Send) esta lnea indica que el DCE est listo para intercambiar datos. (entrada) (Data Set Ready) Indica que el DCE est listo para establecer una comunicacin (entrada) (Data Terminal Ready) Indica que el DTE est listo para establecer una comunicacin (salida) (Data Carrier Detect) (entrada) (Ring Indicator) (entrada)

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

19

Control de flujo.
Se denomina control de flujo al tipo de sincronizacin utilizada entre el DTE y el DCE.
Control de flujo por hardware. Es el que utiliza las lneas RTS y CTS. Control de flujo por software, tambin llamado Xon/Xoff. Este control de flujo est orientado a la transmisin de caracteres imprimibles ASCII. Antes de enviar una cadena de caracteres se enva un carcter Xon (0x11) y al terminar se enva un Xoff (0x13).
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

20

Mdem nulo (conexin DTE-DTE).


P3 13 25 12 24 11 23 10 22 9 21 8 20 7 19 6 18 5 17 4 16 3 15 2 14 1 P1

spare sup REC ext clock sup TSRG ring ind carr detc DTR sig GND DSR CTS SCR RTS sec REC rec data tsrg data sec TSRG

spare sup REC ext clock sup TSRG ring ind carr detc DTR sig GND DSR CTS SCR RTS sec REC rec data tsrg data sec TSRG

13 25 12 24 11 23 10 22 9 21 8 20 7 19 6 18 5 17 4 16 3 15 2 14 1 CONNECTOR DB25

CONNECTOR DB25

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

21

Drivers para RS232.


Debido a que los microcontroladores manejan niveles TTL es necesario utilizar drivers para convertir los niveles de RS232 a TTL. Los drivers ms comunes son el MAX232 (Vcc = 5V) y el MAX3232 (Vcc = 3.3V)
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 22

Norma RS422.
La norma EIA RS422 es norma que especifica las caractersticas elctricas para la conexin de dos sistemas. Las principales diferencias entre la RS422 y la RS232:
En RS422 las seales son balanceadas. En RS422 permite que haya ms de dos dispositivos en el mismo bus.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 23

RS422. Niveles elctricos.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

24

RS422. Muchos dispositivos.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

25

Driver para RS422.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

26

Resumen RS422.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

27

Velocidad vs distancia. RS422.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

28

Norma RS485.
La norma es una norma de interconexin de dispositivos balanceada. A diferencia de RS422 que suele utilizar comunicacin 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 Alarcn. jalarcon@electron.frba.utn.edu.ar 29

Bus de dispositivos en RS485.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

30

Caractersticas elctricas. RS485.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

31

Comparando las normas.


SPECIFICATIONS Mode of Operation Total Number of Drivers and Receivers on One Line (One driver active at a time for RS485 networks) Maximum Cable Length Maximum Data Rate (40ft. - 4000ft. for RS422/RS485) Maximum Driver Output Voltage Driver Output Signal Level (Loaded Min.) Driver Output Signal Level (Unloaded Max) Driver Load Impedance (Ohms) Max. Driver Current in High Z State Max. Driver Current in High Z State Slew Rate (Max.) Receiver Input Voltage Range Receiver Input Sensitivity Receiver Input Resistance (Ohms), (1 Standard Load for RS485) Power On Power Off Loaded Unloaded RS232 SINGLE -ENDED 1 DRIVER 1 RECVR 50 FT. 20kb/s +/-25V +/-5V to +/15V +/-25V 3k to 7k N/A +/-6mA @ +/2v 30V/uS +/-15V +/-3V 3k to 7k RS423 SINGLE -ENDED 1 DRIVER 10 RECVR 4000 FT. 100kb/s +/-6V +/-3.6V +/-6V >=450 N/A +/-100uA Adjustable +/-12V +/-200mV 4k min. RS422 RS485 DIFFERENTIAL DIFFERENTIAL 1 DRIVER 10 RECVR 4000 FT. -0.25V to +6V +/-2.0V +/-6V 100 N/A +/-100uA N/A -10V to +10V +/-200mV 4k min. 32 DRIVER 32 RECVR 4000 FT. -7V to +12V +/-1.5V +/-6V 54 +/-100uA +/-100uA N/A -7V to +12V +/-200mV >=12k

10Mb/s-100Kb/s 10Mb/s-100Kb/s

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

32

Comunicacin 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 Alarcn. jalarcon@electron.frba.utn.edu.ar

33

Mdems.
Mdem es el acrnimo de moduladordemodulador. Son dispositivos que van a codificar seales digitales en otro tipo de seales ms convenientes para su transmisin por diferentes medios.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

34

Mdem. Interfaz
La interfaz con un mdem se suele hacer a travs de los comandos AT. Estos comandos definen un modo comando y un modo de datos. En el modo comando se configuran los parmetros de la conexin, mientras que en el modo de datos se transfieren los datos entre el mdem 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 Alarcn. jalarcon@electron.frba.utn.edu.ar 35

Mdem. Registros S.
La configuracin del mdem es almacenada en un conjunto de registros llamados registros S.
AT&V. Muestra la configuracin del mdem. AT&W. AT&W0 guarda la configuracin actual y AT&W1 carga la configuracin por defecto.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

36

Registros S (extracto).

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

37

Registros S. Ejemplo.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

38

Registros de informacin.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

39

Registros de Informacin. Ejemplo.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

40

Mdem GPRS.
Los mdems GRPS, a diferencia de los mdems telefnicos, se pueden establecer comunicaciones por tres medios diferentes.
Sobre la comunicacin telefnica (CSD). Sobre una conexin a Internet por GPRS. Generando mensajes de texto.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 41

Mdems GPRS.
Los mdems GPRS tambin 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 mdulos.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 42

Mdems GPRS. Enviando mensajes.


La configuracin usual para enviar un mensaje de texto (Motorola G24) a travs de un mdem GPRS es la siguiente:
AT+CMGF=1 OK AT+CMGS="+5491166661234" > Hola!!!. [CTRL-Z] +CMGS: 198 OK
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 43

SPI. Qu es?
Es un protocolo desarrollado por Motorola. Es un protocolo serie, sincrnico y fullduplex. Es un protocolo que puede llegar a un clock de unos 75MHz. Es un protocolo que permite un maestro y varios esclavos.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 44

SPI. Seales.

SCLK. Seal de reloj de la comunicacin, esta seal la genera el SPI master. MOSI. Datos generados por el SPI Master. MISO. Datos generados por el SPI Slave. SS. Seal de seleccin de Slave.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

45

SPI. Conexin de varios dispositivos.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

46

SPI. Seales.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

47

SPI. Modos.
Modo CPOL CPHA 0 1 2 3 0 0 1 1 0 1 0 1 Funcionamiento
Se leen datos en flanco de subida, se escriben en el flanco de bajada. Se leen datos en flanco de bajada, se escriben en el flanco de subida. Se leen datos en flanco de bajada, se escriben en el flanco de subida. Se leen datos en flanco de subida, se escriben en el flanco de bajada.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

48

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 mximo a SPI_PCLK/2.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 49

SPI. Algunos dispositivos.


Memorias EEPROM no voltiles. 25LCxx. Memorias Nor Flash. (4Mbytes de flash. S25FL032P) Conversores AD. (Por ejemplo AD7266). Conversores DA. (DAC7612). Expansores de entrada-salida. (MAX6966). Etc.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

50

I2C. Qu es?
I2C es un bus diseado 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 comunicacin multimaestro, multiesclavo Es un bus que soporta muchos dispositivos esclavos y varios maestros en el mismo bus.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

51

I2C. Breve Descripcin elctrica


El bus consta de dos pines: SCL y SDA. Estos pines son bidireccionales y trabajan en configuracin de drain abierto, por lo que requieren necesariamente de resistencias de pull-up.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

52

I2C. Breve Descripcin elctrica

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

53

I2C. Seales.
La Seal SDA es la seal de datos que va a ser vlida cuando SCL est alta. Todas las transferencias de datos comienzan con una condicin de arranque (bit de START) y finalizan con la condicin de parada (bit de STOP).
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

54

I2C. Seales

La unidad de transferencia del protocolo I2C es el byte. Los bytes se transfieren enviando primero el bit ms significativo MSB.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 55

I2C. Transferencias de datos

Las transferencias del I2C comienzan enviando una direccin 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 Alarcn. jalarcon@electron.frba.utn.edu.ar

56

I2C. Operaciones entre maestros y esclavos.

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

57

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 Alarcn. jalarcon@electron.frba.utn.edu.ar 58

Algunos dispositivos I2C.


Memorias no voltiles. (24LCXX). Relojes en tiempo real. (DS1307). Expansores de I/O. (MCP23016). Acelermetros. (MMA7660FC). Sensores de temperatura (ADT7410). Sensores de presin (MPL115A2T1). Etc.
Juan Alarcn. jalarcon@electron.frba.utn.edu.ar 59

Bibliografa.
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/bbelec/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-toSerial-Peripheral-Interface Especificacin de I2C. http://www.nxp.com/documents/user_manual/UM10204.pdf

Juan Alarcn. jalarcon@electron.frba.utn.edu.ar

60