




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、高速數(shù)據(jù)采集設(shè)計(jì)管理論文摘要:本文主要介紹支持USB2.0高速傳輸?shù)腅ZUSBFX2單片機(jī)CY7C68013,并詳細(xì)說明用此芯片實(shí)現(xiàn)高速數(shù)據(jù)采集系統(tǒng)和相應(yīng)的Windows驅(qū)動(dòng)程序及底層固件程序的開發(fā)過程。 關(guān)鍵詞:CY7C68013USB2.0數(shù)據(jù)采集固件 1引言 現(xiàn)代工業(yè)生產(chǎn)和科學(xué)研究對(duì)數(shù)據(jù)采集的要求日益提高,在瞬態(tài)信號(hào)測(cè)量、圖像處理等一些高速、高精度的測(cè)量中,需要進(jìn)行高速數(shù)據(jù)采集。現(xiàn)在通用的高速數(shù)據(jù)采集卡一般多是PCI卡或ISA卡,存在以下缺點(diǎn):安裝麻煩、價(jià)格昂貴;受計(jì)算機(jī)插槽數(shù)量、地址、中斷資源限制,可擴(kuò)展性差;在一些電磁干擾性強(qiáng)的測(cè)試現(xiàn)場(chǎng),無法專門對(duì)其做電磁屏蔽,導(dǎo)致采集的數(shù)據(jù)失真。
2、通用串行總線USB是1995年康柏、微軟、IBM、DEC等公司為解決傳統(tǒng)總線不足而推廣的一種新型的通信標(biāo)準(zhǔn)。該總線接口具有安裝方便、高帶寬、易于擴(kuò)展等優(yōu)點(diǎn),已逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢(shì)?;赨SB的高速數(shù)據(jù)采集卡充分利用USB總線的上述優(yōu)點(diǎn),有效解決了傳統(tǒng)高速數(shù)據(jù)采集卡的缺陷。 2硬件設(shè)計(jì) 2.1支持USB2.0高速傳輸?shù)腃Y7C68013 CypressSemiconductor公司的EZUSBFX2是世界上第一款集成USB2.0的微處理器,它集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強(qiáng)的8051微控制器和可編程的外圍接口。FX2這種獨(dú)創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸率達(dá)到56Mbytes
3、/s,即USB2.0允許的最大帶寬。在FX2中,智能SIE可以硬件處理許多USB1.1和USB2.0協(xié)議,從而減少了開發(fā)時(shí)間和確保了USB的兼容性。GPIF(GeneralProgrammableInterface)和主/從端點(diǎn)FIFO(8位或16位數(shù)據(jù)總線)為ATA、UTOPIA、EPP、PCMCIA和DSP等提供了簡單和無縫連接接口。 CY7C68013的GPIF引擎具有自動(dòng)傳輸數(shù)據(jù)結(jié)構(gòu)的特性,這種特性使得外圍設(shè)備和主機(jī)通過CY7C68013可以無縫的、高速的傳輸數(shù)據(jù)。為了實(shí)現(xiàn)高速的數(shù)據(jù)傳輸,CY7C68013CPU不會(huì)直接參與數(shù)據(jù)的傳輸,而是直接利用GPIF的自動(dòng)傳輸數(shù)據(jù)模式。圖1和圖2
4、說明了主機(jī)IN和OUT數(shù)據(jù)傳輸過程。 2.1.1端點(diǎn)緩沖區(qū) FX2包含3個(gè)64字節(jié)端點(diǎn)緩沖區(qū)和4K可配置成不同方式的緩沖,其中3個(gè)64字節(jié)的緩沖區(qū)為EP0、EP1IN和EP1OUT。EP0作為控制端點(diǎn)用,它是一個(gè)雙向端點(diǎn),既可為IN也可為OUT。當(dāng)需要控制傳輸數(shù)據(jù)時(shí),F(xiàn)X2固件讀寫EP0緩沖區(qū),但是8個(gè)SETUP字節(jié)數(shù)據(jù)不會(huì)出現(xiàn)在這64字節(jié)EP0端點(diǎn)緩沖區(qū)中。EP1IN和EP1OUT使用獨(dú)立的64字節(jié)緩沖區(qū),F(xiàn)X2固件可配置這些端點(diǎn)為BULK、INTERRUPT或ISOCHRONOUS傳輸方式,這兩個(gè)端點(diǎn)和EP0一樣只能被固件訪問。這一點(diǎn)與大端點(diǎn)緩沖區(qū)EP2、EP4、EP6和EP8不同,這四個(gè)
5、端點(diǎn)緩沖區(qū)主要用來和片上或片外進(jìn)行高帶寬數(shù)據(jù)傳輸而無需固件的參與。EP2、EP4、EP6和EP8是高帶寬、大緩沖區(qū)。它們可被配置成不同的方式來適應(yīng)帶寬的需求。 2.1.2接口信號(hào) 在利用GPIF進(jìn)行高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)時(shí),GPIFwaveforms的編輯是非常重要的,它控制著整個(gè)數(shù)據(jù)傳輸過程的讀寫時(shí)序。此時(shí)CPU的作用已經(jīng)非常小了,它只起著下載代碼到內(nèi)部RAM以及在固件中如何觸發(fā)GPIFwaveforms的作用。FX2專門為GPIF提供了外圍接口信號(hào),如8位或16位的數(shù)據(jù)線、控制信號(hào)、Ready信號(hào)以及地址線。 IFCLK(雙向時(shí)鐘信號(hào)):IFCLK是一個(gè)參考時(shí)鐘,可以配置成輸入或輸出。當(dāng)配置
6、為輸出時(shí),IFCLK被FX2驅(qū)動(dòng)為30MHz或48MHz;當(dāng)配置為輸入時(shí),時(shí)鐘范圍為548MHz。 GPIFADR8:0(輸出):GPIF使用GPIFADR信號(hào)為外部設(shè)備提供地址線,在總線上地址值是自增的。 FD15:0(雙向):這是USB主機(jī)通過FX2和外部設(shè)備進(jìn)行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)線,它可配置成8位或16位。當(dāng)16位時(shí),F(xiàn)D7:0代表端點(diǎn)FIFO中的第一個(gè)字節(jié),F(xiàn)D15:8代表第二個(gè)字節(jié)。 CTL5:0(輸出):FX2為外部設(shè)備提供了幾個(gè)控制信號(hào),如讀寫選通、使能等。 RDY5:0(輸入):FX2提供了幾個(gè)狀態(tài)檢測(cè)信號(hào),它可以檢測(cè)外部設(shè)備的狀態(tài),如FIFO的空、滿、半滿等。 GSTATE2:0
7、(輸出):這是調(diào)試信號(hào),表示GPIF波形執(zhí)行的狀態(tài),通常連接到邏輯分析儀上。 2.2AD9238 AD9238是一個(gè)雙通道的12位A/D轉(zhuǎn)換器,采用單3V供電,速度可以是20MSPS、40MSPS和65MSPS;低功耗,工作在20MSPS時(shí),功耗為180mW,40MSPS時(shí),功耗為330mW,65MSPS時(shí),功耗為600mW;具有500MHz3dB帶寬的差分輸入;片上參考源及SHA;靈活的模擬輸入范圍:1Vp-p2Vp-p;適用于:超聲波設(shè)備,射頻通訊,電池電源儀器,低價(jià)示波器等。本系統(tǒng)采用20MSPS的AD9238,可充分發(fā)揮USB在高速傳輸模式下的數(shù)據(jù)傳輸優(yōu)勢(shì)。 2.3數(shù)據(jù)采集系統(tǒng) 該數(shù)據(jù)
8、采集系統(tǒng)整個(gè)框圖如圖3所示,該系統(tǒng)由以下幾部份組成:USB控制器、FIFO、CPLD、AD9238以及數(shù)據(jù)采集前端電路。 圖3數(shù)據(jù)采集系統(tǒng)框圖 CPLD主要是控制時(shí)序,時(shí)鐘分頻等。FIFO主要是起著高速數(shù)據(jù)緩沖作用,當(dāng)FIFO半滿時(shí),數(shù)據(jù)開始向USB主機(jī)發(fā)送。我們采用的是同步FIFO,時(shí)鐘信號(hào)接IFCLK,當(dāng)FIFO的/RD信號(hào)和/OE信號(hào)有效時(shí),每個(gè)IFCLK上升沿就輸出一個(gè)數(shù)據(jù);當(dāng)FIFO的/WR信號(hào)有效時(shí),IFCLK上升沿就讀進(jìn)一個(gè)數(shù)據(jù)。AD9238的20MHz時(shí)鐘信號(hào)是通過CPLD分頻所得。當(dāng)程序使能AD9238的/OEB_A和/OEB_B信號(hào)時(shí),AD9238雙通道開始進(jìn)行數(shù)據(jù)采集并向
9、FIFO寫數(shù)據(jù)。 系統(tǒng)前端的調(diào)理電路采用的是AD公司的AD8138,該放大器具有較寬的模擬帶寬(320MHz,-3dB,增益1),而且可以實(shí)現(xiàn)將單端輸入變成差分輸出的功能。此項(xiàng)功能在現(xiàn)代高速模數(shù)變換電路中非常有用,因?yàn)閹缀跛械母咚貯/D芯片都要求模擬信號(hào)為差分輸入,雖然部分芯片的手冊(cè)中提到對(duì)于單端輸入信號(hào)也可使用,但這樣一來會(huì)使A/D轉(zhuǎn)換結(jié)果的二次諧波增大,降低信噪比(SNR)。AD8138很好的解決了這個(gè)問題,用戶可以很容易的將單端信號(hào)轉(zhuǎn)換成差分輸出而不必使用變壓器,并且它的輸入阻抗高達(dá)6M,可以直接與輸入信號(hào)相連而省略隔離放大器,大大精簡了電路結(jié)構(gòu)。圖4為AD8138的典型應(yīng)用電路。 圖
10、4AD8138典型應(yīng)用電路 3軟件設(shè)計(jì) 3.1Windows驅(qū)動(dòng)程序設(shè)計(jì) USB設(shè)備驅(qū)動(dòng)程序基于WDM。WDM型驅(qū)動(dòng)程序是內(nèi)核程序,與標(biāo)準(zhǔn)的Win32用戶態(tài)程序不同。采用了分層處理的方法。通過它,用戶不需要直接與硬件打它道(在USB驅(qū)動(dòng)程序中尤為明顯),只需通過下層驅(qū)動(dòng)程序提供的接口號(hào)訪問硬件。因此,USB設(shè)備驅(qū)動(dòng)程序不必具體對(duì)硬件編程,所有的USB命令、讀寫操作通過總線驅(qū)動(dòng)程序轉(zhuǎn)給USB設(shè)備。但是,USB設(shè)備驅(qū)動(dòng)程序必須定義與外部設(shè)備的通訊接口和通訊的數(shù)據(jù)格式,也必須定義與應(yīng)用程序的接口。 Cypress公司提供了完整的CY7C68013驅(qū)動(dòng)程序源碼、控制面板程序及固件的框架,這大大提高了用
11、戶開發(fā)的進(jìn)度。用戶只需稍加修改或不需任何修改即可使用所帶驅(qū)動(dòng)程序,軟件開發(fā)者大量的時(shí)間主要集中在應(yīng)用程序和固件的開發(fā)。本文所述的數(shù)據(jù)采集系統(tǒng)驅(qū)動(dòng)程序就在原來的基礎(chǔ)上進(jìn)行了簡單的修改來滿足我們的需要。根據(jù)我們自己的需求,一般只需修改DeviceIoControl例程,如我們主要增加了控制數(shù)據(jù)傳輸函數(shù)、啟動(dòng)和停止AD、復(fù)位FIFO等,即IOCTL_START_AD、IOCTL_STOP_AD、IOCTL_RESET_FIFO。 3.2底層固件設(shè)計(jì) 要實(shí)現(xiàn)USB2.0的高帶寬數(shù)據(jù)傳輸,必須使用它特有的GPIF特性,在開發(fā)固件前,首先必須根據(jù)實(shí)際需要對(duì)GPIFwaveform進(jìn)行編輯。CY7C6801
12、3開發(fā)工具中帶有一個(gè)GPIFDesigner,如圖5所示,編輯完waveform后,選擇Tools-ExporttoGPIF.cFile來輸出GPIF.c文件,然后將該文件加入keilc工程進(jìn)行編譯。 由于CY7C68013的EP2、EP4、EP6、EP8四個(gè)端點(diǎn)共享4KFIFO緩沖區(qū),所以在該系統(tǒng)中,我們將EP2配置成4K的緩沖區(qū),并設(shè)置為IN。用EP1OUT作為AD的控制參數(shù)傳遞,如啟動(dòng)和停止AD數(shù)據(jù)輸出、復(fù)位FIFO等。在固件程序中,最重要的就是TD_Init()和TD_Poll()兩個(gè)函數(shù)。 圖5GPIFDesigner 在TD_Init()中主要完成GPIF相應(yīng)寄存器的初始化,如下:
13、 voidTD_Init(void)/Calledonceatstartup /settheCPUclockto48MHz CPUCS=(CPUCS&bmCLKSPD)|bmCLKSPD1); SYNCDELAY; EP2CFG=0XE8;/EP2IN,bulk,size1024,4xbuffered SYNCDELAY; EP4CFG=0x00;/EP4notvalid SYNCDELAY; EP6CFG=0x00;/EP6notvalid SYNCDELAY; EP8CFG=0x00;/EP8notvalid SYNCDELAY; FIFORESET=0x80;/setNAKALLbitt
14、oNAKalltransfersfromhost SYNCDELAY; FIFORESET=0x02;/resetEP2FIFO SYNCDELAY; FIFORESET=0x00;/clearNAKALLbittoresumenormaloperation SYNCDELAY; EP2FIFOCFG=0x01;/allowcoretoseezerotoonetransitionofautooutbit SYNCDELAY; EP2FIFOCFG=0x11;/autooutmode,disablePKTENDzerolengthsend,wordops SYNCDELAY; EP6FIFOCF
15、G=0x09;/autoinmode,disablePKTENDzerolengthsend,wordops SYNCDELAY; GpifInit();/initializeGPIFregisters SYNCDELAY; EP2GPIFFLGSEL=0x02;/ForEP2IN,GPIFusesFFflag SYNCDELAY; /globalflowstateregisterinitializations FLOWLOGIC=FlowStates19;/00110110b-LFUNC1:0=00(AANDB),/TERMA/B2:0=110(FIFOFlag) SYNCDELAY; FL
16、OWSTB=FlowStates23;/00000100b-MSTB2:0=100(CTL4),not/usedasstrobe SYNCDELAY; GPIFHOLDAMOUNT=FlowStates26;/holddataforonehalfclock(10ns)assuming/48MHzIFCLK SYNCDELAY; FLOWSTBEDGE=FlowStates24;/movedataonbothedgesofclock SYNCDELAY; FLOWSTBHPERIOD=FlowStates25;/20.83nshalfperiod SYNCDELAY; /resettheexte
17、rnalFIFO OEA|=0x07;/turnonPA0、PA1、PA2asoutputpin IOA|=0x07;/pullPA0、PA1、PA2highinitially IOA&=0xFB;/bringPA2low EZUSB_Delay(1);/keepPA2lowfor1ms,morethanenoughtime IOA|=0x04;/bringPA2highandexitreset IOA&=0xFC;/bringPA0、PA1lowandenableAD 在TD_Poll()中主要完成外部FIFO狀態(tài)的檢測(cè)和數(shù)據(jù)的傳輸,主要程序部分如下: voidTD_Poll(void) i
18、f(GPIFTRIG&0x80)/ifGPIFinterfaceIDLE if(EXTFIFONOTEMPTY)/ifexternalFIFOisnotempty if(!(EP24FIFOFLGS&0x01)/ifEP2FIFOisnotfull if(enum_high_speed) SYNCDELAY; GPIFTCB1=0x02;/setuptransactioncount(1024/bytes/2forwordwide-0x0100) SYNCDELAY; GPIFTCB0=0x00; SYNCDELAY; else SYNCDELAY; GPIFTCB1=0x00;/setuptr
19、ansactioncount(64bytes/2 /forwordwide-0x20) SYNCDELAY; GPIFTCB0=0x20; SYNCDELAY; Setup_FLOWSTATE_Read();/setupFLOWSTATEregistersfor /FIFOReadoperation SYNCDELAY; GPIFTRIG=GPIFTRIGRD|GPIF_EP2;/launchGPIFFIFOREAD /TransactiontoEP2FIFO SYNCDELAY; while(!(GPIFTRIG&0x80)/pollGPIFTRIG.7GPIFDonebit ; SYNCD
20、ELAY; 4結(jié)束語 筆者通過對(duì)該高速數(shù)據(jù)采集系統(tǒng)軟硬件的設(shè)計(jì),實(shí)現(xiàn)了雙通道AD采集,采集速度可以達(dá)到20MSPS,但在此基礎(chǔ)上還可以提高AD采集速度。8 1、最靈夢(mèng)想是一個(gè)天真的詞,實(shí)現(xiàn)夢(mèng)想是個(gè)殘酷的詞。21.2.242.24.202100:5200:52:242月-2100:522、只有收獲,才能檢驗(yàn)耕耘的好處;只有貢獻(xiàn),方可衡量人生的價(jià)值。二二一二二一年二月二十四日2021年2月24日星期三3、不要放棄,你要配的上自己的野心,也不要辜負(fù)了所受的苦難。00:522.24.202100:522.24.202100:5200:52:242.24.202100:522.24.20214、找一個(gè)理
21、由,否認(rèn)憂傷,笑容就會(huì)燦爛到無所不在。2.24.20212.24.202100:5200:5200:52:2400:52:245、成功與不成功之間有時(shí)距離很短只要后者再向前幾步。二月 21星期三, 二月 24, 20212/24/20216、只要努力抬起你的雙腳,勝利將屬于你。12時(shí)52分12時(shí)52分24-2月-212.24.20217、青春如此華美,卻在煙火在散場(chǎng)。21.2.2421.2.2421.2.24。2021年2月24日星期三二二一二二一年二月二十四日8、真正沒有資格談明天的人,是那個(gè)不懂得珍惜今日的人。00:5200:52:242.24.2021星期三, 二月 24, 20211、你始終不屬于我,屬于我的只是我自己。21.2.242.24.202100:5200:52:242月-2100:522、一份信心,一份努力,一份成功;十分信心,十分努力,十分成功。二二一二二一年二月二十四日2021年2月24日星期三3、你是唯一的,你是十分獨(dú)特的,你就是你生命中的第一名。00:522.24.202100:522.24.202100:5200:52:242.24.202100:522.24.20214、要跟成功者有同樣的結(jié)果,就必須采取同樣的行動(dòng)。2.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 提高公司財(cái)務(wù)團(tuán)隊(duì)服務(wù)水平的培訓(xùn)計(jì)劃
- 提升前臺(tái)溝通技巧的工作計(jì)劃
- 醫(yī)院財(cái)務(wù)管理優(yōu)化的策略與效果計(jì)劃
- 學(xué)習(xí)資源共享平臺(tái)建設(shè)計(jì)劃
- 《貴州創(chuàng)泰礦業(yè)有限公司修文縣龍場(chǎng)鎮(zhèn)高倉老二洞鋁鐵礦山礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》專家組評(píng)審意見
- 第二單元課題2氧氣-教學(xué)設(shè)計(jì)-2024-2025學(xué)年九年級(jí)化學(xué)人教版上冊(cè)
- 2025年鎮(zhèn)江道路運(yùn)輸從業(yè)資格證模擬考試年新版
- 2025年湖州資格證模擬考試
- 2025年湖北貨車資格證考試題
- 2025年遼陽貨運(yùn)從業(yè)資格證模擬考試下載題
- 2024年貴州省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 干細(xì)胞技術(shù)與臨床應(yīng)用0718合一康
- 鍋爐房風(fēng)險(xiǎn)管控措施告知牌
- 苔花如米小“艷過”牡丹開——名著導(dǎo)讀之《簡愛》
- 《西方服裝發(fā)展史》PPT課件(完整版)
- 《食管裂孔疝》PPT課件(完整版)
- 家庭醫(yī)生工作室和家庭醫(yī)生服務(wù)點(diǎn)建設(shè)指南
- 魯班尺和丁蘭尺速查表
- 企業(yè)年會(huì)搞笑相聲劇本《治病》
- 為夢(mèng)想插上翅膀主題班會(huì)PPT授課課件
- JJF-1069-2000-法定計(jì)量檢定機(jī)構(gòu)考核規(guī)范
評(píng)論
0/150
提交評(píng)論