Re: Opoznienia w PLD



Masz problem? Zapytaj na forum elektroda.pl z bramk± pl.misc.elektronika!

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Witek" <robertwi_at_nospam_polbox.com>
Subject: Re: Opoznienia w PLD
Date: Thu, 8 Jul 1999 00:01:08 +0200



JA napisał(a) w wiadomości: <37837C9F.41C6_at_nospam_chall.ifj.edu.pl>...
Witek wrote:



W IspSynario mozna sobie wybrac grope bramek ktore maja byc bez
optymalizacji (tylko jak, bo jak probuje to du....a). Co do pomiaru to
nie
musi byc super dokladny a czasu do mierzenia jest 50ns. I jeszcze jedno
mierzymy czas pomiedzy sasiednimi impulsami.

Witek


mialem kiedys podobny [bardzo 'z grubsza' podobny]
problem, ale ja musialem miec dokladnie i uzylem
zewnetrznej linii opozniajacej, ma to te wade, ze
linia jest wielka jak cholera;

moze odpowiadaloby Ci taki pomysl:

zbocze impulsu, niech sie nazywa START, zapala przerzutnik,
ktorego wyjscie jest ENABLE dla lancucha przerzutnikow,
wyjscie przerzutnika Qi w lancuchu jest polaczone z CLOCK
przerzutnika Qi+1,
kolejne zbocze START gasi pierwszy przerzutnik,
ten ktory produkuje sygnal ENABLE,
ilosc zapalonych przerzutnikow jest miara czasu
miedzy zboczami START;

ten pomiar oczywiscie zalezy od temperatury
i konkretnej kosci ...


Pomysl mi sie podoba. Zaraz bede probowal.

Dzieki za pomoc
Witek



--
Pelny dostep do Internetu juz od 8,34 PLN na miesiac - http://rubikon.pl

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Witek" <robertwi_at_nospam_polbox.com>
Subject: Re: Opoznienia w PLD
Date: Thu, 8 Jul 1999 02:33:09 +0200



musi byc super dokladny a czasu do mierzenia jest 50ns. I jeszcze jedno
mierzymy czas pomiedzy sasiednimi impulsami.

Witek


mialem kiedys podobny [bardzo 'z grubsza' podobny]
problem, ale ja musialem miec dokladnie i uzylem
zewnetrznej linii opozniajacej, ma to te wade, ze
linia jest wielka jak cholera;

moze odpowiadaloby Ci taki pomysl:

zbocze impulsu, niech sie nazywa START, zapala przerzutnik,
ktorego wyjscie jest ENABLE dla lancucha przerzutnikow,
wyjscie przerzutnika Qi w lancuchu jest polaczone z CLOCK
przerzutnika Qi+1,
kolejne zbocze START gasi pierwszy przerzutnik,
ten ktory produkuje sygnal ENABLE,
ilosc zapalonych przerzutnikow jest miara czasu
miedzy zboczami START;

ten pomiar oczywiscie zalezy od temperatury
i konkretnej kosci ...


Pomysl mi sie podoba. Zaraz bede probowal.

Dzieki za pomoc
Witek


I poprobowalem. Nawet mi to fajnie dziala, ale jest maly error. W ukladach
lattica przerzutniki sa pogrupowane po 4 szt. z wspolnym clk. Jesli dam taki
opozniacz z 10 przerzutnikow to zabiera mi to strasznie zasoby scalaczka
(ale wlasnie wpadl mi pomysl jak to obejsc).

Teraz moze wyjasnie problem z ktorym walcze (moze podszedlem do niego od
dup.... strony) i znajdziecie inne rozwiazanie.
MIANOWICIE:

Mam CLK ktory cyka z czestotliwoscia 40MHz. Jest tez sygnal START. Od zbocza
tego sygnalu zaczyna sie proces probkowania z f=40MHz (START na przerzutnik,
z przerzutnika na bramkowanie CLK) problem jest taki ze START moze pojawic
sie w dowolnym momencie okresu CLK i wtedy pojawia mi sie rozne przesuniecie
czasowe od STARTu do pierwszej i kolejnych probek. Jak zrobic zeby CLK
wystartowac synchronicznie z STARTem ?

Chyba troszke zamotalem, no ale jest 2.30 w nocy wiec mialem prawo.
Witek




--
Pelny dostep do Internetu juz od 8,34 PLN na miesiac - http://rubikon.pl

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_multi-ip.com.pl>
Subject: Re: Opoznienia w PLD
Date: Thu, 08 Jul 1999 02:02:18 GMT



Mam CLK ktory cyka z czestotliwoscia 40MHz. Jest tez sygnal START. Od
zbocza
tego sygnalu zaczyna sie proces probkowania z f=40MHz (START na
przerzutnik,
z przerzutnika na bramkowanie CLK) problem jest taki ze START moze pojawic
sie w dowolnym momencie okresu CLK i wtedy pojawia mi sie rozne
przesuniecie
czasowe od STARTu do pierwszej i kolejnych probek. Jak zrobic zeby CLK
wystartowac synchronicznie z STARTem ?

Chyba troszke zamotalem, no ale jest 2.30 w nocy wiec mialem prawo.


Nie nie - nie pomyliles sie :-) Tak - tez chyba bede mial taki problem ale z
czyms innym zwiazany. Tez chyba bede mysial "skorygowac" faze zegara do
impulsu wejsiowego, tak zeby mi sample wychodzily mniej wiecej w polowie
bitu. Ogladalem sobie scalaki i znalazlem cos taliego jak LS624. To jest VCO
z PLL do takich wlasnie cyfrowych sztuczek ale czy on sie wyrobi tobie na
tych 40MHz to nie wiem. Jeszcze nie myslalem zbytno nad tym ale na dniach
zaczne. Nie jestem pewien tylko czy to sie wyrobi w ciagu tego samego
okresu,
Powiem jak przeczytam PDF-a.
Caly problem robi asynchroniczny start tego ukladu wzgledem stalego zegara.
Ale pamietaj, ze sam zegar tez plynie w fazie wiec czyms go trzeba utrzymac
w stosunku do tego startu.

A czy tak wielka roznice ci robi ten 1 niepelny okres ? Co to ma byc
takiego, ze az tyle dokladnosci ci sie sni ? Powiedz moze wiecej o co chodzi
to moze bedzie inne rozwiazanie, bo moze zaczynasz nie od tej strony ?


Juliusz



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_multi-ip.com.pl>
Subject: Re: Opoznienia w PLD
Date: Thu, 08 Jul 1999 02:14:00 GMT


Mam CLK ktory cyka z czestotliwoscia 40MHz. Jest tez sygnal START. Od
zbocza


Ja juz wiem co ty chcesz zrobic. Chcesz odbierac szybki strumien danych,
pojawiajacych sie asynchronicznie, na modle interface synchronicznego
poprzez dorobienie wlasnego zegara, zsynchronizowanego w fazie z
przychodzacym sygnalem. Pewnie wymysliles sobie, ze jak drabinka opozniajaca
"poprawisz" faze wlasnego zegara to bedzie ci dzialac. Chcesz zeby CLK
wychodzilo ci mozliwie w srodku bitu i chcesz to lapac zboczem polokresu bez
nerwow, ze wskoczy ci na sasiedni bit :-) Ale ta metoda ci to nie wyjdzie
-( Ty musisz byc phase locked do strumienia danych wchodzacych. To jedyne
rozwiazanie, bo i tak ci sie rozjedzie po kilku samplach. Ale jak nie
powiesz co to ma byc to ci nie pomoge :-(

Juliusz



Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Falkorp" <falkorp5_at_nospam_friko5.onet.pl>
Subject: Re: Opoznienia w PLD
Date: Thu, 8 Jul 1999 11:23:25 +0200



Juliusz napisał(a) w wiadomo¶ci: ...
Mam CLK ktory cyka z czestotliwoscia 40MHz. Jest tez sygnal START. Od
zbocza


Ja juz wiem co ty chcesz zrobic. Chcesz odbierac szybki strumien danych,
pojawiajacych sie asynchronicznie, na modle interface synchronicznego
poprzez dorobienie wlasnego zegara, zsynchronizowanego w fazie z
przychodzacym sygnalem. Pewnie wymysliles sobie, ze jak drabinka
opozniajaca
"poprawisz" faze wlasnego zegara to bedzie ci dzialac. Chcesz zeby CLK
wychodzilo ci mozliwie w srodku bitu i chcesz to lapac zboczem polokresu
bez
nerwow, ze wskoczy ci na sasiedni bit :-) Ale ta metoda ci to nie wyjdzie
-( Ty musisz byc phase locked do strumienia danych wchodzacych. To jedyne
rozwiazanie, bo i tak ci sie rozjedzie po kilku samplach. Ale jak nie
powiesz co to ma byc to ci nie pomoge :-(

Juliusz


No Juliuszu troszke mnie przycisnoles wiec Ci powiem. Zbudowalem oscyloskop
cyfrowy. CLK to oczywiscie max. czestotliwosc probkowania A/D , START to
sygnal synchronizacji. Te 40MHz troche jest dla mnie za malo wiec kombinuje
jak zwiekszyc te czestotliwosc. Sam A/D lapie sampla w 2ns wiec jest o co
walczyc. Wiec gdybym po koleji probkowal ten sam sygnal i znal przesuniecie
zbocza CLK wzgledem sygnalu synchronizacji powiedzmy z krokiem 5ns to wyszlo
by mi probkowanie 400MHz (oczywiscie dla przebiegow okresowych) albo gdybym
opoznial synchronizacje o kolejne odcinki czasu i synchronicznie startowal
CLK to wyszlo by mi to samo. Analogowke juz wykombinowalem i fajnie mi
dziala (dzieki za pomoc i w tym temacie - chyba pamietasz)

Witek



--
Pelny dostep do Internetu juz od 8,34 PLN na miesiac - http://rubikon.pl

Poprzedni Następny
Wiadomość
spis tre¶ci
From: JA <andr_at_nospam_chall.ifj.edu.pl>
Subject: Re: Opoznienia w PLD
Date: Thu, 08 Jul 1999 12:53:27 +0200


Falkorp wrote:





No Juliuszu troszke mnie przycisnales wiec Ci powiem. Zbudowalem oscyloskop
cyfrowy. CLK to oczywiscie max. czestotliwosc probkowania A/D , START to
sygnal synchronizacji. Te 40MHz troche jest dla mnie za malo wiec kombinuje
jak zwiekszyc te czestotliwosc. Sam A/D lapie sampla w 2ns wiec jest o co
walczyc. Wiec gdybym po koleji probkowal ten sam sygnal i znal przesuniecie
zbocza CLK wzgledem sygnalu synchronizacji powiedzmy z krokiem 5ns to wyszlo
by mi probkowanie 400MHz (oczywiscie dla przebiegow okresowych) albo gdybym
opoznial synchronizacje o kolejne odcinki czasu i synchronicznie startowal
CLK to wyszlo by mi to samo. Analogowke juz wykombinowalem i fajnie mi
dziala (dzieki za pomoc i w tym temacie - chyba pamietasz)

Witek


co prawda to do Juliusza ...
ale ja nie do konca rozumiem;

chcesz zboczem START wyprodukowac serie
impulsow o okresie ~5ns na jednym pinie Wyjsciowym ?

czy moze serie impulsow o w miare dowolnej dlugosci
na roznych pinach Wyjsciowych przesunietych
wzgledem siebie o 5ns ?

moze jednak zewnetrzna aktywna linia opozniajaca,
na ktora wchodzi START a z odczepow masz sygnal
synchronicznie z START rowniutko co 5ns ?
[i stabilnie w szerokim zakresie temperatur]


masz kilka A/D i multipleksujesz je ?



JA

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Juliusz" <juliusz_at_nospam_multi-ip.com.pl>
Subject: Re: Opoznienia w PLD
Date: Thu, 08 Jul 1999 16:05:23 GMT



Falkorp napisał(a) w wiadomo¶ci: <7m1r16$koe$1_at_nospam_gemini.webcorp.com.pl>...


No Juliuszu troszke mnie przycisnoles wiec Ci powiem. Zbudowalem oscyloskop
cyfrowy. CLK to oczywiscie max. czestotliwosc probkowania A/D , START to
sygnal synchronizacji. Te 40MHz troche jest dla mnie za malo wiec kombinuje
jak zwiekszyc te czestotliwosc. Sam A/D lapie sampla w 2ns wiec jest o co
walczyc. Wiec gdybym po koleji probkowal ten sam sygnal i znal przesuniecie
zbocza CLK wzgledem sygnalu synchronizacji powiedzmy z krokiem 5ns to
wyszlo
by mi probkowanie 400MHz (oczywiscie dla przebiegow okresowych) albo gdybym
opoznial synchronizacje o kolejne odcinki czasu i synchronicznie startowal
CLK to wyszlo by mi to samo. Analogowke juz wykombinowalem i fajnie mi
dziala (dzieki za pomoc i w tym temacie - chyba pamietasz)


Czegos nie kapuje - czemu ci tak zalezy zeby sync nastepowal w tym samym
okresie, zaraz po sygnale start ? A czemu nie pozwolic na przelecenie pewnej
ilosci okresow az sie sam zsynchronizuje ?

Jakbys mial CLK na PLL-ce to bys mogl sie synchronizowac ale nie sadze, ze
do pojedynczego START, jednorazowego i do tego asynchronicznego..
Synchronizowac to sie mozna np do jakiegos przychodzzacego prostokata czy
simusa i do tego wstrzelic sie wlasnym CLK w faze. Ale nie widze szansy zeby
puscic generator jak kola zebate przekladni po przesunieciu galki biegow
-)

Mam inne pytanie - w jaki sposob wychodza dane z przetwornika A/D ? Co to za
przetwornik ?
Mnie sie wydaje, ze zadnym procesorem ty tego nie obrobisz w czasie
rzeczywistym Bedziesz musial zrobic to na FPGA np nawet tanim Xillinx
Spartan XS05 czy podobnym za 5$.

Producenci to robia tak, ze daja pozniej FPGA do fabryki, a Xillinx Spartan
ma odpowiedniki w ASIC-ach i chyba wykonaja ci nawet jakies 100szt na
zamowienie. To jest jedyna metoda na podniesienie czestotliwosci realnej.
Tak jak ty myslisz to ci nie wyjdzie raczej. Za duzo "plywajacych" czasowo
podzespolow.

Juliusz




Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Falkorp" <falkorp5_at_nospam_friko5.onet.pl>
Subject: Re: Opoznienia w PLD
Date: Thu, 8 Jul 1999 18:38:03 +0200



Juliusz napisał(a) w wiadomo¶ci: <7%3h3.7564$1g.148762_at_nospam_news.tpnet.pl>...

Falkorp napisał(a) w wiadomo¶ci: <7m1r16$koe$1_at_nospam_gemini.webcorp.com.pl>...


No Juliuszu troszke mnie przycisnoles wiec Ci powiem. Zbudowalem
oscyloskop
cyfrowy. CLK to oczywiscie max. czestotliwosc probkowania A/D , START to
sygnal synchronizacji. Te 40MHz troche jest dla mnie za malo wiec
kombinuje
jak zwiekszyc te czestotliwosc. Sam A/D lapie sampla w 2ns wiec jest o co
walczyc. Wiec gdybym po koleji probkowal ten sam sygnal i znal
przesuniecie
zbocza CLK wzgledem sygnalu synchronizacji powiedzmy z krokiem 5ns to
wyszlo
by mi probkowanie 400MHz (oczywiscie dla przebiegow okresowych) albo
gdybym
opoznial synchronizacje o kolejne odcinki czasu i synchronicznie startowal
CLK to wyszlo by mi to samo. Analogowke juz wykombinowalem i fajnie mi
dziala (dzieki za pomoc i w tym temacie - chyba pamietasz)


Czegos nie kapuje - czemu ci tak zalezy zeby sync nastepowal w tym samym
okresie, zaraz po sygnale start ? A czemu nie pozwolic na przelecenie
pewnej
ilosci okresow az sie sam zsynchronizuje ?


Troszke zamieszalem wiec stad te niezakapowania. Jesli pierwsze narastajace
zbocze CLK bedzie pojawiac mi sie w stalym odcinku czasu po zboczu SYNC to
gdy na sync wstawie ustawiane opoznienie i bede go zmienial to mam mozliwoc
zrobienia wiekszej czestotliwosci probkowania.


Jakbys mial CLK na PLL-ce to bys mogl sie synchronizowac ale nie sadze, ze
do pojedynczego START, jednorazowego i do tego asynchronicznego..
Synchronizowac to sie mozna np do jakiegos przychodzzacego prostokata czy
simusa i do tego wstrzelic sie wlasnym CLK w faze. Ale nie widze szansy
zeby
puscic generator jak kola zebate przekladni po przesunieciu galki biegow
-)

Mam inne pytanie - w jaki sposob wychodza dane z przetwornika A/D ? Co to
za
przetwornik ?
Mnie sie wydaje, ze zadnym procesorem ty tego nie obrobisz w czasie
rzeczywistym Bedziesz musial zrobic to na FPGA np nawet tanim Xillinx
Spartan XS05 czy podobnym za 5$.


Tak to wlasnie zrobilem, dane z A/C zapisywane sa do SRAM 10ns a jak sie juz
zapisza to zatrzymuje probkowanie i z pamieci leci do procka.


Producenci to robia tak, ze daja pozniej FPGA do fabryki, a Xillinx Spartan
ma odpowiedniki w ASIC-ach i chyba wykonaja ci nawet jakies 100szt na
zamowienie. To jest jedyna metoda na podniesienie czestotliwosci realnej.
Tak jak ty myslisz to ci nie wyjdzie raczej. Za duzo "plywajacych" czasowo
podzespolow.

Juliusz






--
Pelny dostep do Internetu juz od 8,34 PLN na miesiac - http://rubikon.pl

Poprzedni Następny
Wiadomość
spis tre¶ci
From: JA <andr_at_nospam_chall.ifj.edu.pl>
Subject: Re: Opoznienia w PLD
Date: Thu, 08 Jul 1999 14:29:13 +0200


Witek wrote:


I poprobowalem. Nawet mi to fajnie dziala,

milo mi ;)

ale jest maly error. W ukladach
lattica przerzutniki sa pogrupowane po 4 szt. z wspolnym clk. Jesli dam taki
opozniacz z 10 przerzutnikow to zabiera mi to strasznie zasoby scalaczka
(ale wlasnie wpadl mi pomysl jak to obejsc).

wiem, ze kazda sroka swoj ogon chwali, ale ...
moze sie przesiasc na ALTERE ?
tam nie ma takich ograniczen, najmniejsza kosc
z rodziny FLEX [10K bramek] kosztuje kilkanascie $
i jest darmowy software plus schemat programatora

[Xilinx tez nie ma takich ograniczen, ale nie ma takiego
fajnego software za darmo];

Teraz moze wyjasnie problem z ktorym walcze (moze podszedlem do niego od
dup.... strony) i znajdziecie inne rozwiazanie.
MIANOWICIE:

Mam CLK ktory cyka z czestotliwoscia 40MHz. Jest tez sygnal START. Od zbocza
tego sygnalu zaczyna sie proces probkowania z f=40MHz (START na przerzutnik,
z przerzutnika na bramkowanie CLK) problem jest taki ze START moze pojawic
sie w dowolnym momencie okresu CLK i wtedy pojawia mi sie rozne przesuniecie
czasowe od STARTu do pierwszej i kolejnych probek. Jak zrobic zeby CLK
wystartowac synchronicznie z STARTem ?

latch'owac START ?
co do czego trzeba dosynchronizowac, START do CLK, czy odwrotnie ?

CLK to jest zewnetrzne 40MHz, czy chcesz to produkowac wewnatrz PLD ?

JA

Poprzedni Następny
Wiadomość
spis tre¶ci
From: "Falkorp" <falkorp5_at_nospam_friko5.onet.pl>
Subject: Re: Opoznienia w PLD
Date: Thu, 8 Jul 1999 18:40:22 +0200



I poprobowalem. Nawet mi to fajnie dziala,

milo mi ;)

ale jest maly error. W ukladach
lattica przerzutniki sa pogrupowane po 4 szt. z wspolnym clk. Jesli dam
taki
opozniacz z 10 przerzutnikow to zabiera mi to strasznie zasoby scalaczka
(ale wlasnie wpadl mi pomysl jak to obejsc).

wiem, ze kazda sroka swoj ogon chwali, ale ...
moze sie przesiasc na ALTERE ?



Jak z dostepnoscia scalaczkow ALTERY w Polsce ?

Ograniczenia ominolem robiac to na przerzutnikach RS zbudowanych z bramek.

tam nie ma takich ograniczen, najmniejsza kosc
z rodziny FLEX [10K bramek] kosztuje kilkanascie $
i jest darmowy software plus schemat programatora

[Xilinx tez nie ma takich ograniczen, ale nie ma takiego
fajnego software za darmo];

Teraz moze wyjasnie problem z ktorym walcze (moze podszedlem do niego od
dup.... strony) i znajdziecie inne rozwiazanie.
MIANOWICIE:

Mam CLK ktory cyka z czestotliwoscia 40MHz. Jest tez sygnal START. Od
zbocza
tego sygnalu zaczyna sie proces probkowania z f=40MHz (START na
przerzutnik,
z przerzutnika na bramkowanie CLK) problem jest taki ze START moze
pojawic
sie w dowolnym momencie okresu CLK i wtedy pojawia mi sie rozne
przesuniecie
czasowe od STARTu do pierwszej i kolejnych probek. Jak zrobic zeby CLK
wystartowac synchronicznie z STARTem ?

latch'owac START ?
co do czego trzeba dosynchronizowac, START do CLK, czy odwrotnie ?



CLK do START


CLK to jest zewnetrzne 40MHz, czy chcesz to produkowac wewnatrz PLD ?

JA



--
Pelny dostep do Internetu juz od 8,34 PLN na miesiac - http://rubikon.pl