基于DSP核信號采集系統通訊接口設計
0.引言
本文引用地址:http://dyxdggzs.com/article/257544.htm隨著(zhù)數字信號處理技術(shù)理論的不斷發(fā)展,數字信號處理器的發(fā)展也是日新月異。不僅執 行指令速度越來(lái)越快,而且其功耗也越來(lái)越低。許多儀器或檢測設備都不約而同地將DSP 應用到那些數據量龐大而且需實(shí)時(shí)傳送數據的系統中。核信號數據采集系統也不例外,利用 DSP 可以實(shí)時(shí)有效地處理采集的信號,并將處理數據發(fā)送至上位機進(jìn)行進(jìn)一步處理。通常 數據采集系統下位機與上位機的通訊采用串口方式,這種方式不僅協(xié)議簡(jiǎn)單,而且連接方便。
但是這種方式的數據傳送速率不高,而USB 總線(xiàn)接口具有方便快捷、支持即插即用、可實(shí)現高速數據通訊等優(yōu)點(diǎn),在很多領(lǐng)域得到廣泛應用。USB 總線(xiàn)接口在USB1.1 協(xié)議下傳輸速率可達12Mbps ,USB2.0 協(xié)議下可達480Mbps ,完全可以滿(mǎn)足目前的數據采集控制系統對于 數據實(shí)時(shí)傳輸速率越來(lái)越高的要求。因此在本系統設計中其通訊方式采用USB(Universal Serial Bus)總線(xiàn)接口方式。 USB 控制芯片采用Cypress 公司EZ-USB SX2 系列的CY7C68001 控制芯片,DSP 選用TI 公司的定點(diǎn)DSP 芯片TMS320VC5502。
1.CY7C68001USB 控制芯片介紹
CY7C68001 是由美國Cypress 公司開(kāi)發(fā)的高速USB 芯片,支持USB2.0 協(xié)議。其內部 集成有USB 收發(fā)器(物理層)、USB 串行接口引擎SIE(鏈路層,實(shí)現底層通信協(xié)議)、4KB的FIFO 以及電壓調節器、鎖相環(huán);可工作于全速(12Mb/s)和高速(480Mb/s)兩種傳輸模式, 支持8 位和16 位數據總線(xiàn)方式,具有同步和異步的FIFO 接口。CY7C68001 被用來(lái)與DSP、 ASIC、FPGA 等控制器連接實(shí)現USB 的功能,其內部不含微控制器。同時(shí)CY7C68001 提供4 種傳輸方式(控制傳輸、中斷傳輸、批量傳輸和同步傳輸),可滿(mǎn)足用戶(hù)對各種傳輸方式的要求。由于該控制芯片內不含微控制器,USB 的應用層協(xié)議應該由DSP 編程實(shí)現,USB 固件的加載必須靠DSP 控制CY7C68001 完成。
2.通訊接口系統硬件設計
整個(gè)采集系統包括的部分有傳感器信號調理電路、A/D 轉換電路、FIFO 數據緩沖單元、 DSP 控制器、FLASH 程序存儲單元、CPLD 邏輯控制單元、與上位機連接的USB 通訊單元。 其中與PC 機通訊的USB 單元硬件接口框圖如下圖所示。
圖 1 數據采集系統與PC 機通訊的硬件接口框圖
由圖 1 可以看出,通訊部分主要由CY7C68001 USB 控制器、CPLD 邏輯單元、E2PROM、 TMS320VC5502 組成。由于整個(gè)系統所需的器件數目較多,由此帶來(lái)的邏輯控制較為復雜, 而DSP 的I/O 接口有限,故在系統中加入了CPLD 邏輯控制單元,用于產(chǎn)生電路中需要的 邏輯狀態(tài)。同時(shí)用CPLD 中還實(shí)現了寄存器功能,這部分寄存器用于表征USB 通訊時(shí)各種狀態(tài)信息,便于DSP 查詢(xún)。
CY7C68001 USB 控制器與TMS320VC5502 采用EMIF 連接方式,并將USB 控制器中 的存儲器配置到CE1 空間。同時(shí)采用異步讀寫(xiě)方式完成TMS320VC5502 與CY7C68001 之 間的數據和命令交換。系統中E2PROM 的作用是完成USB 控制器的描述表自舉。CY7C68001 控制器的自舉方式有兩種:EEPROM 和微控制器,本系統采用EEPROM 方式。
3.通訊接口系統軟件設計
3.1 主機端軟件設計
主機端軟件的功能主要是完成下位機上傳數據的接收、顯示、分析等。由于信號采集的 數據量較大,所以在USB 傳輸方式上采用批量傳輸方式。 主機端軟件的設計包含3 個(gè)方面:
(1)USB 驅動(dòng)程序設計
USB 驅動(dòng)程序的功能主要是實(shí)現USB 發(fā)現、配置、關(guān)閉以及數據的傳送接口控制。 USB 設備驅動(dòng)程序的設計是基于WDM (Windows driver model ,驅動(dòng)程序模型)的。WDM 采用分層驅動(dòng)程序模型,分為較高級的USB 設備驅動(dòng)程序和較低級的USB 函數層。其中 USB 函數層由兩部分組成:較高級的通用串行總線(xiàn)模塊(US-BD)和較低級的主控制器驅動(dòng)程 序模塊(HCD)。在上述USB 分層模塊中,USB 函數層由操作系統提供,負責管理USB 設備驅動(dòng)程序和USB 控制器之間的通信、加載及卸載USB 驅動(dòng)程序,與USB 設備通用端點(diǎn)建立通信來(lái)執行設備配置、數據與USB 協(xié)議框架和打包格式的雙向轉換任務(wù)。
(2)安裝USB 的信息文件(.inf)
這一步用于將驅動(dòng)程序綁定到特定設備的Verdor ID (VID) 和Product ID( PID)。當USB 設備插入計算機時(shí),計算機檢測到設備插入后自動(dòng)發(fā)出查詢(xún)請求;USB 設備回應該請求, 并送出設備的VID /PID。計算機根據這兩個(gè)ID 裝載相應設備驅動(dòng)程序,完成枚舉。
(3)用戶(hù)應用程序
用戶(hù)應用程序是數據采集系統的核心,其主要功能為:開(kāi)啟或關(guān)閉USB 設備、檢測USB 設備、設置USB 數據傳輸管道、設置A /D 狀態(tài)和數據采集端口、實(shí)時(shí)從USB 接口采集數據、顯示并分析數據。整個(gè)應用程序采用Microsoft Visual C++編寫(xiě),通過(guò)對界面的控制實(shí)現 A/D 的采樣以及數據的顯示。
下面列舉一些與應用程序有關(guān)的函數:
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 軟件程序設計
USB 主機與設備間的數據傳輸是通過(guò)設備中的端點(diǎn)(Endpoint)進(jìn)行的。這些端點(diǎn)通過(guò)端點(diǎn)號和輸入輸出方向來(lái)進(jìn)行標識,并為數據傳輸分配固定的FIFO 存儲區。本系統在初始化時(shí)將CY7C68001 的4 個(gè)端點(diǎn)配置為批量傳輸類(lèi)型。其中,FIFO2、FIFO4 為輸出端點(diǎn),用于接收上位機傳來(lái)的數據;FIFO6、FIFO8 為輸入端點(diǎn),用于存放待發(fā)送的數據。各個(gè)FIFO 設置為異步工作模式。DSP 經(jīng)初始化后打開(kāi)USB 外部中斷,向CY7C68001 寫(xiě)入描述符表, 等待其枚舉中斷。枚舉成功后,DSP 對CY7C68001 進(jìn)行其他配置并清空FIFO,然后等待主 機發(fā)送用戶(hù)請求并進(jìn)行相應處理。軟件程序流程圖如圖2 所示。
DSP 軟件程序設計主要包括DSP 的初始化、USB 描述符表的寫(xiě)入和其他命令寄存器的 配置以及用戶(hù)請求的相應處理。DSP 的初始化主要是初始化時(shí)鐘速率、配置EMIF 口、配置 McBSP 口等。USB 描述符表主要是完成USB 芯片內部的初始配置,命令寄存器的配置是完 成USB 中斷的開(kāi)啟、端點(diǎn)數據傳輸容量以及方向的配置等。用戶(hù)請求是用戶(hù)應用程序,根 據用戶(hù)發(fā)送的請求完成相應的數據傳輸。
圖 2 DSP 軟件程序設計流程圖
4. 結論
本系統采用 USB 接口完成了核信號采集系統與上位機間的數據傳輸,上位機的用戶(hù)程序顯示所傳數據以及波形圖。經(jīng)驗證表明該方法連接簡(jiǎn)單,傳輸可靠。與普通串口相比,其 速度也得到了提升。
本文創(chuàng )新點(diǎn):將傳統的DSP 信號采集系統用于核信號的采集上,并且將與上位機進(jìn)行通訊的串行口方式改進(jìn)為USB 方式,采用這種即插即用的接口不僅方便了與上位機的連接而且提高了傳輸的速率。(張彪,方方,焦歡歡,黃洪全成都理工大學(xué)核技術(shù)與自動(dòng)化工程學(xué)院)
評論