Licznik 24 bitowy do 15 MHz z szeregowym interfejsem

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.

Reply to
antek
Loading thread data ...

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.

Reply to
J.F.

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.

Reply to
J.F.

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

Reply to
antek

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.

Reply to
J.F.

"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

Reply to
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 :)

Reply to
antek
Reply to
Piotr Wyderski

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

J.

Reply to
J.F.

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 :)

Reply to
antek

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.

Reply to
Artur M. Piwko

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.