Jak vzorek velmi pomalý signál?

O

otazník

Guest
Ahoj,
Jsem návrhu FPGA.To běží na clcok kmitočtu 100MHz.Musím vzorek asynchronní vstup z vnější strany FPGA.Je to pomalý signál, frekv je 100Hz (Pozor: ne MHz), a rostoucí / klesající hrana je pomalý (asi 5 nás), a změna období je asi 10%.Chci spočítat období času, který signál.Co mám dělat?Chcete-li vzorek signálu přímo pomocí 100MHz hodiny nebo dělení hodiny na mnohem pomalejší než při použití jedné a generované hodiny na vzorku signálu?Díky!

 
Ahoj otazník,

Je-li mé chápání je správné, je vaším cílem měřit období signál, jehož frekvence je asi 100 Hz.Správné?
Můžete mesure přímo počtu 100 MHz období, hodiny, které zapadají do období svého signálu, přesnost vašich měřících v průběhu jednoho období je asi 1 část v 1000 a toto opatření může být aktualizovány při každém cyklu.
Měřících doba, po více cyklech dává lepší přesnost, ale canges v četnosti změny jsou sledovány pomaleji.
Jde o

Z

 
díky Zorro.Vaše pochopení mého cíle jsou správné.
Věřím, že jste si všimli, že signál je velmi pomalý rostoucí / klesající hrany, což znamená, ze vzorků bude mnoho hit rostoucí / klesající hraně signálu pomalé.Víte, napětí se mění ve stoupající / klesající hrana, mnozí z vybraných napětí je mimo právní rozsahu (řekněme, 0-0.9v jako logická 0 a 1,8-2.5V jako logická 1).Bude to způsobit nějaký problém?

 
otazník,

Osobně bych doporučoval, že nejspolehlivější prostředek k vaší situaci se nachází mimo vaši FPGA.Zde jsou některá čísla pro vás:

- Vaše hodiny rozlišení ve srovnání s vaší vnější událost je: 100MHz/100Hz = 1 milión hodin na jednu akci, která je zejména vysoká.Na pracovní cyklus vám máš poloviční údaj, který je 500 K hodiny.V ideálních podmínkách, můžete ll být schopen detekovat změny za pouhých 100 Hz * (1/500K) = 0,0002 Hz v vstupní signál.Takže si zjistit, jak přesně chcete provádět měření.

- S řekl, že byste měli vzít na vědomí, že vaše rostoucí / klesající hrana tvoří (5us/0.01s) * 100 = 0,05% z vašeho vnější události.To znamená, že zatímco vaše hodiny rozlišení (1/500K) = 2U, máte vlastní chyba v systému se rovná 0,05% z příchozích signálu (přesnost).

- Proto se v souladu s běžnými technickými postupy, které říká, že přesnost je zhruba desetkrát horší, než usnesení, doporučuji, abyste don t vzorek váš signál rychleji než (0,0005 * 10) ^ -1 = (0,005) ^ -1 = 200 normalizované Hertz, která, když si na své systémy hodiny výsledky v clk_sys / clk_event = 200 => clk_sys = 200 * 100 = 20 MHz pouze!

Máte-li zájem o větší přesnost jen bylo možné podle mého názoru je buffer vaše externí signál, takže vaše rostoucí / klesající hrana postava dostane lepší.To může být rychlý komparátor, který naladíte způsobem (pásma), nebo co vás vhodné.

Doufám, že je to prospěšné pro vás.

Na zdraví.

 
otazník napsal:

Víte, napětí se mění ve stoupající / klesající hrana, mnozí z vybraných napětí je mimo právní rozsahu (řekněme, 0-0.9v jako logická 0 a 1,8-2.5V jako logická 1).
Bude to způsobit nějaký problém?
 
Děkujeme za vaši pomoc, Manny_Calavera a tkbits.
I používat 2-stupňové FF k synchronizaci externího asynchronní signál před tím, než jde do boje proti logice, aby se zabránilo nejhorším stavu tkbits zmíněna.Ale jak vyřešit další problém, tj. vzorky, které zasáhly rostoucí / klesající hraně bude buď 0 nebo 1 náhodně (v závislosti na hluku?).Což znamená, že dostanu vzorku signálu, jako přílohu ukazuje.
Jak se mohu měřit signál, jako je to?
Omlouváme se, ale musíte přihlásit a prohlížet tuto přílohu

 
Jak jsem vám řekl dříve, nejlepší věc udělat, je buffer vaše pomalý signál externě jako nemůžete chodit zabil-rychlost v software!

 
Ahoj Manny_Calavera,
Díky za váš návrh, ale mi líto, nemám dost dostat "buffer svůj pomalý signál navenek".Jak na to?BTW.Signál je z jiného zařízení na palubě a nemám kontrolu.Plus, nemůžu přidávat žádné další zařízení na palubě, protože deska je už tam.
a, jsem přemýšlel o využití hardware pult pro měření signálu období, není software, ale myslím, že HW / SW není Klíčovým bodem této otázky.

 
Pak budete muset uhradit za to, co máte v ruce.Ujistěte se, že buffer váš signál uvnitř FPGA, a pokračovat se svým cyklem měření povinnost.Stačí mít na mysli omezení vašeho systému, pokud jde o přesnost.Nehledě na to, nemyslím si, že můžete dělat cokoli.To, co jsem chtěl tím, software je váš konfigurovatelné firmware.Souhlasím, že je to forma hardware design, ale nakonec je to algoritmického přístupu oproti dedikované hardware.Každopádně je to však nepodstatné.Pokud you'r zájem o získání absolutní maximum z vašeho způsobu, myslím, že o tom opravu vašeho měření pomocí některé "a priori" znalosti, jako je vaše rostoucí / klesající hraně délky spolu s statistické získané údaje a aktualizovat pravidelně rozmístěných intervalech.Nakonec, systém bude váš učit a coverge na přijatelné výsledky.

Na zdraví.

 
otazník napsal:

Ale jak vyřešit další problém, tj. vzorky, které zasáhly rostoucí / klesající hraně bude buď 0 nebo 1 náhodně (v závislosti na hluku?).
 
Zorro píše:problém způsobil pomalou rychlost přeběhu může být vyřešen s komparátorem s hysterezí (např. spouštěcí Schmidt gate).
 
Co FPGA používáte?Xilinx rodiny mají digitální hodiny Správce jakých podmínek hodiny vstupu a eliminuje překroutit.Myslím, že můžete krmivo tento signál do jednoho z těchto DCM je získat čistou verzi.

 
Pokud signál nebyl hlučný byste být v pořádku, ne?

Nyní zjistili, jak velký hluk máte.Buď pomocí sqrt (4kTR), pokud víte, odpor zdroje, nebo pomocí osciloskopu.Je-li směrodatná odchylka signálu, tedy 10mV, a vaše zamést jde 200kV / s, pak se vám bude v průběhu 50nanosecond v tomto 1sigma.V závislosti na nařízení o blokových výjimkách se můžete přiznat, můžete si vzít 4sigma, takže byste měli vzorek v 0.2us.To je decimovat koeficientem 256.Nebo průměr.

 
Je docela hezké vidět, že mě a Fogh dosáhl téměř ke stejným závěrům pomocí naprosto odlišné metody.

Pamatuješ, když jsem řekl:
-Citace:

Proto se v souladu s běžnými technickými postupy, které říká, že přesnost je zhruba desetkrát horší, než usnesení, doporučuji, abyste don t vzorek váš signál rychleji než (0,0005 * 10) ^ -1 = (0,005) ^ -1 = 200 normalizované hertz , které při překladu do vašich systémů hodiny výsledky v clk_sys / clk_event = 200 => clk_sys = 200 * 100 = 20 MHz pouze!
 
CMOS dítě napsal:

Co FPGA používáte?
Xilinx rodiny mají digitální hodiny Správce jakých podmínek hodiny vstupu a eliminuje překroutit.
Myslím, že můžete krmivo tento signál do jednoho z těchto DCM je získat čistou verzi.
 
tkbits,

Souhlasím s Vámi, že v normálních případech by to být nebezpečné, pokud přechodu v neurčitého stavu bude sloužit jen ke zvýšení pravděpodobnosti hodiny hrany hit končit katastrofou.Nicméně, nemyslíte si, že do vyrovnávací paměti líný signál uvnitř FPGA by snížit riziko jako spínací charakteristiky (digitální ne analog) z nárazníkové nyní přepíše, že vnější signál?Samozřejmě riziko bude vždy přítomen, stejně jako jakékoli vnější asynchronní signál.Ale problém s pomalým přechodem, je překonat na úkor ponižující načasování výkonu (neurčitý okraj času), což je další problém nyní.Mějte na paměti, architektury IOB v FPGA.Také v této konkrétní aplikaci, není třeba pro 3-fáze Synchronizer, jak je zaručeno, že vnitřní hodiny bude hit signál poté, co došlo ke změně.Chtěl bych slyšet váš názor s tímto ohledem.Mimochodem, děkuji za zajímavý odkaz.

Na zdraví.

 
otazník napsal:Zorro píše:problém způsobil pomalou rychlost přeběhu může být vyřešen s komparátorem s hysterezí (např. spouštěcí Schmidt gate).
 
na implimet sxhmit spoušť vše, co potřebujete použít diodu, a vytáhnout nebo bourat rezistor (záleží v jaké polaritě jste odhalování) odpor, stačí připojit svůj vstup signalto jeden FPGA vstup a stejný vstupní signál přes diodu na druhý vstup a vytvářet srovnávací uvnitř, pokud si budete potřebovat více přesný použít dvě diody ve třech vstupechjde,

 
Manny_Calavera napsal:

Také v této konkrétní aplikaci, není třeba pro 3-fáze Synchronizer, jak je zaručeno, že vnitřní hodiny bude hit signál poté, co došlo ke změně.
 

Welcome to EDABoard.com

Sponsor

Back
Top