MKO pomocí CMOS logiky, deadtime generátor
Moderátor: Moderátoři
MKO pomocí CMOS logiky, deadtime generátor
Logika musí fungovat takto :
Když přijde jednička na výstupu PWM A, obvod ji propustí až za 200ns, když skončí, tak ji taky vypne.
Když přijde jednička na výstupu PWM B, obvod ji propustí až za 200ns, když skončí, tak ji taky vypne.
Délka jedniček se na obou výstupech mění, ale prodleva musí zůstat vždy stejná.
Cílem by mělo být, že budu mít jeden ( nebo i dva) nastavovací odpory u MKO, kterými budu moct měnit délku prodlevy. K odporům dám paralelně nebo sériově výstupy optočlenů a získám tím dynamický deadtime.
Moje představa je taková, obvod s hradly EXOR rozděluje PWM signál
Když je PWM v jedničce, je jednička na výstupu B
Když je PWM v nule, je jednička na výstupu A
Chci doplnit 4070 o CMOS MKO, jeden musí být spouštěný náběžnou hranou a druhý sestupnou, tím vznikne na obou výstupech mrtvý čas.
Nechci to řešit pomocí odporů kondenzátorů a diod mezi hradly, protože vybíjení nabitého kondenzátoru i 47pF přes diodu do výstupu hradla způsobuje zvonění a vzniká na něm úbytek, který posunuje nulu nahoru a čip se zahřívá, protože výstup pracuje v režimu zdroje proudu.
- monterjirka
- Příspěvky: 2855
- Registrován: 14 čer 2003, 00:00
- Bydliště: Blížejov
Zdroj Farnell: DS1100Z-200+
Nízkopříkonová CMOS technologie a TTL/CMOS kompatibilní. 5 odbočková křemíková zpožďovací linka reprodukuje vstupní logický stav na výstupu po pevném zpoždění 200ns a má 40ns zpoždění na odbočku. Zpoždění jsou stabilní a precizní. DS1100 je navrženo pro reprodukci náběžné i sestupné hrany s totožnou precizností. Každá odbočka může budit až 10 74LS zátěží.
Podobných zpožďovacích IO je tam spousta z různými časy zpoždění.
http://www.djoro.cz/detail/elektronicke ... dil14.html
samponek píše:Nechci to řešit pomocí odporů kondenzátorů a diod mezi hradly, protože vybíjení nabitého kondenzátoru i 47pF přes diodu do výstupu hradla způsobuje zvonění a vzniká na něm úbytek, který posunuje nulu nahoru a čip se zahřívá, protože výstup pracuje v režimu zdroje proudu.
To je samponku blbost, na jakejch megacyklech chceš pracovat, aby Ti to zvonilo ?
Taktéž ohřev IO zátěží 47p je hovadina.
Pokud potrebuješ jenom zpozdit nábežnou hranu, tak si tam dáš dvouvstupovej AND a jednu větev RC zpozdíš.
Pokud použiješ nejakej hotovej HiLo driver, třeba IR2181, tak budeš mít vstup v TTL logice a nějaký zpoždění inverze tě nebude trápit, takže nepoužiješ XOR ale NOR a ze zbytku uděláš to zpoždění.
Takové zpracování se hodí do časů v us, na delší časy je vhodný schmiťák, třeba 74HC132.
Takže do deníčku si zapracuj, jak se dělá zpoždění náběžné, sestupné hrany s AND, OR a jak uděláš to samé z NOR, NAND, jenom to přidá inverzi.
S XOR se zase dělá dobře tímto způsobem detekce hrany, nebo zdvojovač kmitočtu.
V CPLD se to dělá zase jinak, tam se to posune o nějaký počet hodin programově, základní hodiny jsou třeba 50MHz a PWM i death time se nastaví po 20ns.
ps. tu 4047 používám samozřejmě jen pro neřízené měniče se střídou 1:1 a mrtvý čas je tam aby to bylo ZCS.
4047 budí přímo ty nízkovýkonové MOSFETy, které jedou v push-pull.
- nostalcomp
- Příspěvky: 169
- Registrován: 09 lis 2022, 00:00
Danhard mě předběhl, ale když už jsem se s tím kreslil, tak si dovolím předložit své řešení. Za prvé, nehledáme MKO, ale zpožďovač signálu (impulsu). To lze řešit různě. Rád bych připomněl existenci již pozapomenutého obvodu 7431, který je podle stránek TI stále v "aktivní službě" v provedení 74LS31. Obvod obsahuje 6 hradel s různými zpožděními. Nepotřebuje žádné pasivní součástky. Zpoždění jsou pevně daná a poměrně stabilní. Ale určitý malý rozptyl tam je, viz datasheet. Nastavování času deadtimu lze řešit skokově propojkou, či třeba jumperem (asi se to nemusí štelovat za provozu, že ne), viz. ukázka ve spodní větvi. Vhodné úseky lze nastavit vhodným pořadím hradel. Jen bacha, že 4 jsou invertující (NOT) a 2 neinvertující (YES). Bohužel maximum je asi 180nS, což neodpovídá původnímu požadavku. Ta šestice hradel sice na schématu vypadá "děsivě", ale tak hrozné to zas v praxi není. Výstupní hradla AND zajisti "katnutí" zpožděného impulsu příchodem log. 0.
Zpožďovací člen z hradel 7431 lze nahradit dvojicí hradel s RC článkem, viz schéma dole. Pro kratší časy to funguje spolehlivě i s běžnou 7404. Pro delší časy bych použil schmittův 7414, či podobný. Mám vyzkoušeno v televizních displejích, kde je nutné zpozdit zápisový impuls pro videoram, než dojde k přepnutí multiplexerů adres. Funguje to, čip se nehřeje ani nezvoní
Pro nonTTL signály lze namísto schmitťáků 7414 použít například i komparační OZ (LM293) a ANDa složit třeba z diod. Jak píše Danhard, lze si pohrát s optimalizací a použít ty typy hradel, které budou v daném zapojení k dispozici.
Další možností je ve zpožděné větvi použít starou dobrou 555 v zapojení zpožďovače signálu (viz. strana 7, resp 167).
A jako poslední možnost bych navrhoval vykašlat se na hradla a použít specializovaný obvod pro spínané zdroje s push-pull koncem, který ty deadtimy umí jaksi "od narození". Třeba SG3526.
74LS31 možná koupíš v nějakém výprodeji, ale rozhodně bych se na něj do nových konstrukcí" neorientoval
Jednoduché zpoždění RC a pak logický člen ano, to taky popisuji výše, aby stačilo na realizaci jen jedno pouzdro.
Jenom poznámka, u TTL logiky není vhodné ladit čas pomocí R v širokém rozsahu (jak jsi to namaloval), u HCMOS, CMOS ano.
Samozřejmě existují obvody, které mají death time nastavitelný, ale to si nemůžu vzpomenout na typ, asi bych se musel podívat do nějakých mých starých designů
samponek píše:Musí to být zapojené jinak, hradlo má průchozí zpoždění 5ns a MKO asi 20ns, tím vznikne na výstupech impulz 15ns a pak začne mrtvý čas 200ns.
U 12V CMOS logiky takové časy asi těžko.
Měl by jsi říct, z čeho to budeš budit, co to bude budit a jak to má být napájené ?
Dobře víš, že jsem v tomto oboru profesionál