Sida 1 av 1
Clockfail på PIC 16F876A
Postat: 27 juni 2007, 22:06:55
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 ?
Postat: 27 juni 2007, 23:33:32
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.
Postat: 28 juni 2007, 01:29:37
av TomasL
WDT drivs väl av en egen inbyggd rc-osc.
Postat: 28 juni 2007, 15:12:47
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 ?
Postat: 28 juni 2007, 22:34:47
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.
Postat: 29 juni 2007, 08:46:42
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...
Postat: 30 juni 2007, 11:16:15
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.
Postat: 30 juni 2007, 12:23:45
av sodjan
Nä visst, och då är ju steget till en annan PIC16 mycket mindre än
till en PIC18...

Postat: 30 juni 2007, 14:08:55
av bengt-re
Jo, onekligen.... Och tid är ju alltid en bristvara...