14
Clase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos´ e H. Moyano Departamento de Ciencias e Ingenier´ ıa de la Computaci´ on 2019 Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 10: RS232, RS485 y USB 2019 1 / 54 Est´ andar RS-232 Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 10: RS232, RS485 y USB 2019 2 / 54 Est´ andar RS-232 Est´ andar de la Electronic Industries Association (tambi´ en conocido como EIA-232). Define: I Caracter´ ısticas de la se˜ nal el´ ectrica. I Caracter´ ısticas de la interfaz mec´ anica (formato de los conectores y definici´ on de pines). I Significado de las se˜ nales. No define: I Bit rates, framing de datos, protocolo de comunicaci´ on, encodings, compresi´ on de datos, y detecci´ on de errores. I Cada nodo debe adoptar los mismos valores y configuracion Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 10: RS232, RS485 y USB 2019 3 / 54 Est´ andar RS-232 Prof: Lic. Jos´ e H. Moyano (Departamento de Ciencias e Ingenier´ Clase 10: RS232, RS485 y USB 2019 4 / 54

Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Clase 10: RS232, RS485 y USBSistemas Embebidos

Prof: Lic. Jose H. Moyano

Departamento de Ciencias e Ingenierıa de la Computacion

2019

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 1 / 54

Estandar RS-232

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 2 / 54

Estandar RS-232

Estandar de la Electronic Industries Association (tambien conocido como EIA-232).

Define:I Caracterısticas de la senal electrica.I Caracterısticas de la interfaz mecanica (formato de los conectores y definicion de

pines).I Significado de las senales.

No define:I Bit rates, framing de datos, protocolo de comunicacion, encodings, compresion de

datos, y deteccion de errores.I Cada nodo debe adoptar los mismos valores y configuracion

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 3 / 54

Estandar RS-232

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 4 / 54

Page 2: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Estandar RS-232

Puede operar sincronica o asincronicamente.

Nodos:I DTE: Data Terminal Equipment (nodos iniciadores).I DCE: Data Communication Equipment (dispositivos pasivos).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 5 / 54

Estandar RS-232La interfaz RS-232 debe mapear las senales al puerto serie a partir de una interfaz serie(por ejemplo vıa un UART).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 6 / 54

Estandar RS-232

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 7 / 54

Estandar RS-232

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 8 / 54

Page 3: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Estandar RS-232

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 9 / 54

RS232

¿Que funcion cumplen Request to Send y Clear to Send?

¿Que funcion cumplen Transmit Data y Receive Data?

¿Que funcion cumple Signal Ground?

¿Que funcion cumple Data Terminal Ready?¿Que funcion cumple Data Carrier Detect?

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 10 / 54

Ejemplo Max232

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 11 / 54

Estandar RS-485

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 12 / 54

Page 4: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Estandar RS-485

Estandar de la Electronic Industries Association (tambien conocido comoANSI/TIA/EIA-485).

Utilizado para comunicaciones en serie asincronicas a distancias de 1200m o10Mbit/s en ambientes ruidosos en un par trenzado

I lınea balanceada (lıneas del mismo tipo con igual impedancia a lo largo, respecto detierra y de otros circuitos)

I senalizacion diferencial (senales simetricas y opuestas)

Base para otros protocolos (CAN bus, Modbus, Profibus, etc).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 13 / 54

Estandar RS-485

Define:I Caracterısticas de la senal electrica (rangos de tension, carga, tension de circuitos

abiertos, etc).I Significado de las senales.

No define:I Valores de resistencias de terminacion, pull up y pull down (si se utilizan), ni

longitudes de los cables.I Caracterısticas de la interfaz mecanica (formato de los conectores y definicion de

pines).I bit rates, framing de datos, protocolo de comunicacion, encodings, compresion de

datos, y deteccion de errores.I Mecanismos de arbitraje de bus.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 14 / 54

Estandar RS-485

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 15 / 54

Estandar RS-485

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 16 / 54

Page 5: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Estandar RS-485Resistencias: los valores dependen de la impedancia del cable ( 120 ohms):

Formato de trama:

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 17 / 54

Ejemplo sistema RS-485

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 18 / 54

Ejemplo transceiver RS-485: Max485

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 19 / 54

Estandar USB

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 20 / 54

Page 6: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Estandar USB

Universal Serial Bus (USB): especificacion para comunicar dispositivos con uncontrolador hos

Surgio para reemplazar puertos serie y paralelos.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 21 / 54

Estandar USB

Topologıa en estrella escalonada.

Multiples hubs definen niveles (hasta5).

Cada host provee controladores de hosty c/u admite hasta 127 dispositivos.

Host oficia de master (controla lastransferencias).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 22 / 54

Estandar USBUniversal Serial Bus (USB): topologıa y diferentes velocidades (USB 1.1, 2.0 y 3.0).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 23 / 54

Estandar USBUSB: Los dispositivos se componen de subdispositivos logicos (uso de descriptores)

Implementan una o varias configuraciones

Implementan una o varias funciones (interfaz)

Direccion propia y comunicacion con endpoints vıa pipes.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 24 / 54

Page 7: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Clases de dispositivosDiversas clases de dispositivos para identificar la funcionalidad y cargar el driveradecuado.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 25 / 54

Endpoints

En los dispositivos (el host no posee)

Extremos de cada comunicacion

Buffer en el dispositivo que transmite o recibe datos

se definen con un numero (0-15) y un sentidoI IN endpoint: provee datos al hostI OUT endpoint: recibe datos provenientes del host

Cada dispositivo debe tener configurado su endpoint 0 para control (IN-OUT).

Limitaciones en cantidad de endpoints en funcion de tipo de dispositivo: Low, higho full speed.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 26 / 54

Estandar USBFlujo de datos en el bus mediante transferencias, transacciones y paquetes:

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 27 / 54

Estandar USBTipos de transferencia:

I Isocronica (isochronous): garantiza tasa de transferencia a costa de perder datos(por ejemplo video en tiempo real)

I Usando interrupciones (interrupt): latencia de respuesta acotada (ejemplo mouse,teclado)

I Masivas (bulk): largas y esporadicas (consumen todo el ancho de banda disponible– por ejemplo Hard Drives)

I De control (control): para enviar comandos cortos

Pipes: establecidos por el host:I Stream pipes: unidireccional (isocronica, interrupciones o

masivas).I Message pipes: bidireccional (control).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 28 / 54

Page 8: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Tipos de transferencias

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 29 / 54

Componentes de una transferencia

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 30 / 54

Estandar USB

Transacciones: Cada transaccion se inicia con un paquete queindica la direccion del dispositivo, el numero de endpoint y susentido:

Las transacciones de Setup son similares a las OUT pero no pueden ser rechazadas porel device. Inician una transferencia de control.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 31 / 54

Paquetes USB

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 32 / 54

Page 9: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Estandar USB

El dispositivo debe respetar elprotocolo USB y sus restriccionestemporales,

I Responder a los paquetes del host(cada cierto tiempo).

I En caso contrario, el host puedesuponer una desconexion deldispositivo y la consecuente perdidade funcionalidad digital.

Ej: Invocacion a funcion USBTasks cada cierto tiempo (USB stack/API de Microchip).Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 33 / 54

Estandar USB

Proceso de enumeracion de dispositivos: al conectar por primera vez un dispositivo,el host:

I Negocia tasa de transferencia,I Asigna direccion unica de 7 bits al dispositivo,I Lee descriptores del dispositivo,I Asigna y carga un driver para el dispositivo,I Selecciona una configuracion de dispositivo (requerimientos de alimentacion,

interfaces, etc.).

Descriptores: permiten al Host descubrir las caracterısticas del dispositivo que seconecta (mediante transferencias de control).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 34 / 54

Descriptores

Todos los dispositivos USB deben responder a las solicitudes del host (descriptoresestandar USB).

Veremos descriptores para:I DeviceI ConfigurationI InterfaceI Endpoint

Existen descriptores adicionales (Interface Association, SuperSpeed endpoints,String, Binary Object Store, etc.), y tambien particulares para ciertas clases dedispositivos (por ej. HID).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 35 / 54

Descriptores

Descriptor USB: Punteros a los descriptorese informacion del soporte USB.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 36 / 54

Page 10: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Descriptores - Clases

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 37 / 54

Descriptores de configuracion

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 38 / 54

Descriptores de interfazNumero de endpoints para la interfaz y clase USB (p/disp. con clase definida por lainterfaz).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 39 / 54

Descriptores de endpoint

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 40 / 54

Page 11: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Clases de dispositivosCDC: Communications Device Class

Para dispositivos de comunicaciones:telefonos, modems, terminales yadaptadores ISDN, dispositivos conpuertos COM virtuales (ej ArduinoUno). . .

Para dispositivos con funciones de red:ADSL modems, cablemo-dems,adaptadores y hubs ethernet. . .

Administrar dispositivos, llamadas,transmitir datos y notificaciones.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 41 / 54

Clases de dispositivosDFU Class

Ejemplo ATmega16U2:

Permite colocar un dispositivo enmodo de actualizacion del firmware.

Solicitudes especıficas en el protocolo.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 42 / 54

Clases de dispositivosHID (Human Interface Device) Class

Incluye mouses, teclados, joysticks, etc.

Los SOs en los hosts, suelen tener drivers para HIDs.

Limitados a transferencias control e interrupt.

Los datos HID viajan en reports (estructuras bien definidas).I Input item: lleva info hacia el host.I Output item: lleva info hacia el dispositivo.I Feature item: es bidireccional.

Solicitudes especıficas en el protocolo para obtener reports.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 43 / 54

Clases de dispositivos

Mass Storage (MSC):I Para dispositivos de almacenamiento masivo.I Discos rıgidos, unidades de CD/DVD, camaras que presentan su contenido

mediante un sistema de archivos, etc.I Usan transferencias bulk para intercambiar datos.

Media Transfer Protocol (MTP)I Extension al Picture Transfer Protocol (PTP - USB Image Class) usado para

transferir imagenes (camaras digitales)I Para transferir archivos transaccionalmente sin requerir acceso exclusivo al medio

(ejemplo acceso a memoria externa en smartphones sin bloquear Apps).I Utilizan trasferencias de tipo bulk e interrupt.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 44 / 54

Page 12: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Clases de dispositivos

Otras clases:I Audio (streaming de audio / MIDI)I IrDA Bridge: intercambio de datos por enlaces infrarrojos.I Personal Health CareI Printer: impresoras, CNCsI Smart CardsI Still Image Capture: camaras, scanners, PTP, MTP, etc.I VideoI Etc. . .

Dispositivos genericos (HID, CDC, MSC, etc)

Dispositivos Vendor-Specific (drivers especıficos).

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 45 / 54

Senales y conectores

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 46 / 54

Senales y conectores

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 47 / 54

Estandar USB

Tambien se definen consideraciones en cuanto a consumo y alimentacion de lospuertos y dispositivos.

I Devices bus-powered (5V, 3.3V).I Devices self-powered.

Numerosas variantes del estandar:I Distintas versiones: USB 1.0, 1.1, 2.0 y 3.0 (SuperSpeed)I Sleep & charge: Para carga con hosts suspendidos.I Powered USB: USB para alimentacion.I USB On the Go (OTG): Para conexion de 2 dispositivos sin hosts (par a par): Uso

de embedded hosts.I Wireless USB.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 48 / 54

Page 13: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Estandar USB

Dada la complejidad del protocolo, se suelemanejar con dispositivos especıficos en losSoC y mediante librerıas que gestionan losdiversos niveles en el stack.Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 49 / 54

USB DFU/CDC – Arduino UNO

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 50 / 54

Otros estandares de comunicacion serie

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 51 / 54

Otros estandares de comunicacion

Otros estandares de comunicacion serie adicionales a los vistos son:I EthernetI Point to Point Protocol (PPP)I Serial Line Internet Protocol (SLIP)I Wireless LAN

No los veremos en detalle.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 52 / 54

Page 14: Clase 10: RS232, RS485 y USB - Sistemas EmbebidosClase 10: RS232, RS485 y USB Sistemas Embebidos Prof: Lic. Jos e H. Moyano Departamento de Ciencias e Ingenier a de la Computaci on

Tarea opcional

Buscar para la clase del Viernes 27/9 que es el protocolo

1–Wire.

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 53 / 54

Referencias

Atmel AVR ATmega328P Datasheet.

Atmel AVR ATmega16U2 Datasheet.

Atmel USB DFU Bootloader Datasheet.

Axelson, J. USB Complete: The Developer’s Guide (4th Ed.). Lakeview Research.2009. ISBN: 978-1931448086. Capıtulos 1 a 7, 11 y 12.

Noergaard, T. Embedded Systems Architecture: A Comprehensive Guide forEngineers and Programmers. Newnes. 2005. ISBN: 978–0750677929. Capıtulo 6.

PIC18F2455/2550/4455/4550 Data Sheet – Sec. 17 – USB

http://en.wikipedia.org

Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 10: RS232, RS485 y USB 2019 54 / 54