Licznik 24 bitowy do 15 MHz z szeregowym interfejsem

Jan 01, 2006 34 Replies

Jeśli licznik jest binarny i nie masz problemu hazardów i nie zależy Ci na synchroniźmie z zegarem to rób asynchroniczny. Myślę, że wyciągnąłbyś sporo więcej niź te 200 MHz. Jeśli chcesz synchroniczny binarny to piszesz go piszesz normalnie w kodzie a on już zrobi domyślnie jak należy :)

U mnie:

process (CLK, RST) begin if RST='1' then divider <= (others => '0'); elsif CLK'event and CLK = '1' then if divider < "11111111111111111111" then divider <= divider+1; else divider <= (others => '0'); end if; end if; end process;

Przeczytaj Xilinx XAPP379, ZTCP licznik binarny może być tak samo szybki do 40 bitów bo tylowejściową bramkę AND może sobie uczynić bez pożyczania z sąsiednich zasobów.

U¿ytkownik "antek" snipped-for-privacy@adres.jest.be> napisa³ w wiadomo¶ci news:dpir35$8od$ snipped-for-privacy@atlantis.news.tpi.pl...

Gdzie dosta³e¶ ten XC2C128-6VQ100C w wersji -6 ? W Kamami maj± tylko wersje -7.

Pozdrawiam

Jarek Grolik

Szybszy albo i nie, bo to od paru czasow zalezy, ale jeszcze drobnostka - do czego ten licznik zastosowany.

Bo co z tego ze szybki jesli nie potrafisz stanu odczytac w danym momencie, musi zliczanie ustac na dluzszy czas :-)

J.

Nie ma problemu z przestojami na odczyt ... mog± byæ nawet o 5 rzêdów wielko¶ci d³u¿sze :-) Ca³a rzecz opiera siê na tym i¿ chcê mierzyæ dwie w miarê sta³e czêstotliwo¶ci ( tak od 5-10 Mhz) np. 6.4512 Mhz +- , a raczej minus do 50 khz, ale szkopu³ tkwi w tym, ¿e chcia³bym zmierzyæ w ci±gu 1 sekundy t± czêstotliwo¶æ , ale z dok³adno¶ci± 0,1 Hz, lub lepsz±. Nie chcê stosowaæ powielania czêstotliwo¶ci, bo te czêstotliwo¶ci mog± byæ ró¿ne. Wymy¶li³em wiêc, ¿e mierzona czêstotliwo¶æ po przej¶ciu przez jaki¶ dzielnik np. 6553600 bêdzie bramkowaæ sta³± czêstotliwo¶æ np. 200 Mhz, czyli po wykonaniu ma³ego dzia³ania matematycznego mamy w przeci±gu ok. 1 sekundy zmierzon± czêstotliwo¶æ z dok³adno¶ci± oko³o 1/30 Hz czyli rzêdu 0,1 Hz . Czyli pokrótce. Zliczyæ impulsy tak szybko jak to tylko mo¿liwe . Przerwa. Odczyt . Przerwa. Nastêpny cykl pomiarowy.

Pozdrawiam.

Jarek Grolik

Nawiasem pytajac - masz takie dokladne zrodlo czestotliwosci odniesienia ? Bo chcesz 0.01ppm, czy tez 10^-8, czyli naprawde dosc dokladnie. Moze nie warto sobie zycia komplikowac, jesli wyjdzie rozdzielczosc 0.1Hz a dokladnosc 50Hz ..

no, ale zakres 5-10MHz jest na tyle waski ze mozna by powielic.

Tak sie zastanawiam nad nieco innym podejsciem - liczyc impulsy klasycznie, a jednoczesnie zliczac ilosc ns [czy 5ns] od odstatniego zliczonego zbocza do konca impulsu 1s

I tu sie okaze ze ta przerwa jest zlosliwa. Zle wyglada i uklad komplikuje. A na liczniku synchronicznym mogloby byc bez przerwy :-)

J.

Kupowałem w Memecu, jak jeszcze był :) Teraz przejął to Avnet bodajże

Nie interesuje mnie dok³adnie bezwzglêdna czêstotliwo¶æ, tylko dok³adna ró¿nica czêstotliwo¶ci pomiêdzy dwiema bliskimi czêstotliwo¶ciami, które zmieniaj± siê w zakresie ok kiku Hz - kilka kHz. Natomiast dok³adno¶æ 50 Hz nie gra zbytniej roli.

Nawiasem mówi±c to szukam takiego dok³adnego wzorca ... zastanawiam siê na zbudowaniem , albo generatora synchronizowanego , albo DCF 77 albo Programem I PR, ewentualnie budowa generatora wzorcowego opartego na maserze wodorowym :-)

Te¿ o tym my¶la³em, ale zapominasz, ¿e nale¿a³o by równie¿ zliczyæ ilo¶æ ns od pocz±tku impulsu do pocz±tku sygna³u 1 s . I to te¿ komplikuje mi trochê uk³ad.

Pozdrawiam

Jarek Grolik

Na to to byc moze sa lepsze metody.

zegar atomowy - uzywane mozna w miare tanio kupic :-) Ewentualnie GPS.

mozna zsynchronizowac poczatek odliczanie ze zboczem sygnalu [i znow sie moze przydac licznik synchroniczny :-)]

J.

"Jarek Grolik":

[...]
[...]

jakos intuicyjnie nie widze, co ma dac dzielenie przez

6553600 by uzyskac 1 sekundowa bramke;

przy tej roznicy czestotliwosci 10/200 rownie dobrze czestotliwosc 'mierzaca' mozna bramkowac po prostu dodatnim poziomem sygnalu mierzonego; rozdzielczosc mozna zwiekszyc do polowy okresu 200MHz stosujac 2 liczniki - jeden pracujacy na zboczu +, drugi na opadajacym;

moj quartus [narzedzie do syntezy i programowania fpga altery] mowi, ze licznik 32 bitowy na najwolniejszym cyclone -8 bedzie chodzil nieco powyzej 200Mhz, a te kostki sa za jakies niewielkie pieniadze; [quartus altera daje za darmo]

JA

Mi w XC2C w Webpacku wychodziło koło 150-160 a spokojnie na 200 MHz działał. Dodatkowa zaleta tych kostek, że przerzutniki działają na obu zboczach, tak że można puścić przez nie własny zegar co często się przydaje :)

Wzorce rubidowe s± dostêpne na Ebayu po oko³o 300 USD.

Pozdrawiam Piotr Wyderski

"antek":

producent zaniza parametry ? dziwne :)

piekna wlasciwosc, nie wiedzialem o tym;

co to jest wlasny zegar ?

pisalem o alterze nie dlatego, ze mam te uklady za lepsze, a temu ze od wielu lat z nimi tylko pracuje, choc nauczylem sie programowalnej logiki na xilinxie :)

JA

Nawiasem mowiac .. ktos wie dokladniej jak tam jest elektronika zrobiona ? Bo pobiezne opisy tak nie do konca trafiaja mi do przekonania :-)

J.

Myślę, że raczej podaje z pewną dozą ostroźności.

Miałem taki przypadek, że na wyjście jednego pinu musiałem podawać bądź pewną konkretną sekwencję bądź właśnie zegar, którym taktowany był cały układ. Jednak przy tych częstotliwościach widać już wyraźne "psucie" wsp. wypełnienia przez multiplekser. Dlatego pomogło przepuszczenie wyjścia z multipleksera właśnie przez taki przerzutnik dwuzboczowy.

Kwestia przyzwyczajenia pewnie, ja mialem xilinxy na studiach i tak już zostało :)

In the darkest hour on Tue, 3 Jan 2006 10:07:47 +0100, Krzysiek. <> screamed:

A'la Pascal. A'la C to jest Verilog (imho dużo przyjemniejszy - z mniejszym narzutem znaków).

Należy pamiętać, że o ile VHDL/Verilog jest przenaszalny, to projekt złożony ręcznie z bramek już niekoniecznie.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required