Algoritmicka - pocitanie impulzov
Martin Záruba
swz na volny.cz
Středa Únor 7 09:56:33 CET 2024
Fpga neznám, tak nevím, zda by šlo použít tento algoritmus:
Vím, že pulzů může být maximálně 10 za sekundu.
Udělám pole 300 bitů.
Nevím, jak je pulz dlouhý, takže musím reagovat na náběžnou hranu.
Náběžnou hranou pulzu vyvolám přerušení a v něm bude zápis 1 do bufferu
na 1 bit.
Každých 10mS vyvolám druhé přerušení a v něm bude zvýšení indexu o 1 a
pokud je 300, vynulování. Dále uložení obsahu bufferu z 1. přerušení na
pozici indexu a vynulování bufferu.
V hlavním program cyklicky počítám kolik je 1 v poli.
Má to jedinou vadu: Pokud bude sice za sekundu do 10-ti pulzů, ale třeba
dva přijdou za sebou rychleji, než za 100mS, pulz se ztratí.
Martin Záruba
Dne 7.2.2024 v 7:50 balu napsal(a):
> Takto na stredu by som mal algoritmicku otazku. Potrebujem najst
> nejaku inspiraciu na zaciatok. Jednu metodu uz mam predvymyslenu, ale
> viac inspiracie nikdy nue je na zahodenie.
> Majme impulzy, ktore prichadzaju s maximalnou frekvenciou 10Hz, cas
> medzi nimi je ale nahodny a nie su synchronizovane na ziadne hodiny
> spolocne s vyhodnocovacim obvodom.
> Potrebujem pocitat pocet impulzov za poslednych 30 sekund. Musi to ale
> byt plavajuce okno, za poslednych 30 sekund. Nie fixne okno raz za 30
> sekund.
> Komplikacia je, ze sa to ma implementovat do fpga, takze sa nedaju
> pouzit operacie typu for slucka a prejst cez pole niecoho.
> Ako na to?
> b.
>
>
> _______________________________________________
> HW-list mailing list - sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240207/a638a446/attachment.htm>
Další informace o konferenci Hw-list