Potrzebuję takie dziwne coś...może podpowiecie.
Otóż - MCU ma włączać lub wyłączać przekaźnik. Ale nie może to być zrobione po prostu w ten sposób, że jakiś port steruje tym przekaźnikiem, włączając go na określony czas.
Dlaczego ? Ano dlatego, że chodzi o bezpieczeństwo. W razie np. awarii samego MCU, albo chociażby zawieszenia MCU mogłoby się zdarzyć, że ten port mógłby pozostać włączony dłużej niż trzeba. A to się nie ma prawa wydarzyć.
Obecnie jest to rozwiązane w taki sposób, że w układzie są dwa MCU. Jeden nadzoruje drugi i jeżeli wykryje, że ten drugi coś robi nie tak - odłącza ten przekaźnik (oba muszą go uruchomić, żeby się włączył). Ale jest to nieco upierdliwe - trzeba oprogramować oba MCU itp.
Zatem - chciałbym pozostawić jeden MCU. Ale - zamiast sterować jednym portem - zastosować np. 3 linie. Aby przekaźnik został włączony - musi pojawić się określona sekwencja na tych 3 liniach. Znaczy - musi ona się tam pojawiać cały czas, z określonym okresem.
Jeżeli ta sekwencja zostanie zakłócona jakkolwiek - przekaźnik zostaje wyłączony i dodatkowo zostaje wygenerowany sygnał resetujący MCU.
Od strony programu, sekwencja będzie generowana równocześnie w kilku miejscach programu - osobno dla każdej "linii" - aby jak najmniejsze było ryzyko, że program się "zapętli", a sekwencja nadal jest generowana poprawnie.
Pytanie jest - jak możliwie prosto zrobić ten zewnętrzny układ ? No bo zastosowanie w jego roli MCU jest bez sensu w stosunku do obecnego rozwiązania.
Układ musi być jak widać sekwencyjny, ale też z "pomiarem czasu", żeby jakieś zmiany poprawnego czasu było wykrywane. Czyli chyba żadne proste układy logiczne się nie nadadzą, zwłaszcza że nie chcę dodawać x elementów.
Użycie jakichś wyrafinowanych układów typu FPGA czy nawet układów logicznych o "dużej mocy" też jest jakby nie na miejscu - bo to będzie w sumie bardziej kłopotliwe niż drugi MCU.
Może podpowiecie, jakie układy programowalne będą "w sam raz" ? Cena do kilkunastu zł ma sens. Obudowa SMD. Może być jednokrotnie programowalne, czy wielokrotnie - nie ważne.
A może jest jakiś wynalazek, który do czegoś takiego służy (wątpię) ?
PS; oczywiście oprogramowanie wykorzystuje watchdogi. Ale to niestety nie jest zabezpieczenie przed nietypowymi zachowaniami programu - nie zapewnia bezpieczeństwa. Jednak kiedy program się wykrzaczy w "idle", to pół biedy. Przekaźnik musi być w 100% włączany przy "pełnej świadomości" programu - stąd konieczność takiego zabezpieczenia.