Problém dynamického hazardu v teorii a praxi
Moderátor: Moderátoři
http://www.ebastlirna.cz/modules.php?na ... sc&start=0
Ležel mi teď v hlavě potenciální problém hypoteticky možných oscilací klopného obvodu, zejména pokud je sestaven z bufferovaných hradel (CMOS 4011B). Ale ani u nebufferovaných hradel (4011UB) bych si nebyl jistý, že se při nějakém stupni limitace nemůže fázový posuv v otevřené smyčce rovnat 2∏. Kmity, ať už rychle tlumené, nebo hypoteticky i trvalé, by bylo možno vybudit souběhem asynchronních vstupních signálů, který by vyvolal na nastavovacím vstupu klopného obvodu nevhodně krátký impuls. Googloval jsem trochu a našel jsem na to téma cosi vágního, ale ten problém zjevně není jen mou fantazií. Nenašel jsem lepší řešení, než příliš krátký impuls v poslední verzi schématu odfiltrovat RC článkem na každém vstupu klopného obvodu a ty sestavit z hradel 4093 se Shmittovými klopnými obvody na vstupech. Možná existují nějaké hotové klopné obvody odolné proti tomuto jevu vhodným návrhem vnitřního zapojení integrovaného obvodu. Nevšiml jsem si, že by se to u nějakých uvádělo. Neví o tom někdo něco?
Tímto jevem trpí úplně všechny klopné obvody, jen časové měřítko se mění s technologií. Buďto zajistíme korektní pracovní podmínky (synchronní obvody), nebo následující obvody musí na chvíli "zavřít oči" po změně a počkat, až metastabilita odezní s nějakou přijatelnou pravděpodobností. To dělá např. obvod zvaný synchronizér, což jsou dva hranové klopné obvody v kaskádě a na společných hodinách. "Zavřené oči" jsou pak po dobu periody hodin.
U asynchronních obvodů bude ochrana obecně o dost náročnější.
Metastabilitu zmíněnou v reakci chápu jako vývoj vnitřního stavu, který je na počátku z nějakých důvodů (jak je naznačeno) víceméně přesně na rozhodovací úrovni a nějaká počáteční odchylka nebo šum se zpětnou vazbou zesiluje s dynamikou danou konkrétní realizací, výstupní průběh je v mezích linearity exponenciální.
Já jsem měl na mysli opravdu oscilace. I na jediné bufferované hradlo CMOS (a v náznaku také na hradlo TTL) lze pohlížet jako na zpožďovací vedení, kterým může ze vstupu na výstup putovat vlna. Pokud se přes další hradlo přivede zpět na vstup, může cirkulovat a je věcí realizace, jestli a za jak dlouho se jedničky či nuly zkrátí natolik, že vymizí. Na klopný obvod ze dvojice nebufferovaných hradel CMOS lze pohlížet jako na zpětnovazební zařízení, které by možná pro malý signál mohlo dosáhnout v otevřené smyčce posuv 2∏ při zesílení jednotkovém, nebo spíš posuvu, který by se při nějaké úrovni limitace (zde je zesílení řekněme jednotkové z podstaty věci) rovnal právě 2∏. Nevím, jestli je to možné, a to i v závislosti na kapacitách připojených navíc ke spojovacím bodům obou hradel opatřených uvnitř integrovaného obvodu ochrannými sériovými odpory. Podle konkrétní realizace nevím, jestli by limitace nemohla stabilizovat stejnosměrnou složku signálu tak, že by oscilace trvaly. Nepromýšlel jsem to a i krátké oscilace by mohly vyvolat poruchový jev v systému.
Pokud pominu možnost, že by použití nebufferovaných hradel jev vyloučilo (což nevím a v katalozích jsem k tomu nenašel podklady), řešením je zabránit přivedení příliš krátkého nastavovacího impulsu na vstup. Pokud nastavovací úroveň vytrvá, dokud na druhý vstup hradla nepřijde zpětnou vazbou tatáž úroveň (míněno u bufferovaného hradla na vstup té části, která realizuje logickou funkci), k rozkmitání nedojde.
Speciálním případem je klopný obvod na způsob Schmittova. V něm je rychlost kladné zpětné vazby ve vztahu k zesílení (a k fázovému posuvu při zesílení jednotkovém) taková, že přinejmenším třeba u realizace jako TTL 7414 bych si s jeho vnitřními oscilacemi nedělal starosti. Tam je dominantní kapacita kolektoru vstupního tranzistoru, zpětná vazba dalším tranzistorem z kolektoru do emitoru vstupního tranzistoru je velmi rychlá a na fázovém posuvu se moc nepodepíše. Čímž je zpětná vazba uzavřena a je spolehlivě kladná. U CMOS je to složitější, ale věřím, že výrobci vědí, co dělají.
Ten konkrétní příklad a jeho řešení v mém počítadle v odkazu je na třetí stránce toho vlákna a týká se vstupních signálů ze dvoufázového polohového senzoru. Tyto signály samy o sobě vstupují do klopných obvodů jako bezproblémové, ale pokud změnu stavu ihned následuje signál power down (PDN) po vypnutí napájení, která signál na vstupu klopného obvodu ukončí, hypoteticky by mohla nastat porucha. Je to velmi nepravděpodobné, ale v původní verzi to nepovažuji za vyloučené. V kompletně přepracované verzi schématu Coil Winder Digital Counter v2 to řeším těmi Schmittovými klopnými obvody za včleněnými filtry. Částečně jsem tam přesunul i funkci filtru ze vstupních ochranných obvodů počítadla.
Moje postupně získávané představy o používání CMOS 4000 se tím posunují k potřebnosti prvků se Schmittovými obvody na vstupech.
Co jsem vygoogloval na to téma je zde:
https://www.realdigital.org/doc/8ee36c2 ... 363c4f1df4
Tam ale uvažují jiný způsob vybuzení oscilace. To není tak podstatné.
Zmiňujete možnost, že koncový stupeň odfiltruje nechtěný rychlý "šum" z předchozích stupňů, Možné to je. Třeba. Opět, výrobce součástky se k tomu nevyjadřuje.
Já jsem ve schématu přijal jako kompromis předpoklad, že pokud se například jedničky na vstupech bufferovaného hradla NOR v čase překrývají jen na úrovni sumy zpoždění několika jiných hradel, u kterých ovšem minimální zpoždění není v katalogu vůbec uvedeno a může tak být blízké nulovému, na výstupu toho NOR neblikne jednička, přestože zpoždění vstupních invertorů před samotným logickým členem jistě není shodné a může být situaci nepříznivé. A to ani nemluvím o vnitřním zapojení MC14025B, jak jej v katalogu uvádí Motorola. Tajně chovám naději, že už to samotné hradlo NOR cestou od logického členu na výstup obvodu případné bliknutí jedničky odfiltruje, pokud jedničky na vstupech hradla o sebe v čase aspoň škrtnou. V katalogu se to ale nepíše. Jen si myslím, že by výrobce sám od sebe mohl chápat jako prospěšné mít takovou ambici a pokusit se jí dostát, aniž by se o tom rozepisoval. Ne, spoléhat se na to nelze. Lze se dívat na typická zpoždění hradel, závislá na výrobci a někdy neaktualizovaná s vývojem technologie během mnoha desítek let. Lze pak doufat a věřit. Nebo si někde sehnat 4025UB. Psáno s nadsázkou, protože i nebufferované hradlo má vstupy vyvedeny ven přes ochranné odpory.
Cust: Tentokrát s Tebou nebudu souhlasit. Předně, jde o nelineární zesilovač, resp. o zesilovač obvykle v limitaci. To zpožďovací vedení proto může existovat i ve stabilním stavu a je to pro něj předpokládaná, obvyklá situace. Stav vedení lze nastavit jako stabilní dostatečně dlouhým impulsem na nastavovacím vstupu klopného obvodu. Jde jen o to nějak zajistit, aby ten impuls nebyl příliš krátký. Řešení problému existuje i pro nějak propojené a navzájem asynchronní vstupy a je přijatelně jednoduché, viz poslední verze schématu počítadla. Jen se neobešlo bez RC filtrů a Schmittovských hradel 4093. Problém je v podstatě stejný pro rychlá i pro pomalá hradla. Rozdíl je právě v počtu stupňů tvořících zpětnovazební smyčku, ale jak opakuji, ani u nebufferovaných hradel nepředpokládám úplné vyloučení hypotetického problému. Cesta od asynchronních vstupů do synchronního řešení je přes klopné obvody, což problém v principu neřeší, ale posunuje na rozhraní mezi asynchronní vstupy a synchronní řešení. Hypoteticky se oscilující stav může přes rozhraní přenést a nakazit celý systém uvnitř. Neuvažuji zde pravděpodobnost takové události, ale možnost samu.
Schmittův klopný obvod v principu opět neřeší problém metastability, ale posouvá ho do podstatně kratšího časového měřítka. Realisticky vzato, pokud nakonec přijmeme pravděpodobnost selhámí jako malé nutné zlo, tak to je dobré, resp. mnohdy asi nejlepší možné řešení.
Použít na vstupu součástku se Schmittovým KO nebo klopné obvody ve vstupním rozhraní k zamezení metastabilility a vybrat oproti ostatním součástkám, hodinovým periodám atd. rychlejší technologii by smysl dávalo, kdyby se o problému metastability v tom řešení uvažovalo jako o reálně zajímavém. Ano, neurčitý stav mizí po exponenciále. U oscilujícího stavu to tak být nemusí.
Ale ano, rozumím tomu přístupu k řešení. Pokud ještě něco rychlejšího existuje, nepřinese to jiné problémy atd. Je to řešení typu hrubou silou.