Hallo, habe mich hier angemeldet und hoffe, dass ich vielleicht einen richtigen Hinweis bekomme, warum bei dem PIC nach dem Brennen das Config-Byte nicht stimmt. Zur Hardware: Brenner8 und Brenner5 von Sprut mit der dazugehörigen Software. Kurze Beschreibung des Fehlers. Nach dem Brennen und Vergleichen (bei beiden Brennern) wird mir alles mit O.K. angzeigt, aber wenn ich dann das Config-Byte vergleiche wird nicht #3FC4 sondern #31C4 angezeigt - manchmal auch #11C4. An dem PIC's kann es nicht liegen(?), da ich 5 DIP und 3 SMD gebrannt habe und immer der gleiche Fehler angezeigt wird. (PIC's sind auch von verschiedenen Anbietern). Vielleicht kann mir einer einen Tipp geben, was ich da machen kann. Gruß Andy
:
Bearbeitet durch User
Was sagt ein PICkit3/4 oder ICD3/4 dazu? Hast du den Fehler auch damit? Sonst eventuell auf kurze Verbindungen achten. Kondensator sollte auch da sein. Da es vermutlich ICSP ist kannst mal versuchen alles von den PINs zu trennen. BB---CCBMPWFFF 11111111000100 3FC4 11000111000100 31C4 1000111000100 11C4 Sonst scheinen die Bits mehr oder weniger zu passen. Bei 11C4 fehlt alerding der BG1 bit. 31C4 ist richtig, denn es gibt ja 3 bits die unimplemented sind. Daher 0. Das solltest du auch in dein HEX so eintragen, dann passen die auch beim verification.
Vielen Dank für die schnelle Antwort. Pickit3/4 habe ich nicht. Habe ca. 4-5 Jahre nichts mehr mit PIC's gemacht und meine Brenner reichen mir für das bisschen zu. Dann werde ich mal sehen, ob der PIC läuft.
Wird der PIC in der Schaltung Programmiert oder bevor er in die Schaltung implementiert wird? Wenn der PIC in der Schaltung ist kann die Außenbeschaltung vielleicht zum Problem werden, in dem Fall die PDIP Variante vielleicht mal auf dem Steckbrett flashen.
Der PIC wird im Brenner gebrannt. Ob der nun läuft, zeigt sich erst in paar Tagen, da ich für meinen Kumpel für die Modellbahn eine Schaltung gebaut habe, wo er in den Wagen das Licht schalten kann und der wohnt ca. 250km von mir. Also immer Postweg.
Was von Digital-Bahn.de? Vielleicht https://www.digital-bahn.de/bau_weiche/wz_dauer.htm Ich habe alle meine Funktions- und Schaltdekoder von hier nachgebaut, mit Sprut-Brenner 8 programmiert - und hat alles funktioniert! Sorry, keine grosse Hilfe... Gruss Chregu
Der PIC12F629 braucht eine recht hohe VPP von 12,75V - 13,25V. Kann der Brenner8 beim Programmieren diese hohe VPP sicher liefern?
Andy S. schrieb: > da ich für meinen Kumpel für die Modellbahn eine Schaltung > gebaut habe ...hast Du fertigen Code verwendet? Wenn ja, schick mal einen Link, dann kann ich den Code mal mit einem PICkit 3 testen, Controller und Digitalbahn sind vorhanden. Christian M. schrieb: > Was von Digital-Bahn.de? Vielleicht > https://www.digital-bahn.de/bau_weiche/wz_dauer.htm > Ich habe alle meine Funktions- und Schaltdekoder von hier nachgebaut, > mit Sprut-Brenner 8 programmiert - und hat alles funktioniert! Kann ich bestätigen, die Schaltungen und die Codes funktionieren, hab halt ein PICkit 3 verwendet.
Wolfgang W. schrieb: > Der PIC12F629 braucht eine recht hohe VPP von 12,75V - 13,25V. Kann der > Brenner8 beim Programmieren diese hohe VPP sicher liefern? Ja
Wolfgang W. schrieb: > Der PIC12F629 braucht eine recht hohe VPP von 12,75V - 13,25V. Nein, siehe Anhang.
Irgendwie ist ein Beitrag von mir hier nicht angezeigt. Also noch mal. Wolfgang W. schrieb: > Der PIC12F629 braucht eine recht hohe VPP von 12,75V - 13,25V. Kann der > Brenner8 beim Programmieren diese hohe VPP sicher liefern? Der Brenner bringt 12,96V und da kann ich noch die Spannung um 0,5V erhöhen. Christian M. schrieb: > Was von Digital-Bahn.de? Vielleicht > https://www.digital-bahn.de/bau_weiche/wz_dauer.htm Da habe ich auch schon einiges nachgebaut. Brennen des PIC's war kein Problem. Mitleser schrieb: > ...hast Du fertigen Code verwendet? Wenn ja, schick mal einen Link, dann > kann ich den Code mal mit einem PICkit 3 testen, Controller und > Digitalbahn sind vorhanden. Die Schaltung und die Hex-, sowie die asm-Datei findest du hier: https://usuaris.tinet.cat/fmco/download_en.html ca. in der Mitte unter: "Function decoder with 4 outputs" - die Version v2 Hex-Datei ist in der zip.In der Schaltung ist der ULN2003 kopfstehend eingezeichnet. Da wäre ich fast darüber gestolpert.
:
Bearbeitet durch User
Andy S. schrieb: > Die Schaltung und die Hex-, sowie die asm-Datei findest du hier: > https://usuaris.tinet.cat/fmco/download_en.html > ca. in der Mitte unter: > "Function decoder with 4 outputs" - die Version v2 > Hex-Datei ist in der zip.In der Schaltung ist der ULN2003 kopfstehend > eingezeichnet. Da wäre ich fast darüber gestolpert. Okay, werde ich mal die Woche testen, jedoch ohne ULN2003 Treiber, werde einfach mal vier LEDs dran hängen und schaue dann mal, ob ich 1. den PIC mit dem hex File Flaschen kann, 2. CVs lesen und schreiben kann und 3. LEDs schalten kann.
@ Andy S. Die Bits 13-12 im Configuration Word sind laut Datenblatt factory calibrated for Bandgap Voltage und müssen vor einem erase gesichert werden, d. h. die Software für den Brenner8 sollte das berücksichtigen. Beim Programmieren ohne erase ist man auf der sicheren Seite, wenn man die 2 Bits auf 1 stellt. D. h. bei z. B. gelesener Configuration 0x11c4, 0x21c4 oder 0x01c4 sind die factory calibrated Bits unverändert. Bei gelesenem 0x31c4 kann möglicherweise die Factory Calibration durch ein erase gelöscht worden sein.
So, hab das ganze mal getestet. Mit PICkit 3 und MPLAB X IPE v5.50 konnte ich das File ohne Probleme in einen PIC12F629 im PDIP Gehäuse flashen. Und auch der Code funktioniert, aufgrund der Schaltung lassen sich die CVs nicht auslesen, programmieren und funktionieren tut es trotzdem.
Vielen Dank für deine Mühe. Da muss ich mal sehen, ob die PIC's, welche ich brenne auch funktionieren.
Mitleser schrieb: > So, > hab das ganze mal getestet. > > Mit PICkit 3 und MPLAB X IPE v5.50 konnte ich das File ohne Probleme in > einen PIC12F629 im PDIP Gehäuse flashen. > > Und auch der Code funktioniert, aufgrund der Schaltung lassen sich die > CVs nicht auslesen, programmieren und funktionieren tut es trotzdem. So, nun habe ich drei PIC's gebrannt. Alles soweit gut. Brennen - grün; Vergleichen - grün, Auslesen und Vergleich im Hex-Editor mit der original Datei ohne Fehler. Jeder hat eine anderes Cofig. Einer 01C4, einer 11C4 und einer 31C4 - in der Hexdatei war ja 3FC4. Der mit 31C4 reagiert überhaupt nicht, die anderen Beiden Schalten zwar, aber die Ausgangszustände ändern sich laufend unregelmäßig von selbst. Nun meine Frage. Weche Zentralstation benutzt du und mit welchen Programm änderst du die CV-Werte? Wir haben da so eine Vermutung.
Spielen evtl. die Taktzeiten eine Rolle? Der interne OSC hat 4 MHz, die aber bei 12F629 einen individuellen ! Kalibrierwert ab Werk mitbringen. Wird der PIC falsch gebrannt, geht dieser Wert verloren. Weiteres siehe https://www.sprut.de/electronic/pic/projekte/osccal/osccal.htm
Diesen Wert kann man auslesen in einem reservierten Speicherbereich, ist also nicht verloren. Er steht dort auch deshalb weil der interne Programmieralgorithmus diesen Wert einsetzten muss damit die Programmierzeiten stimmen. Ed geht auch 3.3v Vcc und 9V Batterie zur Programmierung, der Häufigste Fehler ist vpp nicht vor Vcc einzuschalten, denn da geht gerne der PC falsch und man kann dann keine config bits programmieren.
Chris schrieb: > Diesen Wert kann man auslesen in einem reservierten Speicherbereich, ist > also nicht verloren. Der Speicherbereich ist eben NICHT reserviert, man kann den überschreiben! Es gibt von sprut aber Programme, um den Wert zu restaurieren, siehe https://www.sprut.de/electronic/pic/projekte/osccal/osccal.htm
Der Kalibrierwert wird nicht überschrieben. Erstens ist das Programm nicht so lang und in #7FF steht auch noch das gleiche Byte nach dem Brennen drin. Vpp wird auch erst nach Vcc eingeschaltet.
:
Bearbeitet durch User
Von bulk erase noch nie was gehört? Und ja, wenn vcc < 4.5V oder > 5.1V ist funktioniert bulk erase nicht mehr und das config word kann man mit row erase nicht löschen oder beschreiben.
Es gibt aber ein zweiten reserved Region wo das oscal gesichert wird und intern für den programmieralg. Verwendet wird. Stand mal in mehreren programming specification drin und musst suchen.
Chris schrieb: > Von bulk erase noch nie was gehört? > Und ja, wenn vcc < 4.5V oder > 5.1V ist funktioniert bulk erase nicht > mehr und das config word kann man mit row erase nicht löschen oder > beschreiben. Und ja, Vcc liegt bei 4,95V. Das Config-Word 31C4 müsste ja stimmig sein, weil drei Bits nicht implementiert sind - siehe Beitrag weiter oben. Und gerade dieser PIC reagiert überhaupt nicht.
So, hat sich erledigt. Danke für die Unterstützung und für die Anregungen. Das Problem war der ESU-Programmer womit die CV-Werte eingetsellt werden. Mit der Maus läuft soweit Alles. Es hat sich herausgestellt, dass das Config-Wort auf 01C4 stehen muss.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.