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

LMX2316 - Budowa syntezy.

30 Maj 2017 07:36 1761 1
  • Poziom 19  
    Witajcie.

    Znów usiadłem do syntezy na tym chipie. Już nie TSA, SA, czy inne LM.

    Krok - Możliwie jak najwięcej możliwości, z włączeniem w to kroku 12,5 kHz, 25 kHz i oczywiście 8,33 kHz.

    Generator z jakim miałoby to pracować to seiler sterowany napięciowo, zakres strojenia dla UWarikapowego - 109 MHz dla 0 V, i około 150 dla 12V.
    Szkieletem programu na jakim się bawię (trudno to nazwać programowaniem) jest "Fork - Heńka" z Forum sp-hm.pl.
    Przepisałem go pod obsługę Si5351, jednak przy VHF nie osiągnąłem oczekiwanych wyników (duży szum z generatora) Próbowałem również pod LM7001, jednak ten mi nigdy nie ruszył. Projekt zarzuciłem, choć można go odratować.

    Czy ktoś mógłby mi w prostych słowach wytłumaczyć budowę słowa sterującego tą syntezą?
    Czy ktoś pomógłby mi w napisaniu obsługi w C (mam podstawy, mam książkę Mikra Kardasia, głównie Arduino, choć to nie jest obligo) (generowanie słowa sterującego)
    Czy użycie schematu z figury 4 będzie odpowiednie do budowy tej syntezy?


    https://www.rcscomponents.kiev.ua/datasheets/snas016g.pdf

    Niestety, szukałem odpowiedzi na moje pytania, jednak stosunkowo mało jest projektów opartych na tych scalakach. Pewnie dlatego, że są z powodzeniem stosowane w fabrycznych urządzeniach.

    Pozdrawiam
  • Poziom 20  
    ORMO_PL napisał:

    ...Czy ktoś mógłby mi w prostych słowach wytłumaczyć budowę słowa sterującego tą syntezą?...


    Na szybko po pobieżnym przejrzeniu DS wnioskuje:
    1. Na czas zapisu każdego 21 bitowego słowa podciągasz pin LE do masy(synteza przyjmuje je na narastającym zboczu, więc po ostatnich 2 bitach czekasz min. 50ns i podciągasz pin do Vcc).


    2. Dane-składają się z 4 rejestrów(właściwe to trzech bo ostatni jest taki sam jak przedostatni, różni się tylko bitami kontrolnymi).

    2a. Rejestr "R" - rejestr dzielnika częstotliwości wzorca(krok przestrajania): zaczyna się bitem determinującym zachowanie wyjścia LD(lockdetect), następnie 4 bity testowe - zawsze zera , następnie 14 bitów właściwych dzielnika(3 do 16383). Ostanie dwa bity jakie wysyłasz to bity kontrolne "C"(C1 i C2) - w przypadku rejestru "R" te dwa bity mają wartość równą zeru. Bit C1 jest zawsze ostatnim bitem(LSB) jaki wysyłasz.

    2b. Rejestr "N" - rejestr dzielnika częstotliwości VCO(częstotliwość właściwa na której ma pracować VCO). Pierwszy jest bit(Go bit) konfigurujący "FastLock"(0=FastLock wyłączony, 1=FastLock włączony). Następny jest ciąg 18 bitów, z czego 5 pierwszych bitów to bity dzielnika A(0 do 31) a 13 kolejnych bitów to bity dzielnika B(3 do 8191). Po zsumowaniu dają wartość właściwą jaką należy wysłać syntezie. Oczywiście należy ją obliczyć ze wzoru, który jest w datasheet'e. Ostanie 2 bity to znów bity konfiguracyjne "C", lecz w tym przypadku będą to C1=1 i C2=0.

    2c. Rejestr funkcyjny(konfiguracyjny). W tym rejestrze ustawiasz wszystko od PowerDown do FastlLock, czy też resetowanie wszystkich dzielników. Nie czuje się kompetentny do tłumaczenia od czego służy każdy bit... Jednakże ogólnie wygląda to tak samo. Na początku jest TestBit, który zawsze powinien być ustawiony na 0. Potem 18 bitów ustawień i na koniec bity C1=0, C2=1.

    2d. Ostatniego rejestru, czyli egzystującego pod bitami C1=1 oraz C2=1 nie rozumiem, w sumie nie widzę dla niego zastosowania przy prostej syntezie.


    3. Normalna praca ogranicza się do wysłania jej zawartości rejestru "N"(prawdopodobnie). Czyli jednego 21 bitowego słowa. Lecz nie zawsze.
    Nie zawsze; dlatego, że po podłączeniu syntezy do zasilania należy wysłać jej pełen zestaw instrukcji. Oczywiście przy zmianie kroku też trzeba jej dosłać wartość rejestru "R".


    http://www.ti.com/tool/codeloader
    http://www.ti.com/lit/an/snaa062a/snaa062a.pdf