PIC16F648A - Interner krotischer Fehler

Nochmals, aber jetzt schon 99,9% Wahr... Leider :-( !

Bei einer Neuentwicklung wurden kritische Probleme mit PIC16F628A-1/P (Serie

03142Y3, DIP18) festgestellt. Es wurde folgendes beobachtet :
  1. Bei einem Schreibvorgang in den Port A wurden dir Konfigurationsbits (TRISA) so umgestellt, dass ein Ausgang als Eingang definiert wurde. Das fuehrte zu einer Fehlfunktion. Zum Teil laesst sich das mit einem erneuten Schreiben des TRISA-Registers vermeiden. Wir vermuten, dass die Bank-Umschaltung hat falscherweise den Bank 1 gewaehlt.
  2. Zwei aus drei Geraeten nach einigen Minuten seiner Arbeit haengen sich auf, trotzt eingeschalteten Watchdogs. Das Programm hat ziemlich viele Interrupts, wir vermuten, dass RAM-BANK falsch adressiert wurde (wie in 1).

Testmethode : Genau dasselbe Testprogramm (also HEX-Datei) wurde in 3 verschiedene Prozessoren gebrannt :

- PIC16F628 - Ergebniss OK

- PIC16F628A - Ergebniss OK

- PIC16F648A - Ergebniss falsch.

Zusaetzlich wurde ein Zwischensockel verwendet und nach einer ganz kleinen Programmaenderung das Programm wurde auf einem PIC16F873 und PIC16F873A getestet. Ergebniss - OK.

Wir vermuten einen kritischen Fehler in der internen Struktur des Prozessors. Leider eine genaue Ursache ist noch nicht bekannt (wurde auch mehrere Tausend $ wert ;-) !

Hat jemand vielleicht auch aehnliche Probleme mit diesen Chips ?

Ich hatte diese Prozessoren bei Microchip bemangelt, aber die Verluste bleiben so wie so. Vielleicht kann ich die anderen ein bisschen warnen ....

MfG

--
Grzegorz Zalot

complex ltd.
office tel/fax : +48 32 2505840
mobil : +48 501 301515

http://www.complex.org.pl/
mailto:complex@alpha.pl
Reply to
Grzegorz Zalot
Loading thread data ...

Hallo!

Grzegorz Zalot schrieb:

Serie

(TRISA)

e zu

en des

ch auf,

rupts,

Ich kenn den 16F648 nicht, daf=FCr den 16F628 recht gut, und ich hab ihn im Einsatz. =

Irgendwie klingt das stark nach Interrupt-Problem. Bist Du auch wirklich sicher, dass die Interrupt-Behandlung alles =

ber=FCcksichtigt, also z.B. auch FSR und PCLATH sichern? Ein solches Problem hatte ich schon mal. Vielleicht stellt der 648 h=F6here Anforderung an die Qualit=E4t der Versorgung. Dem 628 kann man fast alles verf=FCttern was spannungsm=E4=DF= ig im erlaubten Bereich liegt, der l=E4uft immer. Aber das hei=DFt ja nicht dass es bei 648 auch so ist. Ich denke da an Spannungseinbr=FCche, Spikes, Einstreuung usw usf. Vielleich auch Probleme mit dem Oszillator. Probier doch mal einen anderen (=3Dexternen) Oszillator statt Quarz.

ozessoren

Das kann alles und nichts hei=DFen...

nen

Warum nimmst Du dann nicht den? Soviel teurer kann er ja auch nicht sein.

HTH Wolfgang

Reply to
Wolfgang Mahringer

Hallo Wolfgang Mahringer !: ......

Wir auch, eigentlich problemlos ..... lediglich etwas zu knapp Raum fuers Programm :-( - ich denke, 8 k waere prima !

Wenn das dies waere, sollte auch auf dem 628 nicht mehr laufen - die Prozessoren sollen doch fast identische Innenstruktur haben !

Ich glaube, das ist nicht der Fall. Ein 100n genau unter dem IC, 5V, ausserdem einige Tests mit und ohne Last (auch Relais, Trafos usw.) haben deutlich gezeigt, das der Hund nicht hier begraben wurde :-( ...

Das koennen wir noch machen. Aber wie gesagt, mit dem 628A laeuft alles problemlos !

Prozessoren

Hmmm, ich glaune, das Programm doch RICHTIG ist !

Na ja, fast doppel so teuer .... und etwas zu gross ;-( ... Und die Platinen fuer den 648 waren schon fertig !

..... :-( ! Danke fuer die Antwort !

--
Grzegorz Zalot

complex ltd.
office tel/fax : +48 32 2505840
mobil : +48 501 301515

http://www.complex.org.pl/
mailto:complex@alpha.pl
Reply to
Grzegorz Zalot

Hi Grzegorz,

Grzegorz Zalot schrieb:

ihn

rs

Ein 8k-Projekt mit einem 16F648 .... gewaltig :-) Ich hab bisher nur ein einziges Projekt gemacht, wo ich die 8K eines

16F877A fast voll ausgesch=F6pft habe. Aber das ist kein Vergleich, das Teil hat ja viel mehr Pins -> kann man viel mehr ansteuern damit. Und das Programm ist nur so gro=DF weil ein Haufen Tabellen drin sind.

Nimmst Du einen C-Compiler oder so was? Ich meine, vielleicht kann man die Software platzm=E4=DFig optimieren und Du kannst dann den 628 nehmen.

ozessoren

_Sollen_ jaja, aber wer garantiert das? =

Ich verla=DF mich nicht auf solche Aussagen. Die Marketing-Heinis =

erz=E4hlen alles m=F6gliche...und dann steht pl=F6tzlich als Fakt =

auf der Website. Datenblatt ist das einzige was z=E4hlt...und da sind noch gen=FCgend Spielr=E4ume zur Interpretation :-)

=DFig

sserdem

h

Mir f=E4llt noch ein:

- Offener Pin als Eingang geschaltet

- Config-Bits richtig? Ich meine sind die gleich wie beim 628er? Bin zu faul zum Datenblatt saugen und nachzusehen.

n

problemlos !

Ich wei=DF schon. Es geht doch darum, das Problem einzugrenzen. Bitte dann berichten :-)

Prozessoren

Man k=F6nnte noch nach und nach Teile aus dem Testprogramm rausnehmen damit es k=FCrzer wird und dann checken ob nach der "Operation" der Fehler noch da ist. Ist aber zeitaufw=E4ndig. =

einen

3A

tinen

Naja, die Zeit die Du aufgewendet hast, um den 648 zum Laufen zu kriegen kostet nichts? _Das_ ist teuer!

Ich mu=DF mir direkt mal so einen 648er besorgen, nur der Neugier halber...

lG Wolfgang

Reply to
Wolfgang Mahringer

Hallo Wolfgang Mahringer !: .......

Doch, doch :-) !!! .....

Na ja, za. 50 % der Prozeduren in Assembler ..... ....

Prozessoren

Normalerweise Microchip ..... ........

gemacht

ja.

ich etwa auch ein bisschen, aber mein Mitarbeiter musste (!) das machen .... ........

Genau. Und diese zeit fehlt jetzt gerade ..... .......

Und die produktion sollte irgendwann in 1000-er Stueckzahlen stattfinden. Hier 1 Eur macht schon langsam tausende ....

Genau. Bloss Achtung ! Manche Programme laufen problemlos !!!

Bis dann

--
Grzegorz Zalot

complex ltd.
office tel/fax : +48 32 2505840
mobil : +48 501 301515

http://www.complex.org.pl/
mailto:complex@alpha.pl
Reply to
Grzegorz Zalot

Hallo Grzegorz,

Könnte es vielleicht sein, dass die Assembler-Routinen probleme machen?

Ich könnte mir folgendes Vorstellen:

Asselmblerroutine geht über eine Seitengrenze hinweg. Da passiert ja weiter nix, PCLATH wird automatisch gesetzt. Dann kommt ein Sprung über die Seitengrenzen zurück, PCLATH wird nicht gesetzt, wo der Sprung dann endet,...

Gruss Jochen

Reply to
jochen rapp

Hallo Jan Reucker !:

Auf die Masse, oder per R auf +5V, und Eingang. Keinerlei unnoetigen Impulse, die auch Interrupts ausloesen koennen. Das betrifft allerdings nur 2 Pins ... die auch fuer die Programmierung notwendig sind.

--
Grzegorz Zalot

complex ltd.
office tel/fax : +48 32 2505840
mobil : +48 501 301515

http://www.complex.org.pl/
mailto:complex@alpha.pl
Reply to
Grzegorz Zalot

Hallo jochen rapp !:

Dann aber der 16F628, 16F873 und die anderen haetten auch den Fehler "gemeldet". Das ist nicht der Fall.

--
Grzegorz Zalot

complex ltd.
office tel/fax : +48 32 2505840
mobil : +48 501 301515

http://www.complex.org.pl/
mailto:complex@alpha.pl
Reply to
Grzegorz Zalot

Am Tue, 22 Jul 2003 07:29:17 +0200 schrieb Grzegorz Zalot:

Andersherum geht's halt auch und die Notwendigkeit einer externen Beschaltung entfällt. Einfach auf Ausgang stellen und Ruhe ist.

MfG Jan

--
Jan Reucker
email: jan dot reucker at web dot de
web:   http://www.reucker-online.de
Reply to
Jan Reucker

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.