Hallo, ich habe im Grundpraktikum für das E-Technik-Studium für einen Kunden meiner Praktikumsfirma kleine Mikrocontroller gesteuerte Module gebaut, die mit einem ST7FLite0 arbeiten und in Assembler programmiert wurden. Nun traten (natürlich erst nachdem ich weg war) Probleme bei manchen Modulen beim Einschalten der Versorgungsspannung auf. Trotz aktivierten Watchdog (per Option-Bytes beim ST7) und eingeschalteter Brown-Out-Detection beginnt der Controller garnicht erst das Programm abzuarbeiten. Den Quellcode darf ich nicht weitergeben, allerdings glaube ich auch nicht, dass hier das Problem liegt (denn fing er ersteinmal an zu laufen, lief er immer problemlos). Meine Frage nun: Kennt jemand von euch solche Erscheinungen (auch bei anderen Controller-Typen) oder hat eine Erklärung dafür? Bei einem AVR ist mir soetwas noch nie untergekommen und ich bin nun etwas ratlos, zumal der Fehler nicht wirklich reproduzierbar ist (manchmal startet er richtig, manchmal auch eben nicht). Gruß Christoph
Hi sind alle elektrischen Bedingungen für den Chip eingehalten? Genug Block-Cs? Steigt die Betriebsspannung evtl. zu langsam an? Matthias
Hatte ich auch schon mal. Bei mir warens die Quarze, die nicht anschwingen mochten - da greift dann kein Watchdog... Falls Du einen Quarz als Taktgeber verbaut hast, würde ich in dieser Richtung suchen. Bei mir hat eine Anpassung der Kondensatoren am Quarz geholfen.
das kenne ich auch. Das Anschwingverhalten war temperaturabhängig. Mögliche Lösung: -wie schon gesagt, Anpassung der Osz. Schaltung (Kondensatoren, evtl. Widerstände) -Quarzwechsel, kann am Exemplar liegen. Einfacher: Markenhersteller wählen, im Idealfall gibt der MC-Hersteller einen vor. Mit Raltron habe ich 100% beste Erfahrungen.
@thkais & crazy horse: Ein Quarz ist nicht vorhanden, es wird der interne Oszillator verwendet. @Matthias: Die ST7 sind tatsächlich etwas empfindlicher als die meisten AVRs und wollen einen recht schnellen Anstieg der Versorgungsspannung. Die maximale Zeit pro Volt wird aber eingehalten, was ich bereits während der Entwicklung nachgemessen hatte. Selbst bei lansamerer Anstiegszeit kam es zu keinen Problemen, wenn die Brown-Out-Detection aktiviert war (und die ist eben jetzt auch aktiv). War sehr schön am Oszilloskop zu sehen, wie der Reset-Pin genau bei der Schwellenspannung auf high ging und den Controller erweckte. Die elektrischen Bedingungen sind alle eingehalten und die Block-Cs sollten auch genügen. Auch die Störfestigkeitsprüfung (Burst- und Surge-Impulse) verlief erfolgreich, Probleme treten scheinbar nur beim Start auf.
Hallo Christoph! ich hatte mal von Phytec ein fertiges modul, mit einem C515-N drauf, gekauft und hatte ähnliche probleme. Die Ursache lag darin das der Reset pin in der Luft hing und sich wie eine Antenne verhalten. Dadurch enstehen sporatische abstürze oder das Programm läuft nicht ab weil irgendwie dauernd der Reset ausgelöst wird. Also Überprüf mal die Geschichte Reset vielleicht hast Du ja irgend wie einen Hardwarefehler (Durchkontaktierung, alles richtig angelötet usw.) Gruß Klaus
Um Softwarefehler auszuschließen, würde ich für sowas ein superkleines Prüfprogramm schreiben, was z.B. nur einen Port toggelt, den du dann mit einem Oszi prüfen kannst. Keine Unterprogramme, kein sonstiger Kram, nur absolut simples Programm erstellen. Wenn so ein Programm mal wirklich gut tut, dann dieses gut archivieren für zukünftige Fälle. Es ist immer ein Segen bei der Fehlersuche, wenn man sicher etwas ausschließen kann.
> War sehr schön am Oszilloskop zu > sehen, wie der Reset-Pin genau bei der Schwellenspannung auf high > ging und den Controller erweckte. Das ist aber sehr knapp. Wenn da nur ein bischen was schief laeuft. Verlaenger doch mal die Zeit bis zum Reset. Im Regelfall ist es doch fuer die Anwendung sch...egal ob der Reset ein paar ms spaeter kommt oder nicht.
"Kennt jemand von euch solche Erscheinungen" Ja: AT90S1200 ATTiny22 ACE1202 Alle diese hatten den Effekt, daß sie sich beim Einschalten manchmal verklemmten und es half auch kein externer Reset ! Der AT90S1200 wurde korrigiert. Der ATTiny22 wurde eingestampft. Den ACE1202 habe ich nicht weiter verfolgt, da ich seitdem die Nase voll habe von solchem Scheiß. Peter
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.