logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATmega8 i AD9850 - brak sygnału wyjściowego, problem z transmisją danych

trialmen 05 Paź 2013 14:35 1944 4
  • #1 12810906
    trialmen
    Poziom 9  
    Witam wszystkich. Parę dni temu kupiłem płytkę z generatorem AD9850 dokładnie taką: Link. Po podłączeniu do mikrokontrolera ATmega8 i napisaniu prostego programu nie otrzymałem żadnych przebiegów wyjściowych. Próbowałem przesyłać dane najprościej napisanymi programami ale i tak nie otrzymałem żadnych przebiegów. Próbowałem przesyłać dane szeregowo i równolegle. Przykładowe programy jakie napisałem:

    Transmisja równoległa:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Pin 0 portu C jest podłączony do FQUP
    Pin 1 portu C jest podłączony do WCLK
    Piny Portu D są kolejno podłączone do wejść D0-D7 układu generatora

    Transmisja szeregowa:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Pin 0 portu C jest podłączony do FQUP
    Pin 1 portu C jest podłączony do WCLK
    Pin 2 portu C jest podłączony do D7

    Z góry przepraszam za tak napisany program ale chciałem uzyskać najprostrzy kod bez żadnych pętli. Przebiegi pochodzące z ATmegi na oscyloskopie wyglądają wporządku, natomiast na wyjściu sinusa układu AD9850 cały czas mam potencjał zerowy.

    Czy takie rozwiązania programowe mają szanse działać ? Szukałem przykładowych kodów w C do tego typu generatorów ale nic nie znalazłem, wszystko tylko w hex.
    Z góry dziękuję za każdą odpowiedź.
    Pozdrawiam
    Trialmen
  • #2 12811342
    mickpr
    Poziom 39  
    Ja bym zaczął od wstawienia jakichś małych przerw między instrukcje ustawiania pinów FQUP i WCLK.
    Datasheet mówi jasno : o minimum 7mS dla FQUP i minimum 3,5mS dla WCLK.
    Nie wiem z jaką częstotliwością taktujesz Atmegę - ale raczej nie spełniasz tych zależności (szczególnie tej drugiej) - ponieważ nie masz nic między tymi instrukcjami:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #3 12812067
    trialmen
    Poziom 9  
    Dzięki za odpowiedź !
    Ale chciałem się zapytać o ten timing. Bo ja widziałem te wymagania ale mi wydaje się że jest tam napisane 3,5 ns i 7 ns co by znaczyło nano sekundy a nie milisekundy. Jeżeli się mylę to proszę o poprawę

    Ps. ATmega chodzi bez kwarcu na internalu.
  • #4 12812087
    mickpr
    Poziom 39  
    Masz rację - a moje oczy nadają się do okulisty :)
    Pokaż jeszcze schemat. Co podłączyłeś do CLKIN? Chodzi mi o pin nr 9 tego AD9850.
  • #5 12812125
    trialmen
    Poziom 9  
    Schemat płytki można zobaczyć na tej stronie:Link w zakładce pobierz. Ale jeżeli CLKIN masz na myśli wejście zegarowe układu AD9850 to jest tam podłączony kwarc 125MHz

    Pozdrawiam !
REKLAMA