PIC brennen Problem mit Flash

J

Jan Conrads

Guest
Hallo NG,

ich muß für ein L/C Meter einen kleinen PIC (PIC 16F84A) programmierten.
Ich habe es schon mit verschiedenen Brennschaltungen (die von Microchip,
ein JDM Programmer (seriell) und dem SI Programmer (beschrieben auf der
Ponyprog Seite, seriell)versucht.

Aber kein Erfolg den Flash zu brennen, das Eprom geht aber problemlos.
Als Software habe ich Ponyprog 2000 hier(und andere auch versucht), auch
verschiedene BS (LINUX Win98(anderer PC) WinXP). Wenn ich nur ein
Zeichen brenne (Flash) finde ich es nach dem Auslesen in der gesamten
Zeile mehrmals wieder. Sonst wird alles auf 00 geschrieben, löschen geht
immer, der PIC wird auch erkannt.

Woran könnte der Fehler liegen? Pic defekt? Hardware?

Mit Dank im Vorraus Jan Conrads
 
Hi Jan,

Jan Conrads schrieb:
ich muß für ein L/C Meter einen kleinen PIC (PIC 16F84A) programmierten.
Ich habe es schon mit verschiedenen Brennschaltungen (die von Microchip,
ein JDM Programmer (seriell) und dem SI Programmer (beschrieben auf der
Ponyprog Seite, seriell)versucht.

Aber kein Erfolg den Flash zu brennen, das Eprom geht aber problemlos.
Als Software habe ich Ponyprog 2000 hier(und andere auch versucht), auch
verschiedene BS (LINUX Win98(anderer PC) WinXP). Wenn ich nur ein
Zeichen brenne (Flash) finde ich es nach dem Auslesen in der gesamten
Zeile mehrmals wieder.
was mir stark nach einem Problem beim Auslesen klingt.
Lad Dir halt die programming spec für den 16f84a von der
Microchip-Site herunter und guck mit einem Oszi die
beiden wesentlichen Leitungen an.

http://ww1.microchip.com/downloads/en/devicedoc/30262e.pdf

Sonst wird alles auf 00 geschrieben, löschen geht
immer, der PIC wird auch erkannt.

Woran könnte der Fehler liegen? Pic defekt? Hardware?
Ich habs noch nie geschafft mit einem defekten Brenner oder
beim Basteln an der Programmersoftware einen PIC zu "erlegen".
Ich vermute ein Problem mit der Hardware, evtl. Pegel,
sieh Dir auch mal die Programmierspannung an, die muss
in einem ziemlich engen Bereich liegen und ordentliche
Flanken haben.

Viel Erfolg bei der Fehlersuche,
Wolfgang

--
From-address is Spam trap
Use: wolfgang (dot) mahringer (at) sbg (dot) at
 
Hallo,

das Könnte das CP-bit auf 0x2007 sein.
Ist das aktiviert, dann wird nur noch 00 ausgelesen.
Gruss Jochen
 
Jochen Rapp schrieb:

Hallo,

das Könnte das CP-bit auf 0x2007 sein.
Ist das aktiviert, dann wird nur noch 00 ausgelesen.
Gruss Jochen
Ja dann isses klar. Das Teil ist also "code protected".
Es gibt aber eine Prozedur mit der man alles rücksetzen
kann. Steht auch in der Programming Spec.

HTH
Wolfgang

--
From-address is Spam trap
Use: wolfgang (dot) mahringer (at) sbg (dot) at
 
Jochen Rapp schrieb:
Hallo,

das Könnte das CP-bit auf 0x2007 sein.
Ist das aktiviert, dann wird nur noch 00 ausgelesen.
Gruss Jochen

Hallo,
CP ist aus, manchmal spuckt er wirres Zeug aus wie :Daten in den Flash
geschrieben :HALLO (die HEX Werte dafür hab ich grad nicht da).
Beim Lesen steht im gesamten Flash "H!h!"... .

Des weiteren ist ja nur der Flash betroffen, die Spannungen waren auch
ausreichend stabil. Auch mit einem Quick und Dirty Brenner unter WIN98
ist nichts zu machen. Bei den Arbeiten hab ich zuletzt versehentlich die
Betriebsspannung des PIC verpolt (Imax 45mA).
Aber das interne EProm läuft ja immer noch wie am Anfang.

Ich werd mich mal wohl nach einem neuen Pic umsehen müssen.

Oder hat ihr sonst noch irgendwelche Ideen?

Jan Conrads
 
HAllo,

verabschiede Dich von dem Zwanng, ein PIC 16F84A nehmen zu müssen.
Das Teil ist mehr als Uralt. Heute gibt es Pics, die deutlcih mehr können.
Z.B. PIc 16F627A: EEPROM, UART

Gruss Jochen
 
Jochen Rapp wrote:
HAllo,

verabschiede Dich von dem Zwanng, ein PIC 16F84A nehmen zu müssen.
Das Teil ist mehr als Uralt. Heute gibt es Pics, die deutlcih mehr können.
Z.B. PIc 16F627A: EEPROM, UART

Gruss Jochen
Hallo,

leider ist der Pic für ein fertiges Design vorgesehen, und mir fehlt
leider bislang jegliche Erfahrung im Umgang mit Pics. Der Quellcode
liegt als *.asm vor (leider auch keine Erfahrung damit). Der 16F628 soll
an der Stelle auch arbeiten können, aber den nötigen Quellcode habe ich
noch nicht rausgesucht.

Jan Conrads
 
Hallo,
das ist kein Problem.
Musst halt noch einige Ports als Digital_ports initialisieren...
---> ein paar zeilen Assembler.
Ich denke, folgende beiden Zeilen bei der Initialisierung sollten genügen
movlw 0x07 ; set PortA Als Digital I/O
movwf CMCON


Gruss Jochen
 
Hallo Jan,

Jan Conrads schrieb:

Jochen Rapp wrote:
verabschiede Dich von dem Zwanng, ein PIC 16F84A nehmen zu müssen.
Das Teil ist mehr als Uralt.
Nanana, sooo alt auch wieder nicht. Du verwechselst das wohl mit
dem 16C84. Der ist wirklich alt :)

Heute gibt es Pics, die deutlcih mehr können.
Z.B. PIc 16F627A: EEPROM, UART
Was hilft es dem OP, wenn er ein fertiges Programm für den 16f84A
hat und nicht noch extra das Programm umarbeiten will für einen 627er.

leider ist der Pic für ein fertiges Design vorgesehen, und mir fehlt
leider bislang jegliche Erfahrung im Umgang mit Pics. Der Quellcode
liegt als *.asm vor (leider auch keine Erfahrung damit). Der 16F628 soll
an der Stelle auch arbeiten können, aber den nötigen Quellcode habe ich
noch nicht rausgesucht.
Der Umbau ist nicht ganz so trivial, wenn Du noch nicht mit
PICs gearbeitet hast.

HTH
Wolfgang

--
From-address is Spam trap
Use: wolfgang (dot) mahringer (at) sbg (dot) at
 
"Wolfgang Mahringer" <yeti201@gmx.at> schrieb im Newsbeitrag
news:z72Nf.38$OA1.29507712@news.salzburg-online.at...
Hallo Jan,

Jan Conrads schrieb:

Jochen Rapp wrote:
verabschiede Dich von dem Zwanng, ein PIC 16F84A nehmen zu müssen.
Das Teil ist mehr als Uralt.

Nanana, sooo alt auch wieder nicht. Du verwechselst das wohl mit
dem 16C84. Der ist wirklich alt :)
Und wo liegt da der große Unterschied ?
Wie wärs mit nem AVR ?

-Klaus-
 
Hallo,

der Unterschied zwischen 16F84 bzw 16F84A und 16C84 liegt im Speicher für die
Software.
Der 16C84 hat ein Eprom als Speicher. Im Normalfall ist der OTP, es gibt aber
auch (für Entwicklungen) im Keramik-Gehäuse mit Fenster, so dass die Pics( falls
nicht das CP-Bit gesetzt worden ist) per UV-Licht wieder gelöscht werden können.

Ansonsten sind die Pics von der Funktion her identisch.

Der Vorteil der PIC 16-Familie ist, dass alle PICs nach dem gleichen
Strickmuster aufgebaut sind und funktionieren.
Die Sind Code-Compatibel. Anpassungen an Software sind nur bei der
Initialisierung des Microcontrollers notwendig.
Mit 2 Zeilen Assembler habe ich Software von PIC 16C621 auf PIC 16F627 portiert.
 
Hallo,
der Pic ist deshalb alt, da es eine -04 und eine -20 Variante gibt. Diese
unterscheiden sich durch die max. Spezifizierte Taktfrequenz.
Neuere Pics haben beim Flash die Unterscheidung nicht mehr. So gibt es beim
16F73, der vor 5 Jahren neu rauskam, diese Unterscheidung nicht mehr.
Die neuesten Pics haben sogar einen eigenen Oszillator an Bord

Gruss Jochen
 
"Jochen Rapp" <j.rapp@addcom.de> schrieb im Newsbeitrag
news:46mgmmFc0kpaU1@individual.net...
Der 16C84 hat ein Eprom als Speicher. Im Normalfall ist der OTP, es gibt aber
auch (für Entwicklungen) im Keramik-Gehäuse mit Fenster, so dass die Pics(
falls nicht das CP-Bit gesetzt worden ist) per UV-Licht wieder gelöscht werden
können.
Das ist falsch (aber Halbwissen schuetzt vor Belehrungen nicht).

Der 16C84 hatte schon EEPROM, im Gegensatz zu den 16C54, der wirklich
ein UV-loeschbares EPROM hatte. Der 16F84 nannte man dann Flash-EEPROM,
obwohl es ebenso einzelbyteweiese loeschbar war wie der 16C84, das F war
eher Marketing-Speak, was halt dummerweise immer wieder zu soclhen
Verwirrungen fuehrt, wie wir sie von dir gerade horen, daher gehoert
Marketing-Leuten eigentlich der Mund verboten.
--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
Hallo,

ich bezog meine Ausführungen auf den Programmspeicher.
Der 16C84 wird als OTP bei Mircochip's Webseite geführt, frag mich bitte nicht
warum. Erst im Datenblatt taucht das EEPROM auf.

Normalerweise Deutet ein C im Namen des PIc auf ein Exemplar mit Eprom hin, ein
F im Namen des Pic auf ein Flash-EEprom.
Den Programmspeicher bei den F-Pics lassen sich nur komplett löschen. Wie es
beim 16C84 ist, weiss ich nicht, das Datenblatt schweigt sich aus.

Gruss Jochen
 
"Jochen Rapp" <j.rapp@addcom.de> schrieb im Newsbeitrag
news:46pcvqFc9fhfU1@individual.net...
ich bezog meine Ausführungen auf den Programmspeicher.
Scherzkeks, ich mich auch.

Der 16C84 wird als OTP bei Mircochip's Webseite geführt
Zeig
http://search.microchip.com/search?site=MicrochipWebsites&output=xml_no_dtd&client=MicrochipWebsites&lr=&proxystylesheet=MicrochipWebsites&oe=&q=16c84


Normalerweise Deutet ein C im Namen des PIc auf ein Exemplar mit Eprom hin,
ein F im Namen des Pic auf ein Flash-EEprom.
Ach Jochen. Du bist noch jung. Zu jung. Als der 16C84 rauskam, gab es bei
Microchip das F noch nicht. Erst der 16F84 hat das F eingefuehrt. Erst
seit dem gilt was du oben sagst. Es ist EINE FOLGE.

Den Programmspeicher bei den F-Pics lassen sich nur komplett löschen.
Nein. Lies mal die Programmieranweisung zum 16F84 genau.

Wie es beim 16C84 ist, weiss ich nicht, das Datenblatt schweigt sich aus.

Vergleiche sie mit der Programmieranweisung (ANirgendwas) des 16C84.
--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
Hallo,

über Datasheet finder
und Auswahl von 16c84 kommt man hier an:
http://www.microchip.com/stellent/idcplgidcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010180

Beim PIc 16F8xx und Pic 16F84A kann jedes Wort des Programmspeichers gelöscht
werden.

bei Pic 16F84, 16C84, und einigen weiteren gibts nur Bulk erase

Gruss Jochen
 
"Jochen Rapp" <j.rapp@addcom.de> schrieb im Newsbeitrag
news:46rrrbFclvgqU1@individual.net...
über Datasheet finder und Auswahl von 16c84 kommt man hier an:
http://www.microchip.com/stellent/idcplgidcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010180

Tatsache, da schreib selbst Microchip OTP Program Memory.
Ist er natuerlich nicht, wie man aus dem Datenblatt erfaehrt:
1K x 14 EEPROM program memory

Beim PIc 16F8xx und Pic 16F84A kann jedes Wort des Programmspeichers gelöscht
werden.

Sagtest du nicht im letzten Posting, die F-Typen koennten den
Speicher nur komplett loeschen ?

bei Pic 16F84, 16C84, und einigen weiteren gibts nur Bulk erase

Ja, man muss ganz genau lesen, denn es wird in der Liste nur
ein Bulk Erase Kommando beschrieben, aber die
PIC16F8X (gilt für 16F83 und 16F84 und 16CR83 und 16CR84)
EEPROM Memory Programming Specification DS30262B.pdf

schreibt:

2.3.1.7 BEGIN ERASE/PROGRAM CYCLE
A load command must be given before every begin
programming command. Programming of the appropriate
memory (test program memory, user program
memory or data memory) will begin after this command
is received and decoded.
---------> An internal timing mechanism executes an erase before write.
The user must allow for both erase and programming cycle times for programming
to complete. No "end programming" command is required.

Der 16F84 loescht also auch implizit einzelne Worte,
wie der 16C84 uebrigens auch, dessen Beschreibung genau identisch ist,
es gilt also nicht:

bei Pic 16F84, 16C84, und einigen weiteren gibts nur Bulk erase
--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
Hallo MaWin,

über Datasheet finder und Auswahl von 16c84 kommt man hier an:
http://www.microchip.com/stellent/idcplgidcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010180


Tatsache, da schreib selbst Microchip OTP Program Memory.
Ist er natuerlich nicht, wie man aus dem Datenblatt erfaehrt:
1K x 14 EEPROM program memory
auf deren Web-Seiten geht es nach meinen Erfahrungen immer sehr
durcheinander. Manchmal rutschen die Chips gar in eine völlig andere
Kategorie, es stehen abstruse Angaben in den Vergleichs-Tabellen usw.

Einfach grauenvoll, da hilft nur Datenblätter lesen und wenn möglich
nicht vor der C-Revision zu viel dran glauben. ;-)


Schönens Rest-WE
Michael
--
Schreibt zusammen, was zusammengehört.
 

Welcome to EDABoard.com

Sponsor

Back
Top