Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Generator prostokątny strojony dużej stabilności

winio42 15 Lis 2017 23:40 978 27
  • #1 15 Lis 2017 23:40
    winio42
    Poziom 18  

    Cześć koledzy,
    chciałbym zrobić generator przebiegu prostokątnego o wypełnieniu 50% (tj. zegarowy), który będę mógł stroić (cyfrowo lub analogowo) z dużą dokładnością, a sam generator po nastrojeniu będzie w stanie stabilnie utrzymać zadaną częstotliwość.

    Założenia (nie podlegają dyskusji): mam jakiś generator oparty o kwarc 32,768 kHz - w zależności od temperatury, ciśnienia, wilgotności może mieć odchyłkę statyczną o np. 1000 ppm (32 Hz). Odchyłki dynamicznej (tj zmiennej w czasie) zakładam, że nie ma - pracuje np. w stałej temperaturze -30C przy obniżonym ciśnieniu.

    Chcę moim budowanym generatorem dostroić się do częstotliwości tego pierwszego z dokładnością 0,1 Hz. Chcę również aby był w stanie utrzymać tę zadaną częstotliwość przez 24 godziny (przez te 24 godziny warunki jego pracy będą idealnie stałe).

    Co już zrobiłem: przejrzałem teoretyczne możliwoścl:

    *mogę kupić gotowy oscylator (scalak z kwarcem) RTC, ale on daje 32,768 bez możliwości strojenia, lub z możliwością strojenia o max. 100 ppm.
    *mogę zbudować generator Pierce'a

    Generator prostokątny strojony dużej stabilności

    Jednocześnie taki generator mogę przestrajać zmieniając pojemność kondensatorów C1 i C2, ale to również zmiany w zakresie dziesiątek ppm

    *mogę użyć NE555, ale oprócz tego, że jest podobno mało stabilny, to w dodatku (z tego co zrozumiałem) zmieniając częstotliwość oscylacji zmieniam również współczynnik wypełnienia

    *mogę zbudować generator RC - np. taki z mostkiem Wiena - nie mam z tym doświadczenia, nie wiem jak jest z jego stabilnością i nie jestem pewien, czy można go regulować jednym rezystorem. Ewentualny sinus na wyjściu (w sumie, co jest na wyjściu generatora RC?) to nie problem, bo mogę zastosować bramkę Schmitta.

    Generator prostokątny strojony dużej stabilności

    * mogę użyć mikrokontrolera taktowanego bardzo stabilnym kwarcem TXCO, ale tutaj będzie problem z ustaleniem precyzyjnej częstotliwości wyjściowej z krokiem 0,1 Hz (musiałbym mieć bardzo szybki zegar)

    * mogę użyć dedykowanego układu VCO/VCXO/VCTCO - ale nie jest dostępny na 32k tylko na większe częstotliwości

    * mogę użyć dedykowanego układu scalonego generatora - ale podobnie jak poprzendio nie są produkowane na te częstotliwości tylko na szybsze, ewentualne układy wolniejsze są oznaczone jako przestarzałe i nie da się ich kupić

    Proszę o wskazówki w realizacji układu spełniającego założenia.
    Dziękuję i pozdrawiam!

    PS: Dla pomocnych oczywiście klikam 'pomógł'

    0 27
  • #3 16 Lis 2017 07:00
    winio42
    Poziom 18  

    Przepraszam za błąd, chodziło mi o 0,1 Hz (czyli 3*10-6).
    Dodatkowo, wystarczy mi utrzymanie zadanej częstotliwości przez dobę, a nawet godzinę.
    Wiem że zakładana dokładność jest spora, dlatego kombinowałem z przestrajanymi układami RTC/generatorem Pierce'a ale możliwość przestrajania jest za mała.
    Jeśli chodzi o dokładność - ważne jest tylko precyzyjne dostrojenie się do badanego źródła, pewnie zrobię to jakoś automatycznie, ze sprzężeniem zwrotnym (tj. sygnałem błędu), a nie dokładność bezwzględna (tj. to nie musi być 32,768 +/- 0.1 Hz, tylko częstotliwość źródła +/- 0,1 Hz, gdzie do dyspozycji mam sygnał błędu, tj. mogę porównać źródło z generatorem).

    Ponadto przebieg będzie prostokątny, to powinno ułatwić sprawę.

    0
  • #4 16 Lis 2017 09:57
    jarek_lnx
    Poziom 43  

    Istnieje jedna podstawowa zależność pomiędzy zakresem przestrajania a stabilnościa, jeśli coś jest łatwe w przestrajaniu, to jest również bardzo podatne na czynniki zewnętrzne a więc na stabilność nie ma co liczyć.

    Uzyskanie stabilności rzędu 10^-6 w generatorze kwarcowym jest możliwe (w stałej temperaturze) ale ale możliwość przestrajania raczej nie przekracza 100ppm.

    Cytat:
    Założenia (nie podlegają dyskusji): mam jakiś generator oparty o kwarc 32,768 kHz - w zależności od temperatury, ciśnienia, wilgotności może mieć odchyłkę statyczną o np. 1000 ppm (32 Hz).
    Wątpię żeby generator z taką odchyłką istniał, chyba że ręcznie szlifowałeś kwarc :)
    Założenia niepodlegające dyskusji może postawić tylko ktoś kto się na danym temacie dobrze zna :)

    Cytat:

    Odchyłki dynamicznej (tj zmiennej w czasie) zakładam, że nie ma - pracuje np. w stałej temperaturze -30C przy obniżonym ciśnieniu.
    Kwarce "zegarkowe" są robione tak aby w temperaturze pokojowej miały współczynnik temperaturowy bliski zeru, a ponieważ charakterystyka temperaturowa jest typu x^2 w -30° zależność od temperatury będzie duża, stabilność krótkoterminowa może nie być najlepsza.

    Generatory RC ro twojego zastosowania zupełnie się nie nadadzą.

    Cytat:
    mogę użyć dedykowanego układu VCO/VCXO/VCTCO - ale nie jest dostępny na 32k tylko na większe częstotliwości
    * mogę użyć dedykowanego układu scalonego generatora - ale podobnie jak poprzendio nie są produkowane na te częstotliwości tylko na szybsze, ewentualne układy wolniejsze są oznaczone jako przestarzałe i nie da się ich kupić
    Częstotliwość łatwo podzielić ale nadal wątpię żeby spełniały pozostałe twoje wymagania

    0
  • #5 16 Lis 2017 12:04
    trymer01
    Moderator Projektowanie

    jarek_lnx napisał:
    Istnieje jedna podstawowa zależność pomiędzy zakresem przestrajania a stabilnościa, jeśli coś jest łatwe w przestrajaniu, to jest również bardzo podatne na czynniki zewnętrzne a więc na stabilność nie ma co liczyć.

    Amen!

    0
  • #6 16 Lis 2017 12:28
    winio42
    Poziom 18  

    jarek_lnx napisał:
    Istnieje jedna podstawowa zależność pomiędzy zakresem przestrajania a stabilnościa, jeśli coś jest łatwe w przestrajaniu, to jest również bardzo podatne na czynniki zewnętrzne a więc na stabilność nie ma co liczyć.


    Cenna uwaga, dziękuję. Może użyć rezystora nastawianego cyfrowo i jakiegoś generatora RC?

    jarek_lnx napisał:
    Wątpię żeby generator z taką odchyłką istniał, chyba że ręcznie szlifowałeś kwarc
    Założenia niepodlegające dyskusji może postawić tylko ktoś kto się na danym temacie dobrze zna


    Może źle postawiłem pytanie - żeby nie wchodzić w niepotrzebne dywagacje zmodyfikujmy lekko założenia: chciałbym zbudować generator przebiegu prostokątnego (50%), który mogę przestrajać o ok. 19 kHz do 33 kHz z dokładnością 0,1 Hz. Chciałbym aby po dostrojeniu do zewnętrznego źródła generator był w stanie utrzymać stabilnie (do 0,1 Hz) częstotliwość przez 1 godzinę.

    Chcę osiągnąć coś jakby układ 'sample and hold' tyle że na częstotliwość.

    0
  • #7 16 Lis 2017 18:34
    jarek_lnx
    Poziom 43  

    Cytat:
    Cenna uwaga, dziękuję. Może użyć rezystora nastawianego cyfrowo i jakiegoś generatora RC?
    RC nie ma szans.

    Jest jeszcze to rezonator ceramiczny, gorsza dobroć od kwarcowego, a więc i stabilność częstotliwości będzie gorsza, nie ma 32768Hz, ale są wyższe które można podzielić dzielnikiem, "pulling" jest możliwy w zakresie kilkadziesiąt razy większym niż dla kwarcu, ale po ostatniej aktualizacji wymagań też za mało, więc odpada.

    Napisz lepiej jaki problem techniczny chcesz rozwiązać do czego ten przebieg ma służyć, bo wygląda mi na to że szukasz rozwiązania tam gdzie nie ma szans go znaleźć - po omacku, to nie znaczy że problem jest nie do rozwiązania, ale nie masz odpowiednio szerokich horyzontów żeby szukać rozwiązania tam gdzie ono jest.

    0
  • #8 16 Lis 2017 18:41
    winio42
    Poziom 18  

    Dziękuję wszystkim chcącym pomóc.
    Jeden z kolegów (w wiadomości prywatnej) pokazał mi układ AD9833 ( http://www.analog.com/media/en/technical-documentation/data-sheets/AD9833.pdf)
    Mogę z jego pomocą generować dowolne przebiegi (w szczególności w zakresie 0-1 MHz z krokiem 0.004 Hz). Do układu AD9833 podpinam TXCO o stabilności np. 0.25 ppm, a częstotliwość wyjściową ustalam ATmegą przez SPI. Dodatkowo mam wybór sinus/trójkąt/prostokąt.

    Więcej mi nie trzeba.

    0
  • #9 16 Lis 2017 18:45
    abart64
    Poziom 28  

    Może DDSa jakiegoś ? Np. AD98xx ze stabilnym generatorem ocxo. Sterowanie z portu równoległego PC najprostsze do testów, krok przestrajania akceptowalny, Wyjście prostokąta też jest ,co prawda nie 50/50 ale to mozna jakoś dopracować.

    0
  • #10 16 Lis 2017 19:14
    jarek_lnx
    Poziom 43  

    DDS jako generator przebiegów prostokątnych będzie słabą stabilność krótkoczasową, bo tak naprawdę część impulsów będzie miała długość N a część N+1 w długim okresie czasu średnia zaczyna sie zgadzać, to jak długim zależy od stopnia podziału. Czy może nie ma to znaczenia?

    0
  • #11 16 Lis 2017 23:11
    winio42
    Poziom 18  

    jarek_lnx napisał:
    DDS jako generator przebiegów prostokątnych będzie słabą stabilność krótkoczasową, bo tak naprawdę część impulsów będzie miała długość N a część N+1 w długim okresie czasu średnia zaczyna sie zgadzać, to jak długim zależy od stopnia podziału. Czy może nie ma to znaczenia?


    Jarku, co masz na myśli? (btw. dzięki za odpowiedź, miło że pomagasz!) Czy chodzi o to, że taki DDS składa częstotliwość wyjściową z pojedynczych taktów swojego zegara? Czy to działa podobnie jak mój pomysł z mikrokontrolerem (lub FPGA) i bardzo szybkim licznikiem?

    Jak rozumiem generując częstotliwość za pomocą DDS moja pomyłka wynosi 1/f sekund?
    Co masz na myśli mówiąc o uśrednianiu? Chodzi o to, że taka pomyłka raz zachodzi, a raz nie? Tj. załóżmy, że chcę odmierzyć 1.5 ns mając zegar 1 GHz - czy urządzenie będzie kolejno dawać impulsy 1ns i 2ns na przemian tak że uśrednią się one do 1.5 ns czy może będzie zawsze obcinać część ułamkową (jak integer w C)?

    Rozważmy na przykładzie: wybieram jakiś 28 bitowy DDS i podłączam mu kwarc 1 MHz. Teoretycznie mogę wybrać częstotliwość na wyjściu z dokładnością do 0,004 Hz (4mHz) - a jak będzie w praktyce? Tj. co się stanie jeśli zamiast 32768 Hz ustawię 32768,004 Hz? Czy będzie jakaś zmiana?

    0
  • Pomocny post
    #12 17 Lis 2017 11:46
    jarek_lnx
    Poziom 43  

    Cytat:
    Rozważmy na przykładzie: wybieram jakiś 28 bitowy DDS i podłączam mu kwarc 1 MHz. Teoretycznie mogę wybrać częstotliwość na wyjściu z dokładnością do 0,004 Hz (4mHz) - a jak będzie w praktyce? Tj. co się stanie jeśli zamiast 32768 Hz ustawię 32768,004 Hz? Czy będzie jakaś zmiana?


    Generator kwarcowy na 32768Hz będzie wytwarzał przebieg o okresie 30.517µs, DDS taktowany 1MHz musi zmieniać stan co wielokrotność 1us więc ustawiony na 32768Hz będzie generować na przemian przebiegi okresie 30us i 31us, w ciągu sekundy pojawi się 15808 krótszych i 16960 dłuższych.
    32768,004 Hz zasadniczo będzie wyglądać tak samo, ale raz na 250s pojawi się impuls krótszy o 1us.

    Oglądając na oscyloskopie zobaczysz jitter - zbocza będą drgać w zakresie 1us.

    0
  • #13 17 Lis 2017 12:06
    winio42
    Poziom 18  

    Jarku, kliknąłem pomógł bo sporo mi wyjaśniłeś w tym temacie.
    Ogólnie rzecz biorąc - mogę założyć, że DDS działa jak szybki licznik, z tym, że zamiast obcinać za każdym razem część ułamkową potrafi raz dawać za dużo, a raz za mało.
    Czyli moje rozumowanie:

    winio42 napisał:
    Jak rozumiem generując częstotliwość za pomocą DDS moja pomyłka wynosi 1/f sekund?
    Co masz na myśli mówiąc o uśrednianiu? Chodzi o to, że taka pomyłka raz zachodzi, a raz nie? Tj. załóżmy, że chcę odmierzyć 1.5 ns mając zegar 1 GHz - czy urządzenie będzie kolejno dawać impulsy 1ns i 2ns na przemian tak że uśrednią się one do 1.5 ns czy może będzie zawsze obcinać część ułamkową (jak integer w C)?

    jest poprawne?
    Innymi słowy muszę użyć DDS o jak najszybszym zegarze, aby uzyskać dobrą stabilność krótkoczasową.

    Na przykład: wybieram AD9851 i taktuję go 180 MHz. Mogę ustawić częstotliwość z krokiem 0.05 Hz (zadowalająca), a stabilność krótkoczasowa jest lepsza niż dla 1 MHz.
    Jak rozumiem (pytanie, czy dobrze) DDS składa moją częstotliwość z impulsów o długości ok. 5 ns (5 ns byłoby dla 200 MHz).

    Czyli: dla 32768 Hz będę otrzymywać na 30515 i 30520 ns w odpowiednich proporcjach.
    a dla 32768,05 Hz będę otrzymywać... to samo, tyle że w innych proporcjach. Oscyloskop pokaże w obu przypadkach do samo, z dokładnością do jittera.

    0
  • #14 17 Lis 2017 19:47
    jarek_lnx
    Poziom 43  

    Cytat:
    Ogólnie rzecz biorąc - mogę założyć, że DDS działa jak szybki licznik, z tym, że zamiast obcinać za każdym razem część ułamkową potrafi raz dawać za dużo, a raz za mało.
    Tak właśnie, można to nazwać licznikiem o ułamkowym stopniu podziału, albo inaczej mówiąc zbocze pojawia sie nie wtedy kiedy by wynikało z obliczeń a wtedy kiedy DDS dostaje najbliższe zbocze zegara, jest skwantowane w czasie i powstaje błąd kwantyzacji, to czy błąd jest taki jak przy round() czy jak przy ceil() zależy od implementacji, oczywiście ta pierwsza jest wskazana jak sie samemu robi DDS i zależy nam na zależnościach fazowych (bo na częstotliwościowe to nie wpływa), nie badałem jak jest w gotowych DDS-ach.

    Cytat:
    Jak rozumiem generując częstotliwość za pomocą DDS moja pomyłka wynosi 1/f sekund?

    Tak
    Cytat:
    Co masz na myśli mówiąc o uśrednianiu?

    Że błąd względny jest odwrotnie proporcjonalny do częstotliwości,

    Cytat:

    Chodzi o to, że taka pomyłka raz zachodzi, a raz nie?
    Dla całkowitych wspóczynników podziału błedu nie będzie, dla pozostałych (czyli ułamkowych ale wymiernych) można znaleźć taki okres dla którego liczba impulsów będzie zawsze taka sama.

    Cytat:

    Tj. załóżmy, że chcę odmierzyć 1.5 ns mając zegar 1 GHz - czy urządzenie będzie kolejno dawać impulsy 1ns i 2ns na przemian tak że uśrednią się one do 1.5 ns czy może będzie zawsze obcinać część ułamkową (jak integer w C)?
    W 1,5ns raz zliczysz jedno zbocze raz dwa zbocza, i podobnie DDS nie może wygenerować stanu niskiego czy wysokiego na wyjściu przez czas inny niż 1 lub 2ns.
    Cytat:

    Innymi słowy muszę użyć DDS o jak najszybszym zegarze, aby uzyskać dobrą stabilność krótkoczasową.
    Tak, ale można też inaczej, filtrować przez PLL, albo zastosować częstotliwość tak wysoką żeby rezonator dła sie przeciągnąć o tyle ile wynosi stosunek dwóch nastaw PLLa z całkowitymi stopniami podziału.
    Cytat:

    Na przykład: wybieram AD9851 i taktuję go 180 MHz. Mogę ustawić częstotliwość z krokiem 0.05 Hz (zadowalająca), a stabilność krótkoczasowa jest lepsza niż dla 180 MHz.
    Stabilność krótkoczasowa nie będzie lepsza, jeśli ustawisz całkowity współczynnik podziału będzie taka sama jak wzorca, jesli ustawisz ułamkowy to będzie gorsza.

    Jak rozumiem (pytanie, czy dobrze) DDS składa moją częstotliwość z impulsów o długości ok. 5 ns (5 ns byłoby dla 200 MHz).

    Cytat:
    Czyli: dla 32768 Hz będę otrzymywać na 30515 i 30520 ns w odpowiednich proporcjach.
    Tak
    Cytat:
    a dla 32768,05 Hz będę otrzymywać... to samo, tyle że w innych proporcjach.
    tak, zmieniłeś częstotliwość o 0,05Hz czyli na 20s będzie o jeden okres przebiegu więcej można przeoczyć ten dodatkowy impuls ;)

    Cytat:
    Oscyloskop pokaże w obu przypadkach do samo, z dokładnością do jittera.
    Tak

    0
  • #15 17 Lis 2017 20:33
    3029369
    Użytkownik usunął konto  
  • #16 18 Lis 2017 23:09
    winio42
    Poziom 18  

    Pong.Chu - bardzo dziękuję za Twoją ofertę pomocy.

    * Jeśli chodzi o stabilność w sensie wariancji Allana - niestety nie wiem, o co chodzi. Znalazłem na elektrodzie temat: https://www.elektroda.pl/rtvforum/topic2387238.html ale nikt tam nie odpisał. Znalazłem coś tutaj: http://www.astro.uni.torun.pl/~kb/HandbRT32/RozdzVI.htm - z tego co widzę to chodzi oddzielnie o stabilność fazy i częstotliwości.

    * Napiszę dokładnie o co mi chodzi - tak zapewne będzie nam prościej;
    Chcę zbudować bardzo precyzyjny (czuły i wąskopasmowy) mikrofon ultradźwiękowy w oparciu o kwarc zegarkowy. Taki kwarc w środku wygląda jak kamerton (przypomina widelec), wrażliwy na swoją częstotliwość rezonansową w bardzo wąskim zakresie (tj. ma dużą dobroć). Mierzyłem ją za pomocą oscyloskopu i generatora - wyszło mi ok. 40000 dla najtańszego kwarcu 32,768 kHz ze sklepu.
    Problem polega na tym, że po zdjęciu obudowy z kwarcu jego częstotliwość rezonansowa spada o kilkanaście (niekiedy kilkadziesiąt) herców (zmierzone). Dobroć też się zmniejsza, ale nie jakoś dramatycznie - wychodzi Q = kilkanaście tysięcy. Generując sygnał ultradźwiękowy zależy mi bardzo na tym, aby trafić (z bardzo dużą dokładnością, patrz: wysoka dobroć) w częstotliwość rezonansową kwarcu. Niestety zmienia się ona w funkcji temperatury i ciśnienia (też mierzyłem - zmiany o kilka Hz po podgrzaniu to normalność, co do ciśnienia to rośnie w raz z jego spadkiem). W związku z tym chciałbym mierzyć co jakiś czas częstotliwość rezonansową kwarcu i generować ultradźwięki o konkretnej długości fali. W tym celu potrzebuję właśnie generator, który mogę dostroić na konkretną długość fali. Na początku chciałem prostokąt, żeby (jako sygnał zegarowy) przekazywać go dalej, ale jeśli sinus prościej jest wygenerować (zawsze myślałem że trudniej - ot i pokolenie AVR) to tym lepiej, będzie od razu do głośnika. Ważne jest dla mnie żeby generator był stabilny (nie pływał z częstotliwością, bo stracę część mocy) w krótkim okresie czasu ('uśrednianie' DDSa mi nie odpowiada, bo nie trafię w rezonans mikrofonu). Normalnie użyłbym przestajany generator 32,768 kHz, ale nie jestem w stanie obniżyć jego częstotliwości o kilkanaście (lub więcej Hz). Stąd w założeniach napisałem 1000ppm. Generator nie musi być stabilny w długim okresie czasu - najwyżej będę częściej kalibrował. Problem z wszelkiego rodzaju 'cyfrówką' jest moim zdaniem taki, że jest w pewnym sensie 'kwantowa' - nie ma tam płynnej regulacji (co najwyżej mogę sobie uśrednić, ale to mi nie odpowiada). Dlatego myślałem o generatorze Pierce'a (steruję poprzez zmianę efektywnej pojemności) - może mniej stabilny w dłuższym czasie, ale bez efektu 'kwantowania'.

    Wiem że to dość długo opisałem, ale mam nadzieję że zrozumiale. Nie chciałem o tym wspominać od razu, żeby nie zniechęcić ludzi do czytania :)

    pozdrawiam serdecznie!

    0
  • #17 19 Lis 2017 17:43
    3029369
    Użytkownik usunął konto  
  • #18 19 Lis 2017 20:08
    winio42
    Poziom 18  

    Pong.Chu - dziękuję za wiadomość.
    Trochę mam mętlik w głowie - to co napisał Pong.Chu nie zgadza się z tym co pisał kolega Jarek. Rozpatrzmy:

    Pong.Chu napisał:
    Te gotowe moduły mają wlutowany kwarc chyba 125 MHz a to oznacza że możesz generować sygnał w zakresie od 0.029 Hz to ok. 40 MHz. Najmniejszy krok strojenia jest w tym wypadku 0.029 Hz. Co to oznacza? Ano tyle że nie wygenerujesz dokładnie 32768 kHz tylko 32767.9736074 Hz lub 32768.0027112 Hz.
    Stabilność każdej generowanej częstości przez DDS zależy od stabilności wzorca, w tym wypadku kwarca. Jeśli zamkniesz taki moduł w pudełki z izolacją termiczną to możesz dostać całkiem przyzwoite źródło.

    Zakładam idealny kwarc wlutowany do DDS, niech ma <1 ppb. Napisałeś, że mogę wygenerować 32767.97 i 32768.00 - czy na pewno mogę? Tj czy po podaniu takiego sygnału (sinusa) na głośnik długość fali dźwiękowej (lub po prostu okres sinusa) będzie za każdym razem taka sama? Jak to się ma do uśredniania, o którym pisał Jarek - z tego co zrozumiełem okres takiej fali wyjściowej jest skwantowany, z krokiem 1/f. Dla 125 MHz byłoby to 8 ns. Różnica okresu trwania pełnej sinusoidy między 32767,97 Hz a 32768,00 Hz to ok. 28 ps - czyli kilka rzędów wielkości mniej.

    To jak jest?

    0
  • Pomocny post
    #19 19 Lis 2017 21:31
    jarek_lnx
    Poziom 43  

    Cytat:
    Trochę mam mętlik w głowie - to co napisał Pong.Chu nie zgadza się z tym co pisał kolega Jarek.
    Chciałeś generować przebieg prostokątny, czyli wybrałeś sobie gorszy przypadek który sprowadza się do dzielnika częstotliwości (ułamkowego lub nie), to co napisałem odnosi się do tego przypadku. Kiedy generujemy sinus na DDS-ie, jest inaczej, ponieważ próbki mogą przyjmować więcej niż dwie wartości, przejście przez zero nie musi wypaść synchronicznie z zegarem, a szum kwantyzacji łatwiej odfiltrować.

    0
  • #20 19 Lis 2017 21:49
    winio42
    Poziom 18  

    Jarku - dziękuję za wyjaśnienie (+'pomógł')
    Czyli innymi słowy dużo bardziej niż prostokąt na DDSie opłaca się generować sinus.

    Czy zatem mogę założyć, że jeśli podłączę wyjście DDSa (125 MHz) do idealnego oscyloskopu, to po kolejno nastawieniu 32767,97 i 32768,00 na oscyloskopie zobaczę faktyczną różnicę w okresie przebiegów (zamiast zobaczyć po prostu jitter, jak w przypadku prostokąta)?

    Dodatkowo - czy jeśli potrzebuję rozdzielczości (załóżmy) 0,01 Hz to lepiej:
    a) wziąć szybszy zegar DDS i regulować krok najmłodszym bitem czy
    b) wziąć wolniejszy zegar DDS i regulować krok pewną wielokrotnością LSB?

    0
  • #21 19 Lis 2017 21:55
    jarek_lnx
    Poziom 43  

    winio42 napisał:
    Czy zatem mogę założyć, że jeśli podłączę wyjście DDSa (125 MHz) do idealnego oscyloskopu, to po kolejno nastawieniu 32767,97 i 32768,00 na oscyloskopie zobaczę faktyczną różnicę w okresie przebiegów (zamiast zobaczyć po prostu jitter, jak w przypadku prostokąta)?
    Jeśli użyjesz filtra, który odfiltruje "schodki" to tak.

    0
  • #22 19 Lis 2017 22:00
    winio42
    Poziom 18  

    Czyli sinus na DDS + filtr (powiedzmy RC 2giego rzędu np. 1k 4.7n + 10k 470p) i będzie OK. Jak rozumiem chodzi o odfiltrowanie przebiegu z DACa na wyjściu.

    Dodatkowo - czy jeśli potrzebuję rozdzielczości (załóżmy) 0,01 Hz to lepiej:
    a) wziąć szybszy zegar DDS i regulować krok najmłodszym bitem czy
    b) wziąć wolniejszy zegar DDS i regulować krok pewną wielokrotnością LSB?

    0
  • #23 19 Lis 2017 22:55
    3029369
    Użytkownik usunął konto  
  • #24 21 Lis 2017 10:28
    winio42
    Poziom 18  

    Pong.Chu napisał:
    Jak Ci będzie wygodniej. Możesz także użyć DDS z 48 bitowym akumulatorem fazy (np. AD9912) wtedy najmniejszy krok będzie Fclk/2^48 czyli dla Fclk=125MHz dostaniesz 0.444 uHz (mikroherza).


    Dzięki za odpowiedź. Nie zależy mi na tak małym kroku, 0,01 Hz (10 mHz) to w zupełnosci wystarczająca wartość.
    Chodziło mi bardziej o to, w jakim trybie DDS będzie pracował lepiej - przy wyższym zegarze mam krótsze impulsy z których DDS składa wyjściową wartość sygnału - ale to chyba i tak ma znaczenie tylko przy prostokącie, dobrze myślę? Z kolei przy krótszym zegarze poruszam się z krokiem 1 LSB - pamiętam z moich 'przygód' z DACami, że mogły mieć nieliniowości na poziomie kliku LSB, przez co lepiej było robić np. krok o 16 LSB i wybrać mniejszy zakres DACa niż robić kroki o 1. Nie wiem czy w przypadku DDSów to ma jakieś znaczenie, dlatego zapytałem.

    0
  • #25 21 Lis 2017 11:11
    3029369
    Użytkownik usunął konto  
  • #26 21 Lis 2017 11:47
    winio42
    Poziom 18  

    Czyli nie ma żadnego znaczenia (dla sinusa) czy napędzam DDS szybkim zegarem (krótki okres) i reguluję krok o 1 LSB czy wybieram wolny zegar (długi okres) i krok co 100 LSB?

    0
  • Pomocny post
    #27 21 Lis 2017 13:46
    3029369
    Użytkownik usunął konto  
  • #28 21 Lis 2017 13:52
    winio42
    Poziom 18  

    Jarek, Pong.Chu - wielkie dzięki za Waszą pomoc. Dzięki Wam już wiem jak zrealizować mój cel.
    Zgodnie z dobrą forumową praktyką - z racji uzyskania satysfakcjonującej mnie odpowiedzi temat zamykam.

    0