Tutorials

 
Kontakt| Impressum
   
PIC 18F4550 USB Demo Board

Beispiel

PIC18F4550 USB Demo Board

 

1 Allgemeines

2 Hardware

3 Software

4 Erste Inbetriebnahme

5 USB API für Borland Delphi

6 Links

7 Download

1 Allgemeines

Das PIC18F4550 DEMO Board ist eine vereinfachte Version des von Microchip erwerbbaren Demo Boards. Der Grossteil der verfügbaren Beispiele können mit dem Nachbau trotzdem getestet werden. Im Downlaod-Archiv von Microchip findet man die notwendige Software, Beispiele, den Schaltplan und Anleitungen für den Betrieb des Boards.

Da die Schaltung sehr einfach im Aufbau ist, günstig in der Anschaffung und die Programmbeispiele kurz gehalten sind, eignet sich das PIC 18F4550 USB Demo Board sehr gut für die ersten Versuche mit USB-Mikrocontrollern.

2 Hardware

Abbildung 1: Schaltung für da PIC18F4550 USB Demo Board

Diese Schaltung habe ich vor einiger Zeit im Internet gefunden. Sie stammt nicht von mir. Der Name des Autors ist mir leider nicht bekannt. Deshalb kann ich ihn hier auch nicht nennen. Den Aufbau habe ich auf einer Lochrasterplatine vorgenommen. Der Aufwand beträgt für den Aufbau etwa einen halben Tag (bis alles läuft und wenn es beim ersten mal klappt:). Weiter unten sieht man dann das Ergebnis. Abgesehen vom Microcontroller und der USB-Buchse sind zum Aufbau keine "besonderen" Bauteile erforderlich. Die Schaltung entspricht exakt jener von Microchip. Es wurde lediglich auf die RS232-Schnittstelle, auf die externe Spannungsversorgung über den USB-Bus, einen Temperatursensor und einige Stecker verzichtet. All diese Teile sind für den Minimalbetrieb des DEMO Boards aber nicht notwendig.

3 Software

Die gesamte Software zum Test des Boards inklusive eines Bootloaders kann man sich hier bei Microchip downloaden.

Programmierung des PIC18F4550

Bevor man mit der gesamten Schaltung arbeiten kann, muss man zuerst den Bootloader auf den PIC brennen. Ich verwende dazu den PIC Brenner von SPRUT.

Wichtig ist dabei, dass die Konfigurationsbits richtig gesetzt sind.

Configuration bit
Settings
Full speed USB Source Selection Clock src from 96MHz PLL/2
CPU System Clock Postscaler [OSC1/OSC2 Src; /4][96MHz PLL Src: /6]Divide by 5 (20MHz input)
Oscillator HS: HS+PLL, USB-HS
Fail-Safe Clock Monitor Enable Disabled
Internal External Switch Over Mode Disabled
USB Voltage Regulator Enabled
Power Up Timer Enabled
Brown Out Detect Disabled in hardware, SBOREN disabled
Brown Out Voltage 4.5V
Watchdog Timer Disabled-Controlled by SWDTEN bit
Watchdog Postscaler 1:1
CCP2 Mux RC1
PortB A/D Enable PORTB<4:0> configured as digital I/O on Reset
Low Power Timer1 Osc enable Disabled
Master Clear Enable MCLR Enabled, RE3 Disabled
Stack Overflow Reset Disabled
Low Voltage Program Disabled
Dedicated In-Circuit Port (ICD/ICSP) Disabled
Extended CPU Enable Disabled
All left options are Disabled Disabled

Abbildung 2: Konfigurationsbits zum Brennen des PIC

Mit dem eingesetzten PIC sieht die fertige Schaltung dann folgendermassen aus. Das Layout der dargestellten Expeimentier-Platine eignet sich dazu sehr gut für den Aufbau. Wie man erkennen kann, ist die Schaltung in Mischtechnik aufgebaut. Die Spannungsversorgung ist mit einem Linear-Spannungsregler L7805 aufgebaut. Zum Schutz gegen Verpolung wird die Versorgungsspannung über eine Diode (1N4002) zum Spannungsregler eingeleitet. Die Spannungsversorgung ist im oben dargestellten Schaltplan nicht eingezeichnet.

Abbildung 3: PIC18F4550 USB Demo board auf einem Lochraster aufgebaut

Und schliesslich noch die Unterseite:

Abbildung 4: Unterseite des PIC18F4550 USB Demo Board

Und wenn nun, nach dem Anlegen der Betriebsspannung einige LEDs blinken,, dann kann man mit der Inbetriebnahme loslegen.

4 Erste Inbetriebnahme

Am einfachsten führt man einen Test mit den mitgelieferten Beispielen durch. Das Beispiel mit dem Cockpit des Autos funktionierte bei mir nicht. Ich erhielt vom Treiben immer einen Fehler "operlapped IO".

Programm zum PIC uploaden

Der Programmiervorgang erfolgt mit dem Programmloader über die USB-Schnittstelle. Das Programm findet man im Unterverzeichis der Demo-Software unter /PC/PDFSUSB/PDFSUSB.EXE. Um einen Download zu starten, hält man die Taste S2 gedrückt und tippt für kurze Zeit die Taste S1 (Reset). Anschliessedn sollte man in der Listbox der verfügbaren USB-Geräte das Board aufgelistet werden. Nach der Auswahl des entsprechenden Boards wählt man die Firmware aus, die auf das DEMO Board programmiert werden soll aus. Zum Anfang empfiehlt es sich z.B. das Beispiel Demo im Unterverzeichnigs /fw/Demo/_output/MCHPUSB.hex upzuloaden. Über die Taste "Program Device" erfolgt schliesslich der Programmiervorgang. Bei erfolgreicher Programmierung sieht man im Ausgabefenster der Programmiersoftware "Programmin Flash Completed".

Die Funktion der Software kann nun durch den Start der Software \Pc\Mpusbapi\Example Applications\Borland_C\Example 01 - Load-time Linking\_console.exe geprüft werden. Wenn das Demo Board ordentlich arbeitet, dann kann vom Konsole-Programm u.a. die Version der Firmware abgefragt werden.

Bemerkungen zur Programmierung

Mir ist aufgefallan, dass die downzuloadende Firmware bei jedem Programmiervorgang jedes mal neu geöffnet werden muss, bevor die Firmware zum PIC gesendet wird. Scheinbar legt das Programm MCHPUSB.EXE beim ersten Upload im Speicher eine Kopie ab und prüft nicht, ob sich die Software in der Zwischenzeit geändert hat.

5 USB API für Borland Delphi

Im den bei Microchip downloadbaren Demos findet man u.a. ein Interface zur USB-API (Application Programming Interface) für die Programmiersprache c++. Ich habe die Routinen entsprechend auf Borland Delphi portiert und ein Beispielprogram inklusive der Firmware erstellt. Den gesamten Programmcode kann man hier downloaden. Die Abbildung zeigt einen Screen shot des Testprogramms.

Abbildung 5: Screen shot der Software zum testen der USBAPI

6 Links

Weitere interessane Informationen findet man hier:

Für eines meiner Projekte liess ich mir einige Prototypen (AKKON USB Controller Board) fertigen. Falls jemand Interesse hat, dann findet man hier Informationen dazu. Dokumentation (Schaltplan, Stückliste etc.) gibt es auch dazu. Hier findet man auch eine erweiterte Schaltung eines PIC18F4550 Board.

7 Download

Nr Type downloadbares File Beschreibung
0 USBAPI für Borland Delphi Interface zur USBAPI für Borland Delphi inklusive einem Beispielprogramm und dem Programmcode für die PIC-Firmware
       

Impressum | Haftungsausschluss

Version 1.0, ©Gerhard Burger 2004-2013, alle Rechte vorbehalten, letzte Änderung 09.11.2013