摘 要: 針對(duì)目前市場(chǎng)上出現(xiàn)的虛擬儀器價(jià)格過(guò)于昂貴,研發(fā)了一種高性價(jià)比的虛擬信號(hào)分析儀。采用16bit STEREO AUDIO CODEC PCM2906B為硬件基礎(chǔ),結(jié)合C#軟件開(kāi)發(fā),整體結(jié)構(gòu)由通用PC機(jī)和虛擬儀器卡兩部分組成,二者通過(guò)USB接口進(jìn)行信號(hào)通信。信號(hào)的采集和輸出由虛擬儀器卡完成,信號(hào)的處理由通用PC機(jī)通過(guò)軟件進(jìn)行,PC軟件利用面向?qū)ο蟮腃#語(yǔ)言開(kāi)發(fā)。該虛擬信號(hào)儀能在大幅降低成本的同時(shí)實(shí)現(xiàn)了信號(hào)發(fā)生器、示波器、記錄儀、頻譜分析、時(shí)頻分析等多種功能。該儀器具有多種功能,硬件功耗低,成本低廉,性價(jià)比高,可以在教學(xué)和實(shí)驗(yàn)中得到廣泛的推廣和應(yīng)用。
關(guān)鍵詞: PCM2906B; 虛擬信號(hào)分析儀; C#; USB接口
中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2013)16?0095?03
0 引 言
隨著信息處理技術(shù)和虛擬儀器技術(shù)的發(fā)展,虛擬儀器逐漸成為現(xiàn)代儀器的發(fā)展方向。目前市場(chǎng)上出現(xiàn)的虛擬儀器價(jià)格過(guò)于昂貴,在實(shí)際中難以大規(guī)模應(yīng)用[1]。本文設(shè)計(jì)了一種高性能價(jià)格比的虛擬信號(hào)分析儀,其整體結(jié)構(gòu)由通用PC機(jī)和虛擬儀器卡兩部分組成,二者通過(guò)USB接口進(jìn)行信號(hào)通信。
信號(hào)的采集和輸出由虛擬儀器卡完成,信號(hào)的處理由通用PC機(jī)通過(guò)軟件進(jìn)行,PC軟件可以利用面向?qū)ο蟮腃#語(yǔ)言開(kāi)發(fā)。該儀器具有信號(hào)發(fā)生器、示波器、記錄儀、頻譜分析儀、時(shí)頻分析儀等多種功能,硬件功耗低,成本低廉,性價(jià)比高,可以在教學(xué)和實(shí)驗(yàn)中得到廣泛的推廣和應(yīng)用。
1 系統(tǒng)設(shè)計(jì)及結(jié)構(gòu)
1.1 系統(tǒng)總體設(shè)計(jì)
整個(gè)系統(tǒng)由通用PC機(jī)和虛擬儀器卡兩部分組成,PC機(jī)中裝有分析信號(hào)和處理信號(hào)的軟件,虛擬儀器卡負(fù)責(zé)信號(hào)的采集和輸出,二者采用USB2.0全速通信接口。該虛擬儀器卡擁有兩個(gè)輸入通道和兩個(gè)輸出通道,通過(guò)USB接口接收從PC機(jī)上傳送來(lái)的配置信息和控制命令,同時(shí)利用USB總線供電。PC機(jī)上的軟件主要負(fù)責(zé)配置虛擬儀器卡,對(duì)虛擬儀器卡進(jìn)行波形讀取分析和傳送波形數(shù)據(jù),同時(shí)完成波形數(shù)據(jù)的顯示、存儲(chǔ)、頻譜分析、時(shí)頻分析等功能。
PC機(jī)軟件與虛擬儀器卡兩者相互配合,協(xié)調(diào)工作,共同完成信號(hào)的采集和產(chǎn)生。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
1.2 系統(tǒng)硬件結(jié)構(gòu)
虛擬儀器卡的硬件結(jié)構(gòu)是以PCM2906B為核心設(shè)計(jì),工作時(shí)由PCM2906B的內(nèi)核從USB接口傳送的數(shù)據(jù)流中提取出音頻數(shù)據(jù)流和時(shí)鐘信號(hào),然后將其變換為標(biāo)準(zhǔn)數(shù)字音頻串行數(shù)據(jù),其中PCM2906B內(nèi)部采用 TI 采樣周期適應(yīng)性控制跟蹤系統(tǒng)(SpAct),利用 PLL電路分離單時(shí)鐘源,因此能將噪聲等抖動(dòng)信號(hào)抑制到極低的水平,從而保證了良好的信號(hào)采集和產(chǎn)生的信號(hào)效果。虛擬儀器卡的硬件結(jié)構(gòu)框圖如圖2所示。
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件設(shè)計(jì)主要是指虛擬儀器卡的硬件結(jié)構(gòu)設(shè)計(jì)。本系統(tǒng)使用TI公司的立體聲音頻編解碼器(CODEC)——PCM2906B作為主體核心芯片。由于PCM2906B自身具備的USB協(xié)議控制器不需要編寫(xiě)任何軟件代碼便可以工作,而且其驅(qū)動(dòng)程序可以利用Windows操作系統(tǒng)中的通用聲卡驅(qū)動(dòng)程序,這樣就可減少大量的底層軟件設(shè)計(jì)工作,簡(jiǎn)化了系統(tǒng)的整體軟件設(shè)計(jì)。而且它的內(nèi)部集成了一個(gè)16?Bit Delta?Sigma ADC,能夠同時(shí)采集兩路輸入信號(hào),每路輸入信號(hào)的最高頻率可達(dá)20 kHz,采樣頻率可達(dá)48 kHz;其內(nèi)部還集成了一個(gè)16?Bit Delta?Sigma DAC,可同時(shí)產(chǎn)生兩路任意波形信號(hào),其采樣率同樣達(dá)到[2]48 kHz。可以利用TI公司的高速單電源軌至軌運(yùn)算放大器OPA2353構(gòu)建每路輸入輸出通道的極性變換電路和低通濾波器。根據(jù)系統(tǒng)的功能要求,基于PCM2906B設(shè)計(jì)的虛擬信號(hào)分析儀硬件電路主要包括USB數(shù)據(jù)接口電路、輸入通道前端電路和輸出通道后端電路、增益調(diào)整電路等部分。
2.1 USB數(shù)據(jù)接口電路
PCM2906B的USB數(shù)據(jù)接收接口符合USB 2.0標(biāo)準(zhǔn),芯片上集成 USB接口全速收發(fā)器D+與VddI之間的1.5 kΩ上拉電阻使 PCM2906B的 USB接口工作在全速狀態(tài)[3]。
信號(hào)按如下過(guò)程產(chǎn)生:當(dāng)接口電路完成起始電平的恢復(fù)并與 USB總線接通后,這時(shí)PCM2906B的設(shè)置準(zhǔn)備工作完成,PCM2906B準(zhǔn)備接收 USB數(shù)據(jù)。在數(shù)據(jù)信號(hào)尚未送來(lái)的等待狀態(tài)時(shí),模擬輸出設(shè)置為雙零點(diǎn)零標(biāo)志, ZERO為高電平。當(dāng)接收到數(shù)據(jù)信號(hào)后, PCM2906B將第一批數(shù)據(jù)包(含 1 ms 的音頻數(shù)據(jù))存儲(chǔ)到其內(nèi)部FIFO存儲(chǔ)器中,當(dāng)接口電路檢測(cè)到頭幀信號(hào)后,PCM2906B開(kāi)始產(chǎn)生信號(hào)。
2.2 輸入通道前端電路和輸出通道后端電路
從PCM2906B的特性可知,由于PCM2906B的輸入通道和輸出通道允許的電壓范圍為-0.3~VCCCI+0.3,所以需要將外界的雙極性模擬信號(hào)變?yōu)榉螾CM2906B特性的單極性的輸入信號(hào),以及需要將PCM2906B單極性的輸出信號(hào)變?yōu)檎嬲捎玫碾p極性模擬信號(hào)輸出。同時(shí)由于外界環(huán)境存在的各種干擾,為了得到較為純凈的輸入和輸出信號(hào),抑制各種干擾信號(hào),在每路輸入和輸出通道上都設(shè)計(jì)了低通濾波器。
2.3 增益調(diào)整電路
PCM2906B提供三個(gè)人機(jī)接口設(shè)備 (HID) 引腳。HID是Human Interface Devices的縮寫(xiě),即人機(jī)接口設(shè)備,是USB 協(xié)議中最早提出并支持的一種設(shè)備類。典型的HID有鍵盤(pán)和鼠標(biāo)等,其主要用于和計(jì)算機(jī)進(jìn)行交互通信。鼠標(biāo)也屬于HID設(shè)備,USB 串行總線規(guī)范專門定義了HID 類規(guī)范[4]。在本系統(tǒng)中將HID0設(shè)置成可以同時(shí)停止PCM2906B的兩路輸出,將HID1設(shè)置成可同時(shí)放大PCM2906B的兩路輸出的增益,將HID2設(shè)置成可同時(shí)減小PCM2906B的兩路輸出的增益。
3 系統(tǒng)軟件設(shè)計(jì)
由于本系統(tǒng)能實(shí)現(xiàn)信號(hào)采集、信號(hào)產(chǎn)生、頻譜分析、時(shí)頻分析等功能,因此軟件部分設(shè)計(jì)主要包括實(shí)時(shí)顯示模塊、波形存儲(chǔ)模塊、后處理模塊、信號(hào)生成模塊、FFT模塊、功率譜分析模塊、時(shí)頻分析模塊、頻譜分析模塊及自相關(guān)分析模塊。PC軟件采用面向?qū)ο蟮木幊陶Z(yǔ)言C#開(kāi)發(fā),軟件總體流程見(jiàn)圖3[5]。軟件具體模塊設(shè)計(jì)略。
4 系統(tǒng)性能測(cè)試
系統(tǒng)測(cè)試時(shí)將虛擬儀器卡的兩路輸出分別與兩路輸入相連。虛擬儀器卡的一路輸出設(shè)置為波形頻率500 Hz的正弦信號(hào),另一路輸出設(shè)置為波形頻率為1 000 Hz的正弦信號(hào),同時(shí)在軟件窗口查看兩路輸入信號(hào)的采集波形。
采集到的波形如圖4所示。
5 結(jié) 語(yǔ)
本系統(tǒng)設(shè)計(jì)技術(shù)含量高、功能豐富且成本低廉,設(shè)計(jì)出的儀器性能價(jià)格比高,為各類實(shí)驗(yàn)的開(kāi)展提供了有力的技術(shù)設(shè)備支持,特別是在教學(xué)和實(shí)驗(yàn)改革中具有十分廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1] 黃松齡,吳靜.虛擬儀器設(shè)計(jì)基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2008.
[2] Texas Instruments. Stereo audio codec with usb interface, single?ended analog input/output, and S/PDIF datasheet [R]. USA: Texas Instruments, 2008.
[3] 張正華,王豐碩.基于PCM2902的高性能音頻接口卡的研制[J].電聲技術(shù),2006(12):35?37.
[4] 楊順,王星.基于USB接口芯片CH372的人機(jī)接口設(shè)備設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010,19(4):216?218.
[5] BRADLEY J C, MILLSPAUGH A C. Programming in C#.NET [M].北京:清華大學(xué)出版社,2005.
[6] 雷國(guó)建,練峰海.基于VI技術(shù)的USB系統(tǒng)監(jiān)控設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(4):151?153.
[7] 林永碩.基于USB的音頻信號(hào)分析儀設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(21):62?64.
[8] 張輝,武攀,葉祎恒.虛擬儀器系統(tǒng)通用接口模塊的研究與設(shè)計(jì)[J].電子科技,2010(2):90?93.
[9] 翟希述,王寶興,范淼.基于Visual C#的串口通信程序設(shè)計(jì)[J].電子科技,2011(2):24?26.