Rok / Year: 2011
Svazek / Volume: 13
Číslo / Number: 6
Realizace Sigma-Delta převodníku pomocí FPGA Implementation Sigma-Delta converter in FPGA Pavel Štraus
[email protected] Fakulta elektrotechniky a komunikačních technologií VUT v Brně.
Abstrakt: Tento článek popisuje realizaci Sigma-Delta převodníku prvního řádu, který je realizován pomocí programovatelného hradlového pole (FPGA) a několika externích pasivních součástek, které jsou umístěny mimo hradlové pole. Jednoduchým obvodovým zapojením lze tímto způsobem vytvořit analogově-digitální převodník. Z důvodu měření pomalu se měnícího vstupního analogového signálu byla upravena i rychlost vzorkování dat a rozlišení převodníku, které vyhovuje mimo jiné i pro měření audio signálu či měření teploty. U vytvořeného převodníku byly stanoveny statické a dynamické parametry, podle kterých je možné posoudit kvalitu realizovaného převodníku.
Abstract: The paper presents realization of Sigma-Delta converter implemented on FPGA. Some external part and FPGA device can create analog-digital converter, which is simply for realization. Input signal for this converter is analog signal, which is slowly changing. The quality of created converter are describes by static and dynamic parameters. The static parameters are integral non linearity, differential non linearity, gain error and offset error. The dynamic parameters are signal to noise ratio, total harmonic distortion, spurious free dynamic range and effective number of bits.
2011/64 – 13. 12. 2011
VOL.13, NO.6, DECEMBER 2011
Realizace Sigma-Delta převodníku pomocí FPGA Pavel Štraus1 1
Fakulta elektrotechniky a komunikačních technologií VUT v Brně Email:
[email protected]
Abstrakt – Tento článek popisuje realizaci Sigma-Delta převodníku prvního řádu, který je realizován pomocí programovatelného hradlového pole (FPGA) a několika externích pasivních součástek, které jsou umístěny mimo hradlové pole. Jednoduchým obvodovým zapojením lze tímto způsobem vytvořit analogově-digitální převodník. Z důvodu měření pomalu se měnícího vstupního analogového signálu byla upravena i rychlost vzorkování dat a rozlišení převodníku, které vyhovuje mimo jiné i pro měření audio signálu či měření teploty. U vytvořeného převodníku byly stanoveny statické a dynamické parametry, podle kterých je možné posoudit kvalitu realizovaného převodníku.
dinový signál klopného obvodu D je 1μs, tedy frekvence hodinového signálu je 1 MHz. Za každou μs budeme mít na výstupu D klopného obvodu pulz, který je nutné zpracovat pomocí decimátoru. Pokud vytvoříme pouze 8bitový převodník, budeme mít za jednu sekundu záznamu k dispozici 3906 8bitových slov. Výsledek simulace pro jednu periodu vstupního signálu je zobrazen na obrázku 2.
1 Sigma-Delta převodník Jedná se o analogově-digitální převodník, který má velmi jednoduchou obvodovou realizaci. Základním prvkem tohoto převodníku je diferenční zesilovač, do kterého přivádíme analogový signál. Za diferenčním zesilovačem následuje integrátor, který je v našem případě realizován pasivním RC článkem. Název převodníku vznikl z těchto dvou obvodů, kde diferenční zesilovač označuje změnu. Tato změna je realizována rozdílem signálu na vstupech diferenčního zesilovače. Sigma je označení pro součet, který je zde vytvořen pomocí pasivního RC článku. 1.1 Simulace pomocí programu OrCAD Schéma zapojení Sigma-Delta převodníku prvního řádu je zobrazeno na obrázku 1. Jedná se o velmi jednoduché zapojení, které je složeno ze střídavého zdroje, dále diferenčního zesilovače, klopného obvodu typu D, komparátorů a integrátoru.
Obrázek 2: Simulace sigma-delta převodníku prvního řádu Zelenou barvou je zobrazen vstupní harmonický signál. Červenou barvou je zobrazen výstup z D klopného obvodu. Na výstupu D klopného obvodu se může objevit pouze logická 0 a logická 1. Podle počtu vysokých úrovní lze určit velikost vstupního signálu. 1.2 Vybrané FPGA a vývojový kit Při realizaci je nutné, aby FPGA obsahovalo diferenční vstupní páry. Z tohoto důvodu je použito FPGA Virtex-5, které je umístěno na vývojové desce ML505. Vybrané FPGA je programováno pomocí programovacího jazyka VHDL a vývojového prostředí Xilinx ISE. 1.2.1 Realizace obvodu mimo FPGA Externě umístěný je pouze integrační člen Sigma-Delta převodníku. Ostatní částí převodníku jsou umístěny v FPGA. Integrační článek je tvořen RC článkem, který je zapojen k obvodu FPGA podle obrázku 3.
Obrázek 1: Simulovaný obvod v programu OrCAD Frekvence vstupního signálu je 1 kHz, amplituda je 1,25 V a stejnosměrný offset je nastaven také na 1,25 V. Ho-
64 – 1
2011/64 – 13. 12. 2011
VOL.13, NO.6, DECEMBER 2011
vstupním signálu, který byl postupně nastavován od hodnoty 50 mV do hodnoty 2,59 V. Maximální hodnota 2,59 V je dána použitým standardem vstupních a výstupních pinů obvodu FPGA. Při nastavení dané hodnoty na vstup je odečtena výstupní digitální hodnota. Výsledná převodní charakteristika převodníku je zobrazena na obrázku 5. Obrázek 3: Zapojení integračního článku mimo FPGA 1.2.2 Vývojové prostředí Xilinx ISE Vrcholová jednotka celého programu je dána pomocí schématu (schematic). Realizace diferenčního zesilovače je pomocí rychlého digitálního komparátoru, který je integrovaný v obvodu FPGA. V programu ISE je realizován jednotkou IBUFDS. Realizace jednobitového digitálně-analogového převodníku je pomocí komponenty OBUF. Součástí návrhu převodníku je i 8bitový Decimátor, který slouží k počítání impulsů hodinového signálu a dále vysokých logických úrovní na výstupu D klopného obvodu. Výstupem Decimátoru je již 8bitové slovo, které je dále zpracováno. Výsledné schéma zapojení realizovaného 8bitového převodníku je zobrazeno na obrázku 4.
Obrázek 5: Převodní charakteristika Ideální převodní charakteristika je dána rozsahem a rozlišovací schopností. V ideálním případě se jedná o schodovitou funkci. [6] Reálná převodní charakteristika, která byla změřena, je vyobrazena černou barvou. Zde je možné si všimnout statických chyb, které vytvořený převodník obsahuje. 2.1.1
Obrázek 4: Realizace převodníku pomocí schématu 1.2.3 Decimátor Decimátor zde představuje čítač, který čítá log. 1 po fixní interval. Při realizaci 8bitového převodníku je fixní délka rovna 256 periodám hodinového signálu. Řešení pomocí programovacího jazyka VDHL je, že při každé náběžné hraně je testováno, zda jsme dosáhli konce fixního intervalu. Při dosažení konce začínáme od počátku. Pokud není dosažen konec intervalu, podle vstupní hodnoty inkrementujeme či nikoliv interní čítač Decimátoru. Při dosažení poslední hodnoty ve fixním intervalu výstupní slovo přesuneme na výstup. Data následně zpracujeme.
Chyba offsetu
Chyba offsetu je patrná z převodní charakteristiky. Při vstupním nulovém napětí by u ideálního převodníku měla být po převodu digitální hodnota rovna nule. Vlivem použití reálných součástek a vstupního analogového napětí, na které se superponují rušivé signály, nejsme schopni dosáhnout nulové hodnoty. Dále je tento parametr značně ovlivněn návrhem samotné vývojové desky, která vlivem velkých frekvencí značně vyzařuje rušivé signály. Detail převodní charakteristiky zaměřený na chybu offsetu je zobrazen na obrázku 6.
2 Parametry Sigma-Delta převodníku Mezi základní parametry pro určení kvality převodníku patří statické a dynamické parametry. Statické parametry jsou určeny z převodní charakteristiky převodníku. U obvodu FPGA byly použity standardy pinů LVDS_25 a LVCMOS25. Realizován byl unipolární převodník s maximálním vstupním napětím 2,5 V. 2.1 Statické parametry Chyba zesílení, chyba offsetu a chyby linearity patří mezi statické parametry, které se dají určit z převodní charakteristiky. Převodní charakteristika je měřena při stejnosměrném
Obrázek 6: Chyba offsetu 2.1.2
Chyba zesílení
Z převodní charakteristiky je možné si všimnout, že navržený převodník má i chybu zesílení, která dosahuje maximální strmosti přibližně v polovině svého rozsahu. Chyba zesílení je ovlivněna kvalitou vstupního komparátoru v obvodu FPGA. Překlápění komparátoru je realizováno v polovině rozsahu,
64 – 2
2011/64 – 13. 12. 2011
VOL.13, NO.6, DECEMBER 2011
z tohoto důvodu je možné si povšimnout v převodní charakteristice, že v polovině rozsahu je zesílení nejvyšší. Dá se předpokládat, že zavedením hystereze lze dosáhnout lepších výsledků. 2.1.3
nického signálu byla nastavena na 1 kHz. Amplituda byla nastavena na hodnotu 1,25 V a stejnosměrný offset také na 1,25 V. Tento signál byl převeden pomocí vytvořeného 8bitového převodníku. Průběh je zobrazen na obrázku 9. zobrazení signalu v case
Integrální nelinearita
250
Tato chyba udává, zda je navržený převodník lineární či nelineární. Ve vertikální ose uvažujeme maximální odchylku od ideální převodní charakteristiky. [6] Maximální odchylka je na digitální výstupní hodnotě 218 a odchylka je 60 mV. Detail integrální nelinearity je zobrazen na obrázku 7.
200
s(t)
150
100
50
0 0.2114 0.2116 0.2118 0.212 0.2122 0.2124 0.2126 0.2128 0.213 0.2132 t [s]
Obrázek 9: Harmonický signál zobrazen v čase
Obrázek 7: Integrální nelinearita 2.1.4
Diferenciální nelinearita
Dva sousední stavy by se neměli lišit o více než jeden kvantovací krok. Pokud je rozdíl větší, převodník obsahuje diferenciální nelinearitu. Pokud se u převodníku vyskytne diferenciální nelinearita, pak je převodník nemonotónní. [6] Vytvořený převodník má kvantovací krok 9,8 mV. Maximální změna nastává mezi hodnotami 107 a 108, tedy přibližně v polovině převodní charakteristiky. Od této hodnoty také začíná být větší zesílení. To je způsobeno digitálním komparátorem integrovaným v FPGA. Mezi mezi sousedními úrovněmi byl naměřen 31 mV, tedy změna o tři kvantovací úrovně. Detail diferenciální nelinearity je zobrazen na obrázku 8.
Mezi základní dynamické parametry patří poměr signál-šum (SNR), harmonické zkreslení (THD) a dynamický rozsah bez parazitních složek (SFDR). Parametr efektivní počet bitů (ENOB) lze určit jak při přivedení stejnosměrného, tak střídavého vstupního signálu. [6] [7] Parametr efektivní počet bitů byl měřen pomocí stejnosměrného vstupního signálu. Dynamické parametry byly určeny ze zachycených dat, které byly zpracovány pomocí programu Matlab. 2.2.1
Poměr signál-šum
Zachycená data v čase byla převedena pomocí rychlé Fourierovi transformace do kmitočtové oblasti. Výsledné amplitudové frekvenční spektrum je z 4096 bodů. Převodník SigmaDelta má dále tu vlastnost, že tvaruje šum. Při použití převodníku vyššího řádu jsme schopni dostat lepší parametry SNR. [2] Pro výsledný poměr signál-šum u ideálního převodníku platí rovnice [6]: SNR = (6,02N + 1,76)
(1)
Kde N je efektivní počet bitů. Pokud bychom uvažovali ideální převodník, pak je tato hodnota rovna 49,92 dB. U realizovaného převodníku byl změřen výsledný poměr signál-šum 37,15 dB. Zachycená data převedená pomocí rychlé Fourierovi transformace jsou zobrazena na obrázku 10.
Obrázek 8: Diferenciální nelinearita 2.2 Dynamické parametry Pro změření dynamických parametrů byl na vstup přiveden harmonický signál z funkčního generátoru. Frekvence harmo-
64 – 3
2011/64 – 13. 12. 2011
VOL.13, NO.6, DECEMBER 2011
Obrázek 10: Poměr signál-šum 2.2.2
Obrázek 11: Dynamický rozsah bez parazitních složek
Harmonické zkreslení
Harmonické zkreslení vyjadřuje zkreslení vstupního harmonického signálu. Pro výpočet harmonického zkreslení platí rovnice: (2) Kde U2 až UN jsou hodnoty vyšších harmonických a U1 je základní harmonická. [6] Hodnoty jednotlivých harmonických složek byly vypočteny pomocí programu Matlab. Hodnoty jsou uvedeny v tabulce 1.
2.2.4
Efektivní počet bitů měřený stejnosměrným signálem
Pokud určujeme efektivní počet bitů pomocí vstupního stejnosměrného signálu, musíme vyjádřit směrodatnou odchylku a následně využijeme rovnici: (3) Kde N vyjadřuje počet bitů převodníku a σ směrodatnou odchylku. [7] Směrodatná odchylka je průměrná kvadratická odchylka od střední hodnoty. Ze zachycených dat byla vytvořena střední hodnota a následně vypočtena směrodatná odchylka pomocí rovnice [9]:
Tabulka 1: Hodnoty harmonických složek Harmonická
U [dB]
U[mV]
1
–0,80
912
2
–37,42
13,45
3
–42,35
7,63
4
–60,35
0,96
5
–73,63
0,21
6
–66,41
0,48
(4) kde n je celkový počet vstupních bodů rychlé Fourierovi transformace, xi jsou jednotlivé hodnoty, které jsou získané měřením a je průměrná hodnota. [13] Pomocí programu Matlab byla výsledná směrodatná odchylka rovna 4.3267. Výsledný efektivní počet bitů vypočtený podle rovnice (3) je 5,88 bitů.
3 Závěr
Dosazením získaných hodnot do rovnice 2 dostaneme výsledné harmonické zkreslení – 41,41 dB. 2.2.3
Dynamický rozsah bez parazitních složek
V amplitudovém spektru je určena první harmonická složka a pak následná největší. U realizovaného převodníku byla tato složka u druhé harmonické a její hodnota byla –37,42 dB. Rozdílem od první harmonické, která byla –0,8 dB dostaneme hodnotu dynamického rozsahu bez parazitních složek 36,62 dBc. Dynamický rozsah bez parazitních složek je zobrazen na obrázku 11.
Článek je zaměřen na realizaci Sigma-Delta převodníku prvního řádu. V úvodu je nastíněn postup pro simulaci pomocí programu OrCAD. Po simulaci je přiblížena realizace převodníku pomocí FPGA a několika externích součástek. Součástí článku je i návrh software na obvod FPGA, který byl programován pomocí programovacího jazyka VHDL ve vývojovém prostředí ISE. Ze zachycených dat byly stanoveny statické a dynamické parametry realizovaného 8bitového převodníku, které jsou prezentovány v druhé kapitole. Mezi určené statické parametry patří chyba offsetu a zesílení, dále integrální a diferenciální nelinearita. Z dynamických parametrů byly určeny čtyři parametry, které jsou poměr signál-šum, harmonické zkreslení, dynamický rozsah bez parazitních složek a efektivní počet bitů. Kvalitu převodníku lze ovlivnit mnoha způsoby. Mezi základní bych zařadil změnu převodníku na druhý řád, který značně změní kvalitu SNR a tím i jiné dynamické parametry. Změna vývojové desky, omezení vyzařování a rušivých signálů dále vylepší statické parametry převodníku. Navržený převodník byl použit pro převod řečových signálů, hlavní výhodou je jednoduchá realizace. Subjektivně byla posouzena
64 – 4
2011/64 – 13. 12. 2011
VOL.13, NO.6, DECEMBER 2011
kvalita, která je vzhledem ke složitosti realizace velmi uspokojivá.
Literatura [1]
ŠTRAUS, P. Zvuková karta pro PC s obvodem FPGA. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, 2011.
[2]
VRBA, K. HANÁK, P. A/D převodníky (kapitola sigma–delta). Elektronické skriptum. Brno:FEKT VUT v Brně, 2007
[3]
CHEUNG, R.C.C., PUN, K.P., YUEN, S.C.L., TSOI, K.H., LEONG, P.H.W. An FPGA–based re– configurable 24–bit 96kHz sigma–delta audio DAC. In Proceedings of IEEE International Conference on Field–Programmable Technology (FPT), 2003, p. 110–117. ISBN: 0–7803–8320–6
[4]
KOLOUCH, J. Programovatelné logické obvody. Elektronické texty přednášek a počítačových cvičení. Brno:FEKT VUT v Brně, 2007
[5]
Elektronic [online]. 2011 – [cit. 8. listopadu 2011]. Dostupné na www: http://www.beis.de/Elektronik/DeltaSigma/DeltaSigm a.html
[6]
HÁZE, J. VRBA, R. FUJCIK, L. SAJDL, O. Teorie vzájemného převodu analogového a číslicového signálu. Elektronické skriptum. Brno:FEKT VUT v Brně, 2010
[7]
Měření ENOB [online]. 2011 – [cit. 27. dubna 2011]. Dostupné na www: http://e2e.ti.com/videos/m/analog/97246.aspx
[8]
Porozumění SINAD, ENOB, SNR, THD, THD + N a SFDR [online]. 2011 – [cit. 27. dubna 2011]. http://www.analog.com/static/imported– files/tutorials/MT–003.pdf
[9]
FAJMON, B. RŮŽIČKOVÁ, I. Matematika 3. Elektronické skriptum. Brno:FEKT VUT v Brně, 2005
64 – 5