Dziwny problem - part II czyli timer

Ok, założę nowy wątek - żeby omówić pomysł powstały pod wpływem uwag kolegów ( i może koleżanek ?? Żadna się nie ukrywa pod nic nie znaczącym nickiem ??).

Zatem - mam taką wizję:

Układ "timera" programowalnego, który :

- posiada licznik czasu powiedzmy 8 bitowy, odliczający od zadanego czasu w dół. Co sekunda.

- licznik ten może być ustawiony przez MCU jakimś portem szeregowym, z użyciem jakiegoś "adresu" czy "hasła" - aby zminimalizować ryzyko zapisu przypadkowym ciągiem.

- jest możliwość startu i stopu - również odpowiednimi "komendami".

Po starcie, aż do osiągnięcia "0" jest aktywne wyjście "przekaźnik". Czyli wyjście = (stan licznika > 0).

Jeżeli licznik nie zostanie zatrzymany przed odliczeniem do zera, oczywiście wyłącza "przekaźnik", zapisuje informację o incydencie do jakiegoś przerzutnika ( który można odczytać przez MCU ), oraz resetuje MCU.

Dodatkowo - MCU powinien mieć możliwość wyboru częstotliwości zegara tego timera : dla normalnej pracy odliczamy co 1 Hz, oraz w drugiej opcji jakoś szybciej.

Dlaczego ? Żeby MCU mógł podczas autodiagnostyki systemu sprawdzić działanie tego licznika - bez konieczności czekania 255 sek. Nie jest to ryzykowne - bo jeżeli podczas "normalnej" pracy zegar by pracował nieprawidłowo (szybciej) to czas będzie krótszy a nie dłuższy.

Dobrze by też było, żeby oprócz zapisu licznika MCU mógł też odczytać jego stan.

Oraz, żeby po jego zapisaniu i wystartowaniu licznik nie mógł być ponownie zapisany aż do poprawnego zakończenia danego odliczania.

Taka mniej więcej struktura. Jakiego typu układ programowalny byłby tu odpowiedni ? Nie za duży nie za mały ? Zasilanie 5V. SMD. Nie wiem, czy jakieś typy są mniej czy bardziej predystynowane do zast, przemysłowych...

Doświadczenie mam z tego typu układami dokładnie zerowe - zatem przy okazji się nauczę może czegoś.

Reply to
sundayman
Loading thread data ...

W dniu 2017-03-08 o 22:21, sundayman pisze:

Małych fpga nie znajdziesz, dałby małego procka 8 pin jakiegoś atiny.

Reply to
Janusz

Kolega nie śledził wątku w części "I" :) Właśnie chodzi o to, żeby nie robić na MCU, tylko "sprzętowo". Oczywiście, nie FPGA, ale jakieś tam PAL,GAL, MACH, CPLD są i cała kupa tego rodzaju wynalazków.

Reply to
sundayman

Cafam, 3.6V ponieważ Xmega w okolicy...

Reply to
sundayman

Ale co Ci za różnica, czy to będzie MCU czy FPGA, skoro zamiana nie rozwiązuje podstawowego problemu, czyli sprzętowej awarii stopnia sterującego przekaźnikiem? Komórki IO są zasadniczo jednakowe w MCU i PLD. Pisano Ci już o tym, że w przeciążonym krzemie zazwyczaj awaria jest na zwarcie w wyniku dyfuzji na złączu, prowadzącej do powstania dobrze przewodzącego stopu, i to jest dla Ciebie najgorszy scenariusz.

Są techniki radzenia sobie z tym, opisane m.in. w książce GE o tyrystorach z lat 70. -- kilka redundantnych par sterujących obciążeniem i coś na kształt transformatora Ferrantiego do wykrywania niejednakowych przepływów. Ale, wybacz szczerość, nie jesteś zainteresowany rozwiązaniem *kluczowych* problemów, tylko poczuciem się lepiej poprzez nawalenie pseudozabezpieczeń w rodzaju watchdogów. Urządzenia o wysokich wymaganiach bezpieczeństwa muszą mieć dodatkowe zabezpieczenia mechaniczne (np. klocek z ołowiu na linii wiązki promieniowania), w samą elektronikę nikt nie wierzy.

Gdyby projekt miał być ultrabezpieczny, to bym poważnie rozważył sterowanie przekaźnika wzmacniaczem magnetycznym. Jak coś padnie, to w dobrą stronę.

Pozdrawiam, Piotr

Reply to
Piotr Wyderski

Zabezpieczenie będzie zasługiwało na swoją nazwę dopiero wtedy, gdy uchroni użytkownika przy całkowitym padzie płytki sterującej, w tym na zwarcie dowolnego układu scalonego. Tym się proponuję zająć, a nie rozważaniami, ile Hz ma mieć przebieg sterujący i czy da się zasilić z 3,6V. A jak dostanie 20V w wyniku surge i się choć jedna komórka tranzystora wyjściowego stopi, to co?

Pozdrawiam, Piotr

Reply to
Piotr Wyderski

Ale uszkodzenie IO jest malo prawdopodobne. Za to zawieszenie programu bardzo prawdopodobne :-)

A jak juz usterki sprzetowe rozpatrujemy, to przeciez tranzystor sterujacy przekaznikiem moze sie zewrzec, przekaznik moze sie skleic, mucha moze wleciec miedzy styki itp :-)

Ale to nie sa kluczowe problemy :-)

Swoja droga - jak to w NASA robia ? Tam ponoc trzeba przewidziec mozliwosc uszkodzenia dowolnego elementu, wiec ...

4 tranzystory i 2 przekazniki ? 6 tranzystorow i 3 przekazniki ? Wszak element sie moze na dwie strony zepsuc - nie wylaczy lub nie wlaczy ...

J.

Reply to
J.F.

Tak, ale MCU jest ze swojej natury bardziej podatne na awarie, chociażby z uwagi na sekwencyjny sposób działania. W FPGA nie ma zmiennych, które mogą się "przestawić", nie programu, który może się posypać.

Teoria jest dobra, tylko mało praktyczna. Są sytuacje, w których nie można dać klocka z ołowiu. A jeżeli chcesz powiedzieć, że struktura systemu nie ma znaczenia, bo i tak ostatecznie powinien być klocek z ołowiu...

Spróbuj się trzymać założeń. A one są takie - układ elektroniczny, o jak najmniejszej podatności na zakłócenie działania z powodu EM.

Teraz - czy jest twoim zdaniem różnica w działaniu MCU, w którym jeden bit w jakimś rejestrze zostaje przestawiony (bez uszkadzania go nawet) - a taką samą sytuacją dla CPLD ?

Twoim zdaniem są to sytuacje o takim samym prawdopodobieństwie "awarii" ?

Reply to
sundayman

Oczywiście diwajs posiada wszystkie możliwe zabezpieczenia przed tym. Różne tam transile, warystory, a nawet gazowe wyładowcze, itp itd.

Zresztą tutaj jest odrobinę podobna sytuacją - system jest zasilany z aku, z doładowanie z solarów. Więc przepięcie może powstać tylko z powodu EM.

Tak że uwaga słuszna, ale pomijamy ją tutaj bo to inny temat.

Reply to
sundayman

Użytkownik "sundayman" napisał w wiadomości grup dyskusyjnych:o9rsjf$d48$ snipped-for-privacy@news.icm.edu.pl...

Zalezy ktore. Ogolnie - duzo tam elektroniki, a kazda drobna zmiana moze byc tragiczna w skutkach :)

Te przepalanki Actela jakby bezpieczniejsze ...

CPLD to jeszcze inna bajka, ale przestawienie 1 bitu konfiguracji w takim FPGA ... no, moze szczesliwie w jakims nieuzywanym i izolowanym obszarze.

Akurat w FPGA technologia zblizona do RAM czesta, wiec przypadkowe przestawienie bitu mysle ze podobnie prawdopodobne jak w rejestrze. CPLD zdaje sie, ze zazwyczaj zbudowane inaczej - to predzej jak przestawienie zawartosci flasha.

Ale o bledzie w bardziej skomplikowanym programie nawet nie ma co wspominac - na pewno jest kilka :-)

J.

Reply to
J.F.

Użytkownik "sundayman" napisał w wiadomości grup dyskusyjnych:o9ptqc$sj3$ snipped-for-privacy@node1.news.atman.pl...

Ogolnie - CPLD.

PAL/GAL - troche za male, FPGA - za duze, ale moze na kilka takich licznikow w sam raz. Mach obecnych nie znam - moga byc za duze, a moze akurat w sam raz.

Mozesz sie zainteresowac Actel/microsemi - jesli ciagle robia swoje "antifuse" ... to jest bezpieczne :-)

formatting link
One generalnie beda za duze do tego celu ... ale to tylko kwestia ceny :-)

J.

Reply to
J.F.

Masz na to jakieś konkretne dane, czy jedynie po prostu głęboko w to wierzysz?

Masz za to olbrzymi zbiór funkcji logicznych, który po trafieniu choćby cząstką promieniowania kosmicznego może się stać zupełnie innym zbiorem oraz konfigurowalny routing, który w wyniku tych samych zjawisk nagle może zacząć routować sygnały gdzie indziej, niż to sobie założyłeś. FPGA to jest jeden wielki statyczny RAM, pooglądaj sobie zdjecia struktur. Zajmuje całą płytke krzemową. Wystarczy przerzucić jeden jedyny bicik w tym RAMie i masz problem. Nie wspominając o tym, że FPGA ze względu na swoją złożoność i wymagane parametry wykonuje się na znacznie nowszych liniach, w tym 22 nm. No to teraz sobie sam odpowiedz, o ile łatwiej tą samą kaskadą ładunków zmienić stan kwadracika o boku 22nm w stosunku do kwadracika o boku 180nm, nie wspominając o tym, że tych pierwszych jest też nieporównywalnie więcej, bo w procesorze przerzutników jest mniej.

To nie jest teoria, tylko czasami wręcz wymaganie prawne przy atestacji urządzeń, w tym do terapii radiacyjnej: mechaniczne blokady kluczowych podsystemów. Nie masz przysłowiowego klocka z ołowiu, nie będzie pieczątki z Reichsadlerem, nie wejdziesz na rynek. Konkretne zgony za tym stoją:

formatting link
> Są sytuacje, w których nie można dać klocka z ołowiu.

Są też sytuacje, że nie można nie dać. Nie wiem, jaką Ty masz, ale piszesz coś o ryzyku sprowadzaniu zagrożenia zdrowia i życia, więc się zastanów dwa razy, zanim kogoś owdowisz.

Trzymam się ich dokładnie: wzmacniacz magnetyczny zbudowany z dwóch odpowiednio dobranych do silnika gotowych transformatorów sieciowych zaliczam do układów elektronicznych i to rozwiązujących pewne kluczowe problemy ze sterowaniem silnikiem. Nie musisz tego rozwiązania lubić, w końcu to Ty jesteś konstruktorem, a nie ja, co nie zmienia faktu, że w mojej ocenie jest najpewniejsze. Pokochaj, znienawidź -- Twoja sprawa.

W CPLD też są przerzutniki, i to cała masa. Dodatkowo, oba urządzenia są oparte o pamięć flash, która jest niepewna i stosunkowo nietrwała.

Moje zdanie, czyli de facto wiara, jest tu zupełnie nieistotne. Znaczenie mają wyłącznie wyniki rzetelnych pomiarów, uwzględniające statystykę. Ja nimi nie dysponuję. Ty, przypuszczam, też nie. Robi się więc z tego jałowa dyskusja o uprzedzeniach.

Gdybym miał zgadywać, to najmniej pewne bądą FPGA, potem wielobitowe MCU, a na końcu 8-bitowe MCU i CPLD, bez jasnego faworyta. Stosunkowo pewne będą sprzętowe układy półprzewodnikowe, a najpewniejsza logika magnetyczna, bo trudno popsuć kawałek drutu.

Pozdrawiam, Piotr

Reply to
Piotr Wyderski

Ale czy aby na pewno zaowocowaly wymogiem mechanicznej blokady w Reichprzepisach ?

Piotrze - ale czy on potrafi silnik na dobre wylaczyc ? Bo ze schematu tego najprostszego, to by wynikalo ze to tylko dlawik, wiec nadal niemaly prad plynie (IMO - zaroweczka powinna swiecic :-))

Moze i silnik sie juz nie obroci, ale lepiej, zeby elektryk po kablach nie macal.

No i pojdz na calosc - cala logike na wzmacniaczach magnetycznych, bo co bedzie, jak piorun walnie od strony wyjscia - tranzystor sterujacy wejsciem przetrwa ? :-)

J.

Reply to
J.F.

Wierzę w krasnoludki. Imo w MCU pojedynczy błąd będzie miał gorsze skutki niż w CPLD jest oczywisty, już choćby z uwagi na ilość zasobów zaangażowanych w operację.

Dlatego, żeby miało to sens, należałoby wybrać taki chip, który będzie jak najlepiej dopasowany do zagadnienia. Opisany przeze mnie timer to mniej więcej tyle, co zapewne timer w MCU. Za to bez całej reszty.

Tylko, że to jest gadanie oderwanie od konkretnego przypadku. Szkoda czasu na mielenie tego.To nie jest prasa, pod którą ktoś wsadzi głowę. Żeby się zdarzyło nieszczęście, musiałoby nastąpić kilka rzeczy, których początkiem mogłoby być nie wyłączenie tego przekaźnika.

Dlatego - w ramach możliwości, a także jakby nie było - pewnej edukacji

- myślę nad tym.

Tłumaczyłem już jak to wygląda. Piszesz w sumie słusznie, ale nie trzymasz się konkretnego przypadku. W urządzeniach konkurencji wszystko działa ja jednej Atmedze. Bez żadnych tego typu "zabezpieczeń". Nawet nikt tam nie pomyślał o tym. To co robię jest zapewne "na wyrost" - ale jestem widocznie wyjątkowo przewrażliwony :) A co mi szkodzi ?

Jak przykręcam kołkami uchwyt pod TV też wolę dać 8mm zamiast 6mm. Które pewnie i tak wystarczyłyby. No widać, jakieś zboczenie.

Zrozum żesz wreszcie, że sens ma dyskusja w wyznaczonych ramach :) Ja wiem lepiej chyba - nie ma sensu wymyślanie cudów na kijku, ponieważ ani nie ma takiej konieczności, ani nie takiej możliwości.

Tu chodzi o dodanie jakiegoś miejsca po przecinku do obecnego ryzyka wystąpienia określonej sytuacji. Tak jak jest - nie jest źle. Chodzi o to, żeby albo poprawić o tyle ile można, albo pozostawić - usuwając problemy, które stwarza MCU2.

Schemat opisanego timera mogę zrobić sam na bramkach, na schemaciku. Ile to będzie procent "schematu" Atmegi 8 ?

No więc właśnie - sens ma znalezienie układu, najlepiej jednorazowo programowalnego, o zasobach adekwatnych do takiego licznika. Czy logika zrobiona na 74xx jest pewniejsza niż na jakimś PAL'u na przykład ? Nie wiem - tego bym się chętnie dowiedział jak i dlaczego.

Ale - powiem tak szczerze, że być może sprawę załatwia zasadniczo np. RTC/watchodog , programowany via I2C, z funkcją alarmu. Bo właściwie mój opis do tego się sprowadza - taki programowany I2C watchdog.

Ale fajniej by było sobie to samemu zrobić - zwłaszcza, że od lat się zabieram do nauki FPGA.

Reply to
sundayman

Mnie się kilkukrotnie przytrafiło, z przyczyn różnych. Ale przytrafiła mi się też awaria mostka Graetza. Ja już nie wierzę w półprzewodniki, najwyraźniej drażniąc tym Kolegę wątkotwórcę.

Ja bym się (znów z praktyki) bał spurious reset. :-) Nigdy mi się program nie zawiesił, natomiast resety bez przyczyny miewałem.

Nie wiem, co robią w NASA, ale manual GE opisuje dokładnie Twoje rozwiązanie 6-elementowe (w kilku wariantach). Dowolny element się może dowolnie uszkodzić, a całość działa nadal sprawnie, aż się pan Zenek-konserwator zdecyduje ruszyć odwłok i wymieni moduł bez wyłączania maszyny.

Pozdrawiam, Piotr

Reply to
Piotr Wyderski

A dla mnie to wcale nie jest oczywiste. Przypominam, że *C*PLD to jest Complex PLD. W przypadku awarii nie jest ważne, ile zasobów wykorzystujesz, tylko ile ich jest w ogóle, bo potencjalnie każdy może Ci się włączyć lub wyłączyć. To jest proporcjonalne do powierzchni płytki krzemowej i jej gęstości, a nie do tego, czy daną strukturę zwyczajowo nazwiesz MCU, a inną CPLD. To jest czysta fizyka.

Ale to Ty się upierasz nie mówić, co to urządzenie konkretnie robi. Nasza wina, że słabo nam idzie zgadywanie?

Takie rzeczy się zdarzają. W Bophalu zabrakło 2 metrów rury, rachunek: 4000 trupów. Jaki to ma z wiązek z tematem? A skąd mogę wiedzieć, co Ty tym silnikiem kręcisz?

No to może te zabezpieczenia po prostu *nie są* tam potrzebne?

Nie chodzi, o to, czy jesteś przewrażliwiony, tylko o metodologię. Zabierasz się do sprawy od d*. strony. Zamiast rzetelnie zrobić FMEA i dobierać zabezpieczenia jako rozwiązania konkretnych, dobrze zdefiniowanych problemów z listy, są próby wtykania na oślep jakichś watchdogów i głęboka wiara w przewagę jednego układu scalonego nad drugim, choć w obudowie znajduje się niemal taka sama krzemowa płytka o dużej skali integracji.

Bez urazy, ale spotkałem się niedawno z określeniem "afroinżynieria" i z powodów innowacji metodologicznych mi się ono zaczyna tu nasuwać.

formatting link

Zadałeś pytanie, to Ci podsunąłem pomysł. Nie musisz z niego korzystać, ale przynajmniej o tym rozwiązaniu wiesz i możesz je świadomie wykluczyć.

Po pierwsze, to oba są układami scalonymi i podlegają tym samym mechanizmom awarii: uszkodzenie metalizacji w wyniku elektromigracji, odspojenie bondingu w miejscu zgrzewu, zerwanie bondingu przez zalewę epoksydową itp. Różnice: CPLD jest znacznie bardziej złożone i musi być wykonane w procesie o większej gęstości, a więc elementy są bardziej wrażliwe na zmianę stanu w wyniku wstrzyknięcia takiego samego ładunku. Jest ich też więcej, więc w większej liczbie miejsc coś się może przestawić. Antifuse są stosunkowo pewne, ale jeśli jest to PLD programowany flashem, a takie dziś dominują, to się może rozprogramować. W układach 74x funkcja jest narzucona przez maskę w momencie produkcji i nic się rozprogramować nie może. Jeśli układ będzie bardziej złożony, to PLD wygrywa na znacznie mniejszej liczbie połączeń: naparowane aluminium z pasywacją tlenkiem lub azotkiem krzemu jest pewniejsza niż lutowanie.

Pozdrawiam, Piotr

Reply to
Piotr Wyderski

W wariancie najprostszym prąd płynie taki, jak to wynika z reaktancji uzwojenia roboczego. Jeśli jest z zapasem za mały, by zakręcić silnikiem, to silnik będzie wyłączony. Jeśli potrzebujesz prawdziwego zera, to użyj wzmacniacza w topologii push-pull. Będziesz miał rail-to-rail od -U do U. Układ będzie jednak 2x bardziej złożony i trudniej go będzie zrównoważyć. Coś za coś.

Jak ma potrzebę pomacać, to są lepsze miejsca niż zasilony sterownik, niezależnie od konstrukcji obwodów wykonawczych.

A to zależy od zastosowania. Wzmacniacze magnetyczne, czy ściślej układy sterujące magnetyczne, które zazwyczaj wykonywano jako układy impulsowe z zegarem wielofazowym i opierano się na napięciach indukowanych przez odwrócenie pola w rdzeniu o prostokątnej pętli histerezy, a nie na reaktancji uzwojeń, dają niezawodność, a nie bezpieczeństwo. To są inne pojęcia. Jeśli układ jest zaprojektowany tak, że logika krzemowa może paść w dowolny sposób, a urządzenie zachowuje poziom bezpieczeństwa nie mniejszy niż podczas normalnego działania, to nie ma sensu sobie komplikować życia. Jak ma przetrwać EMP lub promieniowanie i dalej działać sprawnie, to się sytuacja trochę zmienia i być może warto rozważyć takie rozwiązanie.

Nie ma to jak konkretne dane. :-) W tym właśnie celu zdefiniowano normatywne impulsy surge, by można było określić (i świadomie zaprojektować), do którego poziomu układ ma wytrzymać, a odkąd już nie musi. Dopasuj sobie piorun do tabelki -- pewnie poziom

3 albo 4, tj. impuls 30A@15kV prosto w drucik. :-)

W układzie, nad którym obecnie pracuję mam 10 linii wejściowych, których awaria nie wchodzi w grę. Póki co na każdej mam GDT, za nim TBU, za tym transil i na końcu opornik. Wszystko bardzo precyzyjnie dobrane, z dbałością o wzajemne zakresy ograniczania napięć (a nie na zasadzie "musi być dobrze, przecież dałem transil!"). A i tak temu rozwiązaniu nie ufam i kusi mnie, by to zastąpić konstrukcją opartą o macierz Rajchmana -- czysto magnetyczny dekoder kodu binarnego na 1-z-n, o szatańsko sprytnym połączeniu uzwojeń

  • kilka własnych pomysłów.

Pozdrawiam, Piotr

Reply to
Piotr Wyderski

Dziwi mnie troche, ze zarowke na filmie wylacza :-)

Gorzej, jak sie okaze, ze w fabryce stoi, a u klienta sie kreci :)

Pamietam stare ksiazki - kiedys to byla wiedza i uklady skomplikowane :-)

No w zasadzie racja. Przed macaniem wyciagnij wtyczke z gniazdka :-)

Nie, impuls powiedzmy 500V od strony sieci zasilajacej. Ile sie przedostanie do tranzystora sterujacego wzm magn ?

J.

Reply to
J.F.

Ale po pierwsze - nie mam żadnych pretensji, po drugie - bardzo dobrze wam idzie, po trzecie - właściwie już osiągnąłem cel, bo pod wpływem dyskusji wymyśliłem ten "timer", co jest chyba ok. Tak więc - bardzo jestem zadowolony :D

No więc właśnie - kwestia oceny ryzyka. To ryzyko w moim przypadku jest mniejsze niż np. ryzyko, że kierowca ciężarówki dostanie zawał i kogoś rozjedzie.

Patrząc na zagadnienie "po prostu" - niby nie są. Gdyby nie ten nieszczęśliwy piorun pewnie specjalnie bym się nie rozczulał nad tym. Na szczęście jebnęło, no i jakoś mnie to zmotywowało.

nie jest to ani ta sama skala, ani taka sama struktura. A i jedno i drugie na znaczenie. Choć - oczywiście wyrażane na którymś tam miejscu po przecinku.

Tak czy owak, dzięki za wszystkie uwagi. Przyjrzę się tym tematom, które podsunąłeś - tutaj one nie znajdą zastosowania, ale warto je lepiej poznać, bo może kiedyś będą rzeczywiście potrzebne.

Reply to
sundayman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.