Januar 31, 2022

USB-Schnittstelle mit PIC-Mikrocontroller mit Code

USB-SCHNITTSTELLE mit PIC-MIKROCONTROLLER: Der Zweck dieses Artikels ist es, ein Konzept über die USB-Schnittstelle zum PIC-Mikrocontroller zu erstellen. Programmierer wird nur zum ersten Mal zum Laden des Codes in Mikrocontroller verwendet und danach können wir den Code direkt in Mikrocontroller durch diese einfachere Schaltung laden. PIC18F2550 und PIC18F4550 sind berühmt für ihre USB Modul.

Inhaltsverzeichnis

USB (Universal Serial Bus)

Es ist die häufigste Verbindung, mit der ein Computer an verschiedene Geräte wie Digitalkameras, Drucker, Scanner und externe Festplatten usw. angeschlossen wird.

USB TRANSFER GESCHWINDIGKEITEN

USB 1.0 Unterstützt daten transfer raten von:

  • 5 Mega bits pro sekunde Mbps (low speed), verwendet für Menschliches Eingang Geräte zb tastatur, maus, joysticks etc
  • 2 Mbps (hohe geschwindigkeit) verwendet für drucker, scanner etc

USB 2.Auch bekannt als Hi-Speed USB und unterstützt eine Übertragungsrate von bis zu 480Mbps.

USB 3.0 Auch bekannt als super-speed USB und unterstützt übertragungsraten bis zu 5,0 gigabit pro sekunde (Gbps).

USB 3.1, auch bekannt als Super Speed +, unterstützt Übertragungsraten von bis zu 10 Gbit / s.

USB Typ-C Seine stecker verbindet zu sowohl „hosts und geräte“.

USB PIN OUT:usb-kommunikation-mit-pic-mikrocontroller

Die wichtigsten Schritte in diesem Projekt sind:

Schritt #1 Uhr Generation

Schritt #2 Schaltung Konstruktionen

Schritt #3 Programmierung die Mikrocontroller

Schritt #4 Brennen die code in Mikrocontroller

Schritt #5 Gerät Treiber

Schritt #6 Schaltung Arbeits

UHR GENERATION für USB schnittstelle mit PIC-Mikrocontroller

P18F2550 / 4550 unterstützt niedrige Geschwindigkeit (1,5 Mb / s) und volle Geschwindigkeit (12 Mb / s). Ein interner Takt von entweder 6 MHz oder 48 MHz ist aufgrund der Timing-Anforderung von USB erforderlich.Aber es gibt ein Problem bei der Verwendung des Kristalls von 48MHz. Dieser Kristall ist teuer und erzeugt auch Rauschen. Je höher der Kristall ist, desto größer ist das Rauschen.Es gibt zahlreiche Möglichkeiten, die USB-Modultaktanforderung zu erfüllen, die dennoch Flexibilität beim Takt des Restes des Geräts von der primären Oszillatorquelle bieten.Hier, die kristall oszillator verwendet mit PIC18F4550 für Usb-schnittstelle ist 20 MHz kristall oszillator. Es dient zur internen Oszillation des Mikrocontrollers und ist an 13- und 14-Pin der MCU angeschlossen. usb kommunikation oscialltor auswahl für pic mikrocontroller

KONFIGURATION BITS EINSTELLUNGEN FÜR usb-schnittstelle mit pic mikrocontroller

In die fall von 20 MHz kristall:

  • Stellen Sie die „Oszillatorauswahl“ auf HSPLL. Es gibt 20 MHz am Eingang des „Primäroszillators“
  • Stellen Sie die „PLL Prescaler selection“ auf 5, also erhalten wir 4 MHz, die mit 24 multipliziert werden, um die 96 MHz für USB zu erhalten
  • Stellen Sie die „USB Clock selection“ auf 96 MHz geteilt durch 2
  • Stellen Sie die „System Clock Postscaler selection“ auf 96 geteilt durch zwei.

Schließlich wird die Oszillatorfrequenz auf 48 MHz eingestellt. (96 MHz/2 = 48 MHz  frequenz einstellung in mikro c für pic

usb-schnittstelle schaltung mit pic mikrocontroller

 usb-schnittstelle mit pic mikrocontroller

Machen die schaltung diagramm wie gezeigt in die schematische:

  • Die eingangs spannung zu einem PIC18F4550 Mikrocontroller sollte nie überschreiten 5 V.
  • Die kristall oszillator verwendet ist 20 MHZ kristall oszillator, die verbunden ist auf 13 und 14 pin.
  • Kurze 11th und 32nd pin zusammen zu 5 v, kurze 12th und 31st pin zu GND. Aber hier hat MCU Verbindungen eingebaut.
  • Die beiden LEDs sind auf RD0 und RD1 und 1 kΩ Widerstand wird zu jeder LED hinzugefügt. Sie werden nur für den Kommunikationszweck verwendet, um zu sehen, dass die USB-Kommunikation existiert.
  • Mit dieser USB-Schnittstellenschaltung steuern wir 2 Pins, RD2 und RD3.
  • Ein Schalter dient der Reset-Taste und ist mit Pin 1 verbunden.
  • Andere schalter ist für Bootloading verbunden mit pin 37.

LEDS an (RD2, RD3) werden als Steuerpins verwendet, aber diese Steuerpins können auch zur Steuerung anderer Dinge verwendet werden. Es kann leicht mit L293D Motor Fahrer, DC Motor, Schrittmotor, relais schalter, servo etc.

Schaltplan auf Proteus

PROGRAMMIERUNG DES PIC-MIKROCONTROLLERS

Der Code für die USB-Schnittstelle zum Mikrocontroller ist unten angegeben. Um diesen Code zu verwenden, müssen Sie jedoch auch den Gerätetreiber hinzufügen. Bevor Sie diesen Code verwenden, sollte der Benutzer den USB-Gerätetreiber erstellen, indem Sie zu Tools von Mikro C für pic gehen und auf HID Terminal klicken und den Deskriptor generieren.c-Datei und fügen Sie diese Datei in Ihren Hauptcode-Ordner ein.

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)) ; }}

Der code für die micro-controller ist geschrieben mit einige spezielle software, die haben eigenen programmierung sprache ähnlich wie C zb: mplab, microC software. Der Code wird dann zu einer entsprechenden Ausgabe kompiliert. In diesem Prozess die „.hex“-Datei erzeugt wird, die brennen / Sicherung im Mikrocontroller sein soll.

BRENNEN DES CODES IM MIKROCONTROLLER

Die in das EPROM des Mikrocontrollers geladene Ausgabe wird als Firmware bezeichnet. Wir benötigen eine spezielle Hardware, um diesen Ausgabecode (Hex-Datei) in die MCU einzufügen. Der JDM-Programmierer ist ein Beispiel für ein solches Gerät, mit dem die Hex-Datei in die MCU geladen wird. Es ist einfach zu machen und billig.Nach dem laden, chip weg von der PIC18F4550 aus dem programmierer (1ST zeit laden von hex code) und legen sie es zurück in die usb-schnittstelle schaltung.Danach müssen wir den Fahrer zur Verfügung stellen.

Wir müssen diesen Schritt (Verwendung des Programmierers) nicht jedes Mal zum Laden der Firmware (Hex-Datei) ausführen. Sobald die basis firmware ist geladen in die chip wir können update ausgang hexfile direkt mit die interface entwicklung schaltung mit smallbootloading software.

GERÄTETREIBER FÜR USB-Schnittstelle mit PIC-Mikrocontroller

Schließen Sie das USB-Kabel vom Computer an die USB-Schnittstelle an. Auch nach abschluss der schaltung und auch die programmierung in mikrocontroller, es wird nicht starten arbeits richtig. Wie wir wissen, dass neue Hardware-Installation erfordert Treiber für Windows, um vom System erkannt zu werden.

Für Fahrer Installation und Bootloading betrieb wir müssen download und Installieren USB MICROCHIP RAHMEN von microchip website.

CIRCUIT WORKING of USB interfacing

Um die Schaltung zu starten, müssen wir sie im BOOTLOAD-Modus initialisieren. In der USB-Schnittstellenschaltung gibt es, wie bereits erläutert, zwei Tasten, eine ist dieeinstelltaste und eine andere ist die BOOTLOAD-Taste.

  • HALTEN theRESET taste
  • Halten die RESET gedrückt und dann hit theBOOTLOAD taste einmal
  • Dann release sowohl tasten.
  • Das Fenster erkennt dann die PICI8F4550-USB-Hardware und fragt nach Treibern für diese PIC18F4550-Platine.
  • Wenn das Fenster nicht nach Treibern fragt, kann es zu Problemen mit der Schaltung kommen.
  • Angenommen, die Treiber für dieses USB-Gerät befinden sich in
    C:\MCUSB\MCUSB Driver \ Debug

Wenn Windows nach Treibern fragt, gehen Sie zur manuellen Treibersuche und navigieren Sie zum oben genannten Speicherortordner für Treiber.Nachdem die Treiber installiert sind, beginnen Led1 und Led 2 (angeschlossen an RD0 und RD1) zu blinken, was bedeutet, dass unsere USB-Schaltung perfekt mit unserem PC kommuniziert.Nachdem die Treiber installiert sind, wann immer diese Schaltung mit unserem Computer zu verbinden, brauchen wir nicht Reset orbootload buttonsand die LED zu blinken beginnen alternativ zu drücken.Jetzt die Usb-schnittstelle Platine ist bereit, und wir können LAST unsere eigenen hex datei in die chip Direkt von USB BOARD, (ohne JDM programmierer).

Es ist nicht notwendig, einen Programmierer (Brennerschaltung) zum Brennen der Firmware (Hex-Datei) in den PIC18F4550 zu verwenden. Die JDM programmierer ist verwendet nur für die erste zeit programmierung der code und für andere stufen können wir verwenden eine Bootloading Software zu brennen neue code direkt von usb-schnittstelle schaltung zu MCU. Diese MCU kann für andere spezifische Schaltkreise verwendet werden, für die der Ausgangscode entwickelt wurde.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.