Vous êtes sur la page 1sur 12

Rpublique Algrienne Dmocratique et Populaire Ministre de lenseignement Suprieur et de la Recherche Scientifique Universit des Sciences et de la Technologie Houari Boumediene

Facult dElectronique et dInformatique

Domaine Sciences et Technologie Filire Gnie Electrique MASTER I LECTRONIQUE ET PHORONIQUE APPLIQUE

Langage C adapt au contrleur et DSP

Thme MINI PROJET : LUSB

Prsent par :
EL-ROBRINI Touhami Hassan BECHTELLA Oussama GHEZALI Islem LESBAT Zakaria

SOMMAIRE
LUSB -Description du lUSB -Les normes lectriques de l'USB -Les lignes de donnes d+ et d-Les connecteurs -Utiliser des microcontrleurs USB

MONTAGE PROPOSE -Contrle de microcontrleur PIC18F4550 via un port USB PIC travers une interface java -Description du pic 18f4550 -Brochage du microcontrleur pic18f4550 -Connexion pic USB -Simulation et tests -Fonctionnement -Conclusion gnrale

L'USB
DESCRIPTION du lUSB :
LUSB ou plus exactement le bus USB(Universel Serial Bus, en franais: Bus srie universel) est, bas sur une architecture de type srie (exemple: RS-232) Il supporte 3 vitesses de transmissions qui peuvent cohabiter. - Basse vitesse 1,5 Mb/s pour les appareils interactifs tels que clavier, souris, joystick,... - Pleine vitesse 12 Mb/s pour des appareils gros dbits tels que modem, tlphone, ... - Haute vitesse 480 Mb/s pour des appareils multimdia trs gros dbits tels que camscope

Les normes lectriques de l'USB :


L'USB utilise 4 conducteurs pour relier les priphriques : 2 servent l'alimentation des priphriques en 5 V (nomms Vbus et Gnd) et 2 pour la transmission des donnes (nomms D+ et D-), ralis en paire torsade afin de limiter les parasites sur la ligne. Les conducteurs sont identifiables par le code de couleur suivant :

Conducteur VBus Gnd D+ D-

Couleur Rouge Noir Vert Blanc

Les lignes de donnes D+ et D- :


La transmission sur les lignes de donnes se fait en mode diffrentiel, par codage NRZI dont le principe est utiliser le changement d'tat pour reprsenter les donnes le "1" tant reprsent par une absence de changement d'tat et le "0" par un changement d'tat.

Les connecteurs :
La norme USB dfinie deux types de connecteur le Type A rectangulaire, et le Type B carr, le premier est utilis en sortie des ports de l'ordinateur et des Hub et le Type B lui est utilis en entre des priphriques.

Les connecteurs normaliss Type A et Type B de l'USB

-Utiliser des microcontrleurs USBPour rompre avec la communication srie, il existe bien sur des microcontrleurs supportant l'USB qui ne demandent pas plus de composants qu'un microcontrleur standard et dont les drivers dvelopps par les fabricants sont parfois disponibles en mulation srie. C'est donc une excellente base toutes nouvelles applications avec des avantages conomiques et fonctionnels indniables mais qui demande une bonne matrise du protocole USB ainsi que du microcontrleur lui mme dont l'implmentation USB n'apporte pas la simplicit. Parmi ces microcontrleurs, nous avons le PIC 18F4550

MONTAGE PROPOSE :
Contrle de microcontrleur PIC18F4550 via un port USB PIC travers une interface JAVA
Description du Pic 18f4550 :
Le18F4550est unmicrocontrleur pourles applications plus exigeantesayantbeaucoup de mmoireprogramme (16k) et RAM(2k) et une interface USBcomplte-v2.0(Low Speed (1,5Mb/ s) etFull Speed(12Mb / s)). Vous pouvez excuterl'horloge externe48MHz, et si l'aide d'unehorloge externeinfrieuredu PLLinterne seraexcutsuffisamment leve pour quel'horlogeUSBfonctionne la vitesse correcte.Donc, cemicrocontrleurpeut fonctionner 48MHz! -Mais souvenez-vousde l'horlogeinterne estFosc/ 4de sorte que letaux deMIPS est12MIPSi.e. La frquence de fonctionnementrel est12MHz.

MICROCONTRLEURPIC18F4550 :
CARACTRISTIQUES Frquence de fonctionnement Mmoire de programme(en octets) La RAM de donnes(octets) Les donnesEEPROM (octets) Interruptions
PIC18F4450

Lignes E / S Timers
ModulesComparer /Capture /PWM(CCP) ModulesComparer /Capture /PWMamliore(PECC) Canaux de communication srie canalUSB Port Parallle de transmission de donnes(PSP) CanalConversion A /D10-bit comparateursanalogiques Jeu d'instructions Encapsul

jusqu'48MHz 32.768 2.048 256 20 35


4 1 1 MSSP,EUSART 1 1 13 Canales 2 75 (83 ext.)

40 brochesPDIP QFN 40 broches TQFP 40 pines

Brochage duMicrocontrleur PIC18F4550 :

Schma de blocs :

Connexion PIC USB :

Simulation et tests
Dans cette partie nous prsenterons le circuit lectrique, le programme de contrle de PIC ainsi que le logiciel dinterface pour PC.

Schma lectrique :
Le schma lectrique dtaill est illustr par la figure suivante

Le cur de ce systme constitu par le PIC 18F4550 auquel est branch lUSB dcrit prcdemment.

Programmation :
Nous avons dvelopp la programmation de PIC 18F4550 en C et la compilation faite grce au logiciel MikroC. Nous illustrons ceci par la photo ci-dessous :

Programme du PIC 18F4550 :


#include <18F4550.h> #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN #use delay(clock=48000000) #define USB_HID_DEVICE FALSE #define USB_EP1_TX_ENABLE USB_ENABLE_BULK #define USB_EP1_RX_ENABLE USB_ENABLE_BULK #define USB_EP1_TX_SIZE 32 #define USB_EP1_RX_SIZE 32 #include <pic18_usb.h> #include "header.h" #include <usb.c> #define EnciendeOutput_High #define ApagaOutput_Low #define ConmutaOutput_Toggle #define RecCommandrecbuf[0] #define LedParamrecbuf[1] #define COMMAND_FIRMWARE 99 #define COMMAND_LEDS 88

const int8 Lenbuf = 32; char Version[] = "v.1.0"; int8recbuf[Lenbuf]; int8sndbuf[Lenbuf];

void main(void) { delay_ms(500); usb_init(); usb_task(); usb_wait_for_enumeration(); enable_interrupts(global); while (TRUE){ if(usb_enumerated()){ if (usb_kbhit(1)){ usb_get_packet(1, recbuf, Lenbuf); if(RecCommand==COMMAND_FIRMWARE){ usb_put_packet(1,Version,5,USB_DTS_TOGGLE); } if(RecCommand==COMMAND_LEDS){ output_b(LedParam); } } } } }

Fonctionnement :
Un contrle simple a t adapt, il se fait travers une interface graphique dveloppe par java. Lillustration de cette interface est faite la figure ci-dessous.

Pour assurer la liaison entre linterface et la carte, le driver MCHPUSB doit tre install. Aprs avoir connect la carte, cette dernire sera dtecte automatiquement, une fois la carte branch la communication avec le PIC est tabli, donc nous pouvons la commander partir de notre interface. Dans notre interface nous trouvons 8 check box pour allumer les 8 LEDs et un bouton pour rcuprer les donnes partir du PIC,un bouton qui laisse les LEDs dfiler dune faon alatoire et deux Sliderlun des deux permet dallumer les LEDs dune faon croissante ou dcroissante et lautre contrler la vitesse de dfile.

Conclusion Gnrale :

A travers ce modeste travail nous avons pu approfondir nos connaissances dans le domaine de llectronique moderne dans les aspects pratiques. Egalement, nous familiariser avec des diffrents types de composants, prendre connaissances de leurs caractristiques, maitriser leurs fonctionnements et utilisations dans des ralisations spcifiques. La coexistence de la partie matrielle ou Hard avec le soft nous a permis de mesurer lapport des microcontrleurs dans la conception de dispositifs lectroniques et conduit nous initier la programmation en C.

Complique davantage par llaboration dun programme entrant dans le cadre de linterfaage sur le PC explor par JAVA et le recours USB pour ce qui est de la liaison PC-carte ralise.

Vous aimerez peut-être aussi