Einleitung
Pinbelegung
ICSP versus STDP
geeigneter Brenner
Hardware: Brenner5
Software: dsProg
Leider kann man nicht einfach einen dsPIC30/33 oder PIC24 in einen herkömmlichen PIC-Brenner stecken und drauflosbrennen.
Während der
dsPIC30 mit einer Betriebsspannung von 5 V betrieben werden kann, ist
das für dsPIC33 und PIC24 nicht möglich. Diese Chips
erfordern eine verringerte Spannung von z.B. 3,3V. Daraus ergibe sich,
dass Brenner8 und
Brenner5 nicht in der Lage sind, dsPIC33 oder PIC24 direkt zu brennen,
da sie immer 5V-Signale erzeugen. Für diese Typen ist das
3,3V-Programmiergerät Brenner9
geeignet.
Für den
Brenner8P (rev 5) gibt es einen Adapter, der ihn
in einen Brenner9 "verwandelt".
Einige
Microchip-Brenner (z.B.ICD-2) lösen das Dilemma dadurch, dass sie
gar keine Spannung für den PIC bereitstellen, sondern auf eine
Speisung mittels Vdd des PICs angewiesen sind. Das klappt
natürlich nur, wenn der PIC in einer Schaltung sitzt, die mit
Betriebsspannung versorgt wird.
Zum Programmieren muss der
dsPIC
über
einen 5-Draht-Bus mit dem
Programmiergerät
verbunden werden. Einige Brenner besitzen IC-Sockel, in die PICs
eingesteckt
werden können. Diese Sockel sind in aller Regel so belegt, das
PIC12Fxxx,
PIC16Fxxx und PIC18Fxxxx-Typen darin an den 5-Draht -Bus korrekt
angeschlossen
sind.
Leider ist die Pinbelegung der dsPICs
nicht mit den Pinbelegungen der anderen Typen identisch. Deshalb
können
die dsPICs nicht in diesen IC-Sockeln programmiert werden.
Um einen dsPIC an
ein
Programmiergerät
anzuschließen, muss dafür ein spezieller
Adapter gebaut werden, der an den ICSP-Steckverbinder des
Programmiergeräts
angeschlossen wird.
Alternativ eignen sich auch der universelle
Programmieradapter sowie dsPIC-Test-Boards von Microchip, die mit
dem
ICD-Anschluss versehen sind. Sie können mit einem ICD-Kabel an
ein Microchip-Programmiergerät
angeschlossen werden, oder man schließt sie mit einem ICSP/ICD-Adapter
an
den Brenner8P (nur
dsPIC30) , Brenner9 (dsPIC33
und PIC24) der den Brenner5
(nur dsPIC30; ab Rev.
7e)
an.
Die folgende Tabelle fasst die Kompatibilitäten noch ein mal
zusammen. ein ICSP/IDC-Adapter
ist in jedem Fall nötig.
Programmiergerät |
dsPIC30 |
dsPIC33 |
PIC24 |
Brenner5 |
JA |
nein | nein |
Brenner8P |
JA | nein | nein |
Brenner8P+Adapter |
JA | JA | JA |
Brenner9 |
nein |
JA | JA |
Den Brenner5
betrachte ich nur als Notlösung, um kleinere HEX-Files in einen
dsPIC30 zu brennen. Generell sind Brenner9/8 zu bevorzugen, da sie
deutlich zuverlässiger und schneller arbeiten.
Es gibt grundsätzlich 2 Möglichkeiten, dsPIC30Fxxx-Typen zu brennen. PE und ICSP.
ICSP
Wie auch bei z.B. den PIC18-Typen kann
man über das serielle Interface (5-Draht-Bus)
Befehle
in
den PIC senden, die dort vom PIC-Kern ausgeführt werden.
Mit der entsprechenden Befehlssequenz bringt man den dsPIC dazu, Code
in
den Flash oder EEPROM zu brennen. Dieses Verfahren nennt Microchip bei
den dsPICs STDP.
PE
Im PE-Mode kommuniziert der Brenner
nicht direkt mit dem PIC-Kern, sondern mit einer Firmware, die im PIC
sitzt,
und dort die Brennarbeit erledigt. Diese Firmware nennt sich
"Programming
Executive" (PE). Da die Nutzung der PE wesentlich weniger
Kommunikation
zwischen Brenner und PIC erfordert, wäre damit ein schnelleres
Brennen
möglich.
In der Praxis spicht aber auch einiges gegen die Nutzung der PE:
USB
Der Brenner8P
ist in der Lage dsPICs zu brennen, wenn
ICSP-Adapter verwendet werden.
Als
Software ist USBurn (Windows)
oder usburn (Linux)
zu
verwenden..
Parallelport
Der Brenner5
ist in der Lage dsPICs zu brennen, wenn
ICSP-Adapter verwendet werden.
Als Software ist dsProg
zu
verwenden.
Den Brenner5 betrachte ich nur als Notlösung, um kleinere
HEX-Files in einen dsPIC30 zu brennen. Generell sind Brenner9/8 zu
bevorzugen, da sie deutlich zuverlässiger und schneller
arbeiten.
zurück zu 16-Bit-PICs , PIC-Prozessoren , Elektronik , Homepage
Autor: sprut
erstellt am: 21.02.2006
letzte Änderung: 01.03.2011
Quelle: Microchip