《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于FPGA的數據采集系統的設計
基于FPGA的數據采集系統的設計
劉 軍,岳興蓮,何國國,羅 石,吳碩開
摘要: 介紹了一種用于汽車姿態測量的數據采集系統的設計,該系統基于FPGA+USB架構,采用FPGA控制整個系統的采集時序, USB芯片作為數據采集通道,上位機完成姿態解算和數據顯示功能。
Abstract:
Key words :

  摘 要: 介紹了一種用于汽車姿態測量的數據采集系統的設計,該系統基于FPGA+USB架構,采用FPGA控制整個系統的采集時序, USB芯片作為數據采集通道,上位機完成姿態解算和數據顯示功能。
    關鍵詞: FPGA;USB;數據采集

   現代化生產和科學研究對采集系統的要求日益提高。傳統的采集卡速度慢、處理功能簡單、采用分立元件、電路非常復雜;而且可靠性差、不易調試、不能很好地滿足特殊要求。現場可編程門陣列(FPGA)是專用集成電路中集成度最高的一種,用戶可對FPGA內部的邏輯模塊和I/O模塊重新配置,以實現用戶所需邏輯功能。用戶對FPGA的編程數據放入芯片,通過上電加載到FPGA中,對其進行初始化;也可在線對其編程,實現系統在線重構[1]。本系統設計采用USB2.0 CY7C68013通信接口芯片作為數據采集通道,由FPGA芯片EP1C6Q240C8N作為采集設備的控制單元,由PC機完成姿態的解算及結果的顯示。
1 系統的組成及原理
  該采集系統主要由前端調理模塊、A/D轉換控制模塊、SRAM存儲模塊及USB接口模塊組成,系統框圖如圖1所示。

 

 

2 FPGA主控器內部模塊
2.1 A/D轉換控制模塊

  A/D轉換模塊選用AD7685芯片。AD7685是Analog Device公司生產的一款16位、電荷再分配、高速、低功耗的逐次逼近型模數轉換器(ADC),具有250 kS/s采樣速率。芯片在Verilog編程語言的控制下,完成模擬信號到數字信號的轉換。
2.2 FIFO緩存
  調用FPGA片上資源實現片上FIFO緩存,由于A/D采樣頻率與SRAM的讀寫頻率不一致,所以采用讀寫時鐘不同的FIFO,達到數據緩存和轉換時鐘域的雙重目的。
2.3 SRAM乒乓緩存模塊
    選用2片IS61LV25616存儲芯片,該芯片存儲容量為256K×16,采用Verilog硬件描述語言控制實現乒乓緩存,控制過程如圖2所示。從片上FIFO輸出的數據經選擇開關后,分別進入緩沖模塊1和緩沖模塊2。當數據寫入緩沖模塊1時,USB模塊從緩沖模塊2讀取數據;當數據寫入緩沖模塊2時,USB模塊從緩沖模塊1讀取數據以傳到上位機進行處理。

 


2.4 USB控制模塊
    USB接口芯片采用EZ-USB FX2(CY7C68013),FX2作為USB2.0數據通道來實現與主機的高速通信。FPGA能夠滿足Slave FIFO要求的傳輸時序[2]作為Slave FIFO主控制器。圖3分別給出了FX2與FPGA的接口圖和狀態轉換圖。

 


    同步Slave FIFO寫時序如下:
    IDLE:當寫事件發生時,轉到狀態1。
    狀態1:指向IN FIFO,激活FIFOADR[1:0],轉向狀態2。
    狀態2:如果FIFO滿標志為“假”(FIFO不滿),則轉向狀態3;否則停留在狀態2。
    狀態3:傳送總線驅動數據,為1個IFCLK激活SLWR,轉向狀態4。
    狀態4:如果有更多的數據要寫,則轉向狀態2;否則轉向IDLE。
3 USB芯片固件程序及驅動程序
3.1 FX2的固件程序設計

    CY7C68013芯片固件程序負責處理PC機發來的各種USB請求,以完成主機與外圍電路間的數據傳輸。寫固件程序是比較復雜的,需要用到大量的函數,但其基本結構卻相對簡單,包括下面3個過程[3]:
    (1)初始化:處理器和外圍電路的初始化。
    (2)主函數:完成符合設備特定要求的代碼。
    (3)中斷處理:處理各種中斷的程序代碼。
    Cypress公司的EZ-USB FX2開發套件提供給用戶1個固件函數庫(Ezusb.lib)和固件框架(Framework),兩者均是基于KEIL C51進行開發的。固件函數庫提供了一系列的函數來加速USB固件程序的開發,使用時只需在程序中包含EZUSB.H和EZREGS.H兩個頭文件,并在項目中鏈接Ezusb.lib,就可以直接使用固件庫中的各個函數[4]。
    在程序起始時,固件框架將執行如下步驟:
    (1)首先設置所有的內部狀態變量,即設置起始的初值。
    (2)調用用戶的初始設置函數TD_Init(),待返回后,固件框架會設置USB為未配置的狀態,并且使能中斷。
    (3)緊接著在1 s的間隔內,開始重新列舉設備,并直到設置(SETUP)封包收到端點0為止。
    (4)一旦SETUP包被檢測到,固件程序結構框架就開始進行任務分配。任務分配就是依次重復地執行下面的過程:
   ①調用用戶函數TD_Poll()。
   ②檢測是否有標準的設備請求,如果有,則執行指令并做出相應的操作。
    ③檢測USB核是否有USB掛起信號,如果收到,則調用用戶程序TD_Suspend(),從該函數成功返回后(返回值為TRUE),再檢測是否發生USB喚醒事件。如果未檢測到,則處理器處于掛起方式;如果檢測到,則調用用戶程序TD_Resume(),程序繼續運行。如果從TD_Suspend()返回為FALSE時,則程序繼續進行。
    標準請求和vendor專用請求由框架分析和執行。默認情況下,對標準請求執行USB規定的響應,無論如何,框架提供交互的連接,以允許用戶程序處理或覆蓋指定的設備請求。EZ-USB中斷也交給框架進行處理,任務循環的流程圖如圖4所示。

 


    在FX2芯片的固件程序設計中,最關鍵的就是系統初始化TD_Init(void)[3-5],下面是其部分代碼。

void TD_Init(void)    
{
    CPUCS=((CPUCS & ~bmCLKSPD)|bmCLKSPD1);
                  //設置CPU時鐘頻率為48 MHz
    SYNCDELAY;  
                  //設置68013工作于Slave FIFO模式
    REVCTL=0x03;      
                  //必須設置REVCTL.0和REVCTL.1為1
    SYNCDELAY;
    IFCONFIG=0x43;     //工作于同步FIFO模式
    SYNCDELAY;         //配置各個端點的工作狀態
    EP2CFG=0xE8;       //端點2,IN,塊傳輸,1 024 B,4倍緩沖區
    SYNCDELAY; 
    EP2FIFOCFG=0x09;     //配置端點2工作于16位模式,自動接收IN令牌包
    SYNCDELAY; 
    PINFLAGSAB=0x00;   //定義FLAGA為可編程級標志,FLAGB:FIFO滿標志位
    SYNCDELAY;         //定義FLAGC為滿標志,
    PINFLAGSCD=0x00;
    SYNCDELAY;         //一般不需要FLAGD
    PORTACFG=0x00;    //用PA7/FLAGD作為端口引腳,不作為FIFO標志
    SYNCDELAY;
    FIFOPINPOLAR=0x00;      //設置所有FIFO接口引腳為低電平有效
    SYNCDELAY;
    EP2AUTOINLENH=0x02;    //端點2自動接收512B數據
    SYNCDELAY;
    EP2AUTOINLENH=0x00;
    SYNCDELAY;
                           //復位EP2的FIFO緩沖區
    FIFORESET=0x80;       //不接收主機發出的命令
    SYNCDELAY;
    FIFORESET=0x02;       //復位EP2的FIFO緩沖區
    SYNCDELAY;
    FIFORESET=0x00;              //恢復正常工作
    SYNCDELAY;
    Rwuen=TRUE;              //使能遠程喚醒功能 
}
3.2 USB設備驅動程序
    USB設備驅動程序的主要功能是使Win32應用程序能正確訪問本數據采集卡的硬件設備。本設計中將CY7C68013的固件代碼存放在上位機上,當系統上電或USB連接時,再將它下載至芯片的RAM中,由增強型8051執行。這一過程需要使用2個驅動程序:1個用于下載芯片的固件程序,另1個用于實現本數據采集卡的具體功能。也可以使用EZ-USB的通用驅動程序,很多USB芯片的廠商都為其USB芯片提供了通用驅動程序,可以滿足大部分系統的需求,用戶可在此基礎上直接進行固件程序的開發[6]。
4 主機應用程序
  應用程序主要負責讀取系統硬件所輸出的數據采集結果,并實時顯示波形,所使用的編程語言為微軟的Visual C++6.0語言編寫的Win32應用程序。
  主要控件包括:采集控制組按鈕,USB組按鈕。采集控制組按鈕負責控制硬件系統是否進行數據采集,并使用USB塊傳輸來讀取采集結果。USB組按鈕主要負責讀取該數據采集卡的USB設備描述符和配置描述符。
  在該數據采集系統的設計中,CY7C68013芯片靈活的接口和FPGA可編程特性簡化了外部硬件的設計,提高了系統的可靠性,且利于設備的生產與調度。事實證明,本文設計的系統完全滿足設計和使用要求。
參考文獻
[1] 嚴雪萍.基于FPGA的高速數據采集系統[J].微計算機信息,2008(1-2):209-211.
[2] 華清遠見嵌入式培訓中心.FPGA應用開發入門與典型實例[M].北京:人民郵電出版社,2008.
[3] 錢峰.EZ-USB FX2單片機原理、編程及應用[M].北京:北京航空航天大學出版社,2006.
[4] 李英偉.USB2.0原理與工程開發(第2版)[M].北京:國防工業出版社,2007.
[5] 張弘.USB接口技術[M].西安:西安電子科技大學出版社,2002.
[6] 薛園園.USB應用開發技術大全[M].北京:人民郵電出版社,2007.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩在线一区| 在线欧美福利| 欧美91大片| 久久久久国产一区二区三区四区| 亚洲午夜在线| 中文在线不卡视频| 一本久久a久久精品亚洲| 亚洲高清资源| 亚洲福利在线视频| 久久精品国产91精品亚洲| 午夜欧美大尺度福利影院在线看| 亚洲一区二区免费看| 一本一本大道香蕉久在线精品| 亚洲六月丁香色婷婷综合久久| 亚洲激情视频在线观看| 亚洲激情电影中文字幕| 亚洲欧洲一区| 日韩天天综合| 亚洲视频网在线直播| 亚洲图中文字幕| 亚洲午夜成aⅴ人片| 在线综合亚洲欧美在线视频| 亚洲视频成人| 亚洲一区在线免费| 亚洲男人的天堂在线aⅴ视频| 亚洲欧美日韩综合一区| 欧美在线91| 亚洲国产成人在线播放| 亚洲人午夜精品免费| 日韩一区二区精品| 亚洲午夜在线| 欧美一区二区网站| 久久人人爽人人爽爽久久| 男人天堂欧美日韩| 欧美区高清在线| 国产精品久久国产精品99gif | 欧美视频一区| 国产精品综合视频| 一区二区在线视频播放| 亚洲人成在线影院| 一区二区三区国产在线观看| 亚洲欧美日韩国产中文在线| 亚洲第一网站| 夜夜嗨av一区二区三区网页| 亚洲欧美日韩综合aⅴ视频| 久久国内精品自在自线400部| 麻豆91精品| 欧美亚州一区二区三区 | 欧美一级专区免费大片| 亚洲国产成人在线| 中文久久乱码一区二区| 欧美在线一级视频| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美在线你懂的| 亚洲伦理自拍| 欧美亚洲一区在线| 欧美99久久| 国产精品美女在线观看| 激情六月婷婷综合| 9色porny自拍视频一区二区| 性做久久久久久久免费看| 亚洲三级色网| 午夜精品免费在线| 欧美国产精品v| 国产乱肥老妇国产一区二 | 欧美亚洲一区二区三区| 久久在线免费视频| 欧美三级电影一区| 一区免费在线| 亚洲免费在线精品一区| 亚洲免费观看视频| 久久蜜桃精品| 欧美无砖砖区免费| 亚洲电影免费观看高清完整版在线观看| 一区二区三区高清在线| 亚洲国产欧美国产综合一区| 亚洲在线观看视频| 欧美国产一区二区在线观看| 国产一区导航| 99在线精品视频| 亚洲欧洲精品一区二区| 久久aⅴ乱码一区二区三区| 欧美人体xx| 尤物yw午夜国产精品视频| 亚洲伊人网站| 一区二区三区四区国产| 男女av一区三区二区色多| 国产精品视频观看| 99视频有精品| 亚洲另类自拍| 久久伊人精品天天| 国产区亚洲区欧美区| 夜夜躁日日躁狠狠久久88av| 亚洲国产精品t66y| 久久激情一区| 国产精自产拍久久久久久蜜 | 国产日韩欧美在线看| 欧美日韩午夜剧场| 1024亚洲| 亚洲电影免费观看高清完整版 | 久久精品日产第一区二区三区| 欧美色图天堂网| 亚洲国产精品一区二区www在线| 久久精品电影| 久久久视频精品| 国产午夜精品一区二区三区欧美 | 国产精品蜜臀在线观看| 日韩图片一区| av成人免费| 欧美freesex8一10精品| 精品1区2区3区4区| 欧美中文在线字幕| 久久精品伊人| 国产午夜精品久久| 欧美一区二视频| 欧美专区中文字幕| 国产欧美一区二区精品仙草咪 | 国产日韩精品在线观看| 亚洲永久精品大片| 午夜一区二区三区在线观看| 国产精品美女久久久久av超清| 一区二区三区.www| 亚洲欧美日韩国产成人| 国产精品久久7| 亚洲永久免费| 久久福利精品| 国产在线国偷精品产拍免费yy| 午夜影院日韩| 久久久久久久999| 国产精品一区二区三区观看| 午夜一区在线| 久久一区二区三区国产精品| 18成人免费观看视频| 91久久在线| 欧美久久一区| 亚洲视频在线观看免费| 午夜宅男久久久| 国产欧美精品| 另类欧美日韩国产在线| 亚洲电影免费观看高清完整版在线观看| 久久精品亚洲一区| 精久久久久久久久久久| 亚洲精品国产拍免费91在线| 欧美日韩精品综合| 亚洲欧美成aⅴ人在线观看| 欧美中文字幕| 在线高清一区| 亚洲视频在线播放| 国产精品综合视频| 亚洲第一成人在线| 欧美国产日韩二区| 在线亚洲免费| 久久久久久亚洲精品不卡4k岛国| 精品成人在线观看| 99精品热视频| 国产精品天天摸av网| 久久精品女人的天堂av| 欧美片第一页| 香蕉久久a毛片| 免费日韩精品中文字幕视频在线| 亚洲精品免费电影| 午夜在线一区二区| 亚洲国产精品v| 亚洲欧美在线一区二区| 国内揄拍国内精品少妇国语| 99国产精品久久久| 国产欧美日韩一级| 99re6这里只有精品视频在线观看| 国产精品美女久久福利网站| 亚洲国产另类 国产精品国产免费| 欧美色另类天堂2015| 欧美一区2区三区4区公司二百| 欧美ed2k| 亚洲欧洲99久久| 欧美精品91| 性8sex亚洲区入口| 欧美巨乳在线| 香港成人在线视频| 欧美日韩视频一区二区| 欧美一级精品大片| 欧美日韩另类在线| 久久黄色小说| 国产精品久久| 亚洲伦理网站| 国户精品久久久久久久久久久不卡 | 国产综合自拍| 亚洲综合三区| 亚洲国产欧美一区二区三区久久| 欧美一区二区三区在线观看| 亚洲欧洲精品一区| 久久久国产91| 亚洲午夜电影在线观看| 欧美黄色免费网站| 久久国产精品99久久久久久老狼| 欧美日韩一区在线| 亚洲欧洲美洲综合色网| 国产亚洲成av人在线观看导航| 亚洲永久视频| 亚洲国产精品精华液2区45| 久久国产欧美日韩精品|