關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于USB的音頻信號(hào)分析儀設(shè)計(jì)

基于USB的音頻信號(hào)分析儀設(shè)計(jì)

作者: 時(shí)間:2012-12-21 來(lái)源:網(wǎng)絡(luò) 收藏

2.3 接口
接口芯片選用CYPRESS公司的EZ-FX2芯片CY7C68013。CY7C68013有Slave FIFO和GPIF兩種接口方式,本設(shè)計(jì)采用Slave FIFO模式,F(xiàn)PGA與USB硬件接口如圖3所示。

本文引用地址:http://m.butianyuan.cn/article/202010.htm

c.JPG


圖中D0~D7為數(shù)據(jù)總線,用于數(shù)據(jù)傳輸;INTI為中斷標(biāo)志,當(dāng)傳輸完一組數(shù)據(jù)時(shí)產(chǎn)生一次中斷。IFCLK為外部時(shí)鐘輸入;FIFOADR[1:0]選擇四個(gè)FIFO中的一個(gè),本設(shè)計(jì)中FIFOADR[1]直接接+3.3 V,F(xiàn)IFOADR[0]直接接地,選擇用EP6傳輸數(shù)據(jù),4倍緩存;FULL為FIFO滿狀態(tài)標(biāo)志,低電平有效;SLWR為數(shù)據(jù)寫入FIFO使能,低電平有效;FD[7:0]為8位數(shù)據(jù)線。
如上所述,系統(tǒng)選擇了FIFO的異步模式進(jìn)行數(shù)據(jù)傳輸?shù)姆绞?。在IFCLK的上升沿,如果SLWR有效(低電平有效),而數(shù)據(jù)有滿足建立保持時(shí)間,數(shù)據(jù)就被寫入FIFO,同時(shí),若內(nèi)部控制器發(fā)現(xiàn)FIFO己滿,經(jīng)過(guò)大約為10 ns的延時(shí),F(xiàn)ULL標(biāo)志會(huì)被置成有效。

3 系統(tǒng)軟件設(shè)計(jì)
3.1 USB固件設(shè)計(jì)
固件是在USB接口芯片加電后,由其他設(shè)備加載到CY7C68013中并在其中運(yùn)行完成接口數(shù)據(jù)傳輸功能的一段程序,其作用是控制硬件來(lái)完成預(yù)期的設(shè)備功能。固件的主要功能包括:初始化工作、輔助硬件完成設(shè)備的重枚舉過(guò)程、對(duì)主機(jī)的設(shè)備響應(yīng)做出適當(dāng)?shù)捻憫?yīng)、對(duì)中斷的處理、數(shù)據(jù)的接收與發(fā)送、對(duì)外圍電路的控制。
本系統(tǒng)固件程序采用Cypress公司提供的固件程序框架,在其初始化函數(shù)中添加了用戶配置代碼。該設(shè)計(jì)中異步自動(dòng)從屬FIFO數(shù)據(jù)傳輸?shù)某跏蓟a如下:
d.JPG
3.2 USB驅(qū)動(dòng)程序設(shè)計(jì)
USB驅(qū)動(dòng)程序處于應(yīng)用程序和設(shè)備端固件之間,使操作系統(tǒng)識(shí)別USB設(shè)備,并建立起主機(jī)端和設(shè)備端之間的通信。
VISA(Virtual Instrument SoftWare Architecture)是美國(guó)NI公司開發(fā)用來(lái)與各種儀器總線進(jìn)行通信的高級(jí)應(yīng)用程序編程接口(API)。它不受平臺(tái)、總線和環(huán)境的限制,可用來(lái)對(duì)USB、GPIB、串口、VXI、PXI及以太網(wǎng)等進(jìn)行配置、編程和調(diào)試。因此本系統(tǒng)利用LabVIEW的VISA來(lái)對(duì)USB的底層驅(qū)動(dòng)經(jīng)行開發(fā),具體步驟如下:
(1)使用Driver Development Wizard創(chuàng)建INF文檔。
(2)安裝INF文檔,并安裝使用INF文檔的USB設(shè)備。
(3)使用NI-VISA Interactive Control對(duì)設(shè)備進(jìn)行測(cè)試。
USB底層配置正確以后,選擇VISA類為USBRaw,計(jì)算機(jī)會(huì)自動(dòng)刷新選擇的USB設(shè)備,利用VISAOpen,VISA Close,VISA Write和VISA Read
四個(gè)節(jié)點(diǎn)即可實(shí)現(xiàn)和USB設(shè)備的雙向通信。與USB設(shè)備的通信過(guò)程分為4個(gè)步驟:
(1)由VISAOpen函數(shù)打開VISA resource name端口指定的USB設(shè)備;
(2)通過(guò)VISA Write函數(shù)向USB設(shè)備發(fā)送控制命令啟動(dòng)設(shè)備工作,USB設(shè)備接收到控制命令后開始采集數(shù)據(jù)并將采集到的數(shù)據(jù)按要求發(fā)送到數(shù)據(jù)緩沖區(qū);
(3)通過(guò)VISA Read函數(shù)將數(shù)據(jù)讀出;
(4)通過(guò)VISA Close函數(shù)關(guān)閉設(shè)備。
3.3 LabVIEW程序設(shè)計(jì)
LabVIEW是美國(guó)NI公司開發(fā)的一種圖形化編程軟件,具有良好的圖形顯示功能,提供種類齊全的各種波形圖和波形圖表控件,能夠以多樣化的方式直觀地顯示各種信號(hào)波形。其次LabVIEW擁有數(shù)量眾多、功能齊全的信號(hào)分析與處理子VI,供用戶調(diào)用,從而組合實(shí)現(xiàn)出所需要的信號(hào)處理功能。同時(shí)LabVIEW具有良好的擴(kuò)展性,無(wú)論是通過(guò)附加工具包擴(kuò)展,還是通過(guò)其他平臺(tái)(如Matlab/Simulink)的接口擴(kuò)展,都能很方便地進(jìn)一步擴(kuò)展其信號(hào)處理功能。



關(guān)鍵詞: USB 音頻信號(hào)分析儀

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉