USBnub - PIC-Entwicklungsboard
Der USBnub ist ein Entwicklungsboard basierend auf einem PIC18F14K50-Mikrocontroller. Zu den wichtigsten Merkmalen des USBnub zählen:
- Es sind viele Schnittstellen vorhanden: USB, I2C, SPI, UART, ADC, PWM, GPIO.
- Alle nötigen Programme (IDE, Compiler, Beispiele...) sind als OpenSource verfügbar.
- Die Liste der unterstützten Betriebssysteme umfasst Windows, Linux und Mac OS X.
- Es existiert eine umfangreiche Programmbilbiothek zur Ansteuerung verschiedener externer Komponenten wie LC-Displays, Sensoren und SD-Karten.
- Es ist ein offizieller Bausatz verfügbar und mit Hilfe des vorinstallierten Bootloaders ist keine zusätzliche Programmierhardware erforderlich.
- Der Aufbau besteht nur aus bedrahteten Bauteilen und keinen SMD-Komponenten.
Durch die Kombination eines einfachen Schaltungsaufbaus mit einem sehr großem Funktionsumfang ist der USBnub passend für eine Vielzahl verschiedener Anwendungen, darunter etwa:
- Ausbildung/Hobby: Der günstige und einfache Einstieg in die PIC-Mikrocontroller-Welt: Mit JAL steht eine schnell zu erlernende Programmiersprache bereit.
- Prototyping: Gelangen Sie ohne großen Aufwand zu einer USB-Lösung. Vorabtests komplexerer Schaltungen lassen sich schnell realisieren.
- Interfacing: Externe Schaltungen lassen sich dank der Vielfalt an unterstützten Schnittstellen einfach an den PC anzubinden.
Hardware
Die Schaltung des USBnub besteht aus wenigen bedrahteten Kompontenen. Da keine SMD-Bauteile verwendet werden,
ist der Aufbau auch mit wenig Löterfahrung schnell realisiert.
Schaltplan:
usbnub_schematic.pdf
Ein Großteil der Mikrocontroller-Pins werden nach aussen geführt und können zur externen
Beschaltung verwendet werden.
Am USBnub ergibt sich folgende Pinbelegung:
| Pin | I/O | Analog | Sonstige Funktion |
|
| 1 | | | +5V |
| 2 | | | GND |
| 3 | RB4 | AN10 | SDI/SDA |
| 4 | RB5 | AN11 | RX/DT |
| 5 | RB6 | | SCK/SCL |
| 6 | RB7 | | TX/CK |
| 7 | RC0 | AN4 | C12IN+/INT0/VREF+ |
| 8 | RC1 | AN5 | C12IN-/INT1/VREF- |
| 9 | RC2 | AN6 | P1D/C12IN2-/CVREF/INT2 |
| 10 | RC3 | AN7 | P1C/C12IN3-/PGM |
| 11 | RC4 | | P1B/C12OUT/SRQ |
| 12 | RC5 | | CCP1/P1A/T0CKI |
| 13 | RC6 | AN8 | SS/T13CKI/T1OSCI |
| 14 | RC7 | AN9 | SDO/T1OSCO |
Software
Eine Anleitung zur Inbetriebnahme des USBnub mit der Programmiersprache JAL finden Sie im
USBnub JAL-Tutorial.
Der USBnub unterstützt Windows, Linux und Mac OS X.
Windows
Für Windows gibt es ein Komplettpaket mit allen erforderlichen Dateien, um sofort mit USBnub loslegen zu können:
Dieses Paket enthält
- usbnub - Beispiele und Projekte mit Quellcode, Schaltplan und Bildern
- MPHidFlash - Programm zum Übertragen von Programmen auf den Controller mithilfe des HID-Bootloaders
- jallib-pack - JAL Compiler, Bibliothek und Beispiele
- Programmer's Notepad - Entwicklungsumgebung
Linux / Mac OS X
Für die Arbeit unter Linux oder Mac OS X gibt es Beispiele und Projekte zu USBnub als einzelnes
Archiv:
Zum Kompilieren und Übertragen der Programme auf den USBnub sind folgende Programme nötig:
Für Linux enthält das jallib-Pack bereits eine ausführbare Datei.
Für Mac OS X muss der Compiler dagegen aus den Quellcodes gebaut werden. Dazu ist die Installation der GNU Compiler Chain (gcc)
notwendig (kostenlos erhältlich von Apple mit Xcode). Das folgende Archiv herunterladen und nach dem Entpacken "make" im Verzeichnis "src/" ausführen -
die ausführbare Datei finden Sie anschließend im Ordner "bin/":
Bootloader
Um USBnub über USB programmieren zu können, muss der PIC18F14K50 einmalig mit einem USB-Bootloader
versehen werden. Dazu wird ein externes Programmiergerät benötigt.
Der
offizielle USBnub Bausatz enthält bereits einen mit dem USB HID-Bootloader
vorprogrammierten Controller. Dieser Bootloader basiert auf dem Microchip HID-Bootloader und wurde
an den USBnub angepasst. Gestartet wird dieser Bootloader durch Drücken des Tasters während USBnub
an das USB-Kabel angesteckt wird. Danach können Firmwares z.b. mit dem Programm MPHidFlash auf das
Entwicklungsboard übertragen werden.
Projekte
Im Folgenden werden einige Projekte vorgestellt, die mit USBnub realisiert wurden.
Diese sollen als Anregung und Vorlage für eigene Projekte dienen.
Die Quellcodes sind im usbnub- bzw. usbnub-pack-win-Archiv unter usbnub/jal/projects/ zu finden.
USB nach seriell-Wandler
USBnub registriert sich als virtueller Comport (CDC) am PC und vermittelt Zeichen zwischen
diesem Comport und der seriellen Schnittstelle des USBnub.
Durch entsprechende Beschaltung sind TTL-, RS232- und RS485-Ausgangspegel möglich.
Das Bild zeigt einen Aufbau mit RS485-Wandler.
|
Schaltplan TTL
Schaltplan RS232
Schaltplan RS485
|
LCD am virtuellen Comport
USBnub registriert sich als virtueller Comport (CDC) am PC.
Alle Zeichen, die an diesen Comport gesendet werden, werden auf dem Display ausgegen.
|
Schaltplan
|
RC5-Fernbedienungsempfänger
USBnub wird als HID-Keyboard erkannt. Werden auf der Fernbedienung Zahlen (1..9) gedrückt,
werden diese als simulierter Tastendruck an den Computer weitergegeben.
Betriebssysteme erkennen die Tastatur ohne speziellen Treiber.
|
Schaltplan
|
DCF77 am virtuellen Comport
USBnub registriert sich als virtueller Comport (CDC) am PC.
Das DCF77-Funkuhrsignal wird vom Mikrocontroller dekodiert. Über den virtuellen
Comport werden sowohl die Rohdaten, als auch die dekodierte Zeitinformation an den
angeschlossenen Computer gesendet.
|
|
Haben Sie Ihre eigene Schaltung mit dem USBnub entwickelt und möchten diese anderen
zur Verfügung stellen? Dann nehmen Sie bitte
Kontakt mit uns auf.
Links
Im Folgenden finden Sie Links zu Themen rund um den USBnub.