基于EZUSBFX2的數(shù)據(jù)采集系統(tǒng)USB接口設(shè)計(jì)_第1頁(yè)
基于EZUSBFX2的數(shù)據(jù)采集系統(tǒng)USB接口設(shè)計(jì)_第2頁(yè)
基于EZUSBFX2的數(shù)據(jù)采集系統(tǒng)USB接口設(shè)計(jì)_第3頁(yè)
基于EZUSBFX2的數(shù)據(jù)采集系統(tǒng)USB接口設(shè)計(jì)_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于 EZUSB FX2 的數(shù)據(jù)采集系統(tǒng) USB 接口設(shè)計(jì)摘 要: 以 CYPRESS 公司的 EZ?USB FX2 芯片為基礎(chǔ),對(duì)工業(yè) CT 數(shù)據(jù)采集系統(tǒng)的 USB 接口設(shè)計(jì)所涉及的幾個(gè) 方面進(jìn)行了詳細(xì)的介紹。該設(shè)計(jì)中為了能提高數(shù)據(jù)傳輸?shù)乃?度, EZ?USB 芯片采用 Slave FIFO 接口方式,在此方式下,USB 內(nèi)核不參與數(shù)據(jù)的傳輸。 CY7C68013A 芯片內(nèi)部包含有4 KB 的可配置端點(diǎn)緩沖區(qū),這是大容量數(shù)據(jù)傳輸端點(diǎn), 可配置成不需要 8051 固件參與就同外圍電路完成高速數(shù)據(jù)傳輸 端。 CYPRESS 公司提供的 EZ?USB 固件程序開(kāi)發(fā)包中包含 有固件程序的基本框架。

2、在此介紹 CY7C68013A 芯片的結(jié)構(gòu) 和特點(diǎn),分析 EZ?USB FX2 固件程序框架,并給出固件程序 實(shí)例代碼,描述固件代碼裝載方式,應(yīng)用程序調(diào)用驅(qū)動(dòng)程序 的接口函數(shù)。采用 EZ?USB 芯片開(kāi)發(fā) USB 接口,大大降低 開(kāi)發(fā)難度,提高開(kāi)發(fā)效率。關(guān)鍵詞: USB 2.0; EZ?USB ; FX2; 固件程序中圖分類(lèi)口號(hào):TN919?34 ; TP334.7 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X (2015)04?0073?04在錐束工業(yè) CT 系統(tǒng)中,數(shù)據(jù)采集系統(tǒng)用來(lái)獲取探測(cè)器輸出信號(hào),轉(zhuǎn)換為數(shù)字信號(hào)上傳給計(jì)算機(jī)做圖像重建,同時(shí)傳計(jì)算機(jī)的控制命令,是工業(yè) CT 的關(guān)鍵部件

3、。通用串行總線( Universal Serial Bus , USB )以其易插拔,無(wú)需配置, 真正的即插即用等特性獲得了廣泛的認(rèn)可, USB 2.0 標(biāo)準(zhǔn)其 高速傳輸模式的速率可達(dá) 480 Mb/s ,可以滿(mǎn)足數(shù)據(jù)采集系統(tǒng) 的速率要求。本文設(shè)計(jì)采用 CYPRESS 公司的 EZ?USB FX2系列芯片作為數(shù)據(jù)采集系統(tǒng)與計(jì)算機(jī)間的 USB 接口芯片,具 體型號(hào)為 CY7C68013A1?2 。數(shù)據(jù)采集卡整體結(jié)構(gòu)如圖 1 所 示,本文只介紹 USB 接口軟硬件設(shè)計(jì)部分。USB 接口設(shè)計(jì)主要涉及 USB 固件程序編寫(xiě),裝載,設(shè)備驅(qū)動(dòng)程序的安裝,應(yīng)用程序與驅(qū)動(dòng)程序間的接口等方面。CYPRESS 公

4、司提供包含有固件程序框架,通用的設(shè)備驅(qū)動(dòng) 程序的應(yīng)用開(kāi)發(fā)包,降低了 USB 接口的開(kāi)發(fā)難度。下面就USB 接口開(kāi)發(fā)所涉及的幾個(gè)方面進(jìn)行詳細(xì)介紹。1 EZ?USB 硬件介紹CY7C68013A 接口芯片是 CYPRESS 公司 EZ?USB FX2系列芯片中的一種類(lèi)型, 它集成了 USB2.0 協(xié)議的微處理器, 支持12 Mb/s的全速傳輸與480 Mb/s的高速傳輸,完全適用于USB2.0并向下兼容USB1.1。芯片內(nèi)部集成增強(qiáng)型 8051內(nèi)核,指令周期為 4個(gè)時(shí)鐘周期, 時(shí)鐘頻率可配置為 12 MHz, 24 MHz , 48 MHz。集成智能SIE (串行引擎接口),由USB2.0 收發(fā)器

5、與 SIE 完成 USB 協(xié)議的封包與解包功能 1。CY7C68013A芯片內(nèi)部包含3個(gè)固定的,64 B的端點(diǎn)緩沖區(qū),分別是EP0, EP1IN,EP1OUT。EP0是默認(rèn)的控制傳輸端點(diǎn),EP1IN 和 EP1OUT 支持塊傳輸,中斷傳輸與同步傳輸,此三端點(diǎn)只能由 8051 內(nèi)核訪問(wèn)。還有 4 KB 的可配置端點(diǎn)緩沖區(qū), 分別是EP2, EP4, EP6, EP8,它們是大容量寬帶的數(shù)據(jù)傳輸端點(diǎn),不需要 8051 固件參與就同外圍電路完成高速的數(shù) 據(jù)傳輸 3 。這 4 個(gè)端點(diǎn)可以靈活的配置容量,滿(mǎn)足多種數(shù)據(jù) 傳輸要求。2 EZ?USB FX2 CY7C68013A 固件程序設(shè)計(jì)CY7C6801

6、3A 固件程序是指在 EZ?USB 芯片內(nèi)部 RAM中運(yùn)行的程序代碼,固件程序是USB 接口設(shè)計(jì)的核心部分。固件代碼的作用就是控制芯片執(zhí)行指定的設(shè)備功能,即處理 上位機(jī)下傳的各種 USB 設(shè)備請(qǐng)求,控制芯片與外圍電路進(jìn)行 數(shù)據(jù)傳輸。 EZ?USB 芯片內(nèi)部集成增強(qiáng)型 8051 內(nèi)核, USB芯片的固件程序?qū)嶋H上就是單片機(jī)程序文件,可以采用匯編 語(yǔ)言或 C 語(yǔ)言編寫(xiě)。 CYPRESS 公司提供的 EZ?USB FX2 固 件程序開(kāi)發(fā)包中提供了固件程序的基本框架,這為用戶(hù)開(kāi)發(fā) 基于 EZ?USB FX2 芯片的 USB 設(shè)備提供了很大的方便。2.1 固件框架 固件程序框架主要包括設(shè)備初始化, 處理

7、標(biāo)準(zhǔn) USB 設(shè)備請(qǐng)求和 USB 掛起時(shí)的電源管理等。程序框架使用 Keil C51編寫(xiě),它是現(xiàn)成的直接可以編譯為 HEX 文件的 8051 程序代 碼,使用者只需要改寫(xiě) USB 描述表, 在一些固定函數(shù)下添加 功能代碼,主要是 EZ?USB 芯片的初始化配置和實(shí)現(xiàn) USB外設(shè)功能的代碼。固件框架的流程圖如圖 2 所示4 。復(fù)位后固件先初始化一些全局變量,然后調(diào)用初始化函數(shù) TD_Init (),該函數(shù)初始化 USB 設(shè)備到?jīng)]有配置的狀態(tài), 并打開(kāi)中斷。循環(huán) 1 s 進(jìn)行一次設(shè)備重枚舉,直到端點(diǎn) 0 收 到一 SETUP 包,然后進(jìn)入 while 循環(huán)語(yǔ)句,開(kāi)始 TD_Poll任務(wù)處理函數(shù)。依

8、次執(zhí)行下列過(guò)程:1)TD_Poll) 用戶(hù)任務(wù)調(diào)度函數(shù);如果發(fā)現(xiàn)USB 設(shè)備請(qǐng)求,則分析該請(qǐng)求并執(zhí)行;如果收到USB 掛起信號(hào),則調(diào)用 TD_Suspend()掛起函數(shù),內(nèi)核掛起,直到出現(xiàn) USB 遠(yuǎn)程喚醒信號(hào),調(diào)用TD_Resume (),內(nèi)核喚醒,從新進(jìn)入 while循環(huán)。固件框架包含的文件如表 1 所示。表 1 固件框架文件列表2.2 固件代碼編寫(xiě)USB固件程序主要的功能有 2個(gè):一是PC機(jī)的Windows系統(tǒng)能夠檢測(cè)與識(shí)別相應(yīng)設(shè)備;二是數(shù)據(jù)的上傳與下傳。Cypress公司為EZ?USB FX2系列芯片提供的固件程序框架極大的簡(jiǎn)化了固件開(kāi)發(fā)。一般的固件開(kāi)發(fā)只需要修改用戶(hù)調(diào) 度函數(shù)文件Pe

9、riph.c與USB描述符列表文件 Dscr.a51,這兩個(gè)文件在 Keil C51 編程器中都可打開(kāi)。 Periph.c 文件中只需 要修改 TD_Init ()與 TD_Poll ()函數(shù)。在本設(shè)計(jì)中為了能進(jìn)行高速的數(shù)據(jù)傳輸,EZ?USB芯片采用Slave FIFO接口方TD_Poll)函數(shù)不用寫(xiě)代碼,設(shè)置成空函數(shù)就可以了。這樣USB式。此方式下, USB 內(nèi)核不參與數(shù)據(jù)的傳輸,所以固件程序的開(kāi)發(fā)主要任務(wù)就是改寫(xiě) TD_Init ()函數(shù)與 USB描述符列表文件Dscr.a51。在本設(shè)計(jì)中配置端點(diǎn)6傳輸方向?yàn)?IN ,傳輸方式為塊傳輸,緩沖大小設(shè)置為1 024 B ,深度為 2 級(jí),作用是上傳采集的數(shù)據(jù)。配置端點(diǎn)2 傳輸方向?yàn)镺UT,傳輸方式為塊傳輸,緩沖大小設(shè)置為1 024 B ,深度固件程序的編為 2 級(jí),作用是下傳 FPGA 的命令配置參數(shù)。譯使用Keil P,Vision2集成編譯環(huán)境,集成編譯環(huán)境中包括有 C51 編譯器, A51 匯編器等工具與調(diào)試器。代碼中還需包 含頭文件 FX2.h與Fx2regs.h,庫(kù)文件Ezusb

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論