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