ccs USB

27
GAMA ALTA DE MICROCONTROLADORES COMPILADOR C CCS SISTEMAS EMBEBIDOS DIGITALES III: 1

description

Electrónica programación pic 16f877A

Transcript of ccs USB

Page 1: ccs USB

GAMA ALTA DE MICROCONTROLADORES

COMPILADOR C CCS SISTEMAS EMBEBIDOS

DIGITALES III: 1

Page 2: ccs USB

GAMA ALTA DE MICROCONTROLADORES

PIC18F4550

USB

DIGITALES III: 2

Page 3: ccs USB

GAMA ALTA DE MICROCONTROLADORES

PUERTOS USBLos puertos seriales ya no encuentran implementados a nivel de hardware en los PC de escritorio y portátiles, por ello la mayoría de aplicaciones que cuentan con estos dispositivos requieren la adquisición de correas adaptadoras de serial a USB con el problema de no encontrar los drivers en sistemas operativos como Windows 7.

DIGITALES III: 3

Page 4: ccs USB

GAMA ALTA DE MICROCONTROLADORES

Los puertos USB permiten la conexión de 127 dispositivos.

Estos puertos permiten la conexión y re conexión del dispositivo sin necesidad de reiniciar el Pc.

Los puertos USB trabajan a diferentes velocidades, estas se determinan según la versión, entre ellas tenemos:•USB 1.0. permite trabajar velocidades bajas, similares a los puertos seriales llegando hasta 1.5 MB. Se utilizan para conectar dispositivos de interfaz humana como: cámaras web, ratones, teclados, entre otros.•USB 1.1, alcanza velocidades de hasta 12 Mb/s•USB 2.0, alcanza los 480 Mb/s (60 MB/s) . Se utilizan en aplicaciones de acceso a Internet al igual como puertos de interconexión para discos duros con altas velocidades de transferencia.

DIGITALES III: 4

Page 5: ccs USB

CONSUMO

GAMA ALTA DE MICROCONTROLADORES - COMPILADORES

El puerto USB suministra un voltaje de 5 voltios y puede alimentar dispositivos de bajo consumo en unos 100 mili amperios, también a dispositivos de mayor consumo en máximo 500 miliamperios; los dispositivos con requerimientos mayores necesitan una fuente de alimentación.

FORMA DEL PUERTOSe compone de 4 pines, dos de ellos para alimentación y dos para datos.Los conectores se identifican por las letras rotuladas y por los colores, tal como se describe en la tabla siguiente:

DIGITALES III: 5

Page 6: ccs USB

ConectoresGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

Los conectores de tipo a son los que se encuentran el los servidores(PC), los conectores tipo B se encuentran en los dispositivos que se conectan al PC.

Para los impresos se cuenta con conectores tipo macho y hembra.

DIGITALES III: 6

Page 7: ccs USB

ConectoresGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

Para los impresos se encuentran varios conectores, pero por facilidad de instalación es mejor encontrar conectores que se acoplen a la caja, tal cual tiene las CPU y no a la board la cual restringe el diseño.

En el comercio se encuentran entre 1000 a 4000 pesos colombianos. Sin motivo de realizar publicidad Sigma Electrónica ofrece una amplia variedad.

MiniUSb USB hembraTipo A

DIGITALES III: 7

Page 8: ccs USB

Migración de RS232 a USBGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

Ante la desaparición de los puertos seriales de los euqipos de computo se requiere migrara a USB, para ello una de las opciones es emular el RS-232. En este ultimo caso los sistemas operativos detectan la conexión USB como una conexión RS232. La emulación le permite utilizar los controladores del sistema, los controladores se denominan usbser.sys y ccpor0t.sys

Agrupa dispositivos con características comunes al momento de conectarse. Por ello no se establece parámetros que eran necesarios en RS232 como baudios, bits de datos, paridad, control de flujo;

DIGITALES III: 8

USB CDC(Clase Dispositivos De Comunicación)

Page 9: ccs USB

GAMA ALTA DE MICROCONTROLADORES - COMPILADORES

Los drivers USB permiten establecer tuberías entre el host y los puntos finales de los dispositivos.

Las tuberías son enlaces virtuales que permiten establecer :•Ancho de banda•Tipo de transferencia•Dirección del flujo de datos.•Tamaño del paquete.

Al inicio de la conexión se establecen las tuberías y el dispositivo se requiere de un buffer. Existen distintos tipos de transferencias y cada una de ellas tiene una función.

DIGITALES III: 9

Page 10: ccs USB

Tipo de enlaceGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

El enlace virtual puede ser de cuatro tipos:

•Control: modo utilizado para realizar configuraciones: existe sobre el Endpoint 0.

•Bulk: modo utilizado para la transmisión de datos voluminosos, pero con pocas restricciones a nivel de duración de la transmisión; por ejemplo durante una impresión.

•Interrupt: modo utilizado para transmisiones de pequeños paquetes rápidos, orientado a percepciones humanas (ratón, puntero…)

•Isochronous o flujo en tiempo real: modo utilizado para la transferencia de audio o video. Es necesario negociar la banda de paso

DIGITALES III: 10

Page 11: ccs USB

ENUMERACIONGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

Cuando se conecta un dispositivo al Host, este último interroga sobre sus características generales, le asigna una dirección y le permite la transferencia de datos.

“Los periféricos deben contar con memoria intermedia de datos (buffers), tanto mayores cuanto más grande sea el ancho de banda requerido. El objetivo es garantizar que, a pesar de los buffers, el retardo de encaminamiento sea tan solo de unos cuantos milisegundos.” Este aparte se toma de un trabajo de grado denominado:” Conexión Al Puerto Usb Mediante Un Microcontrolador”, Universidad de Salamanca, Autor: Guillermo David Herrero González, 2007

La Clase CDC permite un formato como es el serial. Para emular las líneas de transmisión y recepción se requiere en la clase de dos interfaces así:

DIGITALES III: 11

Page 12: ccs USB

GAMA ALTA DE MICROCONTROLADORES - COMPILADORES

DIGITALES III: 12

Pasos iníciales para establecer conexión con el host y el dispositivo USB

Page 13: ccs USB

USB EN MICROCONTROLADORESGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

Los microcontroladores cuentan con unas líneas especiales para el puerto USB siempre y cuando cuenten implementada a nivel de hardware esta tecnología.

Los pines de conexión USB para el PIC18f45450 son:RC4 D-RC5 D+

La línea VCC del conector se conecta a un pin específico del microcontroaldor, esta tiene por defecto una resistencia de 10kilo ohmios a GND y el último conector GND se acopla a negativo de la fuente en el circuito.

DIGITALES III: 13

Page 14: ccs USB

USB EN MICROCONTROLADORESGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

DIGITALES III: 14

En Microchip existen diferentes referencias que cuentan con esta implementación a nivel de hardware para puertos USB.

Page 15: ccs USB

PIC18F4550GAMA ALTA DE MICROCONTROLADORES - COMPILADORES

DIGITALES III: 15

Universal Serial Bus Features:• USB V2.0 Compliant• Low Speed (1.5 Mb/s) and Full Speed (12 Mb/s)• Supports Control, Interrupt, Isochronous and Bulk Transfers.• Supports up to 32 Endpoints (16 Bidirectional)• 1 Kbyte Dual Access RAM for USB

En el pin 14 se encuentra el voltaje interno de USB a 3.3V el cual adiciona un regulador de salida, este alimenta al transceiver USB interno.

Page 16: ccs USB

PIC18F4550GAMA ALTA DE MICROCONTROLADORES - COMPILADORES

DIGITALES III: 16

Universal Serial Bus Features:• USB V2.0 Compliant• Low Speed (1.5 Mb/s) and Full Speed (12 Mb/s)• Supports Control, Interrupt, Isochronous and Bulk Transfers.• Supports up to 32 Endpoints (16 Bidirectional)• 1 Kbyte Dual Access RAM for USB

En el pin 14 se encuentra el voltaje interno de USB a 3.3V el cual adiciona un regulador de salida, este alimenta al transceiver USB interno.

Page 17: ccs USB

PIC18F4550GAMA ALTA DE MICROCONTROLADORES - COMPILADORES

DIGITALES III: 17

Universal Serial Bus Features:• USB V2.0 Compliant• Low Speed (1.5 Mb/s) and Full Speed (12 Mb/s)• Supports Control, Interrupt, Isochronous and Bulk Transfers.• Supports up to 32 Endpoints (16 Bidirectional)• 1 Kbyte Dual Access RAM for USB

En el pin 14 se encuentra el voltaje interno de USB a 3.3V el cual adiciona un regulador de salida, este alimenta al transceiver USB interno.

Page 18: ccs USB

PIC18F4550GAMA ALTA DE MICROCONTROLADORES - COMPILADORES

DIGITALES III: 18

El puerto USB requiere de oscilidadores para su correcto funcionamiento, estos se documentan en el manual, la tabla siguiente determina le tipo de cristales a utilizar.

Page 19: ccs USB

PIC18F4550

La memoria en este micro alcanza los 2KB al estar direccionada por 12 bits.El mapa de la memoria se divide en 16 bancos de 256 bytes.

Para el intercambio USB se utiliza los bancos 4, 5, 6 y 7, con una capacidad total de un 1 Kb.

Mapa de la memoria de datos

DIGITALES III: 19

Page 20: ccs USB

USB VIRTUAL EN CCSGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

Proteus en sus versiones recientes cuentan con USB virtual, para ello es necesario elegir el botón inicio de Windows, seleccionar programas y ubicarse en la carpeta de Proteus seleccionando nuevamente . Selecciona todas las opciones desplegadas y hace click en aceptar.

DIGITALES III: 20

Page 21: ccs USB

USB VIRTUAL EN CCSGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

DIGITALES III: 21

Proteus cuenta con el conector USB que permite verificar el correcto funcionamiento de los programas, este se debe buscar como USBCONN. La imagen del control se ilustra en la figura siguiente:

CCS cuenta con las siguientes librerías para trabajar con los puertos USB:•PIC_18USB.H: Librería para la capa de harware de la familia PIC18.

Page 22: ccs USB

USB EN CCS-LibreriasGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

DIGITALES III: 22

•USB.H: Definiciones y prototipos usados en los drivers de USB.

•USB.C: usb STACK, maneja las interrupciones USB y el USB Setup Request de los puntos finales 0, al inicio de la configuración.

•USB_CDC:H: Driver que permite utilizar la clase CDC USB emulando un dispositivo RS232 para que se muestre como un puerto COM en Windows.

Existen otras librerías, ya que existe un micro en gama media que también puede hacer uso del puerto USB a este se lo conoce con la referencia: PIC16C765

Page 23: ccs USB

USB EN CCS-Funciones de LibreríasGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

DIGITALES III: 23

Las funciones más comunes son:

USB_INIT()Contiene las subrutinas para inicializar el uso del puerto USB. Es un ciclo infinito hasta que se conecta al bus, una vez se conecta espera hasta que este sea enumerado.

USB_TASK()Hace uso de la línea del pin para detectar si esta conectado o no, con ello se reconecta al host, o resetea el Stack y el periférico.

USB_ENUMERATED()Devuelve un true cuando es enumerado por el Host, con esta condición ya se puede enviar o recibir datos.

Page 24: ccs USB

USB EN CCS-Funciones de LibreríasGAMA ALTA DE MICROCONTROLADORES - COMPILADORES

DIGITALES III: 24

USB_CDC_PUTC(DATO)Similar a putc el cual permite enviar un dato por el puerto USB

Este ultimo también puede hacer uso dela instrucción printf para formatear datos y representarlos.

USB_CDC_GETC()Similar a getc el cual permite recibir un dato por el puerto USB

Page 25: ccs USB

DIAGRAMA DE CONEXIONES

DIGITALES III: 25

Realice el siguiente montaje para evaluar el funcionamiento de un programa básico:

Page 26: ccs USB

1

(-)

10KΩ

1

4700Ω

104

+12

+BA

LCD

+(-)

10KΩ

104

100Ω

(-)

1

220Ω

CONFIG

(-)

C3

10KΩ

(-)

C2

100Ω

10KΩ

-

+ -

+

30

00

uF

30

00

uF

1KuF

1

781

2

EDITORATARJETAPRINCIPAL

12

V

VCCD-D+

GND

220Ω

220Ω

(-)

(-)

EJE X

EJE Y

EJE Z

+

TARJETA PARA USB CON MICRO PIC18F4550

DIGITALES III: 26

Page 27: ccs USB

27