基于USB接口的數(shù)模轉(zhuǎn)換系統(tǒng)設(shè)計(jì)
摘要:在控制系統(tǒng)中經(jīng)常用到一些模擬信號(hào),通常使用數(shù)模轉(zhuǎn)換器輸出所需的模擬信號(hào)。計(jì)算機(jī)控制數(shù)模轉(zhuǎn)換器需要借助外部總線接口,USB接口是常用的外部總線接口,用來(lái)控制數(shù)模轉(zhuǎn)換器非常便捷。作者以典型的USB接口芯片和D/A轉(zhuǎn)換器芯片為例,詳細(xì)說(shuō)明了基于USB接口的數(shù)模轉(zhuǎn)換系統(tǒng)的電路及程序設(shè)計(jì)方法。
關(guān)鍵詞:USB接口;數(shù)模轉(zhuǎn)換;電路設(shè)計(jì);程序設(shè)計(jì)
0 引言
在控制系統(tǒng)中經(jīng)常需要產(chǎn)生和控制一些模擬信號(hào),而常用的微處理器外部總線接口為數(shù)字信號(hào),無(wú)法直接產(chǎn)生需要的模擬信號(hào),這就用到了D/A轉(zhuǎn)換器。可以通過(guò)USB接口來(lái)控制D/A轉(zhuǎn)換器,使其輸出要求的模擬量電壓或模擬量電流。
USB接口作為微處理器常用的外部總線接口,目前已經(jīng)得到了廣泛的應(yīng)用,采用USB接口減少了開(kāi)發(fā)的時(shí)間、風(fēng)險(xiǎn)以及費(fèi)用,從而用最快捷的方法實(shí)現(xiàn)最經(jīng)濟(jì)的解決方案。
本文以USB接口芯片PDIUSBD12和電壓輸出型D/A轉(zhuǎn)換芯片AD558為例,詳細(xì)闡述了基于USB接口的DAC系統(tǒng)電路及程序設(shè)計(jì)方法。
1 USB接口芯片PDIUSBD12簡(jiǎn)介
本系統(tǒng)選用的USB接口芯片是Philips公司生產(chǎn)的USB1.1接口芯片PDIUSBD12,它是一款性價(jià)比很高的USB器件,通常用作微控制器系統(tǒng)中實(shí)現(xiàn)與微控制器進(jìn)行通信的高速通用并行接口。它還支持本地的DMA傳輸。PDIUSBD12芯片的主要特性如下:
·符合USB1.1規(guī)范;
·集成了SIE、FIFO存儲(chǔ)器、收發(fā)器以及電壓調(diào)整器;
·完全自治的直接內(nèi)存存取(DMA)操作;
·集成320字節(jié)多結(jié)構(gòu)FIFO存儲(chǔ)器;
·在批量模式和同步模式下均可實(shí)現(xiàn)1MB/s的數(shù)據(jù)傳輸速率;
·具有良好EMI特性的總線供電能力;
·可通過(guò)軟件控制與USB的連接;
·具有可編程的時(shí)鐘頻率輸出;
·符合ACPI、OnNOW和USB電源管理的要求;
·高于8kV的在片靜電防護(hù)電路;
·雙電源操作:3.3±0.3V或擴(kuò)展的5V電源,范圍為3.6~5.5V;
所有這些特性都為系統(tǒng)顯著節(jié)約了成本,同時(shí)使USB功能在外設(shè)上的應(yīng)用變得容易。低功耗使它可以應(yīng)用于通過(guò)總線供電的外設(shè)。
2 D/A轉(zhuǎn)換芯片AD558簡(jiǎn)介
本系統(tǒng)選用的DAC芯片是ADI公司推出的8位電壓輸出型D/A轉(zhuǎn)換器AD558。電壓輸出型D/A轉(zhuǎn)換器主要特點(diǎn)是沒(méi)有放大部分的延遲,可以做到很高的速度,但負(fù)載能力有限,一般用于高阻抗負(fù)載的場(chǎng)合。
D/A轉(zhuǎn)換所采用的基本方法是將數(shù)字量轉(zhuǎn)化成二進(jìn)制數(shù)據(jù)。其每一位產(chǎn)生一個(gè)相應(yīng)的電壓或者電流,而這個(gè)電壓或者電流的大小正比于相應(yīng)的二進(jìn)制位的權(quán)。最后將這些電壓或者電流相加并輸出。一個(gè)完整的D/A轉(zhuǎn)換器主要包括3部分,即加權(quán)電阻解碼網(wǎng)、數(shù)字量控制的電子開(kāi)關(guān)組合和由運(yùn)算放大器構(gòu)成的電流電壓轉(zhuǎn)換器。D/A轉(zhuǎn)換器的原理如圖1所示。
一般來(lái)說(shuō),并行D/A轉(zhuǎn)換器的數(shù)字一模擬轉(zhuǎn)換速度要比串行D/A轉(zhuǎn)換器要高。并行D/A轉(zhuǎn)換器轉(zhuǎn)換速度快的原因是在數(shù)字量的輸入端,各個(gè)數(shù)字位是同時(shí)輸入到轉(zhuǎn)換器相應(yīng)的端口的。整個(gè)器件的轉(zhuǎn)換時(shí)間取決于電源電壓的建立時(shí)間和各個(gè)權(quán)位的求和時(shí)間。而這些時(shí)間一般都很短,一般可以達(dá)到納秒或微秒量級(jí)。因此,對(duì)于速度要求比較高的場(chǎng)合,應(yīng)該優(yōu)先選用并行D/A轉(zhuǎn)換器。
在AD558型D/A轉(zhuǎn)換器中,電子開(kāi)關(guān)組和輸入二進(jìn)制數(shù)D0~D7相對(duì)應(yīng)。當(dāng)某個(gè)二進(jìn)制位為1時(shí),對(duì)應(yīng)的電子開(kāi)關(guān)閉合,基準(zhǔn)電壓Vref連接加權(quán)電阻解碼網(wǎng)絡(luò),使該支路電阻上有電流通過(guò);當(dāng)某個(gè)二進(jìn)制位為0時(shí),對(duì)應(yīng)的電子開(kāi)關(guān)斷開(kāi),該支路電阻上便無(wú)電流通過(guò)。加權(quán)電阻解碼網(wǎng)絡(luò)各個(gè)分支的電阻值與輸入的二進(jìn)制數(shù)據(jù)D0~D7的權(quán)成反比關(guān)系。權(quán)大的電阻值小,權(quán)小的電阻值大。D/A轉(zhuǎn)換器根據(jù)各個(gè)權(quán)位的情況以及輸入的二進(jìn)制數(shù),通過(guò)求和及電流電壓轉(zhuǎn)換電路,得到總和的模擬電壓值并輸出。
在D/A轉(zhuǎn)換器中,數(shù)字量的位數(shù)也反映了D/A轉(zhuǎn)換器的分辨率,即輸入數(shù)字量發(fā)生單位數(shù)字的變化時(shí),對(duì)應(yīng)的模擬量輸出值的改變。對(duì)于8位電壓型D/A轉(zhuǎn)換器,輸入數(shù)字量發(fā)生單位變化時(shí),模擬量輸出的改變?yōu)閂/255,其中V電壓輸出的滿量程。
AD558的主要性能指標(biāo)如下:
·8位并行接口;
·電壓的輸出范圍0~+10V;
·相對(duì)精度±(1/2)最低有效位;
·輸出轉(zhuǎn)換建立時(shí)間1us;
·使用單一電源供電,電源電壓范圍+4.5~+16.5V;
·內(nèi)部具有基準(zhǔn)電壓源,無(wú)須外接基準(zhǔn)源;
·內(nèi)部集成有數(shù)據(jù)鎖存器;
·75mW低功耗。
3 電路設(shè)計(jì)
本系統(tǒng)采用USB控制芯片PDIUSBD12和D/A轉(zhuǎn)換器AD558來(lái)實(shí)現(xiàn)DAC控制。計(jì)算機(jī)可以通過(guò)USB接口控制AD558輸出所需的各種模擬信號(hào)。由
于計(jì)算機(jī)的USB接口具有向外供電的功能,因此這里采用USB接口的電源為PDIUSBD12芯片供電。USB接口部分的電路原理圖如圖2所示。
AD558的數(shù)據(jù)總線連接到PDIUSBD12。AD558工作于0~+10V模擬電壓輸出模式。電容C9和C10用于改善輸出波形。AD558采用單一的12V供電,不需要外接基準(zhǔn)電壓源。數(shù)模轉(zhuǎn)換部分的電路原理圖如圖3所示。
評(píng)論