tópicos especiales de mecatrónica - eudim.uta.cl · 07/05/2015 · ethernet network standard...

50
Tópicos Especiales de Mecatrónica Comunicación Serial Ricardo-Franco Mendoza-Garcia [email protected] Escuela Universitaria de Ingeniería Mecánica Universidad de Tarapacá Arica, Chile May 7, 2015 R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 1 / 45

Upload: hathien

Post on 12-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Tópicos Especiales de MecatrónicaComunicación Serial

Ricardo-Franco [email protected]

Escuela Universitaria de Ingeniería MecánicaUniversidad de Tarapacá

Arica, Chile

May 7, 2015

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 1 / 45

Outline

Outline

1 Conceptos básicos

2 UARTs

3 RS-232C

4 RS-422

5 RS-485

6 I2C (Inter-Integrated Circuit)

7 SPI (Serial Peripheral Interface)

8 Referencias

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 2 / 45

Outline

The electronics of a computer is nothing morethan a system designed to hold, move andchange numbers.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 3 / 45

Conceptos básicos

Outline

1 Conceptos básicos

2 UARTs

3 RS-232C

4 RS-422

5 RS-485

6 I2C (Inter-Integrated Circuit)

7 SPI (Serial Peripheral Interface)

8 Referencias

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 4 / 45

Conceptos básicos

Velocidad de transmisiónSi cada bit dura τ seconds, la velocidad de transmisión es:

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 5 / 45

Conceptos básicos

Palabra, un “tren” de bits

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 6 / 45

Conceptos básicos

Protocolo de comunicación

DefiniciónSet de reglas entre el transmisor y receptor paraasegurar la correcta transmisión de datos (e.g.,niveles de voltage, significado de palabras, etc.)

Ejemplos:High-level data link control (HDLC)Synchronous data link control (SDLC)Carrier sense, multiple access with collision detection (CSMA/CD)Ethernet network standard (IEEE 802.3)

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 7 / 45

Conceptos básicos

Comunicación Asíncrona

Característicaselemento de sincronización (bit) en cada datotransmitido (palabra). E.g., “0” indica comienzo depalabra; y “1” indica final de palabra; yutilizada cuando se quiere enviar un caracter a la vez,y el intervalo de tiempo entre cada transmisión debytes puede variar.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 8 / 45

Conceptos básicos

Comunicación Síncrona

Característicasse transmite una señal de reloj; óla sincronización se produce a nivel de grupos depalabras; yel elemento de sincronización puede ser una palabrao un patrón de bits en particular.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 9 / 45

Conceptos básicos

Comunicación Síncrona

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 10 / 45

UARTs

Outline

1 Conceptos básicos

2 UARTs

3 RS-232C

4 RS-422

5 RS-485

6 I2C (Inter-Integrated Circuit)

7 SPI (Serial Peripheral Interface)

8 Referencias

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 11 / 45

UARTs

UART: Universal Asynchronous Receiver-Transmitter

TX-RX deben enviar/recibir a la misma frecuencia(relojes independientes)!

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 12 / 45

UARTs

Detección de Errores

Ruido y erroresEn cualquier transferencia de datos a través de un mediopotencialmente ruidoso (e.g., el cable serial), existe la posibilidadde errores de transmisión.

Paridad (even or odd)bit adicional (1 o 0) para hacer el número de “1s” en el bytepar o impar (configurable);calculado en TX y RX; ydoble bit-error no es indicado.

Es responsabilidad del programador hacer algo con elaviso de error de paridad provisto por el hardware UART.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 13 / 45

UARTs

Detección de Errores

Ruido y erroresEn cualquier transferencia de datos a través de un mediopotencialmente ruidoso (e.g., el cable serial), existe la posibilidadde errores de transmisión.

Paridad (even or odd)bit adicional (1 o 0) para hacer el número de “1s” en el bytepar o impar (configurable);calculado en TX y RX; ydoble bit-error no es indicado.

Es responsabilidad del programador hacer algo con elaviso de error de paridad provisto por el hardware UART.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 13 / 45

UARTs

Detección de Errores

Ruido y erroresEn cualquier transferencia de datos a través de un mediopotencialmente ruidoso (e.g., el cable serial), existe la posibilidadde errores de transmisión.

Paridad (even or odd)bit adicional (1 o 0) para hacer el número de “1s” en el bytepar o impar (configurable);calculado en TX y RX; ydoble bit-error no es indicado.

Es responsabilidad del programador hacer algo con elaviso de error de paridad provisto por el hardware UART.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 13 / 45

UARTs

Detección de Errores

Problema (doble error)%01000000 <- parity = 1 %01001001 <- parity = 1

CRC (Cyclic Redundancy Check )número calculado en base a bits de palabras; ymás robusto.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 14 / 45

UARTs

Detección de Errores

Problema (doble error)%01000000 <- parity = 1 %01001001 <- parity = 1

CRC (Cyclic Redundancy Check )número calculado en base a bits de palabras; ymás robusto.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 14 / 45

UARTs

Detección de Errores

Problema (doble error)%01000000 <- parity = 1 %01001001 <- parity = 1

CRC (Cyclic Redundancy Check )número calculado en base a bits de palabras; ymás robusto.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 14 / 45

UARTs

Implementación

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 15 / 45

UARTs

ProblemaPara comunicar dispositivos que se encuentran a cierta distancia,mendiante cables, los niveles de voltage TTL (0V-5V) no son losmás adecuados;Para eso se crearon los siguientes protocolos asíncronos. . .

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 16 / 45

RS-232C

Outline

1 Conceptos básicos

2 UARTs

3 RS-232C

4 RS-422

5 RS-485

6 I2C (Inter-Integrated Circuit)

7 SPI (Serial Peripheral Interface)

8 Referencias

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 17 / 45

RS-232C

RS-232C - I

Característicasdiseñado para comunicar dispositivos simples (lentos, bajopoder de procesamiento)distancias de hasta 25mvelocidades de hasta 38.4kbpsno-balanceado (referencia a tierra)“1” representado por -5 a -15V (típicamente -12V)“0” representado por +5 a +15V (típicamente +12V)problema con diversidad de conectores

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 18 / 45

RS-232C

RS-232C - II

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 19 / 45

RS-232C

RS-232C - III

Señal RS232C (amarilla) y señal UART (azul)

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 20 / 45

RS-232C

HandshakingDespués de mandar un byte, el transmisor no debería enviar otrohasta recibir una confirmación de que el receptor está “listo” pararecibir nuevamente (handshaking).Existen tres tipos de handshaking: hardware, software, and none.VT = 1MHz ; PC = 5GHz ; none handshaking needed.Hardware handshaking usa las lineas RTS (transmisor) y CTS(receptor).Software handshaking (XON/XOFF) usa dos caracteres parahandshaking Crtl-S (0x13) y Ctrl-Q (0x11) los cuales no puedenser usados en el envío de información.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 21 / 45

RS-232C

Implementación

El transciever genera los valores de voltajes requeridos +12V /-12V sin la necesidad de proveer reguladores externos.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 22 / 45

RS-232C

Implementación

El transciever genera los valores de voltajes requeridos +12V /-12V sin la necesidad de proveer reguladores externos.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 22 / 45

RS-422

Outline

1 Conceptos básicos

2 UARTs

3 RS-232C

4 RS-422

5 RS-485

6 I2C (Inter-Integrated Circuit)

7 SPI (Serial Peripheral Interface)

8 Referencias

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 23 / 45

RS-422

RS-422 - I

Característicasdistancias de hasta 1200mvelocidades de hasta 100kbps - 10Mbpsa

comunicación diferencial (twisted pair or differential pair )transmisión balanceada (no referenciada a GND)ruido afecta a ambas lineas, la diferencia entre voltajes esmenor (common mode rejection)niveles representados por diferencias entre ±4V y ±12V

ahttp://en.wikipedia.org/wiki/RS-422

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 24 / 45

RS-422

RS-422 - II

Rt = 100Ω − 120Ω

*voltage levels for one line

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 25 / 45

RS-422

RS-422 - III

Canales diferenciales A (amarillo) y B (azul)

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 26 / 45

RS-422

Implementación

Desarrolladores utilizan cualquier cable para el twisted pair.Al poner el chip en high-impedance se hace invisible a la red.Por lo tanto, se pueden conectar varios transceivers y estableceruna red simple y robusta.Este último modo de operación genera el protocolo RS-485.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 27 / 45

RS-485

Outline

1 Conceptos básicos

2 UARTs

3 RS-232C

4 RS-422

5 RS-485

6 I2C (Inter-Integrated Circuit)

7 SPI (Serial Peripheral Interface)

8 Referencias

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 28 / 45

RS-485

RS-485 - I

Característicasprotocolo industrial para crear redes de bajo costopermite que múltiples nodos compartan información através de un único twisted pairarquitectura maestro-esclavodistancias de hasta 1200mvelocidades de hasta 10Mbps (pero no limitado)a

comunicación diferencial, balanceada, common moderejectionniveles representados por diferencias de 6V máx.se pueden conectar al menos 32 nodos

ahttp://en.wikipedia.org/wiki/RS-485

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 29 / 45

RS-485

RS-485 - II

Arquitectura master-slave

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 30 / 45

RS-485

RS-485 - III

Canales diferenciales A (amarillo) y B (azul)

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 31 / 45

RS-485

Implementación - I

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 32 / 45

RS-485

Implementación - II

half-duplex

full-duplex

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 33 / 45

RS-485

ProblemaLa velocidad máxima de los protocolos asíncronos es limitada;Para distancias cortas, e.g., dentro de la misma PCB, se puedenutilizar los siguientes protocolos síncronos. . .

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 34 / 45

I2C (Inter-Integrated Circuit)

Outline

1 Conceptos básicos

2 UARTs

3 RS-232C

4 RS-422

5 RS-485

6 I2C (Inter-Integrated Circuit)

7 SPI (Serial Peripheral Interface)

8 Referencias

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 35 / 45

I2C (Inter-Integrated Circuit)

I2C - I

Característicasdesarrollado para conectar dispositivos en la misma PCB(distancias cortas)usa tres lineas: GND, clock (SCL) y serial data line (SDA)velocidades de 100kbps in low-speed mode, 400kbps in fastmode, y 3.4Mbps in high-speed modeutiliza direcciones para seleccionar receptoresoperación master-slave, permite multimasterhalf-duplex

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 36 / 45

I2C (Inter-Integrated Circuit)

I2C - II

Multimaster, cualquiera puede ser master (pero sólo uno a la vez)Master envía señal de clock

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 37 / 45

I2C (Inter-Integrated Circuit)

Implementación - I

Cada linea, clock y SDA, es bidireccional.Pull-up resistors permite “multimaster” (wired AND).

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 38 / 45

SPI (Serial Peripheral Interface)

Outline

1 Conceptos básicos

2 UARTs

3 RS-232C

4 RS-422

5 RS-485

6 I2C (Inter-Integrated Circuit)

7 SPI (Serial Peripheral Interface)

8 Referencias

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 39 / 45

SPI (Serial Peripheral Interface)

SPI - I

Característicasdesarrollado para conectar dispositivos en la misma PCB(distancias cortas)usa al menos cuatro lineas: GND, clock (SCLK), masteroutput - slave input (MOSI), master input - slave output(MISO), slave select (active low, output from master) (SS).velocidades desde 100kbps hasta 100Mbpsoperación master-slave, maestro inicia comunicaciónpueden haber múltiples esclavosselección de receptor por hardware, líneas slave select(chip select)Full-duplex

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 40 / 45

SPI (Serial Peripheral Interface)

SPI - II

Modo de funcionamientotípico: rotación de registros(buffer circular)

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 41 / 45

SPI (Serial Peripheral Interface)

Implementación - I

Tres esclavos independientes

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 42 / 45

SPI (Serial Peripheral Interface)

Implementación - II

Tres esclavos en daisy-chain

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 43 / 45

Referencias

Outline

1 Conceptos básicos

2 UARTs

3 RS-232C

4 RS-422

5 RS-485

6 I2C (Inter-Integrated Circuit)

7 SPI (Serial Peripheral Interface)

8 Referencias

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 44 / 45

Referencias

BibliografíaValdes-Perez, Fernando, Pallas-Areny, Ramon, Microcontrollers,Fundamentals and Applications with PIC, 1st edition, CRC PRess,February, 2009, Chapter 08.Catsoulis, John, Designing Embedded Hardware, 2nd edition,O’Reilly Media, May, 2005, Chapter 09.

R. F. Mendoza-Garcia (Mecánica, UTA) Comunicación Serial May 7, 2015 45 / 45