DSP核信號(hào)采集系統(tǒng)通訊接口設(shè)計(jì)
(3)用戶(hù)應(yīng)用程序
用戶(hù)應(yīng)用程序是數(shù)據(jù)采集系統(tǒng)的核心,其主要功能為:開(kāi)啟或關(guān)閉USB 設(shè)備、檢測(cè)USB 設(shè)備、設(shè)置USB 數(shù)據(jù)傳輸管道、設(shè)置A /D 狀態(tài)和數(shù)據(jù)采集端口、實(shí)時(shí)從USB 接口采集數(shù) 據(jù)、顯示并分析數(shù)據(jù)。整個(gè)應(yīng)用程序采用Microsoft Visual C++編寫(xiě),通過(guò)對(duì)界面的控制實(shí)現(xiàn) A/D 的采樣以及數(shù)據(jù)的顯示。
下面列舉一些與應(yīng)用程序有關(guān)的函數(shù):
BOOLEAN OpenDriver ( ) ;
BOOLEAN CloseDriver ( ) ;
PVO ID Sx2GetDeviceDesc ( ) ;
PVO ID Sx2GetStringDesc ( int stringIndex) ;
PVO ID Sx2GetConfigDesc ( ) ;
BOOLEAN Sx2GetPipe Info ( PVO ID p Interface) ;
BOOLEAN Sx2SendVendorReq ( PVO ID myRequest, char * buffer, int bufferSize, int *
recnBytes) ;
BOOLEAN Sx2GetPipe Info ( PVO ID p Interface) ;
3.2 DSP 軟件程序設(shè)計(jì)
USB 主機(jī)與設(shè)備間的數(shù)據(jù)傳輸是通過(guò)設(shè)備中的端點(diǎn)(Endpoint)進(jìn)行的。這些端點(diǎn)通過(guò)端 點(diǎn)號(hào)和輸入輸出方向來(lái)進(jìn)行標(biāo)識(shí),并為數(shù)據(jù)傳輸分配固定的FIFO 存儲(chǔ)區(qū)。本系統(tǒng)在初始化 時(shí)將CY7C68001 的4 個(gè)端點(diǎn)配置為批量傳輸類(lèi)型。其中,F(xiàn)IFO2、FIFO4 為輸出端點(diǎn),用 于接收上位機(jī)傳來(lái)的數(shù)據(jù);FIFO6、FIFO8 為輸入端點(diǎn),用于存放待發(fā)送的數(shù)據(jù)。各個(gè)FIFO 設(shè)置為異步工作模式。DSP 經(jīng)初始化后打開(kāi)USB 外部中斷,向CY7C68001 寫(xiě)入描述符表, 等待其枚舉中斷。枚舉成功后,DSP 對(duì)CY7C68001 進(jìn)行其他配置并清空FIFO,然后等待主 機(jī)發(fā)送用戶(hù)請(qǐng)求并進(jìn)行相應(yīng)處理。軟件程序流程圖如圖2 所示。
圖 2 DSP 軟件程序設(shè)計(jì)流程圖
DSP 軟件程序設(shè)計(jì)主要包括DSP 的初始化、USB 描述符表的寫(xiě)入和其他命令寄存器的 配置以及用戶(hù)請(qǐng)求的相應(yīng)處理。DSP 的初始化主要是初始化時(shí)鐘速率、配置EMIF 口、配置 McBSP 口等。USB 描述符表主要是完成USB 芯片內(nèi)部的初始配置,命令寄存器的配置是完 成USB 中斷的開(kāi)啟、端點(diǎn)數(shù)據(jù)傳輸容量以及方向的配置等。用戶(hù)請(qǐng)求是用戶(hù)應(yīng)用程序,根 據(jù)用戶(hù)發(fā)送的請(qǐng)求完成相應(yīng)的數(shù)據(jù)傳輸。
4. 結(jié)論
本系統(tǒng)采用 USB 接口完成了核信號(hào)采集系統(tǒng)與上位機(jī)間的數(shù)據(jù)傳輸,上位機(jī)的用戶(hù)程 序顯示所傳數(shù)據(jù)以及波形圖。經(jīng)驗(yàn)證表明該方法連接簡(jiǎn)單,傳輸可靠。與普通串口相比,其 速度也得到了提升。
本文創(chuàng)新點(diǎn):將傳統(tǒng)的DSP 信號(hào)采集系統(tǒng)用于核信號(hào)的采集上,并且將與上位機(jī)進(jìn)行通訊 的串行口方式改進(jìn)為USB 方式,采用這種即插即用的接口不僅方便了與上位機(jī)的連接而且 提高了傳輸?shù)乃俾省?/span>
評(píng)論