januar 31, 2022

USB grensesnitt MED pic microcontroller med kode

USB GRENSESNITT MED PIC MICROCONTROLLER: formålet med denne artikkelen er å bygge konsept OM USB-grensesnitt TIL Pic Microcontroller. Programmerer brukes bare første gang for å laste koden i mikrokontroller, og etter det kan vi direkte laste koden i mikrokontroller gjennom denne enklere kretsen. PIC18F2550 OG PIC18F4550 er kjent FOR SIN USB-Modul.

Innholdsfortegnelse

USB (Universal Serial Bus)

DET er den vanligste tilkoblingen som brukes til å koble en datamaskin til forskjellige enheter som digitale kameraer, skrivere, skannere og eksterne harddisker etc.

USB OVERFØRINGSHASTIGHETER

USB 1.0 Støtter dataoverføringshastigheter på:

  • 5 Mega bits per sekund Mbps (lav hastighet), som brukes For Menneskelige Inndataenheter f.eks tastatur, mus, styrespaker etc
  • 2 Mbps (høy hastighet) som brukes for skrivere, skannere etc

USB 2.0 kjent som hi-speed USB og i stand til å støtte en overføringshastighet opp til 480Mbps.

USB 3.0 også kjent som super-speed USB og støtter overføringshastigheter på opptil 5,0 gigabit per sekund (Gbps).

USB 3.1 også kjent som super speed+ og i stand til å støtte overføringshastigheter på opptil 10 Gbps.

USB Type-C pluggen kobles til både «verter og enheter».

USB-PIN UT:usb-kommunikasjon-med-pic-mikrokontroller

hovedtrinnene som er involvert i dette prosjektet er:

Trinn#1 Klokkegenerering

Trinn#2 Kretskonstruksjoner

Trinn#3 Programmering Av Mikrokontrolleren

Trinn#4 Brenner koden I Mikrokontroller

Trinn#5 Enhetsdrivere

Trinn#6 Kretsarbeid

klokkegenerering for usb-grensesnitt Med pic microcontroller

P18f2550/4550 Støtter Lav Hastighet (1,5 Mb/S) og full Hastighet (12 Mb/S) Så For Usb Må Vi Velge En Bestemt Klokke. En intern klokke på enten 6 MHz eller 48 MHz er nødvendig på GRUNN av timing krav pålagt AV USB.Men det er et problem å bruke krystallet på 48MHz. Denne krystallen er av høy pris, og det skaper også støy. Siden høyere krystall, jo større blir støy.DET er mange valg for Å oppnå USB-modul klokke kravet som fortsatt gir fleksibilitet for klokkes resten av enheten fra den primære oscillator kilde.Her er krystalloscillatoren som brukes MED PIC18F4550 FOR USB-Grensesnitt 20mhz krystalloscillator. Den brukes til intern oscillasjon av mikrokontrolleren, og den er koblet på 13 og 14 pin AV MCU.usb kommunikasjon oscialltor valg for pic mikrokontroller

KONFIGURASJON BITS INNSTILLINGER FOR USB grensesnitt med pic mikrokontroller

i tilfelle av 20mhz krystall:

  • Sett «Oscillatorvalg» TIL HSPLL. Det vil gi 20 MHz ved inngangen til»primær oscillator»
  • Sett «PLL prescaler selection» for å dele med 5, så vi får 4 MHz som multipliseres med 24 for å få 96 MHz FOR USB
  • Sett «USB clock selection» til 96 MHz delt med 2
  • Sett «System clock postscaler selection» til 96 delt med to.

Endelig Er Oscillatorfrekvensen satt til 48 MHz. (96 MHz/2=48mhzfrekvensinnstilling i mikro c for pic

USB-grensesnittkrets med pic-mikrokontroller

usb-grensesnitt med pic-mikrokontroller

Lag kretsdiagrammet som vist i skjematisk:

  • inngangsspenningen til EN PIC18F4550 Mikrokontroller bør aldri overstige 5 V.
  • krystalloscillatoren som brukes er 20MHZ krystalloscillator som er koblet på 13 og 14 pin.
  • Kort 11. og 32. pinne sammen til 5v, tilsvarende 12. og 31. pinne TIL GND. MEN HER HAR MCU bygget inn tilkoblinger.
  • de to lysdiodene er PÅ RD0 og RD1 og 1 kΩ motstand legges til hver LED. De brukes til kommunikasjonsformål bare for å se AT USB-kommunikasjonen eksisterer.
  • ved DENNE USB-Grensesnittkretsen skal vi kontrollere 2 pinner, RD2 og RD3.
  • En bryter er For Reset-knappen og er koblet til pin 1.
  • Annen bryter er For Bootloading koblet til pin 37.

LED-er på (RD2, RD3) brukes som kontrollpinner, men disse kontrollpinnene kan også brukes til å kontrollere andre ting. Det kan lett kobles TIL L293D Motor Driver, DC Motor, Stepper Motor, rele brytere, servo etc.

Skjematisk På Proteus

PROGRAMMERING AV PIC-MIKROKONTROLLEREN

Kode FOR USB-grensesnitt med mikrokontroller er gitt nedenfor. Men for å bruke denne koden må du også legge til enhetsdriver. Før du bruker denne koden, bør brukeren opprette USB – enhetsdriver ved å gå til Verktøy Av Mikro C for pic og klikk PÅ HID terminal og generere descriptor.c fil og lim inn denne filen i hovedkodemappen din.

unsigned char readbuff absolute 0x500; // Buffers should be in USB RAM, please consult datasheetunsigned char writebuff absolute 0x540;char cnt;char kk;void interrupt(){ USB_Interrupt_Proc(); // USB servicing is done inside the interrupt}void main(void){ ADCON1 |= 0x0F; // Configure all ports with analog function as digital CMCON |= 7; // Disable comparators HID_Enable(&readbuff,&writebuff); // Enable HID communication while(1){ while(!HID_Read()) ; for(cnt=0;cnt<64;cnt++) writebuff=readbuff; while(!HID_Write(&writebuff,64)) ; }}

koden for mikrokontrolleren er skrevet med noen spesiell programvare som har eget programmeringsspråk som Ligner På C f. eks: mplab, microC software. Koden blir deretter kompilert til en respektive utgang. I denne prosessen».hex » filen genereres som skal brenne/sikring i mikrokontrolleren.

BRENNING AV KODEN i MIKROKONTROLLER

utgangen lastet inn I EPROM av mikrokontrolleren kalles fastvaren. Vi trenger en spesiell maskinvare for å smelte denne utgangskoden (hex-filen) inn I MCU. JDM programmerer er et eksempel på en slik enhet som brukes til å laste hex-filen TIL MCU. Det er enkelt å lage og billig.Etter lasting, chip AV PIC18F4550 fra programmereren (1.gang lasting av hex-kode) og sett den inn i USB-grensesnittkretsen.Etter dette må vi gi sjåføren.

Vi trenger ikke å følge dette trinnet (bruk av programmerer) hver gang for å laste fastvaren (hex-filen). Når basen firmware er lastet inn i brikken kan vi oppdatere utgang hexfile direkte med grensesnittet utvikling krets med smallbootloading programvare.

ENHETSDRIVERE FOR USB-grensesnitt med pic mikrokontroller

Koble USB-kabelen fra datamaskinen TIL USB-Grensesnittet. Selv etter å ha fullført kretsen og også programmeringen i mikrokontroller, vil den ikke begynne å fungere skikkelig. Som vi vet at ny maskinvareinstallasjon krever driver for windows å bli oppdaget av systemet.

For Driverinstallasjon og Bootloading operasjon må vi laste NED OG Installere USB MICROCHIP FRAMEWORK fra microchip nettside.

KRETSARBEID AV USB-grensesnitt

for å starte kretsen må vi initialisere den I BOOTLOAD-Modus. I USB-grensesnittkretsen, som allerede forklart, er det to knapper, en er deresetbutton og en annen ER BOOTLOAD-knappen.

  • HOLD dereset-knappen
  • Hold TILBAKESTILLINGEN trykket og trykk deretter på bootload-knappen en gang
  • slipp deretter begge knappene.
  • vinduet vil da oppdage PICI8F4550 USB-maskinvaren og be Om Drivere for dettepic18f4550 krets / kort.
  • hvis vinduet ikke ber om drivere, kan det være noen problemer med kretsen.
  • Anta At Driverne for DENNE USB-enheten er plassert i
    C:\MCUSB\MCUSB Driver\Debug

når windows vil be om drivere, gå for manuell driver søk og bla til ovennevnte plassering mappe For Drivere.Etter At Driverne er installert, Vil Led1 og Led 2 (koblet PÅ RD0 og RD1) begynne å blinke alternativt, noe som betyr at VÅR USB-krets kommuniserer perfekt med PCEN.Etter at driverne er installert, når du skal koble denne kretsen med datamaskinen vår, trenger vi ikke å trykke på reset orbootload-knapperog LYSDIODENE vil begynne å blinke alternativt.NÅ ER USB-Grensesnittets Kretskort klart, og vi KAN LASTE vår egen hex-fil Inn I brikken Direkte FRA USB-KORT, (uten JDM programmerer).

det er ikke nødvendig å bruke en programmerer (brennerkrets) for å brenne fastvaren (hex-filen) inn I PIC18F4550. JDM programmerer brukes kun for første gang programmering av koden og for andre stadier kan vi bruke En Bootloading Programvare for å brenne ny kode direkte FRA USB-grensesnitt krets TIL MCU. AT MCU kan brukes til andre spesifikke kretsarbeid som utgangskoden ble designet for.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.