Sie sind auf Seite 1von 27

GAMA ALTA DE MICROCONTROLADORES

COMPILADOR C CCS
SISTEMAS EMBEBIDOS

DIGITALES III: 1

GAMA ALTA DE MICROCONTROLADORES

USB

PIC18F4550

DIGITALES III: 2

GAMA ALTA DE
MICROCONTROLADORES

PUERTOS USB
Los puertos seriales ya no encuentran implementados
a nivel de hardware en los PC de escritorio y
porttiles, por ello la mayora de aplicaciones que
cuentan con estos dispositivos requieren la
adquisicin de correas adaptadoras de serial a USB
con el problema de no encontrar los drivers en
sistemas operativos como Windows 7.

Los puertos
dispositivos.

GAMA ALTA DE
MICROCONTROLADORES

USB

permiten

la

conexin

de

127

Estos puertos permiten la conexin y re conexin del


dispositivo sin necesidad de reiniciar el Pc.
Los puertos USB trabajan a diferentes velocidades,
estas se determinan segn la versin, 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: cmaras 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
DIGITALES
III: 4
en aplicaciones de acceso a Internet al igual
como

GAMA ALTA DE MICROCONTROLADORES COMPILADORES

CONSUMO
El puerto USB suministra un voltaje de 5 voltios y
puede alimentar dispositivos de bajo consumo en
unos 100 mili amperios, tambin a dispositivos de
mayor consumo en mximo 500 miliamperios; los
dispositivos con requerimientos mayores necesitan
una fuente de alimentacin.
FORMA DEL PUERTO
Se compone de 4 pines, dos
alimentacin y dos para datos.
Los
conectores
se
identifican por las letras
rotuladas y por los colores,
tal como se describe en la
tabla siguiente:

de

ellos

para

DIGITALES III: 5

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


Conectores

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

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


Conectores

Para los impresos se encuentran varios conectores,


pero por facilidad de instalacin es mejor encontrar
conectores que se acoplen a la caja, tal cual tiene
las CPU y no a la board la cual restringe el diseo.

MiniUSb

USB
hembra
Tipo A

En el comercio se encuentran entre 1000 a 4000


pesos colombianos. Sin motivo de realizar publicidad
Sigma Electrnica ofrece una amplia variedad.
DIGITALES III: 7

GAMA ALTA DE MICROCONTROLADORES MigracinCOMPILADORES


de RS232 a USB

Ante la desaparicin 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
conexin USB como una conexin RS232.
La
emulacin le permite utilizar los controladores del
sistema, los controladores se denominan usbser.sys
y ccpor0t.sys
USB CDC(Clase Dispositivos De Comunicacin)
Agrupa dispositivos con caractersticas comunes al
momento de conectarse. Por ello no se establece
parmetros que eran necesarios en RS232 como
baudios, bits de datos, paridad, control de flujo;
DIGITALES III: 8

GAMA ALTA DE MICROCONTROLADORES COMPILADORES

Los drivers USB permiten establecer tuberas entre el


host y los puntos finales de los dispositivos.
Las tuberas son enlaces virtuales que permiten
establecer :
Ancho de banda
Tipo de transferencia
Direccin del flujo de datos.
Tamao del paquete.
Al inicio de la conexin se establecen las tuberas y
el dispositivo se requiere de un buffer. Existen
distintos tipos de transferencias y cada una de ellas
tiene una funcin.
DIGITALES III: 9

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


enlace

Tipo de
El enlace virtual puede ser de cuatro tipos:

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

realizar

Bulk: modo utilizado para la transmisin de datos


voluminosos, pero con pocas restricciones a nivel de
duracin de la transmisin; por ejemplo durante una
impresin.
Interrupt: modo utilizado para transmisiones de
pequeos
paquetes
rpidos,
orientado
a
percepciones humanas (ratn, 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

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


ENUMERACION

Cuando se conecta un dispositivo al Host, este ltimo


interroga sobre sus caractersticas generales, le asigna
una direccin y le permite la transferencia de datos.
Los perifricos deben contar con memoria intermedia
de datos (buffers), tanto mayores cuanto ms 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: Conexin Al Puerto Usb Mediante
Un Microcontrolador, Universidad de Salamanca,
Autor: Guillermo David Herrero Gonzlez, 2007
La Clase CDC permite un formato como es el serial.
Para emular las lneas de transmisin y recepcin se
requiere en la clase de dos interfaces as: DIGITALES III: 11

GAMA ALTA DE MICROCONTROLADORES COMPILADORES

Pasos
inciales
para
establecer
conexin
con el host
y
el
dispositivo
USB

DIGITALES III: 12

USB EN

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


MICROCONTROLADORES

Los microcontroladores cuentan con unas lneas


especiales para el puerto USB siempre y cuando
cuenten implementada a nivel de hardware esta
tecnologa.
Los pines de conexin USB para el PIC18f45450
son:
RC4
DRC5
D+
La lnea VCC del conector se conecta a un pin
especfico 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

USB EN

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


MICROCONTROLADORES

En Microchip existen diferentes referencias que


cuentan con esta implementacin a nivel de
hardware para puertos USB.

DIGITALES III: 14

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


PIC18F4550

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.
DIGITALES III: 15

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


PIC18F4550

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.
DIGITALES III: 16

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


PIC18F4550

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.
DIGITALES III: 17

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


PIC18F4550

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.
DIGITALES III: 18

PIC18F4550

Mapa de la memoria de
datos
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.
DIGITALES III: 19

USB

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


VIRTUAL
EN CCS

Proteus
en
sus
versiones
recientes
cuentan
con
USB
virtual, para ello es
necesario
elegir
el
botn
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

USB

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


VIRTUAL
EN CCS

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 libreras para trabajar


con los puertos USB:
PIC_18USB.H: Librera para la capa de harware de la
familia PIC18.
DIGITALES III: 21

USB EN

GAMA ALTA DE MICROCONTROLADORES COMPILADORES


CCS-Librerias

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 configuracin.
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 libreras, ya que existe un micro en
gama media que tambin puede hacer uso del puerto
USB a este se lo conoce con la referencia: PIC16C765

DIGITALES III: 22

USB EN

GAMA ALTA DE MICROCONTROLADORES COMPILADORES de Libreras


CCS-Funciones

Las funciones ms 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 lnea del pin para detectar si esta
conectado o no, con ello se reconecta al host, o
resetea el Stack y el perifrico.
USB_ENUMERATED()
Devuelve un true cuando es enumerado por el Host,
con esta condicin ya se puede enviar o recibir
datos.
DIGITALES III:

23

USB EN

GAMA ALTA DE MICROCONTROLADORES COMPILADORES de Libreras


CCS-Funciones

USB_CDC_PUTC(DATO)
Similar a putc el cual permite enviar un dato por el
puerto USB
Este ultimo tambin puede hacer uso dela instruccin
printf para formatear datos y representarlos.
USB_CDC_GETC()
Similar a getc el cual permite recibir un dato por el
puerto USB

DIGITALES III: 24

DIAGRAMA DE CONEXIONES
Realice el siguiente montaje para
funcionamiento de un programa bsico:

evaluar

el

DIGITALES III: 25

TARJETA PARA USB CON MICRO PIC18F4550

EJE X
+

(-)

(-)

EDITORA
TARJETA
PRINCIPAL

EJE Y

100

EJE Z

+
BA

104

10K

(-)
220

CONFIG

104

(-)

LCD

10K

VCC
DD+
GND

(-)
220

10K

C3

3000uF

10K

3000uF

C2

12V

1KuF

(-)

7812

220

100

1
4700

1
(-)

+12

DIGITALES III: 26

27