Forum: Mikrocontroller und Digitale Elektronik PIC18 programmierung


von Wolfram Hildebrandt (Gast)


Lesenswert?

Hallo

Ich möchte einen PIC18F442 programmieren.
Einzigste brennersoftware, die ich gefunden habe, ist die von "sprut"
auf sprut.de. Leider mag die Software meinen Brenner nicht besonders.
Die Software für die PIC16F hat meinen Brenner auch nicht richtig
erkannt. Lief dann aber doch zumindest zufriedenstellend.
Mein PIC18F442 wurde bisher nur einmal erkannt, beim brennen und
vergleichen wurden dann aber sehr viele Fehler gefunden. Der
Brennvorgang lief schief.

Ich baue mal den von sprut entwickelten Brenner nach. Der sollte dann
ja erkannt werden.

Welche Software benutzt ihr, um die PIC18 zu beschreiben?

von Steffen (Gast)


Lesenswert?

Hallo Wolfram,

baue dir das ICD(I)-Modul nach. Es wird zwar von MPLAB nicht mehr
unterstützt aber für den CCS-Compiler gibt es eine extra Firmware und
Software mit der man das ICD-Modul als Brenner für fast alle PIC´s
verwenden kann.

Unter der CCS-IDE kannst Du das ICD-Modul auch zum Debuggen der 18Fxxx
Serien verwenden.

Schau mal hier rein:
http://www.forenshop.net/cgi-bin/forenserver/foren/F_1402/cutecast.pl?forum=1&thread=26

Steffen

von Wolfram Hildebrandt (Gast)


Lesenswert?

Das würde mich aber dann aber doch an C binden. Ich würde gerne in MPLAB
den Code für den PIC in Assembler schreiben. Kann man nicht den
hex-File aus dem MPLAb im CCS-Compiler reinladen und von dort brennen?

wie sieht es von der hardware seite aus? wo kann man schaltpläne,
anleitungen o.ä. vom ICD-Modulbekommen?


mfg   Wolfram Hildebrandt

von Steffen (Gast)


Lesenswert?

Es gibt für das ICD als Brenner eine eigenständige Software, die das
Hex-File brennen kann. Ich glaube das ist sogar Freeware.
Du bist dann also nicht an C gebunden.

Den Originalschalplan und das Layout findest Du unter
http://www.harald-sattler.de/html/body_icd_nachbau.htm als Eagle-File.

Ich habe das Ganze etwas abgeändert (fast nur SMD) und der
Schnittstelle einen FTDI-Chip spendiert, da ich am Notebook nur
USB-Anschlüsse habe. Ist allerdings noch nicht getestet. Wenn Du
interesse hast kann ich dir das Board gern zur Verfügung stellen.

Steffen

von Wolfram Hildebrandt (Gast)


Lesenswert?

Das wäre sehr schön über USB.
Ich bin bei SMDs aber schon fast aufgeschmissen. Ätzen geht da nicht
mehr mit meinen Mitteln.
Bitte poste doch mal dein Board.

von Steffen (Gast)


Lesenswert?

Ich schicke dir die Daten per Email zu. Die Platine ist für den Einbau
in ein Pac-Tec Gehäuse vorgesehen (gibt´s unter anderem bei RS).

Wie gesagt ich habe es aber noch nicht aufgebaut und getestet. Zum Test
habe ich das Original ICD von Microchip und einen Eigenbau-Wandler
verwendet. Die Geschwindigkeit zwar ca. nur 75% wie über RS232 aber das
macht nicht so viel aus.

So schlimm ist SMD nun auch nicht. Das bekommt man auch mit einfachen
Mitteln hin. Problematisch sind da nur die Durchkontaktierungen. Aber
wenn Du dir das ICD von Harald Sattler nachbaust und einen Wandler
davorsetzt (gibt es bei Reichelt für knapp 20,-€) dann sollte das auch
gehen.

Steffen

von Roman (Gast)


Lesenswert?

Wäre nett, wenn du mir die Daten auch schicken könntest.

Danke!

Roman

von Steffen (Gast)


Lesenswert?

Deine Emailadresse wird von gmx nicht akzeptiert.

Steffen

von Wolfram Hildebrandt (Gast)


Lesenswert?

Ich habe jetzt gestern mal den Brenner5 von sprut aufgebaut.
http://www.sprut.de/electronic/pic/projekte/brenner5/index.htm
Da gibts es auch den Schaltplan dazu.

Ich habe eine Platine mit normalen IC-Fassungen ätzt und anstatt der
Centroxnibuchse direkt eine Sub-D-25-Buchse vorgesehen.
Natürlich geht es nicht so, wie es soll.

Der Brenner richtet sich nach dem David Tait Prinzip.
Sprut hat zu Testzwecken einen Brennertester geschrieben. Dieses
Programm steurt auf Knopfdruck die 5V, die 12V, GND, Datenleitung und
Taktleitung an (5V oder 0V).
Mein Nachbau funktioniert dahingehend, dass ich 5V mit der Testsoftware
sauber auf 5V und auf 0V ziehen kann. VPP (12-13V) funktionieren auch.
Die Daten-und Taktleitung liegt jedoch max. auf 1,7V. Diese 1,7V kommen
direkt aus dem 7407 (TTL, Buffer/verstärker). Die 3,2V, die zur vollen
5V fehlen, müssen also irgendwo abfließen.
Laut Schaltplan bleibt da aber nicht viel übrig. AN der Daten-und
Taktleitung sind nur jeweils 10k pullups dran. Und an der Datenleitung
ein Eingang des 7407. Gerade diese 1,7V stören mich. Die liegen ja
nicht wirklich in den Grenzen für digitaltechniktaugliches.
In meinem anderen brenner, der wie gesagt, auch nicht wirklich erkannt
wird, aber trotzdem brennt, liegt auch eine leitung max. auf 1,7V. Das
hatte ich damals schon gestört.
Wenn man sich den Schaltplan mal ansieht, muss doch aus den Pins 2 und
8 bei anlegen von 5V am jeweiligen Eingang auch 5V herauskommen und
nicht 1,7V?
Kann zumindest bei der Datenleitung (=RB7) die 3,2V an dem anderen
unteren Gatter abfallen?
Der PC gibt am Parallelport die tatsächlichen Pegel aus, ohne
Spannungsabfall (am jeweiligen Eingang des 7407 gemessen). Die
Pinbelegung meiner Sub-D-Buchse: Pin 2,3,4,5,10 wie bei der Centronix
(2,3,4,5,10) und Masse auf 17-25 bei der sub-d.
Der Kompatibilitätscheck, der PIN 2 (schreibt auf die Datenleitung) mit
PIN 10 (Ackknowledge; ließt von der Datenleitung) funktinioert mit
100Ohm, nicht mehr mit 1k. Wie das gehen soll, steht in der Hilfe-Datei
von spruts PIC18-Software. Es sollte zwischen 100 Ohm und 1K der
Brenner erkannt werden.

Ich baue das ganze noch mal auf einem Steckbrett auf und teste einzeln
an den Gattern, wo wie was abfällt.

Habt ihr den brenner5 schon mal nachgebaut?
Habt ihr auch solch ungewöhnliche Pegel von 1,7V? Oder bei anderen
Brennern?
Kann es überhaupt sein, dass 1,7V anliegen an der Daten-und
Taktleitung? Fehler?

Der ICD ist mir momentan etwas zu aufwendig, zumindest dann, wenn ich
den Brenner5 verwenden kann. Und funtkionstüchtig sollte der ja auch
sein.
Was kostet der ICD denn fabrikneu oder hat jemand noch so einen ICD
herumliegen?

An meiner Frage noch Fertiggeräten merkt man schon, dass ich nur einen
lauffähigen Brenner haben will und mir schon tagelang den Kopf über
"PIc18 brennen" zerbrochen habe.

von Chris (Gast)


Lesenswert?

Hallo,

der Brenner 5 funktionierte bei mir von Anfang an einwandfrei und ich
mußte auch keine Spannungen messen außer direkt bei der Inbetriebnahme.
Schaltung wurde auf Lochraster aufgebaut. Das untere Gatter sollte die
Spannung des Pin 2 auf 5 Volt belassen, falls es nicht defekt ist. Ein
TTL-Ausgang kann normalerweise zehn TTL-Eingänge treiben. Vielleicht
sind die 1,7 Volt eine Schwingung mit entsprechendem Tastverhältnis?
Gruß

von Wolfram Hildebrandt (Gast)


Lesenswert?

Hallo

Ich habe es gerade zum laufen bekommen.
Allerdings habe ich nicht den Brenner5 von sprut, sondern einen dem
Brenner3 ähnlichen Brenner aus meinem PIC-Starterset genommen.
Der Autor hat mir freundlicherweise einen Schalptlan dafür zukommen
lassen, worin ein Fehler erkennbar war. Spruts Software sendet über RB7
ein High Signal und möchte dies am ersten Commando-Pin des
parallelports empfangen. dann wird ein brenner als erkannt
indentifiziert. der widerstand von 1k zwischen den buffer-ics zwischen
paralleportausgang- und eingang in meinem Startsetbrenner war zu gross.
ich habe ihn auf 100 Ohm reduziert. Der Brenner wird jetzt sehr schön
erkannt. Zusätzlich habe ich den Druckerport von ECP/EPP auf
bidirectional mit manueller adresse 0x378 eingestellt.
und wie durch ein wunder laufen die pic18 jetzt.
meine übersetzung eines 2k großen programms vom pic16f877 zum PIC18442
lief dann auch direkt fehlerfrei. so muss das sein.
Aber drei komplette Tage und naher Wahnsinn haben dann doch an den
Nerven gezehrt. Aber es läuft und das ist Hauptsache.


mfg   Wolfram Hildebrandt

von thkaiser (Gast)


Lesenswert?

Ohne den Schaltplan zu kenen, eine Bemerkung zu den 1,7V am Ausgang des
7407: Dieser Baustein hat Open Collector-Ausgänge, kann also nur gegen
Masse schalten. Auf high gelegt ist der Ausgang "Offen". Ohne einen
Pull-Up bekommt man da keinen sauberen Pegel.

von Wolfram Hildebrandt (Gast)


Lesenswert?

Pullups sind schon eingebaut.

von Wolfram Hildebrandt (Gast)


Lesenswert?

Was anderes: Wie lange programmiert ihr die PIC18?
Ich benutzte zur Zeit Spruts PIC18 Software (www.sprut.de) und einen
dem Brenner3 ähnlichen Brenner.
Die Software schreibt auf den PIC und vergleicht danach den
Programmspeicher mit dem hex-file.
Ich habe in den PIC18F252 gebrannt (32k PRogrammspeicher). Das musste
ich fünf mal machen, weil immer noch Fehler vorkamen. Das hat jetzt
15min. gedauert, bis ich den PIC endlich ohne Fehler gebrannt habe.
In spruts Software kann man die Brenngeschwindigkeit herunterstellen.
Wenn ich dies aber so mache, dass kaum noch Fehler auftreten, dauert
das ewig. Mein Brenner scheint doch weniger geeignet.

Wie lange brennt ihr die PIC18?
Mit dem ICD geht das doch sicher schneller?
Welche Software verwendet ihr?

von Sitze am 5.01 wieder neben dir (Gast)


Lesenswert?

Meine Güte, du gibst dir beim Beitrag posten ja richtig mühe.
Meine Meinung kennst du ja:
Steig um auf ATMEL, dann hast du die Probleme nicht!
(Dafür eventuell andere ;-) )
Und außerdem:
Du sollst lernen, im Februar ist Mathe am start!

von Kai Eckardt (Gast)


Lesenswert?

Also ich habe mir den Brenner5 gebaut, die Platine in der Küche geätzt.
Ich hatte nie ein Problem damit, keinen einzigen Fehler beim Brennen
(zumindest wenn der PIC heile war). Benutzt habe ich den sicher schon
einige hundert male.. für die PICs 16f84,16f870, 16f877, 12f675 - nur
für den 18f noch nicht.

von Wolfram Hildebrandt (Gast)


Lesenswert?

mittlerweile hat sich das Problem mit den langen brennen soweit
erledigt.
wenn ich den Arbeitsspeicher stark belaste, so scheint es, als ob der
Brenner nicht mehr mitkommt. dann ist es egal, welche geschwindigkeit
ich im interface einstelle, es dauert wirklich extrem lange.
wenn dies jetzt vorkommt, muss ich entweder die Brenner-Software oder
den Computer neu starten. dann geht alles wieder sehr schnell und
funktioniert soweit auch.
z.T. brennt der Brenner bzw. die Software auch direkt nach dem Neustart
so langsam.
da sollte der arbeitsspeicher ja noch relativ leer sein. und gerade für
ein solceh kleines brnnerprogramm sollte doch noch platz sein.
die software ist jedoch noch im aufbau und eine recht frühe version.
wenn es jetzt langsam geht, weiss ich ja, was zu tun ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.