Programmierung der USB-Boards Erstmalige Inbetriebnahme

Mikrocontrollertechnik
Überblick: Programmierung der USB-Boards
Erstmalige Inbetriebnahme
•
•
•
•
•
Flip 2.4.6 installieren, Installationspfad ohne Punkte und Leerzeichen wählen!
Board an die USB-Schnittstelle anschließen
Schiebeschalter -> gelbe LED leuchtet
sofort roten RESET-Taster drücken! (innerhalb einer Sekunde)
-> „neue Hardware gefunden“ -> warten!!!!
Fenster geht auf: USB-Treiber aus dem Flip-Installationsverzeichnis \ USB-Ordner
installieren
Programmiervorgang:
•
•
•
•
Schiebeschalter -> gelbe LED leuchtet
sofort roten RESET-Taster drücken!
Vorgang wiederholen wenn „USB-Gerät wurde nicht erkannt“.
in Flip:
o Controller wählen
o Set communication -> USB -> open
o Load Hex-File
o kein Haken bei BLJB, dadurch wird das Bit gesetzt. (Nur wenn dieses Bit
gesetzt ist, kann das eigene Programm später gestartet werden!!!!!)
o Program Device
•
Alternativ: Download aus RIDE oder µVision mit eingebundenem Tool batchisp.
Aufruf: batchisp –device AT89C5131 –hardware USB –operation erase f loadbuffer
„h:\controller\5131.hex“ DISBLJB program
(DISBLJB bedeutet disable Bootloader Jump Bit und entspricht dem „Haken weg“ bei
BLJB in Flip.)
Schiebeschalter LED dunkel
Reset -> Eigenes Programm wird gestartet
•
•
Eine detaillierte, bebilderte Beschreibung finden Sie auf den Folgeseiten.
Bub, Carl-Engler-Schule Karlsruhe
Programmierung_USB-Board.doc
Mikrocontrollertechnik
Erstmalige Inbetriebnahme in Bildern
•
•
•
•
•
•
•
Flip 2.4.6 installieren, Installationspfad ohne Punkte und Leerzeichen wählen!
nach der Installation erscheint:
Board an den USB anschließen
Schiebeschalter -> gelbe LED leuchtet
sofort roten RESET-Taster drücken! (innerhalb einer Sekunde)
-> „neue Hardware gefunden“ -> warten!!!!
Fenster geht auf: USB-Treiber aus dem Flip-Installationsverzeichnis \ USB-Ordner
installieren
Bub, Carl-Engler-Schule Karlsruhe
Programmierung_USB-Board.doc
Mikrocontrollertechnik
Programmiervorgang in Bildern:
•
•
•
•
Schiebeschalter -> gelbe LED leuchtet
sofort roten RESET-Taster drücken!
Vorgang wiederholen bei Meldung „USB-Gerät wurde nicht erkannt“.
Flip starten:
o
Controller wählen
o
Set communication
o
o
Load Hex-File
kein Haken bei BLJB, dadurch wird das Bit gesetzt. (Nur wenn dieses Bit gesetzt ist,
kann das eigene Programm später gestartet werden!!!!!)
o
Program Device
Bub, Carl-Engler-Schule Karlsruhe
-> USB ->
->open
Programmierung_USB-Board.doc
Mikrocontrollertechnik
Einrichten des automatischen Downloads in RIDE
Ride starten , Projekt öffnen oder neues Projekt erstellen, Projektname z.B. 5131
RideMenüleiste -> Options -> Tools -> New
Name: beliebig z.B. USB_5131
-> Browse, Installationsverzeichnis von Flip wählen, Unterordner bin
-> Datei batchISP.exe auswählen
-> Öffnen
Bub, Carl-Engler-Schule Karlsruhe
Programmierung_USB-Board.doc
Mikrocontrollertechnik
-> Advanced -> Haken bei Prompt weg, Arguments für batchISP eingeben
-device AT89C5131 -hardware USB -operation erase f loadbuffer
"d:\daten\controller\5131.hex" DISBLJB program
-> OK
Bub, Carl-Engler-Schule Karlsruhe
Programmierung_USB-Board.doc
Mikrocontrollertechnik
-> *.hex bei Translate From eintragen
-> OK
-> Close
Im RIDE-Projektfenster:
rechte Maus auf
Bub, Carl-Engler-Schule Karlsruhe
Programmierung_USB-Board.doc
Mikrocontrollertechnik
-> bei Link nichts ändern!!!!
-> Haken bei Run ... und USB_5131 auswählen
-> OK
-> Projekt Save
Bub, Carl-Engler-Schule Karlsruhe
Programmierung_USB-Board.doc
Mikrocontrollertechnik
Automatischer Download nach dem Compilieren:
Quell-Datei verändern, dann
oder F9 oder Menüleiste -> Projekt -> Make All
-> Nach dem Compilieren geht ein DOS-Fenster auf in dem man sieht, wie batchISP
aufgerufen wird
wenn dieses DOS-Fenster nicht aufgeht, ist wahrscheinlich
Datei unverändert
die Quell-
Nach erfolgreichem Download erscheint im MAKE-Fenster:
oder wenn das Board nicht bereit war:
Alternativer Download aus RIDE mit:
-> auswählen
Bub, Carl-Engler-Schule Karlsruhe
Programmierung_USB-Board.doc
Mikrocontrollertechnik
Bei Schwierigkeiten:
Neues Tool lässt sich nicht registrieren und altes Tool lässt sich nicht löschen:
Im Explorer:
Installationsverzeichnis von RIDE -> Ordner Bin
mit Editor editieren, nach unten scrollen
dies ist z.B. ein altes Tools, löschen, Datei speichern
zusätzlich in der Registry löschen:
ausführen -> regedit
-> Software
Ordner der Tools, die stören, löschen
Neustart
Bub, Carl-Engler-Schule Karlsruhe
Programmierung_USB-Board.doc
Mikrocontrollertechnik
Schaltungsauszug USB-Schnittstelle, Programmierschalter und Reset-Taster:
Programmierung
5V
1k5
R8
S20
V3
R9
PSEN
1K
Programmierung
K1
5V
R6
1k5
R4
27R
R5
27R
VREF
AT89C5131A-M
+5V
DataGND
D+
DUVSS
C3
1µF
+
Data+
USB-Buchse-B
UCAP
PLLF
R3
1OOR
R7
27R
RST
C1
2,2nF
C2
1OnF
Reset
T3
+
C4
1µF
Interne Abläufe beim Programmiervorgang
•
•
•
•
•
Wenn die gelbe LED, leuchtet ist PSEN=0. Durch „Reset“ wird der Bootloader gestartet.
Nun kann Flip die Kommunikation mit dem Controller über USB aufbauen.
Wenn das BLJB-Bit nicht gesetzt ist (Haken weg in Flip), kann das eigene Programm
nach dem Download nicht gestartet werden.
Vor der nächsten Programmierung muss die USB-Schnittstelle getrennt werden,
z.B. duch Trennen des 1k5-Widerstandes von Vref.
Diese Funktion übernimmt auch der 2-fach-Umschalter.
In der Stellung „Programmierung“ (LED leuchtet) meldet sich der Controller beim PC an:
„USB-Gerät angeschlossen“ (dies geschieht durch den 1k5-Widerstand an D+)
Nun muss schnellstens der Reset-Taster gedrückt werden, damit der Bootloader im
Controller bereit ist, bevor Windows das USB-Gerät erkannt hat und mit der USBAnmeldeprozedur beginnt.
In der Schalterstellung „LED leuchtet nicht“ ist PSEN=1. Nach Reset wird das
Anwenderprogramm bei der Adresse 0000h gestartet, wenn das Bit DISBLJB gesetzt
ist. „Flip“ oder „batchisp“ haben dieses Bit bei der Programmierung gesetzt.
Bub, Carl-Engler-Schule Karlsruhe
Programmierung_USB-Board.doc