Am PC stirbt der
klassische
Parallelport
langsam aus. Mehr und mehr Notebooks und nunmehr auch
Desktop-Mainboards
verzichten auf die sogenannten Legacy-Schnittstellen, und priorisieren
zum Anschluss von Peripheriegeräten die USB-Schnittstelle.
Da meine Parallelportbrenner (z.B. Brenner5)
ausschließlich
an
echten
Parallelports
arbeiten
(und
nicht
an
USB-Parallel-Adaptern),
und der Brenner2 schon seit
längerem
auf der Aussterbeliste steht, musste ich einen USB-Brenner
für
PICs entwickeln.
Ich habe mir damit eigentlich viel zu
viel Zeit gelassen, aber ich wollte eine einfache Lösung, die ohne
spezielle Adapterchips (z.B. von FTDI)
auskommt. Ich wollte eine möglichst preiswerte und möglichst
nachbausichere Lösung. Das Ergebnis ist der Brenner8.
Der Brenner 8 ist
ein USB-Brenner, der
mit geeigneter Software (USBurn
für Windows / usburn für
Linux)
die
meisten
Flash-PICs
in
8-
/14
-/18-
/20- /28- und 40-pin
DIL-Gehäuse
brennen kann. PICs in anderen Gehäusen können über eine
ICSP-Leitung
programmiert werden. Der Brenner versorgt sich vollständig
über
den USB-Anschluss, und benötigt deshalb keine separate
Stromversorgung.
Er passt die Programmierspannung
automatisch optimal an den jeweils zu programmierenden PIC an.
Da die Software des Brenner8 auf meine
Database
zurückgreift, kann er eine weite Palette an PICs brennen.
Es existieren
mehrere Varianten des
Brenner8,
die aber alle mit der gleichen Software/Firmware betrieben werden. Je
nach
Brennertyp eignet sich der Brenner für verschiedene Aufgaben:
|
|
|
|
|
dsPIC30Fxxxx
(via ICSP) |
3,3V-PICs via Adapter (Brenner9) |
|
Brenner8smd |
|
|
|
- |
- |
|
|
|
|
|
X |
X |
|
|
|
|
|
- |
- |
|
|
|
|
|
X |
X (Silviu) |
| Brenner8p9 Brenner8P9smd |
X |
X |
X |
X |
direkt |
Die
universellste Variante ist Brenner8-P, dessen
Bau ich deshalb empfehle.
Die Versionen des
Brenner8 ohne
IC-Sockel
liegt als Brenner8mini
auf
der Homepage.
Wenn nicht ausdrücklich erwähnt,
dann beziehe ich mich im Text immer auf den Brenner8.
Alle
Brenner8-Versionen arbeiten mit
der
gleichen Firmware und mit der gleichen Windows-Software
US-Burn
oder Linuxsoftware
usburn.
![]() |
Die
P-Version des Brenner8 ist für
das Brennen von PICs in der Schaltung sowie für den Betrieb an
Test-
und Experimentierplatinen optimiert. Der Brernner8-P benötigt
mindestens die FW
0.11 und
US-Burn 1.8, um alle neuen Funktionen zu nutzen. Das Platinenmaß beträgt 75x100 mm. Dieses Platinenmaß ist käuflich, damit entfällt das lästige Zuschneiden der Platine. Das Layout ist (wie bei mir immer) einseitig und nicht zu filigran.
Der Brenner8-P r5 hat folgende Eigenschaften, die über den normalen Brenner8 hinausgehen:
|
![]() |
Das ist der etwas einfachere
Standard-Brenner8. Das Platinenmaß beträgt 75x100 mm. Dieses Platinenmaß ist käuflich, damit entfällt das lästige Zuschneiden der Platine. Das Layout ist (wie bei mir immer) einseitig und nicht zu filigran. Auf der Bestückungsseite sind zwei Drahtbrücken nötig. Eine davon ist im Stromlaufplan als Widerstand R14 "getarnt". Hier nun das Layout und die nötigen Dateien:
|
| Brenner8smd von Lars (rev 4) | |
![]() |
Das ist eine sehr kompakte
Ausführung
des Brenner8 rev4 die sich die Vorteile von SMD-Bauteilen zunutzen
macht.
Das Layout wurde von Lars entwickelt und aufgebaut. Es ist (ohne den
USB-Stecker)
knapp 3cm x 10cm klein. Da das Layout mit einer einseitigen Platine
(und drei Brücken)
auskommt, ist es vom erfahrenen Bastler herstellbar.
email: pic-brenner@gmx.de |
|
|
|
| Brenner8P9smd
von
Lars |
|
![]() |
Lars hat eine aktualisierte
Version des SMD-Brenners entworfen und erprobt, der die Hardware des
Brenner8 und
des Brenner9 vereinigt. Dadurch
kann dieser SMD-Brenner nach einfachem Tausch der Firmware auch
3,3V-PICs brennen (dsPIC33,
PIC24 , PIC18FxxJxx).
Natürlich ist dadurch die Bauelementedichte auf der kleinen
Platine höher, und ein einseitiges Platinenlayout war nicht mehr
möglich.
|
| 28- oder 40-polige Kipphebelfassung Die Pins der 40-poligen (und auch der 28-poligen) Kipphebelfassungen haben meist 6/10-Zoll-Reihenabstand (15 mm). Die PICs im 8/14/18/28-Pin-Gehäuse haben aber nur 3/10-Zoll Reihenabstand (7,5 mm). Beim Kauf der Kipphebelfassung ist unbedingt darauf zu achten, dass die schmalen PICs auch in die breite Kipphebelfassung gesteckt werden können. Das ist insbesondere bei Textool-Fassungen nicht selbstverständlich. Geeignete Fassungen werden z.B.
mit "Rasterbreite
7,62-15,24 mm" beworben. Conrad bietet geeignete 40pol-Fassungen
für knapp 11,-€ an, was man schon fast als Schnäppchen
bezeichen
könnte (189324-xx). Bei Pollin
habe ich sie mit viel Glück für unter 5€ bekommen. Manchmal
werden aber auch 25€ verlangt. Es lohnt sich also das Suchen nach
einem guten Angebot. Das nebenstehende Bild zeigt Ausschnitte zweier 40poliger Sockel. Der linke (3M) eignet sich sowohl für 28polige wie auch für 40polige PICs. Der rechte dagegen (Textool) kann ausschließlich 40polige PICs aufnehmen, ist also nicht zu empfehlen. Beim Einlöten sollte der Hebel von Textool-Fassungen auf "offen" stehen, auch wenn sich das unbequemer lötet. Ansonsten ist es mir schon passiert, daß die relativ locker sitzenden Kontakte schräg fixiert werden und sich nicht mehr richtig öffnen. |
![]() |
Der Brenner8 ist
ein
"Bus-powered-USB-Device",
das sich über das USB-Kabel mit Strom versorgt. Die Aufnahme liegt
unter 100 mA. Die Programmierspannung wird auf der Brennerplatine mit
einem
kleinen Schaltwandler erzeugt. Da die USB-Spannung in gewissen Grenzen
schwanken kann, wird eine Z-Diode als Referenzspannungsquelle benutzt,
um immer exakte Programmierspannungen zu erzeugen.
Die zum Brennen des
PIC nötige
Programmierspannung
(10,5V .. 13V) erzeugt der Brenner8 mit einm Schaltregler
(boost converter) aus der USB-Spannung. Diese Spannungserzeugung
muss
nach der Inbetriebnahme kalibriert werden, bevor der erste PIC gebrannt
werden kann. Das erfolgt mit Hilfe der Brennersoftware US-Burn (siehe
PDF-Handbuch).
Ein
unkalibrierter
Brenner8 kann jeden PIC problemlos durch Überspannung
zerstören!!
Falls der Brenner unter Windows unheimlich langsam reagieren sollte, dann im Gerätemanager für den Brenner8 dem Computer NICHT erlauben den Brenner8 abzuschalten um Energie zu sparen. Leider weiß ich nicht, wie man diese Einstellung im 16-Bit-Windows (Win98/me) vornehmen kann.
Da erst mit
Windows98 eine echte
USB-Unterstützung
eingeführt wurde, eignet sich der Brenner8 nicht für
Windows95.
Für Windows 98/me kann ich ihn aus den oben genannten Gründen
nicht wirklich empfehlen.
Der von mir unter
Windows
verwendete USB-Treiber von Microchip benötigt unter WindowsXP/2k
Administratorrechte. Für Vista enthalten
meine Downloadfiles seit Februar 2008 verbesserte
Microchip-Treiber.
1.
Einige 28-polige PICs benötigen beim
Brennen Vdd und Vss an den Pins AVdd und AVss. Der Brenner8 adaptiert
aber
nur die Vdd- und Vss-Pins. Betroffen sind (soweit mir bekannt)
ausschließlich:
2.
Es gibt in der PIC16LF-Familie einige neue low-power-PICs, die maximal
für Vdd=4V und Vpp=9V geeignet sind. Die Software USBurn kennt
zwar die Programmierverfahren dieser Chips (unterstützt sie also),
aber die vom Brenner8 abgegebenen Spannungen sind für diese Chips
deutlich zu hoch und können sie zerstören. Einen
Adapter für diese Chips werde ich in Kürze vorstellen.
Betroffen sind :
3.
Wird der Brenner an einem anderen PC-Port
betrieben, als dem, an dem er kalibriert wurde, dann dauert der
Programmstart
manchmal sehr lange. Das ist ein Problem der
Programmierspannungsregelung,
das in der nächsten Fw/US-Burn-Version behoben sein wird.
Bis es soweit ist, hilft die Wiederholung
des 3. Kalibrierschritts "auto-adjust offset and gain"
(wofür
keine Messtechnik nötig ist) am aktuellen USB-Port.
4.
Der ICSP-Ausgang des Brenner8 (ohne P) ist
nicht in der Lage,
über den zu brennenden PIC hinaus noch weitere Hardware zu
versorgen.
Schon ein parallel zum PIC angeschlossener ELKO von über
50µF
ist zu viel. Abhilfe schafft der Brenner8-P mit
seinem zusätzlichem
Treibertransistor.
5.
Einige PIC18-F-Typen mit
großem
Flash- und EEPROM-Speicher lassen sich in seltenen Fällen u.U.
nicht löschen und
liefern
infolgedessen beim Brennen viele Fehler (beobachtet beim PIC18F4525).
Als Ursache
stellte sich heraus, daß sie zum Löschen eine leicht
überhöhte
Programmierspannung benötigen. Ab US-Burn 1.5 ist eine Anpassung
der Programmierspannung möglich.
Das Problem trat in letzter Zeit nicht mehr auf.
6.
Vereinzelt ließen sich PIC16F62x/648
im
Brenner8P nicht löschen bzw.
fehlerfrei brennen. Hier hilft ein 100nF-Kondensator
zwischen
Pin2 & Pin3 des ICSP-Steckverbinders bzw. zwischen Pin36 & Pin5
des
40-poligen Testsockels. In der Revision 4 des Brenner8 sowie der
Revision 5 des Brenner8P ist dieser
Kondensator bereits eingerüstet.
7.
Manchmal erkennt ein Brenner8 bei leerer Fassung einen PIC16F84. Das
ist eher ein Schönheitsfehler, er kann aber leicht behoben werden.
Dazu lötet man einen zusätzlichen Widerstand (10k..100k, die
Größe ist nicht besonders kritisch) zwischen die Pins 3 und
4 der ICSP-Buchse.
8.
In Einzelfällen kommt es vor, dass ein Brenner8 die Kalibrierdaten
"verliert". Das zeigt sich dann durch eine entsprechende Fehlermeldung
der Brennsoftware. Das passiert insbesondere dann, wenn der Brenner
wärend des Bootens des PC (insbesondere unter Linux) bereits an
diesem angeschlossen ist. Die Kommunikation zwischen bootendem
Betriebssystem und Brenner führt dabei zu sporadischem
Überschreiben einiger gespeicherter Kalibrierwerte. An einer
Fehlerbehebung wird gearbeitet, solange sollte der Brenner erst nach
dem Booten an den PC angesteckt werden.
9.
Die Versorgungsspannung Vdd der PICs liegt
etwas unterhalb der USB-Spannung. Ist die USB-Spannung klein, kann der
Wert der PIC-Betriebsspannung zu klein werden. Die Brennsoftware
US-Burn zeigt beim Programmstart die aktuelle Vdd-Spannung an (z.B.:
--
Vdd = 4,981). Die sollte nicht unter 4,75V liegen. Die Gefahr einer zu
kleinen Spannung besteht in der Praxis selten, der Anschluss
über einen passiven USB-Hub kann das Risiko aber erhöhen.
geplante weitere Entwicklungsschritte
05.03.2008
Revision5 des Brenner8P: Korrektur der Position des BF959 im
Bestückungsplan
07.02.2008
Revision5 des Brenner8P
Die Revision5 des Brenner8 dient verbesserter
Stabilität (C10),
sowie der Umrüstbarkeit zum Brenner9.
11.01.2008
Firmware-Fw 0.11 mit Unterstützung für 12-Bit-Kern-PICs
(10F200 u.ä.)
19.08.2007
Firmware-Fw 0.10
13.04.2007
Test-Firmware-Fw 0.9
2.03.2007
Firmware-Patch (Fw 0.8a) für Brenner8(P) rev4. Hilft bei Problemen
mit z.B. PIC16F87x im on-board-Sockel.
29.01.2007/14.02.2007
- Revision 4: Siebkondensatoren für
die target-PIC Vdd-Spannung.verbessert den Betrieb an PICs mit
großem Flash-Speicher
13.12.2006
- Firmware 0.8 für US-Burn
ab Version 1.5
17/18.08.2006
- Firmware 0.6 für US-Burn
ab Version 1.2 (aber besser ist USBurn 1.3)
- verbesserte ICSP-Eigenschaften für
Brenner ohne Vdd-Schalttransistor
- zusammen mit US-Burn 1.3 können
Kalibrierdaten im Brenner gespeichert werden
- Bootloader: der Brenner kann
zukünftig
neue Firmware selbst in den Steuerpic schreiben
- Brenner8r2 bekommt einen
zusätzlichen
Jumper als Backup zur Aktivierung des Bootloaders
10.08.2006
- Firmware 0.5a für US-Burn
ab Version 1.2
- unterstützt Transisstorschalter
für Vdd und P-Version des
Brenner8mini
für den Standard-Brenner8
ist kein Upgrade auf Firmware V0.5a nötig
03.08.2006
- Firmware 0.5 für US-Burn
ab Version 1.2
- Verbesserte Vpp-Erzeugung/Regelung
- Bugfix (beseitigt Absturz beim Brennen
genau einer EEPROM-Zelle)
- Unterstützung für PIC18F-Typen
22.06.2006
- Firmware 0.4 für US-Burn
ab Version 1.1e
- Bugfixes (z. B. 16F87xA)
15.06.2006
Brenner8 Rev. 1
- Firmware 0.3 für US-Burn
1.1
- R5 und R16 geändert
- Bugfixes (z. B. 16F84 und EEPROM)
- stabilisierte Programmierspannung
04.06.2006
- Korrektur der Quarzfrequenz.
- Firmware 0.2 für bessere
Stabilität
an PICs mit 28/40-poligen Gehäusen.
01.06.2006
Die Rev. 0 wird ins als Urversion des
Brenners8 veröffentlicht.
autor: sprut
erstellt: 01.06.2006
letzte Änderung: 10.03.2010