Ext AT89S8252 Watchdog

G

GrandAlf

Guest
Ik heb nooit gevonden dat de interne wathdog op de AT89S8252 zeer betrouwbaar te zijn, en hebben altijd gebruik gemaakt van een extern apparaat aangedreven uit een haven pin.Op mijn volgende project zal ik moeilijk vinden van een reserve-pin.De vraag is, denk ik van het gebruik van ALE plaats, ik weet dat het zal werken, maar zal het even betrouwbaar zijn als software gegenereerd pulsen.BTW is er geen extern geheugen gebruikt.Eventuele opmerkingen appreciated.

 
Hi GrandAlf,

Zelfs als u geen gebruik maken van een extern geheugen, de AT89S8252 blijven versturen ALE pulsen met een constante snelheid van 1 / 6 de oscillator frequentie.
ALE het is niet een I / O-pin, dus je hebt geen controle op.
Als u wilt de pulsen die zijn coming out alleen van de ALE pin, dat is niet zo betrouwbaar als software te gebruiken gegenereerde pulsen want zelfs indien het micro stopt in een gesloten lus, de ALE pulsen nog worden verzonden buiten.
Dus als u een extern apparaat werkt als retriggerable monostabiel door de pulsen uit uw vrije pin, dat zal niet werken als je in gedachten hebben om de ALE gebruiken.Juist omdat het nooit zal opnieuw de micro, als een waakhond zou doen.

Het is waar dat je bit 0 van SFR locatie 8EH kunt instellen om te stoppen met het zenden pulsen op ALE wanneer de externe geheugen het niet toegankelijk is, maar ik zou niet rekenen op dat, hoewel het zou kunnen werken.

 
Goed punt Silvio, ik waardeer uw advies.Ik kan zien dat dit zou niet zijn betrouwbaarder dan het gebruik van de ingebouwde WD.Dit heeft natuurlijk het probleem dat als het niet krijgen een schone reset, zal het niet opnieuw goed.Moeten denken aan een andere manier.

 
Hi GrandAlf,

U kunt, mits de AT89S8252-functie uitschakelen van ALE-signaal als volgt:

Code:

ALE_ONOFF EQU 8EH; SFR label verklaringORL ALE_ONOFF, # 01h; Stop sturen ALE (begin van de externe monostabiel

;. Cyclus gedreven door ALE-pin en eerste Watchdog cyclus)

;.

;.

;.

;. vervang dit met uw code

;.

;.

CLR EA

ANL ALE_ONOFF, # 0FEh; beginnen met het verzenden ALE peulvruchten en retrigger monostabiel

NOP; laat een cyclus om zeker te

ORL ALE_ONOFF, # 01h; Stop sturen ALE peulvruchten en laat monostabiel te lopen

SET EA

;.

;.

;. vervang dit met uw code

;.

;.

;.

CLR EA

ANL ALE_ONOFF, # 0FEh

NOP

ORL ALE_ONOFF, # 01h

SET EA

;.

;.

;.

;.
 
GrandAlf waarom u vindt op WD 8252 niet betrouwbaar?

Ik gebruik WD over 8252 een paar keer en ik denk dat het werkt prima.

Mr.Cube

 
Thanks again Silvio, waren de lijnen die ik al had gedacht.Ik was meer geïnteresseerd in het bewaken tegen vertragen als gevolg van externe effecten, in plaats van software loops, dus ik veronderstel dat ik kon gewoon als ALE is.

Mrcube,
Het probleem lijkt te zijn dat wanneer een vastloper optreedt als gevolg van elektrische ruis, als het geluid is er nog steeds bij de MCU weer opstart, kan het corrupte het opstarten procedure, en niet het opzetten van de WD registers behoren, dus je verliest de WD en de MCU is nog steeds geblokkeerd.Externe WD chips met SW gegenereerde pulsen omzeilen dit probleem.

Maar goed je denkt dat je iets ontworpen met betrekking tot de EMC, kan het nog steeds gebeuren.Belangrijkste probleem lijkt te zijn lokale blikseminslag, of zeer bas spanningspieken.Er is een limiet van wat je kunt doen, en nog steeds rendabel.

 
Leuk om dat vastloper van 8252 weten bestaan.

Maar, als je MCU in metaal-zaak (EM bescherming tegen geluidshinder) verbonden met GND MCU van design en kwaliteit condensator zetten (sommige polypropilen of keramische of iets dergelijks) op voedingen pinnen van MCU dichter als posible (elektrische ruis trought voeding bescherming ), ik denk dat goed genoeg is om te houden van vastloper effect.

Vertel me als ik verkeerd ben.

Mr.Cube

 

Welcome to EDABoard.com

Sponsor

Back
Top