Při vývoji digitálních obvodů pro zpracování analogového signálu stojí vývojáři často před otázkou: „Je integrovaný převodník v procesoru postačující, nebo bych měl raději použít vnější obvod?“ Odpověď na tuto otázku závisí na požadovaných vlastnostech (šum, zkreslení), dostupnosti programové podpory a také ceně.
Obecně vzato, vnější převodník vykáže lepší vlastnosti než vnitřní (integrovaný do jednoho pouzdra spolu s procesorem) převodník se stejnými parametry, kterými například mohou být rozlišení, topologie nebo rychlost vzorkování. Jestliže ale převodník nemusí splňovat nějaké zvláště přísné požadavky, stane se odpovídajícím řešením právě procesor se „smíšenými signály”. Vestavěný A/D převodník může pomoci ušetřit drahocenné rozhraní i další obvody procesoru. Pro vnější převodník jsou totiž hned vedle digitálního rozhraní potřebné také další bloky pro generování vzorkovacího kmitočtu nebo vnější přerušení. V této souvislosti se tak sluší zdůraznit nárůst počtu vývodů daného procesoru, ale také možnost v podobě multiplexování na straně druhé. Nastává však problém, při kterém nemohou všechny obvody připojené k danému pinu souběžně komunikovat s vnějším světem, protože každý vývod může být v jednom okamžiku připojen pouze k jediné jednotce. V nejhorším případě se tak může stát, že periferie, které budou právě potřebné na jiném místě, nebudeme moci použít.
Vestavěné převodníky mají také výhodu v podobě programové podpory. Spousta času, a tedy i ceny, je obvykle věnována vývoji softwaru. Vnitřní převodníky v tomto ohledu vyžadují menší úsilí, protože vývojáři zpravidla mají k dispozici zdrojový kód, který může být rychle otestován, přizpůsoben a zahrnut do našich vlastních aplikací. V takových případech nebývá nezbytně nutné ani plné obeznámení s jednotkou ADC. Využijeme – li však dvoučipové řešení, musíme pracovat nejen s externím převodníkem, ale také s periferiemi našeho procesoru. Kromě toho musí být ještě ověřena kompatibilita digitálního rozhraní vnějšího převodníku a procesoru (časová analýza, timing analysis).
Stojí za zmínku, že společnost Texas Instruments podporuje vývoj softwaru pro vnější převodníky pomocí svého bezplatného nástroje Data Converter Support Tool (1). Tento program umožňuje přípravu softwaru v jazyce C pro uživatelem vybranou kombinaci A/D převodníku a digitálního signálového procesoru (oba od Texas Instruments). Vývojáři mohou software jednoduše parametrizovat prostřednictvím několika kliknutí v grafickém uživatelském rozhraní. Automaticky vygenerovaný software pak může být snadno integrován do vlastní aplikace prostřednictvím standardizovaného SW rozhraní.
Existuje také samozřejmě spousta důvodů pro použití externího převodníku. Jestliže je například klíčovým požadavkem rozšiřitelnost, pak je dána přednost právě tomuto řešení. Může jít o případ, kdy je modul vyvíjen buď pro různé systémy nebo jen zatím není zcela jisté, zda se použije například 12bitový převodník či postačí jeho 10bitová verze s atraktivnější cenou. Vnější převodníky poskytují jistou míru volnosti dokonce i poté, co byl vyroben plošný spoj. Společnost Texas Instruments vyvinula řadu vývodově kompatibilních převodníků, které mohou být snadno navzájem zaměňovány. Tak například řada ADS795x (2) má 12 členů (obvodům ADS79xx jsme se věnovali již dříve v Rodinných křižovatkách na serveru hw.cz). Vybírat můžeme mezi rozlišením 8, 10 nebo 12 bitů a také mezi 4, 8, 12 nebo rovnou 16 analogovými vstupy. Jediným úkolem je přizpůsobit programové vybavení příslušnému převodníku.
Další výhoda vnějších převodníků spočívá v galvanickém oddělení mezi procesorem a vstupujícím analogovým signálem. Digitální signály mohou být lépe odděleny než jejich analogové protějšky, protože případné zkreslení při změnách logických úrovní nebude mít prakticky žádný vliv. Při převádění několika analogových průběhů může být rovněž snížen počet oddělujících kanálů. (Galvanickému oddělení digitálních signálů jsme se na serveru hw.cz podrobně věnovali v příspěvcích Blýská se optočlenům na horší časy? a Já, iCoupler.)
V mnoha aplikacích hraje významnou roli také fyzické umístění převodníku. Je-li vstupní snímací prvek daleko od procesoru, je doporučováno, aby byl signál převáděn co nejblíže snímači. Digitální signál pak může být bez nepříjemného ovlivňování parametrů přenášen i na velké vzdálenosti. To je obzvlášť důležité v zarušeném prostředí, kde EMI vystupuje na pozici významného faktoru. Je tedy zřejmé, že do celého rozhodovacího procesu vstupuje větší počet faktorů. Stanovením priorit však může být správná konfigurace nalezena relativně rychle.
Samotný převodník byl až dosud považován za „černou skříňku”. Parametry obvodu, požadované pro danou aplikaci, jsou však v tomto ohledu klíčové a my se proto nyní zaměříme třeba na známý odstup užitečného signálu od šumu (SNR, signal-to-noise ratio).
Největším problémem vestavěného převodníku je potlačení rušení, které generuje digitální část čipu. Naštěstí už jen samotné oddělení napájecích pinů pro analogovou část spolu s vnějším generováním referenčního napětí pro A/D převodník může zajistit výrazně lepší charakteristické vlastnosti za předpokladu, že vnější propojení a rozmístění na motivu plošného spoje bude navrženo s maximální pečlivostí. (Úskalím A/D převodu a pečlivému návrhu plošného spoje byly věnovány články Navrhujeme měřicí systém s 16bitovým rozlišením a Plošné spoje v přesných měřicích aplikacích. Referencím se zase věnuje série článků Úvod do světa napěťové reference – 1.díl a Úvod do světa napěťové reference – 2.díl (v říjnu 2009 zatím jen první dva díly). Sluší se zmínit i nástroj pro Bleskový návrh kmitočtových filtrů, který u A/D převodu hojně využijeme.)
Problémy s rušením a šumem se samozřejmě objevují také u vnějších převodníků. Návrhář se zde ale může s potřebami převodníku vypořádat snadněji (digitální rozhraní může být například pro tyto účely specifikováno tak, že přenos dat proběhne v době, která není kritická pro analogovou část převodníku). A zase přichází na scénu technické parametry. Maximální teoretická hodnota odstupu SNR může být vypočítána na základě rozlišení (v bitech) pomocí následující definice:
SNR (Nmax) = N (bitů) · 6,02 + 1,76 [dB]
Vezměme si nyní procesory TMS320F283xx (3) jako příklad řady obvodů s modulem ADC. Integrovaný 12bitový SAR převodník zde dosahuje hodnoty SNR 68 dB z teoreticky možných 74 dB. Zatímco externí 12bitové převodníky se mohou velmi těsně přiblížit optimální hodnotě (dokonce s rozdílem menším než 1 dB), při větším počtu bitů (rozlišení) může být přiblížení se teoretické hodnotě obtížnější. Například 16bitový SAR převodník ADS8318 (4) dosahuje 91,5 dB z možných 98 dB (SNR (16max) [dB]). Provedeme-li ale zprůměrování naměřených dat, můžeme šumové pozadí dále vhodně potlačovat, pochopitelně na úkor vzorkovací rychlosti a také ceny strojového času procesoru. Tento kompromis však může hrát důležitou roli při zlepšení SNR o N·3 dB během průměrování 2 na N hodnot dat (některé převodníky dokonce mají funkci průměrování již integrovanou). Průměrování dat je ale, pochopitelně, užitečné pouze tehdy, jestliže se bude převodník vyskytovat dostatečně daleko od své maximální teoretické hodnoty SNR.
Rozhodující je rovněž správný výběr topologie převodníku. Pro dosažení nejlepších vlastností z hlediska velikosti SNR bývá typickou volbou struktura delta-sigma (ΔΣ). Nízké úrovně šumu jsou důležité např. v aplikacích, při kterých analogový snímač dodává signál s nízkým kmitočtem. Příkladem může být běžné měření teploty, tlaku nebo hmotnosti. V těchto situacích je totiž zvláště důležité, aby převodník poskytoval pro neměnící se vstupní signály data, která si budou maximálně možnou měrou podobná. Čím nižší úroveň rušení a šumu, tím menší rozptyl hodnot. Při měření velikosti šumu se proto na vstup přivádí stejnosměrné napětí a začíná záznam řady hodnot. Výsledkem pak je Gaussova křivka, například ta uvedená na přiloženém obrázku pro převodník ADS1256 (5). Průběh byl vygenerován pomocí programu ADCPro (6), tj. vyhodnocovacího systému pro datové převody v režii společnosti Texas Instruments. V tomto konkrétním příkladu bylo při zkratovaném vstupu naměřeno celkem 1 000 hodnot. Každá hodnota byla přitom získána zprůměrováním 30 dílčích hodnot již v převodníku. S využitím tohoto histogramu pak byl určen efektivní počet bitů (ENOB, effective number of bits) pro standardní odchylku Gaussovy křivky (v tomto případě 21,8 bitů). Významnější nezarušené bity nyní můžeme definovat na základě koeficientu amplitudy C (Crest Factor):
C = signál (špička) / signál (efektivní (rms))
Koeficient amplitudy lze volit individuálně (typická pracovní hodnota bývá 3,3). Předpokládá se, že 99,9 % všech dat bude v souladu s touto velikostí. To znamená, že každá tisící hodnota je vně rozsahu špička-špička. Rozdíl D mezi efektivními bity a nezarušenými bity pak určíme následovně:
D (efektivní-nezarušené) = log2(2·3,3) = 2,722 bitů
V tomto příkladu tedy můžeme předpokládat, že 21,8 – 2,722 = ~19 MSB (Most Significant Bit, nejvýznamnějších bitů) v každém datovém výstupu z převodníku nebude postiženo šumem. (Převodník ADS1256 přitom reprezentuje 24bitový obvod s přívlastkem „Very Low Noise“.)
Závěr:
Článek přináší srovnání A/D převodníků, které budou integrovány do jednoho pouzdra spolu s procesorem a samostatných (externích) obvodů. Na jednoduchém příkladu byla také názorně demonstrována analýza šumového pozadí 24bitového převodu. Jak bylo ukázáno, každá volba má své klady, které se vyplatí zužitkovat, ale také nevýhody se kterými musíme počítat. V základním přiblížení ale volíme (naštěstí) pouze jeden ze dvou přístupů. Pak už jen zbývá vybrat ten správný čip. Práce vývojáře je zkrátka krásná i pestrá zároveň.
Autorem článku je Lars Lotzenburger.
Download a odkazy:
- (1) Data Converter Support Tool: http://www.ti.com/dcpfreetool
- (2) Řada ADS795x: http://focus.ti.com/docs/prod/folders/print/ads7950.html
- (3) Procesor TMS320F28335 (představitel řady TMS320F283xx): http://focus.ti.com/docs/prod/folders/print/tms320f28335.html
- (4) Převodník ADS8318: http://focus.ti.com/docs/prod/folders/print/ads8318.html
- (5) Převodník ADS1256: http://focus.ti.com/docs/prod/folders/print/ads1256.html
- (6) Program ADCPro: http://www.ti.com/adcpro