Clockfail på PIC 16F876A

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Clockfail på PIC 16F876A

Inlägg av bengt-re »

Har inte hittat redigt vad den skall göra vid kristallhaveri. Har WDT aktivt, men det förefaller som att det beter sig märkligt vid klockhaveri - att kretsen fryser med aktuella nivåer på portarna. Jag trodde i min enfald att WDT skulle reseta kretsen och därefter hålla alla pinnar i high-z mode eftersom koden aldrig kommer igång om klockan stannat. Någon som forskat mer i detta ?
henkebenke
Inlägg: 521
Blev medlem: 31 maj 2003, 10:42:37
Ort: Helsingborg

Inlägg av henkebenke »

Vilken klock-source har WDTn? Försvinner kristallen lär väl inte WDTn räkna heller om den har kristallen som klock-source? Första kravet borde vara att ha en oberoende klocka för WDTn. Sen måste en reset kunna ställa utgångarna utan en klocka för deras register och buffrar.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47020
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Inlägg av TomasL »

WDT drivs väl av en egen inbyggd rc-osc.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Jag tror inte att det finns någon modell av PIC som *inte* har en egen
oberoende (av huvud osc) RC-osc för WDT.

Om WDT "triggar" sätts alla TRISx till "1", d,vs, alla portar som "input".
Därmot är PORTx "undefined" efter WDT (precis som efter en POR).

Dermot "håller" WDT inte kretsen på något sätt. Finns det en klocka
tillgänglig så går den igång precis som efter en vanlig MCLR-reset eller POR.

Om däremot kristallen har pajat, så borde allt stå still (med TRISx = "1").
(Vissa nyare modeller har "oscillator fail-over", men inte denna.)

Hur yttrar sig problemen ?
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Det är bara ett kort med dålig/trasig/glapp/tappad kristall. Det märkliga är att den "fastnar i " ett läge där vissa utgångar är i lägen som är hmmm... mindre bra att vara i under långa tider i. Problemet är inte värre än att jag byter kristall på det kortet eller slänger det, det som däremot oroar är att jag kände mig ganska säker på att WDT skulle reseta vid klockhaveri och eftersom klockan inte snurrar (eller dåligt) så skulle den hamna stanna eftersom den inte får några nya klockpulser och följaktligen borde stanna med alla pinnar i High-Z. Eventuellt så får den några störda pulser ibland och det är detta som ställer till det. Klockfel kan ge lite läskiga konsekvenser.....

"oscillator fail-over" vore kankse inte dumt - Hela 18-serien har detta om jag inte missminner mig. Vore kanske idé att byta till 18F2320 för att öka säkerheten - eller skälla på legotillverkaren att man är försiktig med kristaller/resonatorer/oscillatorer då dessa inte gillar att tappas eller misshandlar fysiskt.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Eller till 16F886, vilket är en mycket enklare "dropp-in" (nästan).
Det har samma "Fail-Safe Clock Monitor" med switch till intern osc när
kristallen lägger av och ett interrupt så att programvaran kan ta
hand om det som behöver göras...
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Aha, ser ut som om jag borde ta och läsa databladet på den - vill helst inte ändra för mycket i firmware då det är rätt mycket testtid för att verifiera att man inte har gjort något fel någonstanns.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Nä visst, och då är ju steget till en annan PIC16 mycket mindre än
till en PIC18... :-)
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Jo, onekligen.... Och tid är ju alltid en bristvara...
Skriv svar