PIC (16F84A) programmieren geht nicht :-(

G

Guido Speer

Guest
Hallo,

nu ja, das stimmt nicht ganz. Mit meinem Willem-Programmer geht das
problemlos. Mit einer Ludipipo-Schaltung nicht.
Ich weis, dass ich mich hier bei Einigen unbeliebt mache, das ist ja schon
fast ein Glaubensstreit... ;-)

Hintergrund: Ich habe eine 16x84-Testplatine auf der neben
Siebensegmentanzeigen, Tastatur und diversen I/O-Ports auch ein
RS232-Interface und dazu noch eine extra Programmierfassung sind. Diese ist
exakt nach der Ludipipo-Schaltung beschaltet. Da es einfacher ist nur ein
Gerät auf dem Tisch zu haben (und aus Prinzip sollte schon alles gehen was
drauf ist ;-)), möchte ich natürlich mit diesem Teil die PICs auch
programmieren. Die mitgelieferte Software (PicProg) stürzt unter WinXP immer
ab (GeneralProtectionFault oder so), also habe ich das mit icprog Version
1.05 versucht. Dort habe ich alles nach diversen Hinweisen im Netz
eingestell, doch nichts geht! Dann habe ich das auf einem (mehreren) alten
Dos-Rechner mit einer (mehreren) Dosversionen versucht, nichts geht.
Mit "nichts geht" meine ich das wirklich so. Weder Lesen, noch Löschen, noch
Programmieren sind möglich. Nichts, nix und nix :-( Ich habe mir die
Ludi-Schaltung nochmal extra aufgebaut, nix! Ich habe die Stromversorgung
und Programmierspannung auf Netzteil umgeprömpelt, nix! Selbstverständlich
habe ich die Schaltung durchgeklingelt und mit IcProg auch die Hardware
getestet: Alles iO und alle Spannungen liegen an den richtigen Pins und in
der richtigen Höhe.
Ich habe das Netz bis zum Ende durchgegoogelt (genau bis hier her:
http://www.das-ende-des-internets.de), habe diverse Hinweise gefunden, fast
alles versucht (zusätzliche Schutzdioden, externe Stromversorgung,
Modifikationen nach JDM, kurzes RS232-Kabel usw.), nix. Was um alles in der
Welt ist hier los? Bei vielen Tausend Leuten geht das Teil problemlos und
ich kann einen PIC nicht mal auslesen. Wenn Programmieren Probleme macht,
könnte ich das ja irgenwie nachvollziehen, aber das einfache Auslesen sollte
doch in jedem Fall gehen. Klar sind keine CP-Bits gesetzt, mit dem Willem
kann ich ja auch lesen)
Ist der 16f84_A_ denn soviel anders als der ohne A? Ich habe derzeit nur den
einen.
Irgendwo habe ich gelesen, beim A sollte Ludi oder JDM etwas modifiziert
werden, da stand nur nicht was :-(
Bin ich denn wirklich zu blöd solch eine kleine Schaltung zu debuggen?
Hardwarefehler schließe ich nach stundenlangem Durchleuchten dieser paar
popligen Teile aus, bleibt nur noch Software (aber ist unwahrscheinlich, da
ja viele versucht), die Serielle (auch unwahrscheinlich, da mehrere Rechner
versucht) oder der PIC selber (habe zurzeit nur diesen einen). Der lässt
sich aber mit meinem Willem völlig problemlos behandeln.
So nu mach was... :-(
Guido
 
Guido Speer schrieb:

Ist der 16f84_A_ denn soviel anders als der ohne A? Ich habe derzeit nur den
einen.
Microchip beschreibt die Unterschiede hier:

http://ww1.microchip.com/downloads/en/DeviceDoc/30072b.pdf

Im wesentlichen Unterscheiden sie sich, bzgl. deines Problems, in der
typ. Stromaufnahme und der Programmiergeschwindigkeit.


Gruß Dieter
 
Hallo,

Guido Speer schrieb:
Ist der 16f84_A_ denn soviel anders als der ohne A? Ich habe derzeit nur den
einen.
Ja, der A-Typ erwartet an dem /MCLR-Eingang ziemlich genau 13V. Der
16F84 ohne A ist da erheblich toleranter. Deshalb funktionieren die
meisten Einfach-Programmer nur mit den "ohne A"-Typen.


Gruß Oliver
 
"Oliver Scharf" <Oliver_Scharf@web.de> schrieb im Newsbeitrag
news:2gp1ooF4tpqhU1@uni-berlin.de...
Hallo,

Guido Speer schrieb:
Ist der 16f84_A_ denn soviel anders als der ohne A? Ich habe derzeit nur
den
einen.

Ja, der A-Typ erwartet an dem /MCLR-Eingang ziemlich genau 13V. Der
16F84 ohne A ist da erheblich toleranter. Deshalb funktionieren die
meisten Einfach-Programmer nur mit den "ohne A"-Typen.

13Volt beim Lesen? Ich dachte bisher, das sei nur zum Schreiben/Löschen
nötig.
Guido
 
Guido Speer schrieb:

13Volt beim Lesen? Ich dachte bisher, das sei nur zum Schreiben/Löschen
Auch zum Auslesen muss Vihh anliegen, und Oliver hat Recht, der 16F84A
gibt sich nicht mit Vdd+3,5V zufrieden, der will 12-14V.


Gruß Dieter
 
"Guido Speer" <Guido.Speer@t-online.de> schrieb im Newsbeitrag
news:c87acd$ctv$03$1@news.t-online.com...
Hallo,

nu ja, das stimmt nicht ganz. Mit meinem Willem-Programmer geht das
problemlos. Mit einer Ludipipo-Schaltung nicht.

Wichtig wäre noch, dass die pin B6 und B7 (also data und clock) auf
low liegen während Vihh auf mindestens 12V geht lt. Datenblatt. (Also
die Spannung für eintreten (init?) in den Progmode, die Spannung um in
diesem Modus zu verbleiben wird mit Vdd+4.5V angegeben).

Ich habe aber schon A-Typen auf einem Ludopipobrenner gebrannt,
letztens erst (unter Win98), es geht also. Klar, Vihh liegt ausserhalb
der Spec., kann also Zufall sein, aber ich kann sagen dass es
(zumindest bei mir) geht.

Die risetime wird mit maximal 8us angegeben für Vihh, das könnt auch
kritisch sein beim Ludopipo? Je nach Leitungskapazität u.s.w....

Sieht RS232 nicht sowieso begrenzte Anstiegszeit vor, ich hab sowas im
Hinterkopf? Müsst mal nachschauen...

Mit freundlichen Grüssen:
Rüdiger
 
"Ruediger Klenner" <Ruediger.Klenner@ruhr-uni-bochum.de> schrieb im
Newsbeitrag news:c87spc$115$1@sunu789.rz.ruhr-uni-bochum.de...

Na dann schönen guten Tag, von dir hab ich das Board ja, jetzt wird geholfen
;-)

Wichtig wäre noch, dass die pin B6 und B7 (also data und clock) auf
low liegen während Vihh auf mindestens 12V geht lt. Datenblatt. (Also
die Spannung für eintreten (init?) in den Progmode, die Spannung um in
diesem Modus zu verbleiben wird mit Vdd+4.5V angegeben).

Soll ich den Logicanalyser anwerfen, wegen sowas?

Ich habe aber schon A-Typen auf einem Ludopipobrenner gebrannt,
letztens erst (unter Win98), es geht also. Klar, Vihh liegt ausserhalb
der Spec., kann also Zufall sein, aber ich kann sagen dass es
(zumindest bei mir) geht.
nu gut, mit dem "A" den ich von dir habe, nicht.

Die risetime wird mit maximal 8us angegeben für Vihh, das könnt auch
kritisch sein beim Ludopipo? Je nach Leitungskapazität u.s.w....
Könnte sein, aber dann bei allen getesteten Rechnern, mit langem und kurzem
Kabel?
Sieht RS232 nicht sowieso begrenzte Anstiegszeit vor, ich hab sowas im
Hinterkopf? Müsst mal nachschauen...

Könnte auch sein, schon wegen Störung der lieben Umwelt und so.

Ich vermute, der A ist der Grund allen Übels. Werde mal einen ohne A
versuchen, so es den noch wo gibt.

Guido
PS: Rüdiger, wir hatten ja per PM einigen Kontakt. Leider habe ich auf meine
letzte Mail nichts mehr von dir gelesen. Könnte auch im Spamfilter
(T-oldline) hängen geblieben sein.
 
"Guido Speer" <Guido.Speer@t-online.de> schrieb im Newsbeitrag
news:c87v8e$evv$02$1@news.t-online.com...
"Ruediger Klenner" <Ruediger.Klenner@ruhr-uni-bochum.de> schrieb im
Newsbeitrag news:c87spc$115$1@sunu789.rz.ruhr-uni-bochum.de...

Na dann schönen guten Tag, von dir hab ich das Board ja, jetzt wird
geholfen
;-)


Wichtig wäre noch, dass die pin B6 und B7 (also data und clock)
auf
low liegen während...

Soll ich den Logicanalyser anwerfen, wegen sowas?
Das sollte nur ein Hinweis sein in welche Richtung man noch prüfen
kann wenn alle Checks versagen die auf meiner Aufbauseite stehen. Ich
nehme an, auch die Testroutinen der Brennsoftware zeigen keine
Anomalitäten? Pegel an den Pin lassen sich schalten wie angegeben?



Von den rund 20 boards die ich damals bei meinem Vortrag ausgab hatte
ich auch mal eines in aufgebautem Zustand zu Gesicht bekommen, da ging
auch nix in Richtung brennen... der Rest des Dings lief aber, das
kleine Kernel-Testprogramm, serielle Schnittstelle und der
Befehlsinterpreter, auch die Siebensegmentanzeigen...

Kein Aufbaufehler in der simplen Brennerschaltung zu finden, sind ja
auch nur n paar Strippen. Konnte beim durchmessen auch keinen
Unterschied zu meinem eigenen, funktionierendem Exemplar finden.

Auch die Funktionstestroutinen der Software... einzelne Pins
schalten --- kein Fehler zu entdecken, korrekte Pegel stellten sich
ein. Kein Unterschied zu meinem eigenen board. Mysteriös!

Bis ich nach Stunden, ich weiss auch nicht mehr wieso, die
Brennsockelpin B6 und B7 mit Lötpunkten weitab der fürs Brennen
relevanten Platinenecke durchgeklingelt hab. Wundere mich heute noch,
wieso. Verzweiflungstat.

Da zeigten sich komischerweise plötzlich ein paar 100 Ohm oder so
zwischen einem der genannten Pin und einem Lötpunkt irgendwo in der
Gegend der Siebensegmentanzeigen, weitab also...

Nach auslöten der Siebensegmentanzeigen zeigte Lupe dann ganz feines
Fädchen aus Lötzinn/Lötklecksspritzer zwischen zwei Leitungen...
Nachdem dieser quasi durch einen Fingerschnipser beseitigt wurde, lief
alles.



Ich habe aber schon A-Typen auf einem Ludopipobrenner gebrannt,
letztens erst (unter Win98), es geht also. Klar, Vihh liegt
ausserhalb
der Spec., kann also Zufall sein, aber ich kann sagen dass es
(zumindest bei mir) geht.

nu gut, mit dem "A" den ich von dir habe, nicht.
Hast du schonmal einen anderen probiert? Anderen A-Typ?

Obwohl ich natürlich normalerweise meine PICs mit einem anderen
Brenner programmiere (schon, weil es keine 16F84er sind und ich vor
allem in Richtung Datensicherheit Bedenken habe) kann ich mich jetzt
nicht erinnern, dass mir mal ein 84A wegen Nichtbrennbarkeit auf dem
Einfachteil aufgefallen wäre. Die schätzungsweise ein paar Dutzend
Teile, die ich damit gebrannt hatte, gingen auch alle --- zu brennen
und überhaupt! Und es waren alles A-Typen, die anderen bekommt man ja
seit denke mal mindestens 5 Jahren nicht mehr.

Die risetime wird mit maximal 8us angegeben für Vihh, das könnt
auch
kritisch sein beim Ludopipo? Je nach Leitungskapazität u.s.w....

Könnte sein, aber dann bei allen getesteten Rechnern, mit langem und
kurzem
Kabel?
Nein, der Fehler muss dann wohl woanders liegen. Vielleicht in der
oben genannten Richtung? (Glaskugelmode detected)

Du hattest die Schaltung, 4*R, zwei Dioden und 1C testweise separat
aufgebaut? So könntest du ausschliessen, ob es an der
Rechner/Softwarekonfiguration liegt.

Wenn der separate Aufbau geht, muss halt doch noch irgendwo ein
Aufbaufehler im board sein, vielleicht von der oben beschriebenen Art?
Das layout ist eng genug, kein Lötstopplack und keine
Durchkontaktierungen, da kann sowas schon passieren, denk ich mal. Wie
gesagt, ich hatte einen solchen Fall...

PS: Rüdiger, wir hatten ja per PM einigen Kontakt. Leider habe ich
auf meine
letzte Mail nichts mehr von dir gelesen. Könnte auch im Spamfilter
(T-oldline) hängen geblieben sein.

Na ja, ist jetzt 4 Tage her --- ein paar Tage, sagenwirmal 3 oder 5
oder so brauche ich schon, ich arbeite auch noch und es war ja auch
nicht nur _eine_ Frage...
Ausführliche Antwort ging erst heute am frühen Nachmittag raus. Wenn
sie nicht ankommt, bitte nochmal melden.

Mit freundlichen Grüssen:
Rüdiger
 
"Ruediger Klenner" <Ruediger.Klenner@ruhr-uni-bochum.de> schrieb im
Newsbeitrag news:c88a5j$irk$1@sunu789.rz.ruhr-uni-bochum.de...
Das sollte nur ein Hinweis sein in welche Richtung man noch prüfen
kann wenn alle Checks versagen die auf meiner Aufbauseite stehen. Ich
nehme an, auch die Testroutinen der Brennsoftware zeigen keine
Anomalitäten? Pegel an den Pin lassen sich schalten wie angegeben?
Astrein, alles so wie es sein soll.
Von den rund 20 boards die ich damals bei meinem Vortrag ausgab hatte
ich auch mal eines in aufgebautem Zustand zu Gesicht bekommen, da ging
auch nix in Richtung brennen... der Rest des Dings lief aber, das
Das tröstet mich ;-)
Da zeigten sich komischerweise plötzlich ein paar 100 Ohm oder so
zwischen einem der genannten Pin und einem Lötpunkt irgendwo in der
Gegend der Siebensegmentanzeigen, weitab also...
Das habe ich auch alle hinter mir. Nichts! Alles im grünen Bereich!


Hast du schonmal einen anderen probiert? Anderen A-Typ?
Nö, habe nur den Einen.

und überhaupt! Und es waren alles A-Typen, die anderen bekommt man ja
seit denke mal mindestens 5 Jahren nicht mehr.
Ich habs befürchtet ;-)

Du hattest die Schaltung, 4*R, zwei Dioden und 1C testweise separat
aufgebaut? So könntest du ausschliessen, ob es an der
Rechner/Softwarekonfiguration liegt.
Richtig, neu aufgebaut (Lochraster) zusätzlich mit externer Versorgung,
genauso keine Funktion.

Ausführliche Antwort ging erst heute am frühen Nachmittag raus. Wenn
sie nicht ankommt, bitte nochmal melden.
Bisher (20:22) noch nichts da. :-(

So, jetzt habe ich die VPP auch mal auf extern umgebastelt (exakt 13,0Volt).
Ergebnis: Ich konnte Irgendwas lesen. Richtig, Irgendwas! Und jedesmal was
Anderes. Löschen und Schreiben geht immer noch nicht. Ich musste dazu aber
in IcProg die Time (unter Hardware) auf 40ms einstellen. Mit nur ein paar
weniger ließt er überhaupt nicht. Unter DOS an einem anderen rechner hat er
wesentlich besaser gelesen, aber auch Mist und Schreiben/Löschen geht auch
da nicht. Ich werde jetzt mal auf die bestellten PICs warten (ebay) und dann
mit neuem Mut drangehen.
Übrigens: Im Willem sind die Spannungen Vpp=12,45V und Vdd= 5,02Volt. Damit
lüppt das 1A
Guido
 

Welcome to EDABoard.com

Sponsor

Back
Top