Einleitung
Schaltung
Vorbereitung
Download
Firmware
Compilieren,
Device anschließen
Das
Windowsprogramm
benutzen
Ein PIC18F2550 ist
|
Vorbereitung
Folgende Schritte sollte man zuerst
durchführen:
Studium:
Die Microchip Custom Driver firmware
entpackt sich in das Verzeichnis
C:\MCHPFSUSB. Dort sollte man sie
auch belassen. Man kann dieses Verzeichnis auch auf eine andere
Festplatte
verschieben, aber MCHPFSUSB sollte auch dort in der Wurzel der Platte
liegen,
sonst können einige Quelltext-Pfade für den Compiler zu lang
werden.
Der Windows-Treiber liegt in C:\MCHPFSUSB\Pc\MCHPUSB
Driver\Release
Den Ordner C:\MCHPFSUSB\fw\Demo
wird
das
Projektverzeichnis für dieses Beispiel. Er enthält
ein
Demo-Programm für das PICDEM FS USB-Board von Microchip. Der
Anwendungsprogrammteil
ist auf das PICDEM FS USB-Board zugeschnitten. Deshalb ersetze ich ihn
mit einem einfacheren TestProgramm.
Der Firmwareteil wird aber erst einmal
unverändert übernommen:
Diese Datei enthält Definitionen
für
das USB-Interface. Da ich das Interface vom Microchip-Demo
unverändert
übernehme, kann ich auch diese Datei fast unverändert
übernehmen.
In dieser Datei habe ich nur die folgende
beiden Definitionen entfernt,
. #define USE_SELF_POWER_SENSE_IO #define USE_USB_BUS_SENSE_IO . |
da sie spezifisch für das PICDEM
FS
USB Demo-Board waren. Dieses Board überwacht mit den Pins RA1
&
RA2 das Vorhandensein von Betriebsspannung vom USB-Bus und vom Netzteil
des Testplatine. Da ich ein rein Bus-powered-Device haben will, brauch
ich das nicht. Durch das Löschen der beiden Definitionen
verzichtet
die Firmware auf die Spannungsüberwachung.
io_cfg.h
Diese Datei beschreibt den
Hardware-Aufbau.
Genau genommen ist hier festgehalten, an welchen Pins LEDs oder Potis
...
angeschlossen sind. Auch sind Makros zum Ein- und Ausschalten
vorhanden.
Zur Nutzung auf meiner 28-Pin-Testplatine waren massive Änderungen
nötig.
Firmware Compilieren, Device anschließen
Das Zip-File mit der Firmware herunterladen. Es enthält die folgenden Files
Das Paket mit den 5 Dateien auspacken,
und die Dateien in die richtigen Directorys kopieren. Dabei
überschreibt
man zwangsläufig die Orginaldateien.
Man kann nun der Einfachheit halber das gelieferte MCHPUSB.HEX-File verwenden, oder man compiliert es noch einmal neu:
Der PIC wird in die Testplatine eingesetzt, und diese via USB-Kabel mit dem PC verbunden.
Ist der Microchip Custom Driver noch
nicht
installiert, dann fordert Windows jetzt dazu auf. (Er liegt unter
C:\MCHPFSUSB\Pc\MCHPUSB
Driver\Release.)
Hat alles geklappt, dann wird
die Experimentierplatine
im Gerätemanager als PIC 18F4550 Family Device
aufgelistet.
Ich habe zwar einen 18F2550 verwendet, das kann der Treiber aber nicht
wissen.
(Am deaktivierten Multimedia-Controller meines PCs sollte man sich nicht stören, das ist eine DVB-S-Karte, die ich nur für VDR-Experimente unter Linux einsetze, und die deshalb unter Windows abgeschaltet ist) |
Das Zip-File mit dem Windowsprogramm herunterladen. Es enthält das gesamte Delphi5-Project, und dabei auch die fertige EXE-Datei.
Das Programm usbtest.exe
starten.
Ein Druck auf den obersten
Button (_MPUSBGetDLLVersion)
fragt die Version der mpusbapi.dll ab, über die man mit der
USB-Testplatine
kommunizieren kann. Die Versionsnummer ist normalerweise 00010000.
Auf einen Druck auf den zweiten Button hin (_MPUSBGetDeviceCount) ermittelt die DLL die Anzahl der angeschlossenen Testplatinen. Da nur eine Platine angeschlossen ist, lautet das Ergebnis 00000001. Ein Druck auf den dritten Button (Firmware-Version) liefert den Wert, der in der Datei user.h als MAJOR_VERSION & MINOR_VERSION definiert wurde. Das sollte 2.0 sein. Mit den 8 kleinen Buttons kann man die LEDs Nr. 1..3 (an den Pins RB0..RB3) ein- und ausschalten. Bei einem Druck auf Potentiometer wird die Spannung an AN0 (RA0) gemessen, und das Ergebnis ausgegeben. (Angezeigt wird nicht die Spannung in Volt sondern die beiden Ergebnisbytes des ADC mit einem Dezimalpunkt als Trennzeichen. Daraus kann man aber die Spannung errechnen.) Ein Druck auf Reset setzt das USB-Device zurück. Es meldet sich ab und gleich darauf wieder an (was Windows mit dem üblichen Geräuschen begleitet). |