国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA和USB2.0的數(shù)據(jù)采集系統(tǒng)

2014-04-29 00:44馬玲
電子世界 2014年17期
關(guān)鍵詞:存儲(chǔ)模塊外設(shè)固件

【摘要】本課題設(shè)計(jì)了一套基于FPGA和USB2.0的便攜高速數(shù)據(jù)采集系統(tǒng),以FPGA最小片上系統(tǒng)為控制核心,對(duì)A/D轉(zhuǎn)換芯片TLC5510和USB2.0接口芯片CY7C68013的控制,來(lái)實(shí)現(xiàn)對(duì)信號(hào)的高速采集和傳輸。

【關(guān)鍵詞】數(shù)據(jù)采集;FPGA;USB2.0;A/D轉(zhuǎn)換

一、引言

近年來(lái),對(duì)于數(shù)據(jù)采集系統(tǒng)的要求與日俱增,現(xiàn)代數(shù)據(jù)采集系統(tǒng)已經(jīng)從傳統(tǒng)的試驗(yàn)測(cè)量中的數(shù)據(jù)采集與處理跨入到工業(yè)與過(guò)程控制。它已成為現(xiàn)代工業(yè)自動(dòng)化的不可缺少的一個(gè)組成部分。

本課題是對(duì)EDA技術(shù)的應(yīng)用,即利用EDA工具實(shí)現(xiàn)基于FPGA的數(shù)據(jù)采集。本文按照EDA開(kāi)發(fā)流程,采用Verilog語(yǔ)言對(duì)FPGA進(jìn)行編程來(lái)實(shí)現(xiàn)數(shù)據(jù)采集和傳輸?shù)墓δ?。用Verilog語(yǔ)言編寫(xiě)代碼,進(jìn)行時(shí)序仿真,各模塊都在邏輯綜合工具QuartusⅡ下進(jìn)行綜合,并編程下載到FPGA芯片Cyclone IV系列EP4CE30F23C6芯片,經(jīng)A/D轉(zhuǎn)換器將模擬數(shù)據(jù)轉(zhuǎn)換成數(shù)字?jǐn)?shù)據(jù),再通過(guò)USB2.0接口電路送入PC機(jī)輸出。

二、系統(tǒng)總體設(shè)計(jì)

該系統(tǒng)主要由FPGA控制模塊、A/D轉(zhuǎn)換、USB接口部分組成,如圖1所示。

A/D轉(zhuǎn)換器將所要采集的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),由FPGA接收、緩沖、存儲(chǔ),經(jīng)USB2.0端口傳回至主機(jī)工作站。高速A/D轉(zhuǎn)換器采用轉(zhuǎn)換速率為20MHz的TLC5510。

FPGA利用內(nèi)部的SRAM提供數(shù)據(jù)輸入/輸出的雙緩沖功能。采用雙緩沖的原因同USB中的大端點(diǎn)所配置的雙緩沖類(lèi)似,均是防止數(shù)據(jù)的溢出和保證數(shù)據(jù)傳輸?shù)倪B續(xù)性。本文選用Altera公司的Cyclone系列芯片EP4CE30F23C6。

CY7C68013是Cypress公司推出的EZ-USB FX2系列智能USB接口芯片。其作用是把A/D轉(zhuǎn)換器采集的數(shù)據(jù)以高速的數(shù)據(jù)序列形式發(fā)送到主機(jī)。其中,USB2.0端口提供一個(gè)能和計(jì)算機(jī)連接的數(shù)據(jù)傳輸接口。

系統(tǒng)工作過(guò)程為:A/D轉(zhuǎn)換器在FPGA的ADC接口控制電路控制下,把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),并將指定通道的采樣數(shù)據(jù)存入FPGA內(nèi)部FIFO緩存。同時(shí),F(xiàn)PGA的USB接口控制邏輯查詢(xún)CY7C68013是否空閑,如果空閑,那么由FPGA的USB接口控制邏輯將指定通道的采樣結(jié)果,從FPGA內(nèi)部FIFO緩存送入CY7C68013的內(nèi)部FIFO。當(dāng)內(nèi)部的FIFO容量達(dá)到一定程度后,CY7C68013自動(dòng)將數(shù)據(jù)打包傳送到PC機(jī)。由于固件程序把CY7C68013設(shè)置為特定的自動(dòng)模式,因此CY7C68013把數(shù)據(jù)送往PC機(jī)期間的所有操作無(wú)需CY7C68013中CPU的干預(yù),從而保證足夠的數(shù)據(jù)傳輸速率。采樣過(guò)程中FPGA的USB接口控制邏輯依次取走批量數(shù)據(jù),在USB接口打包傳送時(shí)A/D轉(zhuǎn)換持續(xù)進(jìn)行,F(xiàn)PGA內(nèi)部FIFO也被持續(xù)寫(xiě)入轉(zhuǎn)換結(jié)果。

圖1 系統(tǒng)總體框圖

三、硬件設(shè)計(jì)

本系統(tǒng)的硬件主要分為兩個(gè)部分:A/D轉(zhuǎn)換芯片TLC5510和FPGA構(gòu)成的數(shù)據(jù)采集模塊,另一部分由FPGA和USB控制芯片CY7C68013構(gòu)成的數(shù)據(jù)傳輸模塊。

(1)數(shù)據(jù)采集模塊

經(jīng)過(guò)處理后的信號(hào)進(jìn)入模數(shù)轉(zhuǎn)換電路,選用的高速A/D芯片是TI公司的TLC5510。它是一種采用CMOS工藝制造的8位高阻抗并行A/D芯片,能提供的最小采樣率為20MSPS。由于TLC5510采用了半閃速結(jié)構(gòu)及CMOS工藝,因而大大減少了器件中比較器的數(shù)量,而且在高速轉(zhuǎn)換的同時(shí)能夠保持較低的功耗。TLC5510與FPGA的接口電路如圖2所示。

FPGA提供TLC5510 20MHz的工作時(shí)鐘和使能輸出信號(hào)OE,低電平有效。模擬信號(hào)經(jīng)過(guò)TLC5510轉(zhuǎn)換成數(shù)字信號(hào)后,將采樣數(shù)據(jù)傳給FPGA的FIFO保存。

圖2 FPGA與TLC5510的接口電路圖

(2)數(shù)據(jù)傳輸模塊

在數(shù)據(jù)傳輸模塊中,采用的是Cypress公司的EZ-USB FX2芯片CY7C68013。這是一款性能較高的USB2.0微控制器。在單芯片上集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強(qiáng)的8051微控制器和可編程的外圍接口。

為了保證較高的傳輸速度,使用不經(jīng)過(guò)CPU的SLAVE FIFO(從FIFO)控制工作模式。在該方式下FX2的CPU不直接參與USB數(shù)據(jù)處理,而是簡(jiǎn)單地把FX2作為USB和外部數(shù)據(jù)處理邏輯之間的通道,數(shù)據(jù)流并不經(jīng)過(guò)CPU,而是通過(guò)FX2的FIFO直接傳輸。FIFO由外部控制器控制,外部控制器可像普通FIFO一樣對(duì)FX2的多層緩沖FIFO進(jìn)行讀寫(xiě);與此同時(shí),F(xiàn)IFO提供外部控制器所需的時(shí)序信號(hào)、握手和輸出使能等信號(hào)。

在本設(shè)計(jì)中,采用Slave FIFO從機(jī)方式實(shí)現(xiàn)FPGA對(duì)FX2的控制。CY7C68013與FPGA的連接示意圖如圖3所示。修改FX2芯片提供的基本固件程序,設(shè)置端點(diǎn)EP2為輸出端點(diǎn),大小為1KB,F(xiàn)lagA為EP2緩存的空標(biāo)志,低電平有效;端點(diǎn)EP6為輸入端點(diǎn),大小為1KB,F(xiàn)lagC為EP6緩存的滿標(biāo)志,低電平有效。

模塊的基本工作過(guò)程為:當(dāng)A/D采樣數(shù)據(jù)存儲(chǔ)滿FPGA中的FIFO后,F(xiàn)PGA根據(jù)SLAVE FIFO的控制時(shí)序產(chǎn)生相應(yīng)的控制信號(hào),將在FIFO中的數(shù)據(jù)傳輸給FX2的內(nèi)部端點(diǎn)FIFO,而當(dāng)內(nèi)部端點(diǎn)存儲(chǔ)滿后,F(xiàn)X2自動(dòng)將數(shù)據(jù)傳輸?shù)絇C。外部控制器FPGA對(duì)FX2的控制進(jìn)程如下:

①分配FIFOAddr[1:0]=10,F(xiàn)IFO指針指向輸入端點(diǎn),檢查FIFO的滿標(biāo)志是否為1,假如Full=1,表示FIFO不滿,轉(zhuǎn)到②,否則保持在①;

圖3 CY7C68013與FPGA連接示意圖

②把外部數(shù)據(jù)indata放在FD上,同時(shí)將SLWR拉高,以使FIFO指針自動(dòng)加1,然后轉(zhuǎn)到③;

③假如有更多的數(shù)據(jù)要傳輸,轉(zhuǎn)到②,否則轉(zhuǎn)到①。

四、軟件設(shè)計(jì)

數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)包括三個(gè)部分:FX2的固件程序,USB的驅(qū)動(dòng)程序,F(xiàn)PGA控制模塊。

(1)EZ-USB FX2的固件設(shè)計(jì)

固件程序是指運(yùn)行在設(shè)備CPU中的程序。只有在該程序運(yùn)行時(shí),外設(shè)才能稱(chēng)為具有給定功能的外圍設(shè)備。Cypress公司為FX2固件開(kāi)發(fā)提供了一個(gè)固件庫(kù)和固件框架,都是在Keil C51集成開(kāi)發(fā)環(huán)境下開(kāi)發(fā)的。固件庫(kù)提供了一些常量、數(shù)據(jù)結(jié)構(gòu)、宏、函數(shù)來(lái)簡(jiǎn)化用戶(hù)對(duì)芯片的使用。固件框架實(shí)現(xiàn)了初始化芯片、處理USB標(biāo)準(zhǔn)設(shè)備請(qǐng)求以及掛起狀態(tài)下的電源管理等功能。該框架不添加任何代碼,編譯后生成的.HEX文件載入芯片就能和主機(jī)進(jìn)行基本的USB通信。用戶(hù)主要的工作就是選擇適合的傳輸方式,添加需要使用的端點(diǎn),在框架預(yù)留的地方添加初始化代碼和完成特定功能的代碼。這樣大大簡(jiǎn)化了用戶(hù)對(duì)程序的編寫(xiě),在不十分了解USB2.0協(xié)議的情況下,也能通過(guò)代碼的編寫(xiě),實(shí)現(xiàn)USB的傳輸功能。

(2)USB的驅(qū)動(dòng)程序

該系統(tǒng)需要通用驅(qū)動(dòng)程序和下載固件的驅(qū)動(dòng)程序。通用驅(qū)動(dòng)程序完成與外設(shè)和用戶(hù)程序的通信及控制;而下載固件的驅(qū)動(dòng)程序則只負(fù)責(zé)在外設(shè)連接USB總線后把特定的固件程序下載到FX2的RAM中,使FX2的CPU重啟,模擬斷開(kāi)與USB總線連接,完成對(duì)外設(shè)的重新設(shè)置。FX2根據(jù)新的設(shè)置安裝通用驅(qū)動(dòng)程序,重新枚舉外設(shè)為一個(gè)新的USB外設(shè)。

在Windows操作平臺(tái)下,當(dāng)有新的設(shè)備接入時(shí),操作系統(tǒng)就會(huì)依據(jù)設(shè)備回送的有關(guān)信息自動(dòng)的調(diào)用相應(yīng)的設(shè)備驅(qū)動(dòng)程序。

(3)FPGA控制模塊。

在本系統(tǒng)中,F(xiàn)PGA構(gòu)成了數(shù)據(jù)采集系統(tǒng)和數(shù)據(jù)傳輸系統(tǒng)的橋梁,完成對(duì)TLC5510的控制和數(shù)據(jù)的存儲(chǔ),同時(shí)也完成對(duì)EZ-USB FX2單片機(jī)的控制。因此在FPGA中需要構(gòu)成3個(gè)模塊:FIFO數(shù)據(jù)存儲(chǔ)模塊、控制模塊、時(shí)鐘分頻模塊。

FIFO數(shù)據(jù)存儲(chǔ)模塊主要完成對(duì)A/D轉(zhuǎn)換數(shù)據(jù)的存儲(chǔ)。每個(gè)FIFO存儲(chǔ)模塊的存儲(chǔ)容量定位2048B,可通過(guò)Mega Wizard工具來(lái)調(diào)用。

控制模塊要完成對(duì)TLC5510、FIFO存儲(chǔ)模塊和EZ-USB FX2的控制,這是整個(gè)系統(tǒng)的關(guān)鍵。根據(jù)系統(tǒng)實(shí)現(xiàn)的功能和各個(gè)模塊的控制時(shí)序,控制模塊將產(chǎn)生相應(yīng)的控制信號(hào),實(shí)現(xiàn)系統(tǒng)的采集和存儲(chǔ)的功能。

系統(tǒng)提供的FPGA外部時(shí)鐘頻率為50MHz,通過(guò)分頻模塊產(chǎn)生TLC5510的最大采樣工作頻率20MHz。

五、結(jié)論

基于FPGA和USB2.0的數(shù)據(jù)采集系統(tǒng)滿足現(xiàn)代高速設(shè)備對(duì)傳輸速度的要求,解決了傳輸速度慢的瓶頸。通過(guò)FPGA的模塊設(shè)計(jì)、EZ-USB FX2的固件設(shè)計(jì)和上層應(yīng)用程序設(shè)計(jì),實(shí)現(xiàn)了整個(gè)系統(tǒng)的數(shù)據(jù)采集與傳輸。

參考文獻(xiàn)

[1]劉克剛,陳曦,王衛(wèi)兵,等.復(fù)雜電子系統(tǒng)設(shè)計(jì)與實(shí)踐[M].北京:電子工業(yè)出版社,2010.

[2]潘松.EDA技術(shù)實(shí)用教程[M].北京:科學(xué)出版社,2006.3.

[3]齊洪喜.基于FPD&ASIC的專(zhuān)用USB接口設(shè)計(jì)與實(shí)現(xiàn)[D].山東大學(xué),2006.

作者簡(jiǎn)介:馬玲(1981—),女,湖北武漢人,華中科技大學(xué)武昌分校講師,主要從事通信專(zhuān)業(yè)的教學(xué)與研究工作。

猜你喜歡
存儲(chǔ)模塊外設(shè)固件
Burden of Cirrhosis and Other Chronic Liver Diseases Caused by Specific Etiologies in China, 1990?2016:Findings from the Global Burden of Disease Study 2016
MiR-125a-5p is Upregulated in Plasma of Residents from An Electronic Waste Recycling Site
數(shù)據(jù)采集系統(tǒng)在環(huán)保工程中的應(yīng)用研究
基于固件的遠(yuǎn)程身份認(rèn)證
提取ROM固件中的APP
一種通過(guò)USB接口的可靠固件升級(jí)技術(shù)
Microchip推出具備雙ADC外設(shè)的全新器件,擴(kuò)展其低成本8位PIC?單片機(jī)產(chǎn)品線
多路手機(jī)固件升級(jí)工具設(shè)計(jì)
彈載數(shù)據(jù)存儲(chǔ)模塊抗高過(guò)載防護(hù)技術(shù)研究
外設(shè)天地行情