基于FPGA和USB2.0的高速數(shù)據(jù)采集系統(tǒng)
本文引用地址:http://www.ex-cimer.com/article/188574.htm
3 軟件設(shè)計(jì)
如圖7所示,數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)包括3部分;CY7C68013的固件程序、Windows平臺(tái)上USB設(shè)備驅(qū)動(dòng)程序和應(yīng)用程序。在Windows操作平臺(tái)下,當(dāng)有新的設(shè)備接入時(shí),操作系統(tǒng)就會(huì)依據(jù)設(shè)備回送的有關(guān)信息自動(dòng)地調(diào)用相應(yīng)的設(shè)備驅(qū)動(dòng)程序。當(dāng)USB設(shè)備的設(shè)備驅(qū)動(dòng)程序裝載后,主機(jī)應(yīng)用程序通過USB設(shè)備驅(qū)動(dòng)程序與系統(tǒng)USBDI(USB Device Interface)進(jìn)行通信,然后由系統(tǒng)產(chǎn)生USB數(shù)據(jù)的傳送動(dòng)作。固件則是運(yùn)行在外設(shè)接口芯片中的代碼,用于響應(yīng)各種來自系統(tǒng)的USB標(biāo)準(zhǔn)請求,完成各種數(shù)據(jù)的交換工作和事務(wù)處理。
固件架構(gòu)實(shí)現(xiàn)了與USB兼容的外圍設(shè)備所需的基本功能。經(jīng)過鏈接(Iink)最小的描述符表文件,并對該架構(gòu)作適當(dāng)?shù)男薷幕蛱砑硬糠执?,就可以?gòu)建出完全兼容的設(shè)備固件架構(gòu)。通過鏈接Cypress公司所提供的子程序,就有可能逐漸地構(gòu)建出完全兼容功能的設(shè)備。固件程序的流程如圖8所示。
4 結(jié) 論
基于FPGA和USB2.0的高速實(shí)時(shí)數(shù)據(jù)采集系統(tǒng),采用計(jì)算機(jī)的USB接口作為數(shù)據(jù)傳輸接口。軟件設(shè)計(jì)工作包括MCU的固件程序設(shè)計(jì)、計(jì)算機(jī)上USB接口驅(qū)動(dòng)程序設(shè)計(jì)、計(jì)算機(jī)上應(yīng)用程序設(shè)計(jì)等幾部分。MCU在FPGA和計(jì)算機(jī)之間起橋梁的作用,既要對USB接口進(jìn)行控制,實(shí)現(xiàn)與計(jì)算機(jī)的通信,接受計(jì)算機(jī)的控制,又要對它與FPGA的接口進(jìn)行設(shè)置和控制,還會(huì)與FPGA進(jìn)行對話以實(shí)現(xiàn)對FPGA的工作模式進(jìn)行設(shè)置。
評論