• No se han encontrado resultados

Interfaces UART. Comunicaciones en un bus serie. Simposio Argentino de Sistemas Embebidos Marzo 2011 Ing. Pablo Martín Gomez

N/A
N/A
Protected

Academic year: 2021

Share "Interfaces UART. Comunicaciones en un bus serie. Simposio Argentino de Sistemas Embebidos Marzo 2011 Ing. Pablo Martín Gomez"

Copied!
21
0
0

Texto completo

(1)

1

Simposio

 

Argentino

 

de

 

Sistemas

 

Embebidos

Marzo

 

2011

Ing.

 

Pablo

 

Martín

 

Gomez

[email protected]

Interfaces

2

Comunicaciones

 

en

 

un

 

bus

 

serie

3

UART

yUniversal Asynchronous Receiver Transmitter yEstándar de comunicación implementado en los 60’s ySimple, universal, bien entendido, mucho soporte

yEstándar de comunicación de baja velocidad: hasta 1 Mbits/s yLa señal de clock no está incluida en los datos: Emisor y 

Receptor deben acordar parámetros de “timing” por adelantado yLos bits de “Start” y “Stop” bits indican datos a enviar

yPuede enviarse información de paridad

4

Comunicaciones

 

en

 

un

 

bus

 

serie

y Una red punto a punto no requiere la señal de control “Select”

y Una comunicación asincrónica no tiene señal de Clock

y Dependiendo del protocolo, las señales de Data, Select y R/W pueden 

compartir la misma línea

y Solamente el “master” puede comenzar una comunicación. Los slaves (esclavos) solamente `hablan cuando se les habla`

(2)

5

Comunicaciones

 

en

 

un

 

bus

 

serie

6

SPI

y Serial Peripheral Interface (SPI) es una conexión de datos serial 

sincrónica de 4 líneas full‐duplex:

y SCLK: Serial Clock

y MOSI: Master Out Slave In (Datos del Master al Slave)

y MISO: Master In Slave Out (Datos del Slave al Master)

y SS: Slave Select (Selección de Slave)

y Desarrollado originalmente por Motorola

y Utilizado para conectar los periféricos entre sí y con los 

microprocesadores

y Se necesitan “3 + n” líneas siendo n = número de dispositivos

y Solamente un master activo a la vez

y Varias velocidades de transmisión (función del clock del sistema)

7

SPI

 ‐

Configuración

y Esquema de transmisión simple: 8 o 16 bits

y Comunicaciones Full duplex

y El número de líneas es proporcional al número de dispositivos del bus 8

I²C

 ‐

(Inter

IC)

yBus desarrollado por Philips en los 80’s yBus simple y bi‐direccional de 2 líneas:

y serial data (SDA)

y serial clock (SCL)

ySe ha convertido un estándar de la industria y es utilizado por 

las mayores productores de circuitos integrados (IC) yBus con capacidad Multi‐master (arbitraje)

yComunicación Master‐Slave; Solamente entre dos dispositivos yCada IC en el bus se identifica a través de su propia dirección 

yEl slave puede ser:

y Únicamente un dispositivo receptor

(3)

9

I²C

 ‐

Velocidad

10

I²C

 

– condiciones

 

de

 

START/STOP

yLos datos en SDA tienen que ser estables con SCL en alto

yLas excepciones son las condiciones de START y STOP

11

I²C

 ‐

Direccionamiento

yCada dispositivo está direccionado individualmente por 

software

yÚnica dirección por dispositivo: 

y fijo o con una parte programable a través de pines de hardware

y varios dispositivos pueden compartir el mismo bus

yDistribución de direcciones coordinado por I2Cbus committee

12

I²C

 

– formatos

 

de

 

7

bit y

 

10

bit

yEl 1º byte después del START determina la dirección del slave yAlgunas excepciones a la regla:

y dirección “General Call”: 0000 000 + R/W = 0

y direccionamiento slave de 10‐bit: 1111 0XX + R/W = X

yDireccionamiento de 7‐bits

(4)

13

I²C

 

– Operaciones

 

Lectura

 

/

 

Escritura

yEscritura a un dispositivo slave

yLectura de un dispositivo slave

14

I²C

 

– Operaciones

 

Lectura

 

/

 

Escritura

yAcknowledge

y Es efectuado en el 9no pulso de clock y es obligatorio

y El transmisor libera la línea SDA

y El receptor pone en bajo la línea SDA (SCL tiene que estar en alto)

y La transferencia se aborta si no hay acknowledge (ojo con debug!)

15

I²C

 

– Arbitraje

y Dos o más masters pueden generar una condición de START al mismo 

tiempo

y El arbitraje se efectua sobre la línea SDA mientras SCL está en alto

y Los slaves no están involucrados

16

I²C

 

– Sincronización

 

del

 

Clock

y Todos los masters generan su propio clock sobre la línea SCL para 

transmitir sus mensajes sobre el bus I2C

y Un clock definido es necesario para que el arbitraje bit a bit pueda 

ocurrir

y La sincronización del clock es efectuada a través de una compuerta 

AND en las interfaces I2C a la línea SCL

y El período bajoes determinado por el dispositivo con más largo 

período bajo 

y El período altoes determinado por el dispositivo con más corto 

(5)

17

I²C

 

– Manejando

 

I²C

 

y Hay 3 maneras básicas de manejar el bus I²C:

y Con un microcontrolador con interfaz I²C on‐chip

y Bit oriented‐CPU interrumpido después de cada transmisión de bit

y Byte oriented‐CPU puede ser interrumpido después de cada transmisión 

de byte

y Con cualquier microcontrolador: 'Bit Banging’

y El protocolo I²C puede ser emulado bit a bit a través de cualquier puerto 

open drain bi‐direccional

y Con un microcontrolador en conjunto con un integrado interfaz 

paralelo / bus I²C

18

I²C

 

– Conflicto

 

de

 

direccionamiento

y Cuando un dispositivo no puede cambiar su dirección I²C (fijo), 

solamente uno de su tipo puede estar conectado al bus

y Un multiplexor I2C puede ser utilizado para eliminar esta limitación

y permite dividir dinámicamente el bus principal I2C en varias subramas de 

modo de poder comunicarse con uno a la vez

y programable a través de I2C: sin pines adicionales de control

y más de un multiplexor puede conectarse al mismo bus I2C

19

I²C

 

– PCA9548

y Precio: 1.28 U$S (Mouser)

y 8‐channel I2C‐bus switch with reset

20

USB

 ‐

Historia

y

Introducido

 

y

 

estandarizado

 

por

 

un

 

grupo

 

de

 

compañias Compaq,

 

DEC,

 

IBM,

 

Intel,

 

Microsoft,

 

NEC,

 

HP,

 

Lucent,

 

Philips y

 

Nortel)

 

en

 

1995

y

La

 

idea

 

fundamental

 

fue

 

la

 

de

 

reemplazar

 

la

 

gran

 

cantidad

 

de

 

conectores

 

disponibles

 

en

 

la

 

PC´s

simplificando

 

la

 

conexión

 

y

 

configuración

 

de

 

(6)

21

USB

 ‐

Historia

y

Existen

 

3

 

versiones

 

de

 

USB

y

USB

 

1.0

 

Enero

 

1996

y Velocidades de 1.5 Mbps hasta 12 Mbps

y

USB

 

1.1

 

Septiembre

 

1998

y Primer versión popular de USB

y

USB

 

2.0

 

Abril

 

2000

y La principal mejora es la inclusión de una tasa de 

transferencia de alta velocidad de 480 Mbps

y

USB

 

3.0

 

Noviembre

 

2008

y Tasa de transferencia de 5 Gbps

22

USB

 ‐

Introducción

y

USB

 

significa

 

“Universal

 

Serial

 

Bus”

y

Controlado

 

por

 

“Host” (solamente

 

uno

 

por

 

bus)

yOn‐the‐Go (Protocolo de negociación de host) – permite a 

dos dispositivos negociar el rol de host

y

Topología

 

estrella

ySe pueden utilizar hubs para dividir alta y baja velocidad

y

Hasta

 

127

 

dispositivos

 

pueden

 

ser

 

conectados

 

a

 

un

 

bus

 

USB

 

en

 

cualquier

 

momento

y

Utiliza

 

4

 

líneas

 

malladas:

 

2

 

son

 

de

 

alimentación

 

(+5v

 

&

 

GND)

 

y

 

los

 

otros

 

2,

 

un

 

par

 

trenzado

 

donde

 

las

 

señales

 

se

 

transmiten

 

en

 

modo

 

diferencial

23

USB

 ‐

Introducción

y

Utiliza

 

codificación

 

NRZI

 

para

 

enviar

 

los

 

datos

 

con

 

un

 

campo

 

de

 

sincronización

 

para

 

sincronizar

 

el

 

clock del

 

host y

 

el

 

receptor

y

Suporta

 

plug’n’plug con

 

drivers que

 

son

 

cargados

 

dinámicamente

 ‐

PID/VID

 

(Product ID/Vendor ID)

y

USB

 

soporta

 

diferentes

 

modos

 

de

 

transferencia:

  

Control

,

 

Interrupción

,

 

Masiva

e

 

Isócrona

y

La

 

alimentación

 

se

 

transporta

 

por

 

el

 

Bus

y

USB

 

distribuye

 

la

 

alimentación

 

a

 

todos

 

los

 

dispositivos

 

conectados,

 

eliminando

 

la

 

necesidad

 

de

 

una

 

fuente

 

externa

 

para

 

dispositivos

 

de

 

bajo

 

consumo

24

USB

 ‐

Conectores

y

Los

 

conectores

 

a

 

cada

 

lado

 

del

 

cable

 

no

 

son

 

mecánicamente

 

intercambiables

y El conector tipo A siempre se conecta “aguas arriba”. 

En general los encontramos en hosts y hubs.

y El conector tipo B siempre se conecta “aguas abajo”. 

Los encontramos en dispositivos.

y Los conectores mini y micro se utilizan para reducir 

espacio como teléfonos celulares.

y Los conectores micro‐AB son capaces de aceptar tanto 

(7)

25

USB

 

– Alimentación y

 

niveles

y

Alimentación

y Entrega 5 V en una de las líneas (5 V±5%). 

y La unidad de carga es 100mA (USB 2.0) y 150mA (USB 3.0).

y La máxima carga es 500 mA (USB 2.0) y 900 mA (USB 3.0).

y Los hubs alimentados por Bus solamente entregan 1 unidad de 

carga para los dispositivos.

y Los hubs alimentados autonomamente pueden entregar la 

máxima carga a todos los dispositivos.

y

Niveles

 

lógicos

y

‘1’

D+

 

200mV

 

mayor

 

a

 

D

y

‘0’

D+

 

200mV

 

menor

 

a

 

D

26

USB

 ‐

Velocidad

y

Un

 

dispositivo

 

USB

 

debe

 

indicar

 

su

 

velocidad

 

llevando

 

D+

 

o

 

D

a

 

3.3

 

volts.

y

Sin

 

resistencia

 

de

 

pull

up,

 

USB

 

asume

 

que

 

no

 

hay

 

nada

 

conectado

 

al

 

Bus.

y En el modo “high speed” el dispositivo primero se conecta en modo “full 

speed”, luego se remueve el resistor de pull‐up para balancear la línea

27

USB

 

– Paquetes de

 

datos

y

A

 

diferencia

 

de

 

RS

232

 

o

 

interfaces

 

serie

 

similares

 

donde

 

el

 

formato

 

de

 

los

 

datos

 

a

 

ser

 

enviados

 

no

 

está

definido,

 

USB

 

posee

 

varias

 

capas

 

de

 

protocolos

y

Cada

 

transacción

 

USB

 

consiste

 

en:

yPaquete Token(encabezado que define lo que se espera a 

continuación)

yPaquete de datos (opcional contiene el payload)  yPaquete de Status (Usado como acknowledge en las 

transacciones y como una forma de corregir errores)

28

USB

 ‐

Campos

 

del

 

paquete

y

Sync

y Todos los paquetes deben comenzar con un campo de “sync”

utilizado para sincronizar el clock receptor con el transmisor

y

PID

 

(Packet ID)

 

y Utilizado para identificar el tipo de paquete que está siendo 

enviado (4 bits complementados)

y

ADDR

 

(Address field)

y Especifica a que dispositivo va dirigido el paquete 

y Teniendo un tamaño de 7 bits permite soportar 127 dispositivos

y La dirección cero no es válida ya que cualquier dispositivo al que 

todavía no se le asignado una dirección debe responder los 

(8)

29

USB

 ‐

Campos

 

del paquete

PID

30

USB

 ‐

Campos

 

del paquete

y

ENDP

  

(Endpoint field)

y Formado por 4 bits permite 16 posibles “endpoints”

y

CRC

 

(Cyclic Redundancy Check)

y Efectuado en los datos contenidos en el “payload” del paquete. 

Todos los paquetes “token” tienen un CRC de 5 bits mientras que 

los de datos tienen un CRC de 16 bits

y

EOP

 

(End of packet)

y Señalizado a través de un “Single Ended Zero” (SE0 / D+ and D‐se 

mantienen bajos) por aproximadamente el tiempo de 2 bits 

seguido por una J (estado lógico, el significado depende de la 

velocidad) durante el tiempo de 1 bit

31

USB

 ‐

Tipos de

 

paquete

y

Paquetes

 

“Token”

y In– Informa al dispositivo USB que el “host” desea leer

información

y Out– Informa al dispositivo USB que el “host” desea enviar

información

y Setup– Utilizado para comenzar transferencias de control

y

Paquete

 

de

 

datos

y Dos tipos. Cada uno capaz de transmitir de 0 a 1023 bytes de datos

32

USB

 

– Tipos de

 

paquete

y

Paquetes

 

de

 

“Handshake”

y ACK(Acknowledgment) – Confirmación de que el paquete fue 

recibido exitosamente

y NAK– Reporta que el dispositivo no puede enviar ni recibir datos 

temporalmente. También utilizado durante las transacciones de 

interrupción para informar al “host” que no hay datos para enviar

y STALL– El dispositivo se encuentra en un estado que requiere la 

intervención del “host”

y

Paquetes

 

de

 

comienzo

 

de

 

“frame” (SOF)

y El número de frame (11 bits) es enviado por el “host” cada 1mS ± 500nS

(9)

33

USB

 ‐

Funciones

y

Funciones

 

USB

y Pueden verse como dispositivos USB que proveen capacidades o 

funciones tales como impresora, escáner, lector de memorias u 

otro periférico

34

USB

 ‐

Endpoints

y

Endpoints

y Pueden describirse como fuentes o sumideros de datos

y Todos los dispositivos deben soportar al “endpoint” cero

y

Pipes

y Son las conexiones lógicas entre  “host” y “endpoint(s)”

y Tienen una serie de parámetros:

y Ancho de banda asignado

y Tipo de transferencia: 

y Control, Másiva (Bulk), Isócrona 

o Interrupción

y Dirección del flujo de datos

y Tamaño máximo de paquetes/buffer

35

USB

 ‐

Frames

y

El

 

tráfico

 

en

 

el

 

bus

 

USB

 

es

 

regulado

 

utilizando

 

el

 

tiempo.

 

La

 

unidad

 

de

 

tiempo

 

se

 

llama

 

“frame”

yVelocidad “Full” y “Low”: “frames” cada 1 ms

yVelocidad “High”: “micro‐frames” cada 125 µs

y

Cada

 

“frame” comienza

 

con

 

un

 

paquete

 

SOF

y

A

 

cada

 

“pipe” se

 

le

 

asigna

 

un

 

espacio

 

en

 

cada

 

“frame”

y

10

 

%

 

asignado

 

a

 

transferencias

 

de

 

control

36

USB

 

– Transferencias

yLas transferencias consisten en una o más transacciones. Un 

pipe solamente soporta un tipo de transferencia

yEn una transacción, los datos son transferidos desde “host” a 

dispositivo o viceversa.

yLa dirección de transacción se define en el paquete “token” yEn general, el destinatario responde con un paquete de status 

(10)

37

USB

 

– Transferencias de

 

control

yLas transferencias de control son típicamente utilizadas para 

operaciones con comandos y de status

yUna transferencia de control puede tener hasta tres etapas y Etapa “Setup”: donde la petición es enviada. Contiene la dirección 

y el número de endpoint

y Etapa de datos (opcional): consiste en una o multiples transferencias IN / OUT 

y Etapa de “Status“: informa el status de la totalidad de la petición. 

Varia en función de la dirección de la transferencia

38

USB

 

– Transferencias de

 

control

yFormato de transferencia de control

acknowledge

endpoint error working but nothing to send

acknowledge buffer not empty error

39

USB

 

– Transferencia de

 

Interrupción

yEl dispositivo que requiere atención debe esperar que el “host” le “encueste” antes que pueda informar que necesita atención yCaracterísticas

y Latencia garantizada

y Flujo del “pipe”: Unidireccional

y Detecciones de errores y re‐proceso en próximo período

y Interrupción IN

y El “host” encuesta periódicamente al endpoint. La frecuencia con que 

encuesta está especificada en el descriptor del endpoint. Cada encuesta 

implica que el “host” envíe un IN Token

y Interrupción OUT

y Cuando el “host” desea enviar al dispositivo datos de interrupción, 

solicita un OUT token seguido por un paquete de datos que contiene los 

datos de interrupción

40

USB

 

– Transferencia

 

de

 

Interrupción

(11)

41

USB

 

– Transferencia Isócrona

y Las transferencias isócronas ocurren continua y periódicamente. 

Típicamente contienen información sensible al tiempo, como flujo de 

video o audio

y Características

y Ancho de banda USB garantizado

y Latencia acotada

y Flujo del “Pipe”: Unidireccional

y Detección de errores vía CRC, pero sin re‐proceso ni garantía de entrega

y Disponible solamente en modos “full speed” y “high speed”

y Las transferencias isócronas no tienen etapa de “handshaking”y no 

pueden reportar errores o condiciones de STALL/HALT

42

USB

 

– Transferencias

 

masivas

y Utilizado para envío masivo de datos (Ej.: datos de impresión enviados 

a una impresora o datos de una imagen generados por un escáner)

y Características 

y Corrección de errores (Campo CRC16 en el “data payload”)

y Detección de errores / mecanismos de re‐transmisión

y Utiliza espacio no asignado del ancho de banda del bus después que 

todas las otras transacciones han sido asignadas

y Solamente utilizado en comunicaciones no sensibles al tiempo debido a que 

no hay garantías respecto a la latencia

y Disponible solamente en modos “full speed” y “high speed”

43

USB

 

– Descriptores

y Todos los dispositivos USB tienen una jerarquía de descriptores que 

definen al “host” información tal como: 

y que es el dispositivo

y quien lo fabricó

y que versión de USB soporta

y de cuantas formas puede configurarse

y el número de endpoints y sus tipos

y Los descriptores USB más comunes son

y Descriptores de dispositivo (Device descriptors)

y Descriptores de configuración (Configuration Descriptors)

y Descriptores de interfaz (Interface Descriptors)

y Descriptores de Endpoint (Endpoint Descriptors)

y Descriptores de String (String Descriptors)

y Proporciona información humanamente legible y son opcionales

44

(12)

45

USB

 

– Descriptores de

 

dispositivo

y El descriptor de dispositivo del dispositivo USB representan a la 

totalidad del mismo por lo tanto, sólo puede tener uno

y Contienen

y la versión de USB soportada

y el máximo tamaño de paquete

y identificación de proveedor y producto 

y el número de posibles configuraciones que el dispositivo puede tener

y Ejemplo: 

y bDeviceClass, bDeviceSubClass y bDeviceProtocol son utilizados por el 

sistema operativo para encontrar un driver para el dispositivo 

y Generalmente solo bDeviceClass es especificado en este nivel

y Se suelen especificar los demás parámetros a nivel de interfaz. Esto 

permite que un mismo dispositivo soporte múltiples clases

46

USB

 

– Descriptores de

 

configuración

y Un dispositivo USB puede tener diferentes configuraciones. De todas 

formas, la mayoría de los dispositivos son simples y solamente tienen 

una  y Especifica 

y como se alimenta el dispositivo

y cual es el máximo consumo de potencia

y el número de interfaces que tiene

y Por lo tanto, es posible tener dos configuraciones: una para el 

dispositivo siendo alimentado por el bus y otra cuando lo hace 

externamente. Como este es el “encabezado” de los descriptores de 

interfaz, es también posible tener para cada una de las 

configuraciones, diferentes modos de transferencia

47

USB

 

– Descriptores de

 

configuración

48

USB

 

– Descriptores

 

de

 

interfaz

y Pueden ser vistos como “headers” de los endpoints en grupos 

(13)

49

USB

 

– Descriptor

 

de

 

endpoint

y El endpoint cero siempre 

se asume como de 

control

y El “host” utilizará la 

información devuelta por 

estos descriptores para 

definir los 

requerimientos de ancho 

de banda del bus

50

USB

 

– FT232

y Precio: 4,50 U$S (Mouser)

51

USB

 

–Stacks

 

de

 

dispositivos

Stacks de dispositivos para LPC2300/2400/214x

y Keil RL‐USB:

y http://www.keil.com/arm/rl‐arm/rl‐usb.asp

y Micrium µC/USB Device

y http://www.micrium.com/products/usb/usb‐device/overview.html

y Micro Digital smxUSBD

y http://www.smxrtos.com/rtos/usb/smxusbd.htm

y HCC Embedded USB (EUSB) Device Stack

y http://www.hcc‐embedded.com/site.php?mid=120

y CMX‐USB

y http://www.cmx.com/cmx_usb.pdf

y Express Logic USBX

y http://www.rtos.com/page/product.php?id=6

52

USB

 

3.0

y

Upgrade del

 

USB

 

2.0

y

retro

compatible

y

También

 

llamado

 

“SuperSpeed” USB

 

por

 

la

 

significante

 

mejora

 

respecto

 

a

 

especificaciones

 

USB

 

existentes

y

Nuevo

 

protocolo

 

de

 

comunicación

 

para

 

dispostivos

y

Nuevos

 

modos

 

de

 

transferencia

y

Nuevas

 

formas

 

de

 

administrar

 

la

 

alimentación

y

Mayor

 

longitud

 

de

 

cable

 

permitida

(14)

53

USB

 

2.0

 

vs.

 

USB

 

3.0

 

– Hardware

USB

 

2.0

USB

 

3.0

yEl cable es más delgado yTiene 4 líneas

yModo de transferencia de 

datos “half‐duplex”

yEl cable se parece al utilizado 

en Ethernet debido a su 

grosor yTiene 8 líneas

y Tres pares trenzados para 

datos y un par para 

alimentación

y Modo de transferencia de datos 

“Full‐duplex” 54

USB

 

2.0

 

vs.

 

USB

 

3.0

55

USB

 

2.0

 

vs.

 

USB

 

3.0

56

USB

 

2.0

 

vs.

 

USB

 

3.0

y

Aunque

 

la

 

especificación

 

de

 

USB

 

3.0

 

esta

 

diseñada

 

para

 

retro

compatibilidad

 

con

 

USB

 

2.0,

 

los

 

cables

 

USB

 

3.0

 

no

 

son

 

compatibles

 

con

 

el

 

conector

 

regular

 

de

  

(15)

57

USB

 

3.0

 

vs.

 

otros

 

estándares

y

FireWire 800

 

tiene

 

como

 

máxima

 

tasa

 

de

 

transferencia:

 

800

 

Mbps

y

eSATA bus

 

tiene

 

una

 

máxima

 

tasa

 

de

 

transferencia

 

de

  

3.2

 

Gbps

y

Ejemplo:

y

Intel

 

mostró que

 

la

 

transferencia

 

de

 

una

 

película

 

de

 

25

 

GB

 

HD

 

demoró 70

 

segundos

 

utilizando

 

un

 

bus

 

USB

 

3.0

 

contra

 

4

 

horas

 

a

 

través

 

de

 

USB

 

2.0

58

El

 

espacio

 

Wireless 802

59

802.15.4

 

y

 

ZigBee

y El estándar 802.15.4 define la capa de comunicación en el nivel 2 e 

inferiores del modelo OSI

y Las frecuencias definidas en el estándar están esparcidas en 27 canales 

diferentes divididos en 3 bandas principales

y 868.0 ‐868.6MHz   ‐> 20/100/250 kbps‐> 1 canal (Europa)

y 902.0‐928.0MHz     ‐>  40/250 kbps‐> 10 canales  (USA)

y 2.40‐2.48GHz         ‐>  250 kbps‐> 16 canales  (Internacional) y El estándar ZigBee define la capa de comunicación en el nivel 3 y 

superiores del modelo OSI

60

802.15.4

 

– Características

 

analógicas

y Utiliza Direct Sequence Spread Spectrum (DSSS) para modular la 

información antes de ser enviada a la capa física

y Cada bit de información a transmitir se modula en 4 señales diferentes  y Este proceso ocasiona que el total de la información ocupe un mayor 

ancho de banda con menor densidad espectral de potencia

y Hay diferentes tipos de modulaciones DSSS

y Binary Phase Shift Keying (BPSK)

y Offset Quadrature Phase Shift Keying (O‐

QPSK)

(16)

61

ZigBee

Características

 

analógicas

y Zigbee, descansa sobre 

802.15.4 que tiene una 

excelente performance en entornos con baja 

relación S/R

62

802.15.4

 ‐

Características

y Define las capas LLC, PHY y MAC sobre las cuales ZigBee descansa

y Soporta topologías de red estrella o peer‐to‐peer (tree or mesh)  y Mecanismo de acceso al canal: Carrier Sense Multiple Access with

Collision Avoidance (CSMA‐CA)

y Dos tipos de nodo:

y dispositivo de función reducida (RFD)

y dispositivo de función completa (FFD)

y Área de cobertura (POS = personal operating space): en el órden de 

los 10 metros (puede ser mayor)

y Escaneo de energía del canal

y para saber cuanta energía (actividad/ruido/interferencias) hay en uno o 

varios canales antes de comenzar a utilizarlo 

y se puede ahorrar energía eligiendo canales libres al configurar una red 

63

802.15.4

 

– CSMA

CA

y A diferencia de CSMA/CD (Carrier Sense Multiple Access/Collision Detect) actúa previniendo las colisiones antes de que ocurran

y Chequea que el canal esté libre (se supone que hay otro nodo 

transmitiendo si la energía es mayor a un nivel específico)

y Si el canal está libre el paquete se envía

y Si el canal no está libre, el nodo espera un periodo de tiempo aleatorio 

(backoff factor), y luego vuelve a chequear

y Si el canal no está libre cuando el contador de backoff llega a cero, el 

mismo se reinicia y el proceso se repite

64

ZigBee

Red

y Hay tres tipos diferentes de nodos en una red ZigBee

y Coordinador: es el dispositivo master y gobierna toda la red

y Routers: rutean la información a los dispositivos finales

y Dispositivos finales (motes): por ejemplo nodos sensores que toman 

información del ambiente

y Solamente los “motes” pueden ser alimentados a través de baterías

y ZigBee utiliza topologías estrella

y Reglas:

y Los “motes” se conectan a un router o al coordinador

y Los routers pueden conectarse entre ellos y con el coordinador

y Los routers y coordinadores no pueden dormir. Tienen que guardar en su 

buffer los paquetes que van hacia los “motes”

(17)

65

ZigBee

Red

y Las redes “Mesh” recaen en comunicaciones ad hoc, también llamadas  

peer to peer (P2P):

y los dispositivos de la red pueden comunicarse entre ellos directamente

y tienen que ser capaces de descubrir a los demás y mandar mensajes 

broadcast a todos los dispositivos

y ZigBee crea una red estrella, en vez de una mesh

y Para crear una red mesh completa todos los nodos deben tener el 

mismo rol: “dispositivos finales + routers"

66

ZigBee

Xbee

y XBee® / XBee‐PRO® RF Modules

y http://www.digi.com/

67

CAN

 

– Controller Area Network

y

Introducido

 

en

 

1983

 

por

 

Robert Bosch para

 

hacer

 

frente

 

a

 

la

 

creciente

 

complejidad

 

en

 

funciones

 

vehiculares

 

y

 

redes

y

Un vehículo moderno puede tener tanto como 70

 

unidades de

 

control

 

electrónicas (ECU)

 

para varios

subsistemas (audio,

 

levantavidrios,

 

airbag...)

68

(18)

69

CAN

 ‐

Tecnología

yProtocolo multi‐maestro sobre un bus serie 

yEl número de nodos no esta limitado por el protocolo yNo se direcciona NODOS. Se identifican MENSAJES y 

PRIORIDAD

yEl protocolo utiliza codificación NRZ con bit stuffing para 

sincronización

yControl de acceso al medio CSMA/CR (arbitraje NO 

DESTRUCTIVO). Cada nodo puede recibir y enviar mensajes 

pero no de manera simultánea

yCada nodo tiene su propio clock y el clock no se transmite por 

la red CAN

70

CAN

 

– Bit stuffing

71

CAN

 ‐

Arbitraje

y

El

 

“arbitraje” es

 

automático.

 

El

 

mensaje

 

con

 

mayor

 

prioridad

 

va

 

a

 

ganar

 

el

 

arbitraje

 

del

 

bus

y

Mientras

 

dura

 

el

 

arbitraje,

 

cada

 

nodo

 

transmisor

 

monitorea

 

el

 

estado

 

del

 

bus

 

y

 

compara

 

el

 

bit recibido

 

con

 

el

 

transmitido

y

si

 

se

 

recibe

 

un

 

dominante

 

al

 

enviar

 

un

 

recesivo,

 

entonces

 

se

 

deja

 

de

 

transmitir

 

y

 

vuelve

 

a

 

intentar

 

6

 

ciclos

 

después

 

de

 

terminado

 

el

 

mensaje

 

dominante

72

(19)

73

CAN

 ‐

Arbitraje

74

CAN

 ‐

Tramas

y Existen dos tipos de formato que se identifican en el campo IDE:

y Básico: identificador de 11 bits (2048  id´s)

y Extendido: identificador de 29 bits (536 M id´s)

y Tipos de tramas:

y DATOS: Se utiliza para enviar datos de un nodo a otro(s). Es el tipo de 

trama que más frecuentemente circula en una red CAN.

y REMOTA: Se utiliza para solicitar una trama de datos con el ID 

especificado. Esta trama no contiene datos.

y ERROR: Si un nodo detecta un error en la red, envía una trama de error e 

invalida la trama en cuestión en todos los nodos. La trama deberá ser 

retransmitida.

y SOBRECARGA: La utilizan los nodos para pedir tiempo adicional antes del 

comienzo de la próxima trama. Un máximo de 2 tramas de sobrecarga 

pueden ser generadas por un nodo.

y INTERTRAMA: Es el espacio entre una trama de datos o remota y la

precedente. Este espacio es provisto para permitir a los nodos realizar 

procesamientos internos antes del comienzo de la próxima trama.

75

CAN

 ‐

Tramas

76

(20)

77

CAN

 ‐

Tramas

78

CAN

 

– Tipos

 

de

 

errores

y CRC: No coinciden el código de redundancia cíclica (CRC) calculado por el transmisor y el 

calculado por el receptor. El nodo receptor descarta la trama y transmite una trama de error. 

Sólo realizado por nodo receptor.

y ACK: Error de reconocimiento, detectado por el transmisor. El transmisor no detecta el 

reconocimiento en el campo ”SLOT ACK”, indicando que ningún nodo recibió la trama 

correctamente. Se produce un error de reconocimiento (ACK) se retransmite la trama, pero 

NO se genera una trama de error.

y FORMA: Se produce si se detecta un bit dominante en los siguientes campos:

y Delimitador de CRC.

y Delimitador de ACK.

y Fin de trama.

Se transmite una trama de error.

y BIT: El bit transmitido es diferente del bit monitoreado. No se realiza en los campos de 

arbitraje si el bit transmitido es recesivo ni tampoco en el slot de reconocimiento. Se 

transmite una trama de error y se retransmite la trama. Sólo realizado por nodo transmisor.

y STUFFING: Se detectan 6 bit consecutivos de igual polaridad entre el comienzo de trama y el delimitador de CRC. Se envía una trama de error.

79

CAN

 

– Confinamiento

 

de

 

fallas

80

(21)

81

CAN

 

– Estándar

 

ISO

 

11898

82

CAN

 

– Transceiver

y

Precio:

 

1,33

 

U$S (Mouser)

83

Fuentes

http://www.nxp.com/documents/other/design_con_2003_tecforum_i2c_bus _overview.pdf

DesignCon 2003 TecForum I2C Bus Overview

Apunte Comunicaciones Industriales – Roberto Saco

http://en.wikipedia.org/wiki/Controller_area_network

http://www.embedded.com/design/networking/220900314 

CAN in 30 minutes or less

http://www.embedded.com/showArticle.jhtml?articleID=13000304 

A short trip on the CAN bus

http://www.ee.kth.se/commth/projects/CROPS/docs/GeirZigBee010206.pdf

ZigBee‐A brief introduction

http://en.wikipedia.org/wiki/ZigBee http://sensor‐networks.org/index.php?page=0823123150 802.15.4 vs ZigBee http://www.beyondlogic.org/usbnutshell/usb‐in‐a‐nutshell.pdf usb in a nutshell 84

Fuentes

http://www.usblyzer.com/brief‐usb‐overview‐and‐history.htm

http://arstechnica.com/old/content/2007/09/intel‐announces‐

demonstrates‐usb‐3‐0.ars

http://news.zdnet.com/2100‐9595_22‐262047.html

http://arstechnica.com/hardware/news/2008/11/usb‐3‐0‐specification‐

finalized‐devices‐in‐2010.ars

http://www.usb.org

http://techon.nikkeibp.co.jp/english/NEWS_EN/20090310/166949/

http://www.reghardware.co.uk/2008/01/09/ces_usb_3_revealed/

http://arstechnica.com/old/content/2007/09/intel‐announces‐

demonstrates‐usb‐3‐0.ars

http://en.wikipedia.org/wiki/Usb

http://news.cnet.com/8301‐17938_105‐9780794‐1.html

http://thefutureofthings.com/news/5739/25gb‐in‐70‐seconds‐with‐usb‐3‐

0.html

Referencias

Documento similar