eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikadziwny problemdziwny problem
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
    OSTED!not-for-mail
    From: sundayman <s...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: dziwny problem
    Date: Tue, 7 Mar 2017 19:58:36 +0100
    Organization: ATMAN - ATM S.A.
    Lines: 58
    Message-ID: <o9mvt3$tsf$1@node1.news.atman.pl>
    NNTP-Posting-Host: 91.205.72.35
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node1.news.atman.pl 1488913123 30607 91.205.72.35 (7 Mar 2017 18:58:43 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Tue, 7 Mar 2017 18:58:43 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101
    Thunderbird/45.7.1
    X-Mozilla-News-Host: news://news.atman.pl:119
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:714190
    [ ukryj nagłówki ]

    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.




Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: