dokladny generator start-stop 100..200MHz

Jun 23, 2006 26 Replies

hej, poszukuje pomyslu na w miare dokladny (stabilny temperaturowo oraz czasowo) generator 100 lub 200MHz tak zeby ten 1% mial minimum... chodzi o to ze przychodzi _asynchroniczny_ impuls rzedu 1..2ns, mam nim wyzwolc generator, on ma napedzac licznik, i po ilus cyklach ma skonczyc. Kazde zliczanie musi trwac tyle samo z dokladnoscia do powiedzmy



500ps....1ns. Od biedy moge zrobic autokalibracje. generator + logika sterujaca beda taktowaly bramke precyzyjnego integratora ( na transimpedancyjnym wzm operacyjnym, np OPA860) Bramka bedzie otwierana na czas 10..200ns programowany z krokiem 10ns

Na razie wymyslilem ze bede mial kondensator ladowany na przemian dodatnim lub ujemnym pradem z 2 zrodel pradowych sterowanych szybkim komparatorem ECL. przelaczanie zrodel na tranzystorach lub kluczach diodowych. zwieram konddensator i czekam na impuls, ten przychodzi, rozwieram go i generator cyka..po ilus tam cyklach blokuje generator.



Zastosowanie gen, kwarcowych raczej odpada, gdyz po wyzwoleniu wiele cykli stabilizuje drgania. A nei che mi sie bawic w pomiar i odtwarzanie roznicy fazy pomiedzy zegarem a impulsem. A moze da sie jakos szybko dosynchronizowac gnerator kwarcowy? chociaz w to nei wierze za bardzo.



Inny pomysl to przerzutnik Schmitta ,na szybkim komparatorze..tyle ze bedzie to plywac z temp raczej.. i dodatkowo 1-szy takt bedzie zazwyczaj dluzszy, gdyz C musi sie doladowac do nap przelaczania.



Moze ktos z was ma inny pomysl? czesto jak ktos nei zaznajomiony z tematem spojrzy to potrafi rozwiazac problem nad ktorym siedzisz kilka dni :) moze sa jakies fajne kostki do tego celu?


Nie bardzo rozumiem -> czemu nie mo¿e ten stabilny generator pracowaæ ca³y czas i s³u¿yæ tylko do ZAMYKANIA bramki po odliczonej ilo¶ci impulsów? Otwieraæ bramkê mo¿esz pierwszym zboczem impulsu...

Czego¶ tu pewnie nie widz±, ale w czym w³a¶ciwie widzisz trudno¶æ?

Oto co Greg(G.Kasprowicz) napisał:

[-] Jak albo z czym ten impuls jest asynchroniczny skoro generator nie pracuje?

impuls nie ejst z niczym zsynchronizowany (w szczegolnosci z innym zegaram obecnym w ukladzie), a musze otworzyc bramke i zamknac dokladnie po ustalonym czasie

Na ile sie domyslam - Greg chce odmierzyc np 90ns, ale dokladnie i rozpoczynajac od poczatku impulsu. Wiec nie moze skorzystac z generatora 100MHz ktory sobie chodzi caly czas - bo ten nie bedzie dokladny jak mu impuls przyjdzie w polowie cyklu.

Hm, 5-10 generatorow po 100MHz przesunietych o 1-2 ns ?

Stary dobry [zly ?] 74123 wyrabia sie z impulsami od ok 60ns [w dokumentacji niby 40], no ale musialbys jakos kalibrowac, a i czas propagacji dochodzi.

J.

tak, ale dlugosc otwarcia bramki bedzie zmienna wtedy, zakaldajac ze bym uzywal zegara 200MHz to otweiral bym impulsem w losowym momencie , a zamykal

2 takty pozniej, tyle ze wtedy czas otwarcia bylby w przedziale 10...15ns, zalezy na ktore zbocze zegara bym trafil, a to juz jest 50%

zmodyfikowalem i uproscilem uklad, mam 2 komparatory ECL (tp=300ps), przerzutnik D pracujacy jako RS (100EL31), 2 klucze bipolarne dolaczajace kondensator na przemian do + Vref i - V ref przez rezystory. Kondensator uzyje taki ceramiczny o zerowym TWR (mam takei na skladzie), calosc to bedzie 2 scalaki i 6 tranzystorow. Vref dam dosyc duze, rzedu +/- 10V, zeby zmiany Vsat tranziakow z temperatura nie zmienialy w sposob znaczacy pradu ladowania.Klucze sa w stanie przelaczyc sie ponizej 0.8ns .Prad ladujacy dam tez spory, zeby dryft pradow wejsciowych komparatorow tez duzo nie wnosil.. i powinno dzialac.

[...]

jesli to prawda, to moze impuls startowy podac na wejscie clock przerzutnika, [we 'd' na vcc] wyjscie ff wyprowadzic poza fpga, poprzez zewnetrzna linie opozniajaca podac na wejscie asynch. reset tegoz przerzutnika; a fpga trzymac w cieple, by temperatura sie nie zmieniala ... :) umieszczenie tego przerzutnika w i/o celi powinno dodatkowo zredukowac plywanie wewnetrznych opoznien;

JA

tyle ze ten czas ma byc programowalny...musialbym meic szereg takich linii opozniajacych prosciej chyba zrobic generator RC i licznik..

chyba wszystko potem zaleja jakas masa i umeiszcze w termostacie..

Oto co Greg(G.Kasprowicz) napisał:

Co to jest "dokładnie"? Jeśli potrzebujesz nieskończonej dokładności to takiej nie ma. Jesli skończonej, to kluczuj generator o większej częstotliwości, na tyle dużej żeby trwanie jednego okresu było mniejsze od wartości bezwzględnej dopuszczalnego błedu.

np.:

formatting link

moze wystarczy dmuchac suszarka do wlosow ?

JA

A gdyby wykorzystaæ wewnêtrzne opó¼nienie w komórkach i zrobiæ ci±g automatów asynchronicznych generuj±cych sekwencjê 0->1->0, po³±czonych ³añcuchowo, przy czym wej¶cie pierwszego z nich jest wej¶ciem uk³adu? Podanie impulsu na wej¶cie generowa³oby 1 przesuwaj±c± siê przez ³añcuch z szybko¶ci± wyznaczon± przez czas dzia³ania komórki. Reszta to drzewko XORów i sterowany z jego wyj¶cia licznik.

W praktyce automat dwustanowy móg³by sprawiaæ pewne problemy techniczne (wchodzenie w jakie¶ dziwne stany metastabilne itp.), wiêc znacznie lepszy mo¿e siê okazaæ 00->01->11->10->00, ale idea jest ta sama. LUTy 4->2 s± powszechne, wiêc mo¿na zrobic te¿ dosynchronizowanie bie¿±cego stanu z poprzednim automatem w ³añcuchu.

I termostat. :-)

Pozdrawiam Piotr Wyderski

szkoda ze do max 137ns... ale moze na nich by zrobil sam generator... uzywam podobne linie, tyel ze ECL, co prawda kiepsko u nich ze stabilnoscia temepraturowa, ale moze to byc dobry pomysl

tylko ze to opoznienie moze sie roznic od kompilaji do kompilacji mysle ze zwyklym ukladem RC uzyskam potrzebna dokladnosc..

dzieki za pomysl, pomysle..

napisalem ze rzedu 0.5...1%

musialbym kluczowac minimum 1...2GHz, jest to wykonalne (mam dostep do logiki chodzaca do 8GHz), ale wole cos prostszego..

Uzupe³nienie: nie trzeba ³añcucha, wystarczy jeden automat generuj±cy (00->01->11->10)* wyzwalany impulsem z wej¶cia i zatrzymywany wyj¶ciem licznika. Przej¶cia stanów "napêdzaj±" asynchroniczny licznik zliczaj±cy w dó³ od warto¶ci zadanej.

Floorplan editor -> manual placement. :-)

Ale to jakie¶ takie... analogowe... ;-)

Pozdrawiam Piotr Wyderski

Oto co Greg(G.Kasprowicz) napisał:

No to jesteś skazany na generatory nierezonansowe. I kwarcowy i LC mają całkiem spory czas stabilizacji amplitudy drgań po włączeniu, najmarniej kilka - kilkanaście okresów.

juz wymyslilem..R,C, podwojny komparator, DFF, 4xtranziaki ...powinien dzialac.. pomysle jeszze z tymi liniami opozniajacymi...takowa ma mozliwosc latwej kalibracji, co mzoe byc zaleta. do analogowca musialbym dodac DAC sterujacy Vref..

Nie wiem czy tak latwo uzyskasz precyzje rzedu 1ns.

J.

doslownie asynchroniczny licznik ? wtedy liczenie bedzie zalezne od liczby, no i czas dekodowania tez zalezny od liczby; gdyby nie wymagana dokladnosc, to tez cos podobnego bym sugerowal, ale 1ns wydaje mi sie ponizej mozliwosci fpga; w zasadzie nie mam pojecia o stabilnosci linii opozniajacych, ale zakladam, ze skoro maja step 0.5ns, to i stabilnosc powinny miec nieco lepsza, w tym stabilnosc temperaturowa;

i jeszcze, po znalezieniu optymalnego rozmieszczenia, back-annotate;

JA

maruda ...

daj dwie linie, jedna z krokiem 5ns, druga z 0.25;

JA

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required