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

Schemat syntezy na 144MHz z SAA1057, LCD, krok 12.5kHz, wsad Bascom

marcin-k 30 Mar 2007 15:55 5477 24
REKLAMA
  • #1 3734349
    marcin-k
    Poziom 15  
    Posty: 255
    Ocena: 38
    koledzy czy ktoś ma może jakiś prosty schemat syntezy na 144MHz chodzi mi o prostą synteze nap. na SAA1057 z wyświetlaczem lcd krok 12.5 kHz możliwość pracy z przemiennikami + wsad do procesora najlepiej pisany w bascomie ponieważ coś niecoś w nim rozumiem.Chcę zbudować radio na to pasmo z resztą się uporam tak mi się wydaje.
  • REKLAMA
  • #2 3735064
    Dyonizy
    Poziom 15  
    Posty: 182
    Pomógł: 13
    Ocena: 6
    Polecam Ci synteze wg. tego artykulu . Wykonalem ja na 144 MHz
    - chodzi bez pudla .
    Autor artykulu tez chetnie odpowiada na pytania .

    Wg. danych SAA chodzi do 120 MHz a w rzeczywistosci
    znacznie wyzej nawet ponad 150 MHz .
    Załączniki:
    • pll-synt.pdf (449.11 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #8 3735875
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Cytat:
    chodzi mi głównie o taką , która ma możliwość współpracy z przemiennikami może jakąś inną

    Synteza jest syntezą. Za ustawienie częstotliwości odpowiedzialny jest µC i jego program. Jesli zaprogramujesz go tak, że przy nadawaniu i odbiorze ustawi odpowiednie częstotliwości to będzie pracował z przemiennikami. Doprowadzić musisz do µC sygnał informujący o tym czy włączono nadawanie czy odbiór. Na tej podstawie uC powinie dokonać właściwych ustawień.
  • #9 3737222
    marcin-k
    Poziom 15  
    Posty: 255
    Ocena: 38
    niestety coś tam programuje ale są to raczej proste programy i raczej nie poradzę sobie z napisaniem od podstaw programu chciałbym raczej na początek coś prostego a potem może coś można udoskonalić mam problem z komunikacją z SAA 1057 nie znam dokładnego protokołu chyba że ktoś z kolegów wyjaśni łopatologicznie jak to zrobić jak go "ugryść"
  • #10 3737574
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Poniżej doświadczalny program sterowania SAA1057 w Bascomie .
    $regfile = "ATtiny2313.DAT"
    $crystal = 1000000
    Dim X As Byte
    Dim Wpis As Word
    
    Config Portb.7 = 1
    Config Portb.6 = 1
    Config Portb.5 = 1
    Dat Alias Portb.7
    Ena Alias Portb.6
    Clk Alias Portb.5
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
    Cursor Off
    
    
    Wpis = &B1000000111000101     '33221 To jest konfiguracja syntezy (AM) krok 1kHz
    Cls : Lcd Wpis : Wait 1
    Gosub Saa
    Wpis = 27180                  'To jest początkowa watrość częstotliwości 27,18MHz
    Cls : Lcd Wpis
    Gosub Saa
    
    
    Do
    
    Debounce P1.4 , 0 , Zwieksz , Sub
    Debounce P1.3 , 0 , Zmniejsz , Sub
    Loop
    
    End
    
    Zwieksz:
    Wpis = Wpis + 10
    Cls : Lcd Wpis
    Gosub Saa
    Return
    
    Zmniejsz:
    Wpis = Wpis - 10
    Cls : Lcd Wpis
    Gosub Saa
    Return
    
    Saa:
    Dat = 0
    Ena = 0
    Clk = 0
    Waitms 5
    Ena = 1
    Waitms 5
    Clk = 1
    Waitms 5
    Clk = 0
    Waitms 5
    For X = 15 To 0 Step -1
    
       Dat = Wpis.x               'Tu wartość Wpis wysyłamy do syntezy bit po bicie.
    
       Waitms 5
       Clk = 1
       Waitms 5
       Clk = 0
       Waitms 5
    Next X
    
    Ena = 0
    Waitms 5
    Clk = 1
    Waitms 5
    Clk = 0
    Waitms 5
    Ena = 1
    Waitms 5
    Dat = 1
    Clk = 1
    Waitms 100
    
    Return


    Nic strasznego
  • #11 3737770
    161MDS01
    Poziom 24  
    Posty: 827
    Pomógł: 52
    Ocena: 36
    M.S. A nie da się tego zrobić na atmega8...POZDRAWIAM Cię serdecznie



    Daniel
  • #12 3738036
    sq6ade
    Poziom 40  
    Posty: 6855
    Pomógł: 482
    Ocena: 286
    161MDS01 napisał:
    prosiłbym o schemat...POZDRAWIAM Cię serdecznie

    Schemat dorysuj sam - przecież deklaracje portów masz na początku tego listingu !
  • #13 3738054
    MAREK74
    Poziom 20  
    Posty: 475
    Pomógł: 3
    Ocena: 13
    da sie, w czym problem????
  • REKLAMA
  • #15 3738822
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    $regfile = "ATtiny2313.DAT" zmień na $regfile = "m8def.dat"

    Tu jest schemat:
    Dat Alias Portb.7
    Ena Alias Portb.6
    Clk Alias Portb.5
  • REKLAMA
  • #16 3756473
    Fajdros
    Poziom 14  
    Posty: 68
    Pomógł: 4
    Ocena: 12
    Jak znasz rosyjski, to zobacz jak rosjanie to robią. Trudno zdobyć scalak LMX2316. http://ra3rbe.qrz.ru/ albo na www.cqham.ru lub tu:http://www.r3r.ru/ Tyle, że niema listingu tylko plik .hex (prosziwka), no i procek AT89C4051. Można wykorzystać sam syntezator -http://ra3rbe.r3r.ru/s2006lmx.htm
  • #17 7934265
    kaliszanin
    Poziom 16  
    Posty: 244
    Pomógł: 12
    Ocena: 30
    Cytat:
    Kod:
    $regfile = "ATtiny2313.DAT"
    $crystal = 1000000
    Dim X As Byte
    Dim Wpis As Word

    Config Portb.7 = 1
    Config Portb.6 = 1
    Config Portb.5 = 1
    Dat Alias Portb.7
    Ena Alias Portb.6
    Clk Alias Portb.5
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
    Cursor Off


    Wpis = &B1000000111000101 '33221 To jest konfiguracja syntezy (AM) krok 1kHz
    Cls : Lcd Wpis : Wait 1
    Gosub Saa
    Wpis = 27180 'To jest początkowa watrość częstotliwości 27,18MHz
    Cls : Lcd Wpis
    Gosub Saa


    Do

    Debounce P1.4 , 0 , Zwieksz , Sub
    Debounce P1.3 , 0 , Zmniejsz , Sub
    Loop

    End

    Zwieksz:
    Wpis = Wpis + 10
    Cls : Lcd Wpis
    Gosub Saa
    Return

    Zmniejsz:
    Wpis = Wpis - 10
    Cls : Lcd Wpis
    Gosub Saa
    Return

    Saa:
    Dat = 0
    Ena = 0
    Clk = 0
    Waitms 5
    Ena = 1
    Waitms 5
    Clk = 1
    Waitms 5
    Clk = 0
    Waitms 5
    For X = 15 To 0 Step -1

    Dat = Wpis.x 'Tu wartość Wpis wysyłamy do syntezy bit po bicie.

    Waitms 5
    Clk = 1
    Waitms 5
    Clk = 0
    Waitms 5
    Next X

    Ena = 0
    Waitms 5
    Clk = 1
    Waitms 5
    Clk = 0
    Waitms 5
    Ena = 1
    Waitms 5
    Dat = 1
    Clk = 1
    Waitms 100

    Return



    czy mozna zmienic czestotliwos poczatkowa 27,18mhz na 137mhz ?
  • #18 7934705
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Można, ale trzeba zmienić słowo konfiguracyjne, tak aby synteza pracowała z wejścia dla FM. Jako częstotliwość będzie trzeba jej podać 13700 (przy kroku 10kHz)
  • #19 7935384
    kaliszanin
    Poziom 16  
    Posty: 244
    Pomógł: 12
    Ocena: 30
    czyli co zmienic by bylo fm ?

    Dodano po 31 [minuty]:

    przy kompilacji wystapil error1 na lini 27 i 28

    Dodano po 28 [sekundy]:

    jak to poprawic ?
  • #20 7936924
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Poprawiłem

    $regfile = "ATtiny2313.DAT"
    $crystal = 1000000
    Dim X As Byte
    Dim Wpis As Word
    
    Config Portb.7 = 1
    Config Portb.6 = 1
    Config Portb.5 = 1
    Config Portb.4 = 0 : Portb.4 = 1
    Config Portb.3 = 0 : Portb.3 = 1
    
    Dat Alias Portb.7
    Ena Alias Portb.6
    Clk Alias Portb.5
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
    Cursor Off
    
    
    Wpis = &B1000000111000101 '33221 To jest konfiguracja syntezy (AM) krok 1kHz
    Cls : Lcd Wpis : Wait 1
    Gosub Saa
    Wpis = 27180 'To jest początkowa watrość częstotliwości 27,18MHz
    Cls : Lcd Wpis
    Gosub Saa
    
    
    Do
    
    Debounce Portb.4 , 0 , Zwieksz , Sub
    Debounce Portb.3 , 0 , Zmniejsz , Sub
    Loop
    
    End
    
    Zwieksz:
    Wpis = Wpis + 10
    Cls : Lcd Wpis
    Gosub Saa
    Return
    
    Zmniejsz:
    Wpis = Wpis - 10
    Cls : Lcd Wpis
    Gosub Saa
    Return
    
    Saa:
    Dat = 0
    Ena = 0
    Clk = 0
    Waitms 5
    Ena = 1
    Waitms 5
    Clk = 1
    Waitms 5
    Clk = 0
    Waitms 5
    For X = 15 To 0 Step -1
    
    Dat = Wpis.x 'Tu wartość Wpis wysyłamy do syntezy bit po bicie.
    
    Waitms 5
    Clk = 1
    Waitms 5
    Clk = 0
    Waitms 5
    Next X
    
    Ena = 0
    Waitms 5
    Clk = 1
    Waitms 5
    Clk = 0
    Waitms 5
    Ena = 1
    Waitms 5
    Dat = 1
    Clk = 1
    Waitms 100
    
    Return


    To bardzo stary program - z czasów kiedy przesiadałem się na AVR'y. W Bascomie 8051 inaczej nazywało się porty:
    P1.4
    P1.3 itd.

    Za FM odpowiada drugi bit konfiguracji

    Dla AM jest Wpis = &B1000000111000101, a odpowiednik dla FM to Wpis = &B1100000111000101
    Radzę zapoznać się z datasheetem bo przy uruchamianiu prawdopodobnie będzie trzeba grzebać w tych zero-jedynkach.
  • #21 7937092
    kaliszanin
    Poziom 16  
    Posty: 244
    Pomógł: 12
    Ocena: 30
    dziekuje za pomoc :)

    pozdrawiam
  • #22 7945641
    MAREK74
    Poziom 20  
    Posty: 475
    Pomógł: 3
    Ocena: 13
    a co z krokiem syntezy?
  • #23 7946014
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Zmiana na FM powoduje włączenie preskalera / 10 tak więc krokowi 1kHz odpowiada na FM'ie krok 10kHz, a 1,25kHz zamienia się na 12,5kHz. Dla tego też nie wpisuje się np. dla 100MHz współczynnika podziału 100000 (bo nie zmieściłby się również w 16 bitach) lecz 10000.
  • #24 8019958
    tumeks
    Poziom 17  
    Posty: 306
    Pomógł: 7
    Ocena: 12
    Czy ktoś uruchomił syntezę oparta na tym programie? posiada ktoś schemat?

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy prostego schematu syntezy częstotliwości na pasmo 144 MHz z wykorzystaniem układu SAA1057, z wyświetlaczem LCD i krokiem częstotliwości 12,5 kHz oraz wsadem w Bascomie. Użytkownik poszukuje schematu i oprogramowania umożliwiającego współpracę z przemiennikami, preferując programowanie w Bascomie ze względu na własne umiejętności. W odpowiedziach polecono artykuł z opisem syntezy działającej powyżej 150 MHz, link do programu sterującego SAA1057 oraz przykładowy kod w Bascomie dla mikrokontrolera ATtiny2313, który można przerobić na Atmegę8. Omówiono sposób sterowania syntezą przez mikrokontroler, który zmienia częstotliwość w zależności od trybu nadawania/odbioru, co umożliwia pracę z przemiennikami. Poruszono kwestie konfiguracji słowa sterującego dla pracy FM i wpływu na krok syntezy (np. 1 kHz na AM odpowiada 10 kHz na FM z preskalerem /10). Podano linki do schematów i programów, a także sugestie dotyczące adaptacji kodu i sprzętu. Wskazano, że SAA1057 nominalnie działa do 120 MHz, ale w praktyce można go stosować powyżej 144 MHz. Dyskusja zawiera także przykładowy kod Bascom do sterowania SAA1057 oraz uwagi dotyczące konfiguracji portów i obsługi LCD.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA