Anotace
V práci je popsán návrh a realizace dvoukanálového generátoru harmonického signálu, jehož jádrem je integrovaný obvod přímé digitální syntézy. Generátor umožňuje prostřednictvím numerické klávesnice a LCD displeje jednoduše nastavovat amplitudu, vzájemný fázový posuv a frekvenci výstupních signálů v rozsahu 1 Hz až 40 MHz.
Abstract
This project
describes a development and an execution of two-channel harmonic generator
which is based on an integrated circuit of a direct digital synthesis. The
generator allows setting output amplitude, phase shift and frequency in range
from 1 Hz up to 40 MHz by numeric keyboard easily.
Obsah
Poznámka: Chyby formátování vznikly při konverzi z originálu na dokument pro web a jejich oprava by byla příliš zdlouhavá...1.1. Blokové schéma a popis funkce DDS
1.2. Nežádoucí spektrální složky výstupního signálu
2.4. Blokové schéma generátoru.
2.5.2. Diferenciální a výstupní zesilovače
2.6. Schématický návrh - Digitální část
4.1. Úrovně výstupního výkonu harmonických složek
Seznam příloh
1) Seznam použitých součástek
2) Celkové schéma generátoru
Generátory patří mezi základní přístroje používané v měřících laboratořích, kde nacházejí uplatnění především jako zdroje testovacího signálu. Můžeme je dělit dle různých kritérií. Především však podle frekvenčního rozsahu výstupního signálu, jeho časového průběhu nebo dle způsobu generování signálu, respektive způsobu nastavení a stabilizace výstupní frekvence a výstupního výkonu (amplitudy).
Přístroj, který jsem v rámci této práce navrhl a sestavil, spadá svým frekvenčním rozsahem 1 Hz až 40 MHz do kategorie nízkofrekvenčních generátorů. Spodní hranice vysokofrekvenční techniky není přesně stanovena, ale můžeme ji popsat jako frekvenci nad níž nelze používat k popisu obvodů soustředěné parametry běžné teorie obvodů. Maximální výstupní frekvence tohoto generátoru již může být za určitých okolností nad touto pomyslnou hranicí.
Přístroj bude generovat dva napěťové reálné signály se stejnou avšak nastavitelnou frekvencí a s harmonickým průběhem. Což odpovídá jedné - v ideálním případě jediné, v praxi však jen výrazně převládající - spektrální čáře ve frekvenčním spektru výstupního signálu.
U každého z těchto dvou signálů bude možné nastavit jejich amplitudu v rozsahu 0 V až 2,55 V při zatížení výstupů impedancí 50 Ω. Bude rovněž možné nastavit vzájemný fázový posuv těchto dvou signálů v plném rozsahu 0 až 360° (2π).
Z hlediska frekvenční stabilizace spadá přístroj do kategorie tzv. syntezátorů, které umožňují na rozdíl od volně běžících generátorů přesnější nastavení a lepší stabilitu výstupní frekvence.
Syntezátory frekvence obecně využívají referenční signál s konstantní frekvencí. Výstupní frekvence je pak pomocí digitálních, digitálně-analogových a/nebo analogových obvodů generována jako určitý násobek (podíl) této referenční frekvence a lze ji měnit jen diskrétně. Referenční oscilátor s pevnou výstupní frekvencí lze v praxi vytvořit s velmi dobrou frekvenční stabilitou, respektive řádově lepší než v případě oscilátorů s proměnnou frekvencí. Frekvenční stabilita výstupního signálu je pak dána pouze frekvenční stabilitou referenčního oscilátoru.
V případě přímé digitální syntézy je syntezátor tvořen výhradně digitálními obvody a výstupním digitálně-analogovým převodníkem. Přímá digitální syntéza je označována také zkratkou DDS z anglického Direct Digital Synthesis.
Na obr. 1.1 je znázorněno základní blokové schéma přímé digitální syntézy.
Obr. 1.1 : Blokové schéma přímé digitální syntézy
Binární číslo určující výstupní frekvenci se vkládá sériově nebo paralelně do tzv. delta registru. Toto číslo je určeno dle konkrétní realizace 24 až 48 bity a nazývá se ladící slovo. V blokovém schématu je označeno jako M. Po resetu jsou oba registry vynulovány. Při každém hodinovém cyklu akumulátor fáze přičte k aktuální hodnotě N ve fázovém registru hodnotu M z delta registru pomocí sčítačky. Dokud nedojde k přetečení fázového registru, bude platit pro k-tý hodinový cyklus:
|
(1.1) |
Hodnota ve fázovém registru se tedy bude při konstantní hodinové frekvenci v čase lineárně zvyšovat. K přetečení fázového registru zde dojde každou periodu výstupního signálu. Při přetečení ve fázovém registru zůstane zbytek po přetečení a děj dále pokračuje. Fázový registr spolu se sčítačkou tvoří tzv. fázový akumulátor. Hodnota fázového registru adresuje místo v paměti ROM s tabulkou funkce sinus. V této paměti jsou uloženy hodnoty funkce sinus pro diskrétně a lineárně se zvětšující argument (úhel). Aby nemusela být paměť ROM zbytečně veliká, používá se pro její adresaci pouze několik (běžně 10 až 14) nejvyšších bitů z fázového akumulátoru.
Na obr. 1.2 je zobrazen digitální fázový kruh zjednodušeného DDS systému pro maximální hodnotu Nmax = 15 a pro ladící slovo M = 3. Po resetu je ve fázovém registru hodnota N = 0, což odpovídá bodu na kruhu zcela vpravo a nulové hodnotě funkce sinus. Při prvním hodinovém cyklu se hodnota fázového registru zvýší na N = 3, což odpovídá skoku na digitálním fázovém kruhu proti směru hodinových ručiček. Na tomto kruhu je vyznačena i hodnota uložená v ROM paměti funkce sinus jako svislá čára mezi osou a konkrétním bodem na kruhu.
Obr. 1.2 : Digitální fázový kruh
Frekvence výstupního signálu bude:
|
(1.2) |
kde fs je hodinová frekvence a fout je frekvence výstupní.
Maximální hodnota ladícího slova vychází z Nyqustova kritéria. Maximální hodnota přičtení fáze je tedy v tomto kruhovém diagramu 180°, což odpovídá v tomto konkrétním případě Mmax = 8. Při M = 8 by sice bylo splněno Nyqustovo kritérium, ale na výstupu by mohl být obdélníkový signál náhodné amplitudy a nebo dokonce konstantní nulová úroveň. Proto platí:
|
(1.3) |
V praxi je však třeba volit maximální hodnotu ladícího slova nižší kvůli reálným vlastnostem výstupního rekonstrukčního filtru, respektive jeho omezené strmosti.
Z toho pak vyplývá maximální možná výstupní frekvence:
|
(1.4) |
|
|
V praxi se však používá maximálně třetina nebo čtvrtina hodinové frekvence kvůli již zmíněné omezené strmosti rekonstrukčního filtru. |
|
Výstupní signál obvodu přímé digitální syntézy obsahuje veliké množství (teoreticky nekonečně mnoho) nežádoucích harmonických složek. Signál je vytvářen vzorkováním D/A převodníkem, a proto bude obálku vzniklých spektrálních složek tvořit funkce sin(x)/x. Kromě těchto spektrálních čar se ve spektru výstupního signálu objeví množství vyšších harmonických složek od generované frekvence, které vznikají především z důvodu nelinearity D/A převodníku. Všechny vyšší harmonické složky s frekvencí vyšší než je polovina frekvence vzorkovací se objeví jako přenesený obraz v základním pásmu. Vše je patrné z obr. 1.3, na kterém je zjednodušeně zobrazen příklad spektra výstupního signálu při vzorkovací frekvenci 100 MHz a generované frekvenci 30 MHz.
Obr. 1.3 : Příklad spektra výstupního signálu
Přenesené vyšší harmonické do základního pásma nelze potlačit výstupním filtrem (typu dolní propust).
Podrobněji je princip přímé digitální syntézy popsán například v (1).
Před zahájením vlastního návrhu generátoru jsem nejprve konkretizoval a upřesnil následující požadavky, respektive cíle, kterých bych v rámci této práce chtěl dosáhnout nad rámec zadání práce.
· Dva výstupy
· Možnost regulace:
o výstupní frekvence (1 Hz až 40 MHz)
o vzájemného fázového posuvu (0° až 360°)
o amplitudy výstupního napětí pro oba kanály samostatně (0 V až 2,55 V)
· Ovládání přístroje prostřednictvím numerické klávesnice
· Zobrazení aktuálních informací na LCD displeji
· Odstup nežádoucích harmonických složek výstupního signálu 60 dB
· Realizace v podobě plnohodnotného přístroje
Obvod přímé digitální syntézy lze realizovat několika způsoby. Volil jsem mezi následujícími třemi možnostmi:
1) programové řešení ( mikrokontrolér a D/A převodník )
2) pevná logika ( hradlové pole a D/A převodník )
3) integrovaný obvod přímé digitální syntézy
Realizace s mikrokontrolérem naráží na požadovanou výstupní frekvenci, při které by musela být taktovací frekvence mikrokontroléru příliš vysoká. Použití pevné logiky by sice umožnilo vyšší pracovní kmitočet, ale její návrh by byl příliš komplikovaný. Proto jsem se rozhodl pro použití integrovaného obvodu DDS.
Na základě průzkumu trhu jsem zjistil, že největší sortiment takovýchto obvodů nabízí firma Analog Devices. A po prostudování několika katalogových listů a konzultaci se zastoupením zmíněného výrobce se mi jako optimální jeví integrovaný obvod AD9958, který obsahuje dva obvody DDS se společným, synchronním vstupem hodinových impulzů.
Integrovaný obvod AD9958 firmy Analog Devices (2) obsahuje dvě jádra DDS, která umožňují nezávislé nastavení frekvence, fázového posuvu a amplitudy pro oba kanály. Řídící obvody obou kanálů jsou taktovány shodným zdrojem hodinové frekvence a jsou tedy vzájemně synchronní. Právě proto je AD9958 vhodný pro tuto aplikaci.
· 2 synchronní DDS jádra
· nezávislé nastavení frekvence, fáze a amplitudy obou kanálů
· přizpůsobené zpoždění změn parametrů výstupních signálů
· lineární rozmítání frekvence, fáze i amplitudy
· až šestnácti-úrovňová diskrétní modulace frekvence, fáze i amplitudy
· sériové řízení po SPI sběrnici
· dvojité napájecí napětí 1,8 V a 3,3 V
· možnost synchronizace více integrovaných obvodů
· integrovaná násobička vstupní hodinové frekvence (4x až 20x)
· pouzdro 56-Lead LFCSP
V následující tab. 2.1 jsou uvedeny počty bitů jednotlivých částí integrovaného obvodu AD9958.
Tab. 2.1 : Počty bitů částí AD9958
|
počet bitů |
výstupní D/A převodníky |
10 |
nastavení frekvence |
32 |
nastavení fáze |
14 |
nastavení amplitudy |
10 |
Na obr. 2.1 je uvedeno vnitřní blokové schéma integrovaného obvodu AD9958 převzaté z (2). Jsou zde vidět obě jádra přímé digitální syntézy (DDS Core), řízení výstupní amplitudy (AMP), integrované digitálně-analogové převodníky (DAC) a řídící logika (Timing and control logic). Dále se v AD9958 nachází obvody pro generování a úpravu hodinového signálu včetně násobičky frekvence (REF clock multiplier) a obvody pro sériovou komunikaci.
Obr. 2.1 : Blokové schéma AD9958
parametr |
hodnota |
Maximální hodinová frekvence |
500 MHz |
Maximální výstupní proud D/A převodníků |
10 mA |
Maximální chyba zesílení |
±10 % |
Maximální nelinearita |
±1 LSB |
Oddělení kanálů |
72 dB |
Následující obrázek obr. 2.2 zobrazuje blokové schéma celého přístroje tak, jak jsem jej navrhl. Přístroj jsem rozdělil na dvě samostatné části – digitální (horní část blokového schématu) a analogovou (spodní část). Tyto dvě části bude možno navrhovat, sestavovat a testovat samostatně, což zjednoduší celkovou realizaci. Digitální část slouží k řízení integrovaného obvodu AD9958 a také pro komunikaci s uživatelem. Tato část je tvořena mikrokontrolérem, ke kterému je připojen textový LCD displej 2x 16 znaků, Bluetooth modul pro bezdrátové ovládání a také maticová numerická klávesnice se šestnácti tlačítky pro ovládání přístroje.
Obr. 2.2 : Blokové schéma
Analogovou část tvoří především integrovaný obvod přímé digitální syntézy AD9958. Jeho hodinová frekvence je vytvářena externím generátorem. Vstupy modulace jsou opatřeny vstupními přepěťovými ochranami a vstupními zesilovači. Výstupy AD9958 jsou komplementární a vysoko-impedanční. Pro jejich impedanční přizpůsobení na 50 Ω a změnu na jednoduché (nesymetrické) výstupy jsou použity diferenciální zesilovače. Za nimi pak následují rekonstrukční pasivní LC filtry typu dolní propust. Tyto filtry jsou rovněž impedančně přizpůsobeny na 50 Ω. Nakonec je signál napěťově i proudově zesílen výstupními zesilovači a opět přizpůsoben výstupními odpory opět na 50 Ω.
Jednotlivé části blokového schématu budou podrobněji popsány dále.
Celkové schéma přístroje je uvedeno v příloze.
Integrovaný obvod AD9958 má 56, respektive s chladící ploškou 57 vývodů. Většina z nich je využita pro připojení napájecího napětí nebo zem. Následující tab. 2.2 je převzata z (2) a zobrazuje popis všech pinů. Po prostudování jednotlivých částí katalogového listu jsem ji doplnil o konkrétní využití (zapojení) jednotlivých pinů v této aplikaci.
Tab. 2.2 : Popis funkce a zapojení pinů AD9958
číslo pinu |
název pinu |
I/O |
popis funkce pinu |
zapojení |
1 |
SYNC_IN |
I |
Synchronizace více obvodů
AD9958 |
GND |
2 |
SYNC_OUT |
O |
Synchronizace více obvodů
AD9958 |
- |
3 |
MASTER_RESET |
I |
Reset |
PIC I/O |
4 |
PWR_DWN_CTL |
I |
Externí vypnutí |
GND |
5, 7, 11, 15, 19, 21, 26,
29, |
AVDD |
I |
Napájecí napětí analogové
části (1,8V) |
analog. +1,8V |
30, 31, 33, 35, 36, 37, 39 |
|
|
|
|
6, 10, 12, 16, 18, 20, 25 |
AGND |
I |
Zem analogové části |
GND |
45, 55 |
DVDD |
I |
Napájecí napětí digitální
časti (1,8V) |
dig. +1,8V |
44, 56 |
DGND |
I |
Zem digitální části |
GND |
8 |
CH0_IOUT |
O |
Výstup DA převodníku |
1. výstup |
9 |
CH0_IOUT |
O |
Komplementární výstup DA
převodníku |
1. výstup kompl. |
13 |
CH1_IOUT |
O |
Výstup DA převodníku |
2. výstup |
14 |
CH1_IOUT |
O |
Komplementární výstup DA
převodníku |
2. výstup kompl. |
17 |
DAC_RSET |
I |
Referenční proud pro oba DA
převodníky |
R 4,7 kΩ na GND |
22 |
REF_CLK |
I |
Komplementární vstup hodinového
signálu |
C 100 nF na GND |
23 |
REF_CLK |
I |
Vstup hodinového signálu |
hodinový signál |
24 |
CLK_MODE_SEL |
I |
Řídící vstup nastavující typ
oscilátoru |
GND |
27 |
LOOP_FILTER |
I |
Externí kompenzace PLL
filtru |
C 680pF na GND |
28, 32, 34, 38 |
NC |
- |
Bez vnitřního zapojení |
- |
40, 41,42,43 |
P0, P1, P2, P3 |
I |
Datové vstupy |
dig.vstupy |
46 |
I/O_UPDATE |
I |
Přesun dat ze vstupů do
vstupních registrů |
PIC I/O |
47 |
CS |
I |
Výběr z více obvodů na
společné SPI sběrnici |
PIC I/O |
48 |
SCLK |
I |
Hodinový signál sériové
komunikace |
PIC I/O |
49 |
DVDD_I/O |
I |
Napájecí napětí digitální
části (3,3V) |
dig. 3,3V |
50 |
SDIO_0, |
I/O |
Datový port sériové
komunikace |
PIC I/O |
51 52, 53 |
SDIO_1:3 |
I/O |
Digitální porty |
1: PIC I/O; 3:GND |
54 |
SYNC_CLK |
O |
Čtvrtinová frekvence
hodinového signálu |
- |
Schéma části zapojení integrovaného obvodu AD9958 je zobrazeno na obr. 2.3. V levé části schématu je vidět generátor hodinové frekvence (viz dále). Rezistory R5 a R6 přizpůsobují logické úrovně pro komplementární vstup externího hodinového signálu AD9958, který je oddělen keramickým kondenzátorem C1. Druhý hodinový vstup je připojen přes keramický kondenzátor C2 na zem. Sériová kombinace kondenzátoru C3 a R7 slouží jako externí kompenzace vnitřního PLL filtru. Rezistor R9 nastavuje maximální proud D/A převodníků. Rezistory R101, R102, R201 a R202 zatěžují proudové výstupy D/A převodníků. Všechny ostatní rezistory uvedené v tomto schématu slouží pro přizpůsobení logických úrovní.
Obr. 2.3 : Schéma části zapojení integrovaného obvodu AD9958
V této aplikaci bude využíván pouze jeden integrovaný obvod AD9958, a proto nebude synchronizace využita. Z toho vyplývá připojení synchronizačního vstupu SYNC_IN na zem a ponechání synchronizačního výstupu SYNC_OUT bez elektrického zapojení.
Integrovaný obvod AD9958 bude po zapnutí přístroje stále v zapnutém režimu. Vzhledem k napájení přístroje ze síťového adaptéru není nutné zabývat se příliš minimalizací proudového odběru. Z toho vyplývá připojení řídícího vstupu PWR_DWN_CTL na zem. Vstup MASTER_RESET je připojen na výstup mikrokontroléru a umožňuje tak programově restartovat DDS. Tím se nastaví veškeré vnitřní registry na výchozí hodnoty.
Vzhledem k principu regulace výstupní frekvence v obvodu přímé digitální syntézy, ulehčí návrh volba frekvence hodinového signálu jako celá mocnina dvou (Hz). To umožní snazší řízení a zjednodušení programu mikrokontroléru. Výstupní frekvence v Hz pak bude přímo odpovídat binárnímu číslu určeného částí frekvenčního registru. Klasické krystaly se s takovouto hodnotou frekvence bohužel běžně nevyrábějí. Z tohoto důvodu jsem jako zdroj hodinové frekvence použil programovatelný krystalový oscilátor firmy Epson, konkrétně typ SG8002.
Oscilátory řady SG8002 obsahují krystal, programovatelnou děličku kmitočtu, fázový závěs PLL a paměť PROM. Současně je integrován programovatelý výstupní obvod, který umožňuje zatížit výstup obvody CMOS nebo TTL.
Parametry SG8002JC:
- napájecí napětí: 2,7 ÷ 5 V
- frekvenční stabilita ± 50 ppm
Frekvence hodinového signálu by měla být s rezervou vyšší než dvojnásobek maximální nastavitelné výstupní frekvence. Čím větší bude tato rezerva, respektive čím bude větší frekvenční odstup výstupní frekvence od nežádoucích obrazů ve výstupním frekvenčním spektru, tím budou kladeny menší nároky na strmost a tedy i složitost výstupního filtru.
Integrovaný obvod AD9958 dokáže pracovat s maximální hodinovou frekvencí 500 MHz. Obsahuje rovněž programovatelnou násobičku vstupní hodinové frekvence. Násobičku lze nastavit tak, aby násobila vstupní frekvenci celým číslem v rozsahu 4 ÷ 20. S ohledem na výše uvedené požadavky a možnosti jsem se rozhodl pro použití programovatelného oscilátoru SG8002 s naprogramovanou výstupní frekvencí 224 Hz, tedy 16 777 216 Hz a nastavení násobičky na 23, tedy 8-krát.
Výsledná vnitřní hodinová frekvence obvodu AD9958 bude pak:
|
(2.1) |
Maximální výstupní frekvence je teoreticky dle vztahu (1.4):
|
(2.2) |
|
|
Vzhledem k omezené strmosti výstupního rekonstrukčního filtru bude maximální výstupní frekvence nižší, konkrétně 40 MHz.
Nejmenší možný ladící krok (nejmenší možná změna) výstupní frekvence AD9958 je:
|
(2.3) |
Krok nastavení výstupní frekvence generátoru bude 1 Hz. Posledních pět bitů vkládaných mikrokontrolérem do delta registru bude tedy vždy nevyužito (budou zde vždy nuly). |
|
Oba kanály integrovaného obvodu AD9958 mají komplementární proudový výstup D/A převodníků. Dle katalogového listu mají být tyto proudové výstupy (na rozdíl od většiny ostatních DDS obvodů) zakončeny přes primární vinutí VF transformátoru nebo přes rezistory do napájecího napětí analogové části (+1,8 V). Vzhledem k požadované regulaci výstupní frekvence v rozsahu mnoha řádů by nebylo použití VF transformátoru vhodné. Z tohoto důvodu jsem zvolil variantu zakončení proudových výstupů rezistory. Při určení jejich hodnoty jsem vycházel z následujících informací uvedených v katalogovém listu.
- Maximální proud z jednoho výstupu je limitován hodnotou 15 mA.
- Při výstupním proudu 15 mA však dochází k nežádoucímu zkreslení a je vhodné nepřesahovat hodnotu 10 mA.
- Napětí na výstupech se může pohybovat maximálně v intervalu < UAVDD – UOUT_MAX ; UAVDD + UOUT_MAX >, kde UOUT_MAX = 0,5 V. (Zde je vhodné dodržet rezervu například 20 %.)
- Maximální rozsah výstupního proudu lze nastavit volbou hodnoty rezistoru RSET .
Výstupní proud jsem zvolil:
|
(2.4) |
Dle vzorce z katalogového listu pak:
|
(2.5) |
Po zaokrouhlení na nejbližší hodnotu v řadě E12:
|
(2.6) |
Výpočet hodnot zakončovacích rezistorů RTRM :
|
(2.7) |
Maximální amplituda na výstupech AD9958 bude tedy UmmAD = 0,8 ∙ 0,5 = 0,4 V.
Mikrokontrolér řídí obvod přímé digitální syntézy prostřednictvím 4-vodičové sériové sběrnice. Pin SCLK nese hodinový signál sériové komunikace, který je generován řídícím mikrokontrolérem. Pin SDIO_0 je využit pro vlastní sériová data. Po přenosu sériových dat (instrukcí a/nebo hodnot) do AD9958 je vyslán potvrzovací impulz. K tomu slouží pin IO_UPDATE. Díky tomuto potvrzovacímu impulzu jsou vnitřní registry v AD9958 změněny ve stejný okamžik a nepřepisují se v průběhu přenosu. Pin CS slouží k zahájení a ukončení přenosu. Rovněž by umožňoval výběr jednoho z AD9958, pokud by jich bylo na sériové sběrnici připojeno více.
Dále jsou k mikrokontroléru připojeny vstupy MASTER_RESET a SDIO_1. Pinem SDIO_1 jsou ovládány funkce související s lineárním rozmítáním. (Lineární rozmítání přesahuje rozsah této práce, ale je počítáno s jeho možnou budoucí programovou implementací.)
Použitý mikrokontrolér PIC16F877 a rovněž i programovatelný oscilátor SG8002JC jsou napájeny napájecím napětím o hodnotě 5 V a jejich výstupní logické úrovně odpovídají logickým úrovním obvodů TTL. Při logické jedničce mají na výstupu tedy téměř 5 V. Digitální část obvodu AD9958 je však napájena napětím 3,3 V. Proto je potřeba logické úrovně přizpůsobit. Vzhledem k jednostranné komunikaci jsem použil pro toto přizpůsobení odporové děliče napětí – viz obr. 2.4. Případná obousměrná komunikace by byla také možná, protože pro zajištění logické jedničky na vstupu mikrokontroléru stačí napětí o hodnotě 2,4 V.
Obr. 2.4 : Přizpůsobení logických úrovní odporovým děličem napětí
Hodnoty odporů jednotlivých rezistorů odporového děliče napětí by neměly být příliš nízké, aby nedocházelo k proudovému přetížení výstupů mikrokontroléru (případně AD9958). Rovněž nesmí být příliš vysoké, protože komunikace probíhá na relativně vysokých frekvencích. Rozumným kompromisem jsou hodnoty v řádech stovek Ω až jednotek kΩ.
Hodnotu odporu rezistoru R1 jsem zvolil: R1 = 1,2 kΩ.
Hodnotu odporu rezistoru R2 jsem pak spočetl následovně:
|
(2.8) |
Z toho pak:
|
(2.9) |
Z řady E24 jsem pak vybral hodnotu R2 = 2,2 kΩ.
Vzhledem k tomu, že jsou výstupy proudové a mají ústit do napájecího napětí +1,8 V, lze na nich pouze sledovat napětí, ale nelze je proudově dále příliš zatížit. Z výstupů je potřeba také oddělit stejnosměrnou složku. Oba tyto požadavky splňuje zapojení diferenciálního zesilovače s operačním zesilovačem. Schéma diferenciálního zesilovače je uvedeno na obr. 2.5.
Obr. 2.5 : Diferenciální zesilovač
Neinvertující vstupy diferenciálních zesilovačů označené jako UIN+ budou připojeny k výstupům AD9958 a invertující vstupy označené jako UIN- budou připojeny ke komplementárním výstupům AD9958. Pro stejné zesílení signálů na neinvertujícím i invertujícím vstupu budou mít rezistory R103 a R104 shodnou hodnotu odporu (R103 = R104). To samé platí i pro odpory dvojice rezistorů R105 = R106.
Zesílení A1 diferenciálního zesilovače je dáno poměrem odporů rezistorů R106/R104, respektive R105/R103 dle následujícího vztahu:
|
(2.10) |
Výchozí odpor rezistoru R103, respektive R104 by měl být dostatečně velký, aby nebyly proudové výstupy AD9958 příliš zatíženy, ale zároveň dostatečně malý, aby se příliš neprojevily parazitní kapacity, které by při výstupních frekvencích v řádech desítek MHz mohly způsobit nechtěný útlum signálu. Jako kompromis jsem zvolil hodnotu R103 = R104 = 1,2 kΩ.
Celkové zesílení diferenciálních a výstupních zesilovačů by mělo být takové, aby byla maximální amplituda výstupních signálů UmmOUT rovna 2,55 V při zátěži 50 Ω, respektive 10,2 V špička-špička bez zátěže.
Jak již bylo uvedeno výše, maximální amplituda na výstupech AD9958 UmmAD bude 0,4 V. Celkové zesílení bude tedy:
|
(2.11) |
Na poměru zesílení diferencíálních zesilovačů A1 a výstupních zesilovačů A2 by v ideálním případě nezáleželo, ale reálné operační zesilovače mají různé vlastnosti při různém výsledném zesílení. Z tohoto důvodu by měla být zesílení A1 a A2 přibližně stejná. Použité operační zesilovače (viz dále) mají nejlepší vlastnosti přibližně v rozsahu výsledných zesílení 2 ÷ 3. Pro přesně stejná zesílení (A1 = A2) platí:
|
(2.12) |
Z toho pak:
|
(2.13) |
Nejbližší hodnota v běžně dostupné řadě E24 je 3 kΩ.
Výstupní zesilovače slouží k napěťovému i proudovému zesílení výstupního signálu za výstupními LC filtry. Jedná se o operační zesilovače v neinvertujícím zapojení. Jeden z těchto zesilovačů je uveden na obr. 2.6. Zesílení výstupních zesilovačů je dle rovnice (2.12) A2 = 2,525. Odpor rezistoru R109 jsem zvolil: R109 = 1,2 kΩ. Z toho pak:
|
(2.14) |
Nejbližší hodnota v řadě je: R110 = 1,8 kΩ.
Rezistor R108 slouží jako symetrické zakončení výstupního LC filtru (viz dále) R108 = 50 Ω.
Rezistor R111 přizpůsobuje výstup na 50 Ω. R111 = 50 Ω.
Obr. 2.6 : Výstupní zesilovač
Maximální nastavitelná výstupní frekvence se bude pohybovat v řádech desítek MHz, výstupní amplituda v řádech jednotek voltů a výstupní proudy při impedančním přizpůsobení na 50 Ω budou dosahovat hodnot desítek mA. Z těchto důvodů je nutné volit speciální operační zesilovače. Svými parametry vyhovují například operační zesilovače určené pro xDSL technologie. Z nepříliš velikého výběru takovýchto operačních zesilovačů jsem dle parametrických tabulek a katalogových listů vybral integrovaný obvod THS3091 od Texas Instruments.
Vlastnosti obvodu THS3091 jsou převzaty z katalogového listu (3).
- Nízké zkreslení
o druhá harmonická složka – 66 dBc (při 10 MHz a zátěži 100 Ω)
o třetí harmonická složka – 74 dBc (při 10 MHz a zátěži 100 Ω)
- Nízký šum
o neinvertující proudový šum: 14 pA.Hz-1/2
o invertující proudový šum: 17 pA.Hz-1/2
o napěťový šum: 2 nV.Hz-1/2
- Šířka pásma 210 MHz (při zesílení A = 2 a zátěži RL = 100 Ω)
- Rychlost přeběhu 7300 V.µs-1
- Rozsah napájecího napětí ±5 V ÷ ±15 V
Nejprve jsem zvažoval použití aktivních filtrů. Respektive jsem hledal důvod, proč by aktivní filtry nebylo možné použít, a proč se ve spojení s přímou digitální syntézou ani běžně nepoužívají. Odpověď na tuto otázku je například v (4). Zde je uváděna dosavadní praktická hranice mezní frekvence ARC filtru přibližně 50 MHz. Píše se zde však také, že při mezních kmitočtech nad 1 MHz vznikají značné problémy s projevy reálných vlastností použitých součástek. Tyto problémy prý nastávají i při použití moderních operačních zesilovačů s tranzitními kmitočty v řádu stovek MHz. Mezní kmitočet zde použitého filtru by měl být 40 MHz. Proto bude vhodnější volit pasivní LC filtry.
Výstupní filtry slouží pro filtraci nežádoucích harmonických složek ve výsledném výstupním signálu obvodu přímé digitální syntézy. Při nastavení výstupní frekvence na maximální hodnotu fout = 40 MHz se ve frekvenčním spektru výstupního signálu objeví nejbližší obraz (nežádoucí harmonická složka) na frekvenci:
|
(2.15) |
Filtry musejí mít především dostatečnou strmost, aby dostatečně potlačily tento nežádoucí obraz. Vzhledem k parametrům ostatních součástek (především operačních zesilovačů a obvodu přímé digitální syntézy) lze považovat za minimální dostatečný útlum hodnotu 60 dB. V propustném pásmu by mělo být v ideálním případě nulové zvlnění přenosové funkce, respektive nulový útlum. Pro návrh filtru jsem zvolil maximální útlum v propustném pásmu 0,1 dB.
Generátor bude mít dva výstupy s nastavitelným vzájemným fázovým posuvem. V ideálním případě by filtry tedy měly mít nulový fázový posuv. To je v praxi samozřejmě nemožné. Zde však záleží jen na relativním fázovém posuvu mezi dvěma výstupními signály, nikoli na absolutním. Bude tedy stačit, když budou mít oba filtry stejný průběh fázového posuvu v závislosti na frekvenci. To je ovšem také prakticky nemožné kvůli rozptylu hodnot použitých součástek, respektive jejich toleranci.
Typ filtrů jsem vybíral s ohledem na jejich složitost při splnění požadované strmosti dané výše uvedenými požadavky a s ohledem na jejich citlivost změny fázového posuvu při změně hodnot použitých součástek. V aplikačních poznámkách firmy Analog Devices (5) doporučují použití filtru typu Cauer.
Pro návrh filtrů jsem použil návrhový systém Syntfil (6), ve kterém jsem rovněž provedl jednoduchou toleranční analýzu. Dále jsem postupoval dle (4) a (7).
Toleranční schéma dolní propusti vychází z výše uvedených požadavků a je zobrazeno na obr. 2.7.
Obr. 2.7 : Toleranční schéma výstupních filtrů
Filtr by bylo možné realizovat různými aproximacemi. Následující tab. 2.3 uvádí jejich seznam včetně výsledného stupně filtru a nové hodnoty as. Tato tabulka vychází z tabulky generované internetovou aplikací Syntfil (6).
Tab. 2.3 : Srovnání aproximací
aproximace |
stupeň |
nová hodnota as (dB) |
Butterworth |
11 |
65.5 |
Chebyshev |
7 |
68.9 |
Inverzní Chebyshev A |
7 |
68.9 |
Cauer A |
5 |
66.9 |
Vzhledem k velikému rozdílu v řádech filtrů jsem se nakonec rozhodl pro použití aproximace Cauer A. Výsledné zapojení bude podstatně jednodušší než například v případě aproximace Butterworth a tím bude i méně náchylné na rozptyl hodnot použitých součástek.
Diferenciální zesilovač přizpůsobuje impedanci na 50 Ω. Výstupní filtry budou tedy rovněž přizpůsobeny na této impedanci se symetrickým zakončením.
V aplikačních poznámkách firmy Analog Devices (5) jsou uvedeny praktické testy několika typů filtrů s různým fyzickým rozmístěním jednotlivých součástek. Z těchto testů vyplývá, že je výhodné rozdělit každý kondenzátor, který je připojen k zemi, na kombinaci dvou paralelně zapojených kondenzátorů s poloviční hodnotou kapacity. Kondenzátory takovéto dvojce pak budou umístěny „proti sobě“.
Výsledné schéma výstupního filtru je na obr. 2.8. Značení součástek obvodů připojených k prvnímu výstupu AD9958 pro přehlednost začíná číslem 101, k druhému pak 201.
Obr. 2.8 : Výstupní filtr
Hodnoty součástek byly vypočteny opět internetovou aplikací Syntfil (6) a jsou uvedeny v
Tab. 2.4 2.4. V této tabulce je rovněž uvedena použitá hodnota, respektive nejbližší hodnota v řadě nebo paralelní kombinace dvou kondenzátorů.
Tab. 2.4 : Hodnoty součástek použitých ve výstupních filtrech
součástka |
vypočtená hodnota |
použitá nominální hodnota |
C101 |
88.5 pF |
2x 47 pF |
C102 |
4.94 pF |
4,7 pF |
C103 |
152 pF |
2x 75 pF |
C104 |
9,19 pF |
8,2 pF |
C105 |
144 pF |
2x 75 pF |
L101 |
264 nH |
270 nH |
L102 |
272 nH |
270 nH |
Vypočtené hodnoty jsem přepsal použitými nominálními hodnotami a provedl analýzu struktury. Následující graf (obr. 2.9) zobrazuje aproximaci a analýzu LC filtru.
Obr. 2.9 : Aproximace a analýza LC filtru
Analýza LC filtru nepočítá s rozptylem hodnot použitých součástek vlivem jejich tolerance.
Při nastavení nulové výstupní frekvence se na výstupech výstupních zesilovačů objeví stejnosměrná složka, a proto jsem na výstupy umístil vysokofrekvenční relé, které při tomto nastavení výstup odpojí. Relé budou sloužit také k odpojení výstupů uživatelem.
Obr. 2.10 : Výstupní relé a jeho řízení
Na obr. 2.10 je uvedeno zapojení výstupních relé a jejich řízení pomocí NPN tranzistoru v zapojení se společným emitorem. RC filtr na bázi tranzistoru zabraňuje průniku digitálního rušení do analogové části. Dioda D101 chrání tranzistor před napěťovou špičkou vzniklou při spínání induktivní zátěže.
Vstupy integrovaného obvodu AD9958 P0, P1, P2 a P3 jsou určeny pro diskrétní modulaci frekvence, fázového posuvu a nebo amplitudy výstupního signálu. Diskrétní modulace přesahuje rozsah této práce, ale vzhledem k tomu, že ji AD9958 umožňuje, rozhodl jsem se připravit alespoň hardwarovou část tak, aby byla možná její pozdější programová implementace.
Pro připojení externích signálů diskrétní modulace je použit DIN konektor. K tomuto konektoru jsou připojeny přepěťové ochrany tvořené rezistory R1 až R4 a diodami D1 až D4 vždy po dvou v jednom pouzdře. Následuje neinvertující budič 7407 (8), který zajišťuje správné rozpoznání vstupních úrovní odpovídajících logickým obvodům TTL a proudové posílení signálu. Dále jsou na výstupech těchto budičů odporové děliče napětí pro přizpůsobení logických úrovní, které již ve schématu nejsou pro zjednodušení zakresleny. Schéma části vstupů modulace je zobrazeno na obr. 2.11.
Obr. 2.11 : Vstupy pro diskrétní modulaci
Celkové zapojení napájecích zdrojů je na obr. 2.12.
V celém zapojení je potřeba několik následujících úrovní napájecího napětí.
· +1,8 V pro analogovou část AD9958
· +1,8 V pro digitální část AD9958
· +3,3 V pro řídící část AD9958
· +5 V pro krystalový oscilátor a budiče 7407
· +5 V pro digitální část (mikrokontrolér, LCD a Bluetooth modul)
· +9 V pro operační zesilovače
· -9 V pro operační zesilovače
Napájení přístroje jsem se rozhodl realizovat běžně dostupným síťovým adaptérem 9 V AC, 1 A. Střídavé napětí umožní snadné vytvoření záporného napájecího napětí pro operační zesilovače. Díky externímu adaptéru nebude v přístroji síťové napájecí napětí, což zvýší výslednou bezpečnost.
Obr. 2.12 : Napájecí zdroje
Napájecí vstup jsem vyřešil univerzálně, aby zde byla možnost připojit i symetrické napájecí napětí. V případě připojení střídavého napětí (například z výše zmíněného síťového adaptéru) se vstupy U+ a U- propojí. Značení součástek napájecí části začíná pro přehlednost číslem 301. Na vstupu pro napájení jsou zapojeny proudové polymerové vratné pojistky (PolySwitch) PS301 a PS302. Za nimi následuje jednocestné usměrnění dvěma diodami D301 a D302 a filtrační kapacity C301, C302 a C303. Diody jsem volil běžné usměrňující s dostatečně velikým IFAV, konkrétně typ 1N4007. Kapacitu filtračních kondenzátorů jsem stanovil následovně:
Napětí na filtračních kondenzátorech kladné napájecí větvě bude bez zátěže:
|
(2.16) |
Integrované stabilizátory 7809 (7909) potřebují pro svou správnou funkci úbytek napětí mezi vstupem a výstupem alespoň 2 V. Potřebují na svém vstupu tedy alespoň 9 + 2 = 11 V (-11 V).
Napětí na filtračních kondenzátorech by tedy ani při maximálním možném proudovém zatížení nemělo klesnout pod 11 V. Z toho vyplývá maximální možné zvlnění v procentech:
|
(2.17) |
Maximální proudový odběr z kladné napájecí větve předpokládám s rezervou Im+ = 250 mA, ze záporné přibližně Im- = 100 mA.
Kapacity filtračních kondenzátorů jsem stanovil dle následujícího vztahu:
|
(2.18) |
|
(2.19) |
Vzhledem k toleranci běžných elektrolytických kondenzátorů ±20 %, jejich možnému poklesu kapacity a toleranci síťového napětí je vhodné volit kapacitu ještě o několik desítek procent vyšší. Pro kladnou napájecí větev jsem tedy zvolil CF+ = 2 mF a pro zápornou napájecí větev CF- = 1 mF. Kapacita CF+ je realizována paralelní kombinací kondenzátorů C301 a C302. Kapacita CF- pak kondenzátorem C303.
Nejprve jsem chtěl realizovat všechna napájecí napětí tří-vývodovými stabilizátory s pevným výstupním napětím. Stabilizátory s výstupním napětím +1,8 V a 3,3 V se sice běžně vyrábějí, ale jsou obtížně dostupné. Proto jsem se rozhodl pro použití běžně dostupného regulovatelného stabilizátoru napětí LM317 (9). Zde je zapojen v nejjednodušším možném zapojení. Vzhledem k tomu, že na výstupu LM317 nebudou připojeny žádné veliké kapacitní zátěže, není třeba používat externí ochranné diody. Rezistory R301 a R302 u stabilizátoru IC304 určují jeho výstupní napětí, které má být 1,8 V. Při určení hodnot odporů těchto rezistorů jsem použil vzorec uvedený v katalogových listech obvodu LM317 (9).
|
(2.20) |
Proud tekoucí vývodem adj (Iadj ) lze zanedbat. Doporučená hodnota odporu rezistoru R301 je 240 Ω. Použil jsem tedy tuto hodnotu. Odpor rezistoru R302 jsem pak vypočetl z výše uvedeného vztahu.
|
(2.21) |
Z řady hodnot E24 jsem pak vybral nejbližší nižší hodnotu: R302 = 100 Ω.
Výpočet hodnot odporů rezistorů příslušejících ke stabilizátorům IC307 je shodný: R305 = R301 = 240 Ω, R306 = R302 = 100 Ω.
Odpory rezistorů příslušejících ke stabilizátoru IC303 s výstupním napětím 3,3 V jsou následující:
R303 = R301 = 240 Ω
|
(2.22) |
Z řady hodnot E24 jsem pak vybral nejbližší nižší hodnotu: R304 = 390 Ω.
Při výběru vhodného řídícího mikrokontroléru jsem zohlednil především své dosavadní zkušenosti s produkty firmy Microchip. Pro tuto aplikaci bude zcela jistě postačovat osmibitový. Budu tedy vybírat z řad PIC16F a PIC18F.
Následující tab. 2.5 uvádí seznam součástí propojených s mikrokontrolérem a počet pinů, respektive drátů, kterými by měly být tyto součásti propojeny.
Tab. 2.5 : Seznam součástí propojených s mikrokontrolérem
součást |
počet pinů |
AD9958 |
6 |
výstupní relé |
2 |
LCD displej |
11 |
klávesnice |
8 |
Bluetooth modul |
4 |
celkem pinů: |
31 |
Celkový potřebný počet vstupně-výstupních pinů mikrokontroléru je tedy 31. Volil jsem tedy mezi 40-ti pinovými mikrokontroléry, které mají 33 takovýchto pinů. Nakonec jsem se rozhodl pro PIC16F877 (10), který se mi jeví jako optimální. Tyto mikrokontroléry mají velmi dobrou vzájemnou kompatibilitu, takže jej bude možné v případě budoucí potřeby snadno vyměnit bez úpravy hardware.
Hodinový signál pro mikrokontrolér tvoří 20 MHz externí krystal. Programování bude probíhat přímo v aplikaci přes rozhraní ICSP. Následující tab. 2.6 uvádí zapojení všech vývodů mikrokontroléru v této aplikaci.
Celkové schéma digitální části je uvedeno v příloze.
Tab. 2.6 : Zapojení pinů mikrokontroléru
číslo pinu |
jméno pinu |
zapojení |
1 |
MCLR/VPP |
pull-up rezistor, ICSP |
2 |
PA0/AN0 |
relé, 1. výstup |
3 |
PA1/AN1 |
relé, 2. výstup |
4 |
PA2/AN2/VREF-/CVREF |
AD9958, CS |
5 |
PA3/AN3/VREF+ |
AD9958, IO_UPDATE |
6 |
PA4/T0CKI/C1OUT |
- |
7 |
PA5/AN4/SS/C2OUT |
AD9958, RESET |
8 |
PE0/RD/AN5 |
AD9958, SDIO_0 |
9 |
PE1/WR/AN6 |
AD9958, SDIO_1 |
10 |
PE2/CS/AN7 |
AD9958, SCLK |
11 |
VDD |
napájecí napětí +5 V |
12 |
VSS |
GND |
13 |
OSC1/CLKI |
externí krystal |
14 |
OSC2/CLKO |
externí krystal |
15 |
PC0/T1OSO/T1CKI |
LCD, D2 |
16 |
PC1/T1OSI/CCP2 |
LCD, D1 |
17 |
PC2/CCP1 |
LCD, D0 |
18 |
PC3/SCK/SCL |
- |
19 |
PD0/PSP0 |
Bluetooth, RTS |
20 |
PD1/PSP1 |
Bluetooth, CTS |
21 |
PD2/PSP2 |
LCD, D3 |
22 |
PD3/PSP3 |
LCD, D4 |
23 |
PC4/SDI/SDA |
LCD, D5 |
24 |
PC5/SDO |
LCD, D6 |
25 |
PC6/TX/CK |
Bluetooth, RXD |
26 |
PC7/RX/DT |
Bluetooth, TXD |
27 |
PD4/PSP4 |
LCD, D7 |
28 |
PD5/PSP5 |
LCD, E |
29 |
PD6/PSP6 |
LCD, R/W |
30 |
PD7/PSP7 |
LCD, R/S |
31 |
VSS |
GND |
32 |
VDD |
napájecí napětí +5 V |
33 |
PB0/INT |
klávesnice |
34 |
PB1 |
klávesnice |
35 |
PB2 |
klávesnice |
36 |
PB3/PGM |
klávesnice |
37 |
PB4 |
klávesnice |
38 |
PB5 |
klávesnice |
39 |
PB6/PGC |
klávesnice, ICSP |
40 |
PB7/PGD |
klávesnice, ICSP |
Klávesnice je připojena na porty B, protože PIC16F877 umožňuje generování přerušení při změně logické úrovně právě na pinech PB,3 až PB,7. Toho lze využít pro snadné zjištění stisku tlačítka. PIC16F877 rovněž obsahuje integrované rozhraní USART, ke kterému bude přes porty PC,6 a PC,7 připojen Bluetooth modul.
Ostatní piny jsou vzájemně záměnné a jejich propojení s ostatními součástmi jsem přizpůsobil rozmístění součástek na desce plošných spojů, respektive co nejjednoduššímu návrhu této desky.
LCD displej jsem zvolil takový, aby na něm mohly být přehledně zobrazeny všechny potřebné informace. Z obr. 2.13 je patrné, že postačí textový displej 2x 16 znaků. LCD displej je řízen standardním obvodem HD44780 (11).
3 |
9 |
|
9 |
9 |
9 |