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