|
Hlavní menu |
|
Seznam rubrik |
Z důvodu zneužívání ke spamování, byla zpětná vazba zrušena |
|
Počasí v Holicích |
|
VOACAP KV Online |
|
VOACAP pro CB |
|
Vydáno dne 02. 12. 2018 (3688 přečtení)
|
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.
|
|
|
|
|
|
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.
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
|
|
|
|
|
|
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 pixelů
| Display 2 barvy
| Display 128x32 pixelů
|
|
|
|
Jarda, ok1hdu
PS:
Zbyly mi tu 3 2 1 0 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 |
|
|
Novinky |
07.07.2023: Update na webu DXFCDneska jsem updatoval info na webu DXFC.
05.07.2019: Update fotoalbaDo fotoalba jsem přidal pár fotografií ze: Slovinska (červen 2019) Fotoalbum prozatím zrušeno.
05.12.2018: Update fotoalbaDo fotoalba jsem přidal pár fotografií ze: Slovinska (jaro 2018)
a ze: Suchého Vrchu (zima 2005/2006).
Fotogalerie je prozatím zrušena.
|
|
kalendář |
<<
Duben
>>
|
Po | Út | St | Čt | Pá | So | Ne |
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 |
| | | | |
|
|
Radary ČHMU |
|
Zaparkováno na: |
|
TSL certifikát: |
|