PIC18F2550 Experimentierboard







Microchip hat jetzt PIC-USB-Flash Controller im Programm. Bei Reichelt bekommt man z.B. PIC18F2550. Damit braucht man nicht mehr einen USB-Chip mit diversen Bauteilen UND einen Microcontroller. Beide Komponenten sind in einem Chip vereint. Microchip vertreibt diese Chips auch im DIP Gehäuse. Das macht die Arbeit für die Prototypen-Entwicklung und den Hobby-Elektroniker wesentlich einfacher. Der PIC18F2550 ist ein USB2.0 Full Speed Device (12Mbit/s). Also schneller als ein PIC16C745. Die Datenrate soll laut einem Datenblatt bis 80kB/s betragen. 

Leider wird der PIC18F2550 NICHT mit einem einprogrammierten USB-Bootloader ausgeliefert. Um einen USB-Bootloader in den PIC zu bekommen braucht man einen PIC-Programmer der PIC18F2550 unterstützt. Z.B. der von Sprut. Ist der USB-Bootloader erst einmal drin kann der PIC über USB programmiert werden.

Benötigte Software von Microchip:
Am besten alle Applikation-Notes und Software zum PIC18F4550 PICDEM(TM) FS USB Board runterladen und installieren. Sie enthalten die notwendigen Treiber und INF-Dateien zum installieren. Landet dann alles in C:\MCHPFSUSB\Pc\ .

Mit PDFSUSB programmiert man den PIC über den Bootloader
Microchip C18 Compiler Demoversion um eigene Programme zu schreiben

Experimentierboard Schaltung und Platine (Eagle 3.55)
PIC18F2550 Bootloader

Wie funktioniert der Bootloader ?
Wenn man die Schaltung an den USB-Port anschliesst und nichts macht läuft das normale Programm im PIC los. Wenn man beim anschliessen die Boot-Taste gedrückt hält läuft der Bootloader los. Man kann den Bootloader auch im angeschlossenen Zustand starten indem man die Reset-Taste drückt und festhält, dann drückt man die Boot-Taste und hält sie fest. Dann die Reset-Taste loslassen und eine Sekunde später die Boot-Taste. Jetzt kann man mit PDFSUSB den PIC über USB programmieren.

Wie transportiere ich jetzt Daten zum/vom PIC ?
Es gibt bei Microchip mehrere Code-Beispiele wie man Programme für den PIC schreibt. Als HID (Human Interface Device), über eine spezielle DLL von Microchip oder als CDC-Device (Communication Device Class). Letzteres habe ich hier benutzt. CDC arbeitet über einen virtuellen COM-Port. Man schreibt seine Programme so als würde man eine serielle Schnittstelle ansprechen. Für CDC ist kein spezieller Treiber erforderlich. Alles läuft über die USBSER.SYS. Die ist bei W98 und höher dabei. Das CDC-Demo von Microchip läuft nur mit W2000/XP. Für W98 gibt es leider keine INF-Datei zum installieren des Treibers bei Microchip. Wenn jemand weiß wie man solch eine INF-Datei erstellt, immer her damit. 

Die Einstellung der Baudrate,Parity,Handshake usw. ist egal da die Datenübertragung mit 12Mbit/s über USB erfolgt.

CDC Beispielprogramme

Achtung ! Bevor du die Programme unten in den PIC brennst muß der USB-Bootloader in den PIC programmiert werden. Das geht nicht über USB.

Erstes Testprogramm: CDC_Echo Sendet alles was man zum PIC sendet einfach wieder zurück. Für den ersten Test mit einem Terminal Programm.

Zweites Programm: Serielles USB-LCD-Display. Funktioniert mit dem LCD-Plugin für Winamp und LCD-Smartie (ab V5.3). Als Display kann man jedes HD44780 kompatible Display nehmen. Schaltplan und Layout für einen kleinen Adapter sind oben beim Board mit dabei. Kontrast und Hintergrundbeleuchtung kann man mit den Programmen nicht einstellen. Könnte man aber leicht nachrüsten.

CDC_CrystalFontz_LCD_Emulation
CDC_MatrixOrbital_LCD_Emulation


Holgi's T6963 Monster-USB-Display mit PIC18F2550

Hi CaseModder. Du hast ein kleines blaues 4x20 Display in deinem PC ? Wie niedlich. Meins ist vier mal größer als deins ;)





Das Display oben ist ein 240x64 Pixel GrafikDisplay mit T6963 Controller WG24064A von Winstar. Wenn man es im Textmodus anspricht und den 6x8 Font einstellt bekommt man ein Display mit 8 Zeilen x 40 Zeichen ! Der Spektrum Analyzer oben belegt alleine schon 4x20 Zeichen. Das Display ist so breit das es nicht in einen 5 1/4 Zoll Schacht passt. Muss also extern verwendet werden.

Achtung ! Als erstes muß der Bootloader in den PIC programmiert werden. Das geht nicht über USB.
Für diese Schaltung muss ein angepasster Bootloader verwendet werden. Also nicht den von meinem PIC18F2550 Experimentierboard  nehmen !
Diese Schaltung funktioniert nur mit W2k/XP. 

Schaltplan, Board (Eagle 3.55), Quellcodes,HEX-Dateien (Bootloader, Crystal, Matrix) für MCC18 und eine INI-Datei
für das Winamp LCD-Plugin von Markus Zehnder . Auf jeden Fall Version 0.6.4.a verwenden. "Non-linear-spectrum analyzer" nehmen.
 

Probleme mit den üblichen PC-LCD-Display Programmen (Stand 17.08.2005)
LCDHype kann scheinbar keine seriellen Displays. Ich konnte keine Einstellung dafür finden.
LCD-Smartie kann keine 8x40 Displays.  Ich konnte keine Einstellung dafür finden.
jaLCDs kann keine seriellen 8x40 Displays.  Ich konnte keine Einstellung dafür finden. COM5 geht scheinbar auch nicht. Schade.


Ich entwerfe keine Schaltungen oder Programme für andere. Dazu fehlt mir einfach die Zeit. Bei mir sind keine Bausätze, Platinen oder programmierte Chips zu den Schaltungen erhältlich. 

E-Mail

Zur Startseite