Sei sulla pagina 1di 8

Laboratorio de Microprocesadores II Comunicación Serial Universal USB

PRÁCTICA N° 7
COMUNICACIÓN SERIAL UNIVERSAL (USB)
MODO INTERFAZ HUMANA (HID)
I. Objetivo:
 Realizar el envío de datos desde el computador PC (usando HID Terminal) hacia el
microcontrolador PIC18F4550 usando (MIKROC) a través del puerto USB
 Implementar la comunicación serial universal USB.
 Describir los principios básicos del bus USB y demostrar aplicaciones basadas en
USB con el microcontrolador PIC18F4550.

II. Marco Teórico:


Una discusión completa de su diseño va más allá del alcance de esta práctica. Solamente
se toman los principios básicos suficientes para poder usar el bus USB. Por otro lado, las
funciones que ofrece el lenguaje MikroC que simplifican el diseño de los proyectos basados
en USB se describen con mayor detalle. La especificación del bus USB viene en dos
versiones: la primera USB 1.1, soporta 11 Mbps, mientras que la nueva versión, USB 2.0,
soporta hasta 480 Mbps. La especificación USB define tres velocidades de datos:
 Low speed—1.5Mb/sec
 Full speed—12Mb/sec
 High speed—480Mb/sec
La máxima corriente disponible para dispositivos externos está limitada a cerca de 100mA a
5.0V.
Conector USB:

Interface del bus USB en el PIC18F4550


El microcontrolador PIC18F4550 contiene una interface USB compatible con velocidades full-
speed y low-speed que permite la comunicación entre un computador PC y el microcontrolador.
La figura muestra la sección USB del PIC18F4550. El pin RC4 es Data- y RC5 es Data+. Para
operación en full-speed la resistencia pull-up interna debe ser conectada a Data+ y para
operación en low-speed en Data-.

Docente: Ing. José Arturo Marín Thames


Auxiliar: Univ. Gualberto Pachani
1
Laboratorio de Microprocesadores II Comunicación Serial Universal USB

III. Marco Practico:


LCD1
Circuito
LM016L USB a configurarse CIRCUTO
vcc DE EJEMPLO N° 1

vcc

C4 C5
VDD
VSS

VEE

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7

200nF 1uF
E

J1
1
2
3

4
5
6

7
8
9
10
11
12
13
14

4
GND
2
D-
RV1 3
D+
1
10k VCC
USBCONN

U1
2 15
vcc C2 RA0/AN0 RC0/T1OSO/T1CKI
3 16
RA1/AN1 RC1/T1OSI/CCP2/UOE
4 17
RA2/AN2/VREF-/CVREF RC2/CCP1/P1A
5 23
RA3/AN3/VREF+ RC4/D-/VM
22pF 6 24
RA4/T0CKI/C1OUT/RCV RC5/D+/VP
X1 7
RA5/AN4/SS/LVDIN/C2OUT RC6/TX/CK
25
CRYSTAL 14 26
C3 RA6/OSC2/CLKO RC7/RX/DT/SDO
13
OSC1/CLKI
vcc
33 19
RB0/AN12/INT0/FLT0/SDI/SDA RD0/SPP0
22pF 34 20
RB1/AN10/INT1/SCK/SCL RD1/SPP1
35 21
RB2/AN8/INT2/VMO RD2/SPP2
36 22
RB3/AN9/CCP2/VPO RD3/SPP3
37 27
RB4/AN11/KBI0/CSSPP RD4/SPP4
38 28
RB5/KBI1/PGM RD5/SPP5/P1B
39 29
RB6/KBI2/PGC RD6/SPP6/P1C
40 30
RB7/KBI3/PGD RD7/SPP7/P1D
R1
8 10k
RE0/AN5/CK1SPP
9
RE1/AN6/CK2SPP
10
RE2/AN7/OESPP
18 1
VUSB RE3/MCLR/VPP

C1 PIC18F4550
470nF

Docente: Ing. José Arturo Marín Thames


Auxiliar: Univ. Gualberto Pachani
2
Laboratorio de Microprocesadores II Comunicación Serial Universal USB

La comunicación de esta interface consta por decirlo así de diferentes partes de


configuración, para que exista la comunicación del microcontrolador con el ordenador,
estas son las siguientes:

CODIFICACION DEL PROGRAMA PRINCIPAL

Docente: Ing. José Arturo Marín Thames


Auxiliar: Univ. Gualberto Pachani
3
Laboratorio de Microprocesadores II Comunicación Serial Universal USB

CODIFICACION DEL PROGRAMA PRINCIPAL

Docente: Ing. José Arturo Marín Thames


Auxiliar: Univ. Gualberto Pachani
4
Laboratorio de Microprocesadores II Comunicación Serial Universal USB

Creación del archivo Descriptor USB


 Configurar los siguientes parámetros dentro del menú Tools – HID Terminal

Configuración del oscilador para generar una frecuencia requerida para la comunicación.
El módulo USB del PIC18F4550 requiere un reloj de 48 MHz Adicionalmente, el
microcontrolador requiere un reloj que puede variar entre 0 a 48MHz. En esta práctica el reloj
del CPU también se configura a 48 MHz.
La figura muestra parte del circuito de reloj del PIC18F4550. El circuito consiste de un pre-
escalador y multiplexor PLL 1:1 – 1:12, un PLL de 4:96MHz, un post-escalador PLL de 1:2 –
1:6 y un post-escalador de oscilador de 1:1 – 1:4.

Docente: Ing. José Arturo Marín Thames


Auxiliar: Univ. Gualberto Pachani
5
Laboratorio de Microprocesadores II Comunicación Serial Universal USB

El reloj del sistema se configurará de la siguiente forma:


 Seleccionar _PLL_DIV_1 de manera tal que el reloj de 4MHz es dividido entre 1
para producir 4MHz a la salida del multiplexor pre-escalador del PLL.
 La salida del PLL de 4:96MHZ es ahora 96MHz. Esta señal se vuelve a dividir por 2
para entregar 48MHz a la entrada Del multiplexor USBDIV
 Seleccionar _USBDIV_2_1L para proveer un reloj de 48MHz al módulo USB y para
seleccionar ÷2 al post-escalador PLL
 Seleccionar CPUDIV_OSC1_PLL2_1L para elegir PLL como la fuente de reloj
 Seleccionar _FOSC_HSPLL_HS_1H para elegir un reloj de 48MHz para el CPU
 Configurar el reloj de CPU a 48MHz en el entorno MikroC (usando Edit Project)

Docente: Ing. José Arturo Marín Thames


Auxiliar: Univ. Gualberto Pachani
6
Laboratorio de Microprocesadores II Comunicación Serial Universal USB

Entrando al ―Edit Project configuración del oscilador

Comprobando el funcionamiento del circuito:


Para comprobar el funcionamiento del circuito seguir los siguientes pasos:
 Armar el hardware en protoboard
 Grabar el código en el microcontrolador PIC18F4550
 En MikroCPro for PIC seleccionar Tools – HID Terminal
Cuando se conecta el microcontrolador al PC a través del puerto USB, un mensaje será visible
en la esquina inferior derecha de la pantalla. Este mensaje indicará que un nuevo dispositivo
USB HID ha sido conectado y reconocido por el PC.

Docente: Ing. José Arturo Marín Thames


Auxiliar: Univ. Gualberto Pachani
7
Laboratorio de Microprocesadores II Comunicación Serial Universal USB

IV. Aplicación (Trabajo de laboratorio):

Firma 1:
1. Codificar el programa de ejemplo N° 1, en mikroC pro for PIC.
2. Implementar el esquemático de ejemplo N° 1, en protoboard.
3. Comprobar su funcionamiento. .

Firma 2:
4. Incorporar una función para devolver los datos que se envían por la terminal a la
misma terminal.
5. Incorporar una función para controlar los bits de un puerto (se sugiere puerto D)
6. Añadir una función para controlar el PWM (para ver el funcionamiento traer un
motor DC, también se sugiere que los incrementos o decrementos sean de 15)

Docente: Ing. José Arturo Marín Thames


Auxiliar: Univ. Gualberto Pachani
8

Potrebbero piacerti anche