[elektro] Mikrokontroller kimenet "megvédése" a resettől?

hg12345 hg12345 at freemail.hu
Wed Aug 3 18:23:24 CEST 2016


Egyáltalán ez milyen kontroller.
mert egy ARM van vagy 7 fajta reset és nem mindegyik működik azonos módon.
Az ugrás nullára pl. egy ARM-ben valószínűleg nem szerencsés mert ott nincs semmilyen utasítás maximum egy HARD-ERROR-t tudsz generálni. Valószínűleg a legtobb 16 és 32 bites kontroller aminek már van HW hiba detektálása hasonlóan fog működni.

De kis kontroller esetén a HW reset (Watchdog) a stackpointer is alaphelyzetbe állítja a PC-n kívül és statusz regisztert is, (további lehetőségek index és egyéb kiegészítő regiszterek) és ha olyan a kontroller, akkor minden portot bementenek fordít. Ezzel szemben az ugrás nullára nem csinál semmit, az SP utána nem állítod, akkor kis szerencsével a sok ugrálás után elfogy a stack memóriád.... (egy kellemetlen "memory leakage" okozva)

üdv


Karoly Kovacs <koka55 at gmx.at> írta:
>Mire gondolsz?
>Mind a kettő software reset, csak más módszerrel történik.
>
>Károly
>
>Acs Gabor wrote:
>> Mert az egyik reset, a másik nem?
>>
>>
>> Gábor
>>
>> 2016.08.03. 10:23 keltezéssel, Karoly Kovacs írta:
>>> Apró érdekesség, és nem tudok rájönni, mi okozza.
>>> Ha "dirty" módszerrel resetelek (ugrás a 0-ás címre), akkor minden
>>> oké, de az interneten mindenütt ajánlott tiszta módszer (Watchdog-gal
>>> resetelni) nálam nem működik. Pontosabban túl jól működik: reseteli a
>>> portokat is. A WDT reset biztosan csinál valami pluszt is,
>>> valószínűleg nagyon részletesen el kellene olvasnom az Atmega 328-as
>>> doksikat.
>>> De különösebben nem hoz lázba ez a "hiba", megelégszem a piszkos
>>> módszerrel. :)
>>>
>>> Károly
>>>
>>> Pataki István wrote:
>>>> OK! Megzavart a "reset" szó, ami nálam főleg hardver resetet jelent, bár
>>>> én is használok olyan eszközöket, amikben akár többszintű is lehet a
>>>> "reset"-nek nevezett (szoftver) funkció.
>>>>
>>>> pi
>>>>
>>>>
>>>> ----- Original Message ----- From: "Karoly Kovacs" <koka55 at gmx.at>
>>>> To: <elektro at tesla.hu>
>>>> Sent: Tuesday, August 02, 2016 9:51 PM
>>>> Subject: Re: [elektro] Mikrokontroller kimenet "megvédése" a resettől?
>>>>
>>>>
>>>>> Pista!
>>>>>
>>>>> De hát már írtam, hogy megoldódott!
>>>>> És a biztonság kedvéért "megfejeltem" a Jóska által ajánlott kondival.
>>>>> Úgy tűnik, stabil.
>>>>>
>>>>> Köszi mindenkinek!
>>>>> Károly
>>>>>
>>>>> Pataki István wrote:
>>>>>> Az itt felvetett megoldások nagyon különböző eredményre vezetnek. Amíg
>>>>>> nincsen definiálva pontosan a feladat, csak találgatás szintjén
>>>>>> megy az
>>>>>> ötletelés.
>>>>>>
>>>>>> pi
>>>>>>
>>>>>>
>>>>>> ----- Original Message ----- From: "Karoly Kovacs" <koka55 at gmx.at>
>>>>>> To: <elektro at tesla.hu>
>>>>>> Sent: Tuesday, August 02, 2016 12:09 PM
>>>>>> Subject: Re: [elektro] Mikrokontroller kimenet "megvédése" a resettől?
>>>>>>
>>>>>>
>>>>>>> Nem zártam ki, lehet, hogy rosszul fogalmaztam.
>>>>>>> Nem a sw resetet zártam ki, hanem azt vontam kétségbe, hogy
>>>>>>> szoftveresen megoldható ez a probléma.
>>>>>>>
>>>>>>> Károly
>>>>>>>
>>>>>>> Pataki István wrote:
>>>>>>>> Az indító kérdésben magad zártad ki a sw resetet:)
>>>>>>>>
>>>>>>>> Az biztos, hogy nem azonos a hard resettel, de mindig meg kell
>>>>>>>> nézni a
>>>>>>>> vezérlő adatlapjában. De ha jól értem, te csak a szoftvert akarod
>>>>>>>> újraindítani valami miatt, amiről azonban nem írtál, pedig fontos,
>>>>>>>> mert
>>>>>>>> az határozza meg, hogy hard vagy szoft beavatkozásra van-e szükség!
>>>>>>>>
>>>>>>>> pi
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ----- Original Message ----- From: "Karoly Kovacs" <koka55 at gmx.at>
>>>>>>>> To: <elektro at tesla.hu>
>>>>>>>> Sent: Tuesday, August 02, 2016 7:53 AM
>>>>>>>> Subject: Re: [elektro] Mikrokontroller kimenet "megvédése" a
>>>>>>>> resettől?
>>>>>>>>
>>>>>>>>
>>>>>>>>> Na, megmértem szkóppal. Lehet, hogy nem is kell semmit csinálnom.
>>>>>>>>> Ha a Setup részben (Arduinoról van szó) csak az áll, hogy:
>>>>>>>>> pinMode(TRIAK_PIN, OUTPUT);
>>>>>>>>> azaz, ha ott nem állítom be a szintet (LOW vagy HIGH), hanem
>>>>>>>>> magában a
>>>>>>>>> programban állítgatom, és a resetet így definiálom:
>>>>>>>>> void(* resetFunc) (void) = 0;
>>>>>>>>> majd a megfelelő helyen felhívom, akkor nem csinál semmit az output
>>>>>>>>> porttal. Juhééééé! :)
>>>>>>>>> (Ha hw resetet csinálok, akkor természetesen mindent resetel.)
>>>>>>>>>
>>>>>>>>> Károly
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Karoly Kovacs wrote:
>>>>>>>>>> Sőt, még egyszerűbbet találtam: RS tároló. (Illetve a kényelem
>>>>>>>>>> és a
>>>>>>>>>> biztonség kedvéért egy 74HC74 vagy egy 4013 D tároló).
>>>>>>>>>> Van ugyanis elegendő szabad kimenetem a mikrokontrolleren, így
>>>>>>>>>> simán meg
>>>>>>>>>> tudom oldani, hogy a tároló R és S bemeneteit billegetem, nem baj,
>>>>>>>>>> hogy
>>>>>>>>>> két kimenetet használok fel e célra. Ekkor nem is kell
>>>>>>>>>> vacakolnom a
>>>>>>>>>> Watchdoggal.
>>>>>>>>>>
>>>>>>>>>> Károly
>>>>>>>>>>
>>>>>>>>>> Pataki István wrote:
>>>>>>>>>>> Szerintem is ezzel oldható meg a feladat, amennyiben az a
>>>>>>>>>>> specifikáció,
>>>>>>>>>>> hogy a bekapcsolt állapotot ne szakítsa meg egy adott
>>>>>>>>>>> időtartamot nem
>>>>>>>>>>> túllépő reset állapot. A leírásból az látszik, hogy kikapcsolt
>>>>>>>>>>> állapotban nincsen dolga a védelemnek, a felhúzó ellenállás
>>>>>>>>>>> ezt nem
>>>>>>>>>>> teljesíti.
>>>>>>>>>>>
>>>>>>>>>>> pi
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ----- Original Message ----- From: "Karoly Kovacs"
>>>>>>>>>>> <koka55 at gmx.at>
>>>>>>>>>>> To: <elektro at tesla.hu>
>>>>>>>>>>> Sent: Monday, August 01, 2016 10:56 PM
>>>>>>>>>>> Subject: Re: [elektro] Mikrokontroller kimenet "megvédése" a
>>>>>>>>>>> resettől?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Horvath Janos wrote:
>>>>>>>>>>>>> Reset alatt nem 0-ban van, hanem lebeg.
>>>>>>>>>>>> Ja, igen igazad van!
>>>>>>>>>>>>
>>>>>>>>>>>> Közben arra gondoltam, hogy mi lenne, ha a kimeneten egy 555-ös
>>>>>>>>>>>> monostabilt alakítanék ki (ez hajtaná aztán az optocsatolón
>>>>>>>>>>>> keresztül
>>>>>>>>>>>> a Triakot), ezt a monostabilt pedig Watchdog-gal lökdösném? Ez
>>>>>>>>>>>> szerintem tuti biztosan 1-ben marad (a monostabil
>>>>>>>>>>>> időállandójáig),
>>>>>>>>>>>> akármilyen reset esetén is.
>>>>>>>>>>>>
>>>>>>>>>>>> Károly
>>>>>>>>>>>
>>>>>>>>>>> -----------------------------------------
>>>>>>>>>>>          elektro[-flame|-etc]
>>>>>>>>>>
>>>>>>>>>> -----------------------------------------
>>>>>>>>>>          elektro[-flame|-etc]
>>>>>>>>>
>>>>>>>>> -----------------------------------------
>>>>>>>>>          elektro[-flame|-etc]
>>>>>>>>
>>>>>>>> -----------------------------------------
>>>>>>>>          elektro[-flame|-etc]
>>>>>>>
>>>>>>> -----------------------------------------
>>>>>>>          elektro[-flame|-etc]
>>>>>>
>>>>>> -----------------------------------------
>>>>>>          elektro[-flame|-etc]
>>>>>
>>>>> -----------------------------------------
>>>>>          elektro[-flame|-etc]
>>>>
>>>> -----------------------------------------
>>>>          elektro[-flame|-etc]
>>>
>>> -----------------------------------------
>>>          elektro[-flame|-etc]
>>
>> -----------------------------------------
>>          elektro[-flame|-etc]
>
>-----------------------------------------
>          elektro[-flame|-etc]



More information about the Elektro mailing list