OK1HDU (Hamradio, electronics, travelling, photography, ok7u...)
599.cz - Homepage 599.cz - Homepage Memorial OK1WC SOTA - Vrcholy v éteru Optimalizováno pro web... Než něco pošlete dál, přečtěte si ... hoax.cz
     Dnes: 15. 12. 2018    fotogalerie na 599.cz spaceweather.com Bouřky v Česku v novém okně Bouřky v Evropě v novém okně Ionogram Průhonice v novém okně Contest calendar WA7BNM v novém okně RSS summary of the last 7 articles    
O   Hlavní menu
Hlavní stránka

Zajímavé odkazy

Download

Zasílání novinek

O   Seznam rubrik
mínus technika, bastleni
mínus provoz, závody
mínus Od krystalky k SSB
mínus ostatní


time.is in new window


f e e d b a c k

O   Počasí v Holicích
JO70XC


O   VOACAP KV Online

O   VOACAP pro CB
Šíření na CB

PHPRS fórum


<a1>technika, bastleni</a1>

Zpět Generátor s SI5351A ovládaný sériovým terminálem na PC.

Vydáno dne 02. 12. 2018 (285 přečtení)

SI5351A through USB-UART Zde popsaný generátor vznikl vlastně jako vedlejší produkt při vývoji a testování oscilátoru popsaném v předchozím článku (a nejspíš také v následujícím). Potřeboval jsem do PLL oscilátoru s SI5351A nějak pohodlně zadávat kmitočty v celém jeho rozsahu. Tak mne napadlo, že by to mohlo jít přes sériový terminál.

Doplněno 8.12.2018
Přišlo mi pár připomínek, že jsem úplně vynechal připojení displeje. Tak to napravuji.
(Odkaz míří na konec článku.)



Z dřívějších pokusů s DRA818V jsem tu měl převodník USB-UART (TTL), tak jsem ho použil. Jak modul s SI5351A, tak USB převodník jsem měl zapíchnuté v nepájivém kontaktním poli a to vše propojené s další deskou nějakého staršího bastlu, na které byl Atmega328.

Když už jsem to nepotřeboval a rozebíral to, napadlo mne, že bych si na to mohl navrhnout plošný spoj a udělat to trochu kompaktnější, kdybych s tím, třeba někdy v budoucnu, chtěl dělat nějaké pokusy.

     
USB-UART-SI5351A schema
USB-UART-SI5351A PCB_a
USB-UART-SI5351A PCB_b
Schéma Návrh DPS
A strana
Návrh DPS
B strana
     

Zapojení je celkem jednoduché. Na destičce jsou pouze dva moduly. Převodník USB-UART s FTDI čipem a modul s PLL oscilátorem SI5351A, popsaný v minulém článku. Mezi nimi je jednočip Atmega328PB, který jednak komunikuje s terminálem na PC a dále převádí zadaný kmitočet na data srozumitelná pro SI5351A a ta mu posílá přes I2C. Jen tak z nudy jsem tam udělal také možnost, že se zadaný kmitočet zobrazí na displeji, připojeném rovněž po I2C. Displej tam ale není nutný. Zadaný kmitočet vidíme v okně terminálu. Celé je to napájené 5ti Volty z USB portu.

     
USB-UART-SI5351A assembled
USB-UART-SI5351A assembled
USB-UART-SI5351A working
Osazeno V provozu
     

  • V poslední době se mi zalíbilo použití smd verze Atmega328 (TQFP), tak jsem ji použil i tady, na destičce nezabere skoro žádné místo.
  • Jumperem 3V/5V na modulu USB-UART je nastaven režim 5V. Stabilizátor 3,3V a převedení na 3V logiku jsou na modulu s SI5351A.
  • Na DPS je možné osadit běžný 6ti pinový ISP konektor. Paralelně k němu mám také "můj" programovací konektor (5 pinů PSH)




    Trochu odbočka:
    Na ebay.com jsem před časem zakoupil od Číňana velmi levně deset kusů "Atmega328p" (vyšlo to ani ne 30Kč za kus, poštovné zdarma). To označení je v uvozovkách, protože se domnívám, že se ve skutečnosti jedná o nějaké úplně jiné součástky, na které šikovný Číňan natiskl toto označení. Součástka po zapájení na desku neodebírá žádný měřitelný proud a připojený programátor hlásí, že není nikam připojený. Nejdřív jsem se domníval, že mám nějakou chybu v zapojení. Když jsem žádnou neobjevil, integrovaný obvod jsem vyměnil za jiný ze stejné dodávky. Chovalo se to úplně stejně. Koupil jsem tedy jiné procesory z Německa, znova na desce vyměnil a vše funguje bez problémů. Vzal jsem tedy lupu a pečlivě prohlédl všechny "čínské" procesory. Zjistil jsem, že přestože byly dodány zavařené v jednom plastovém pásku, mají na spodní straně označení tří různých výrobních závodů (Korea, Taiwan, Philipines). Přitom popis na vrchní straně je u všech do detailu identický. Prostě někteří Číňani jsou opravdu "šikovní" ;-)

    Ještě poznámka:
    Až když jsem je měl doma všiml jsem si na jednočipech z Německa, že se nejedná o Atmega328P ale Atmega328PB. To jedno písmeno navíc v označení součástky znamená docela podstatné změny ve funkčnosti. Včetně nových funkcí některých pinů (dokonce dva piny, GND a VCC se změnily na IN/OUT porty). Výrobce píše, že se v podstatě jedná o úplně novou součástku. Trochu mne to vystrašilo, ale naštěstí se dají použít místo původních Atmega328P, pokud ty nové funkce nevyužijeme.




    Stručně, jak to funguje

  •      
    communication USB-UART-SI5351A in Termite 3.4
    calibration USB-UART-SI5351A through Termite 3.4
    communication USB-UART-SI5351A through Putty 0.62
    Ukázka ovládání
    v Termite 3.4
    Ukázka ovládání
    v Termite 3.4
    Ukázka ovládání
    v Putty 0.62
         

    • Použil jsem pouze jeden výstup, CLK1. Je to ten prostření na modulu s SI5351A.
    • Výstup je přes SMA konektor přímo z integrovaného obvodu, bez jakéhokoliv filtru, galvanického oddělení, nebo zátěže 50Ω. Výstupní signál je obdélník.
    • Pro ovládání můžeme použít jakýkoliv terminálový program, který umí komunikovat po RS232. Já používám freeware Termite. Vyzkoušel jsem i Windowsovský Hyperterminál nebo třeba Putty.
    • Nastavení terminálu: Rychlost 9600, Data 8bitů, 1 stop-bit, Parita Ne, Flow-Controll Ne
    • Kmitočet zadáváme jako číslo, v jednotkách Hz. Byl jsem líný vymýšlet nějaké komfortnější zadávání, takže pokud zadáme cokoliv jiného než číslo, processor to odmítne a vyzve nás k novému zadání kmitočtu, jako čísla ve správném rozsahu.
    • Restart: Kromě číslic akceptuje slova "res" a "cal". Po "res" proběhne znova zadání inicializačních hodnot do generátoru SI5351A a nastaví se kmitočet 10 MHz. (pozůstatek z vývoje).
    • Kalibrace: Po zadání slova "cal" nastaví výstupní kmitočet 25 MHz a čeká na zadání zkutečného změřeného kmitočtu. Musíme ho zadat s přesností na jednotky Hz, tedy jako osmimístné číslo. Podle toho potom uloží kmitočet referenčního krystalu. Hodnota se uloží do Eeprom, takže zůstává i po vypnutí napájení (odpojení od USB portu). Zadáním "esc" místo změřeného kmitočtu se kalibrační proces zruší, bez uložení.

    Ukázky s displejem

    Jak jsem již napsal, displej není potřeba, protože kmitočet zadáváme v terminálu na PC, takže pokud si ho nepamatujeme ;-), vidíme ho na monitoru. Jelikož ale Atmega328 má dostatek paměti, není problém displej připojit. Zkusil jsem dva malinké displeje.
    • Jednak 0,96 palce oled grafický displej 128x64 pixelů. Ten konkrétní, který jsem koupil na ebay.com asi za 60Kč má dvě barvy pixelů. Odshora prvních 16 jsou žluté, zbytek modrý. Existují i displeje celé v jedné barvě, obvykle bílé, nebo modré.
    • Druhý displej je ještě menší, 0,91 palce, oled grafický 128x32 pixelů. Ten můj má bílou barvu pixelů, existují i modré.

    Oba displeje používají pro komunikaci I2C protokol. Každý z těch dvou typů displejů vyžaduje jiný ovladač, takže je nutné zkompilovat FW pro konkrétní displej. Jedná se o grafické displeje, takže je možné použít různé druhy a velikosti písma, je možné si vytvořit i písmo vlastní. Já jsem použil hotový font 12x16 pixelů. S větším se mi už celý kmitočet nevešel na jeden řádek.

         
    Display 128x64 pixels
    Display 128x64 pixels, 2 colors
    Display 128x32 pixels
    Display 128x64 pixelů Display 2 barvy Display 128x32 pixelů
         

    Jarda, ok1hdu

    PS:
    Zbyly mi tu  3   2 kusy plošných spojů (viz obrázky výše). Pokud by měl někdo zájem, pošlu mu je zadarmo. Stačí sdělit adresu.



       | Celý článek |      e-mailtisk clánku
     

    Zpět (klikni)

    O   Novinky
    05.12.2018:
    Update fotoalba
    Do fotoalba jsem přidal pár fotografií ze:
    Slovinska (jaro 2018)
    a ze:
    Suchého Vrchu (zima 2005/2006).

    24.11.2017:
    Update na webu DXFC
    Dneska jsem updatoval info na webu DXFC

    24.11.2017:
    Update fotoalba
    Do fotoalba jsem přidal fotky z letošní dovolené v Tureckém Oludeniz.

    23.09.2016:
    Finální výsledky RSGB IOTA Contestu 2016
    Pořadatel IOTA contestu zveřejnil výsledky letošního kola závodu.

    11.08.2016:
    Výsledky MMC HF 2016
    Pořadatel závodu Marconi Memorial Contest HF vydal konečné výsledky letošního (2016) kola závodu. K dispozici jsou rovněž přijaté deníky a statistiky.

    O   kalendář
    <<  Prosinec  >>
    PoÚtStČtSoNe
         1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    31       

    O   Radary ČHMU

    O   Statistika
    Návštěvy od 18.5.2015


    Tento web site byl vytvořen prostřednictvím phpRS - redakčního systému napsaného v PHP jazyce.
    Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
    nebo registrovanými ochrannými známkami příslušných vlastníků.