摘要 設計一種以FPGA和EZ-USB FX2為核心的高速數(shù)據采集和傳輸系統(tǒng)。該系統(tǒng)以FPGA為數(shù)據采集和數(shù)據傳輸?shù)臉蛄海葾/D轉換器采集的數(shù)據在經過FPGA后,傳輸給EZ-USB FX2的內部端點,最后由EZ-USB FX2傳輸給上位機。論文給出了系統(tǒng)的硬件結構和相關的軟件程序設計。FX2的應用簡化了電路的設計,提高了系統(tǒng)的可靠性,并實現(xiàn)了數(shù)據的高速采集與傳輸。該系統(tǒng)非常適合應用于便攜式的測量儀器。
關鍵詞 EZ-USB FX2 FPGA VC++ 固件設計TLC5510 數(shù)據采集
引 言
隨著社會的發(fā)展和技術的進步,各種計算機的外圍接口不斷的推陳出新。USB接口已漸漸成為現(xiàn)今個人計算機上最重要的接口之一,并以其傳輸速度快、使用方便和價格低廉等特點成為現(xiàn)今一般消費性電子產品和工業(yè)控制設備上不可缺少的接口。Cypress公司的EZ-USBFX2是一個USB2.0集成外圍控制器,它具有通用串行總線(USB)的3種傳輸模式:1.5 Mb/s的低速模式,12 Mb/s的全速模式,480 Mb/s的高速模式。因此,本設計選用USB2.0芯片CY7C68012、Altera公司的FPGA和TLC5510組成一個通用的數(shù)據采集和傳輸系統(tǒng)。該系統(tǒng)結構簡單,采集和數(shù)據傳輸可靠,能夠滿足現(xiàn)今高速設備的要求。
1 系統(tǒng)硬件設計
本系統(tǒng)主要分為兩個部分,一部分是由2片TLC5510和FPGA構成的數(shù)據采集模塊,另一部分是由FPGA和EZ—USB FX2構成的數(shù)據傳輸模塊。系統(tǒng)的框圖如圖1所示。
(1)數(shù)據采集模塊
經過調理后的信號進入模數(shù)轉換電路,選用的高速AD芯片是TI公司的TLC5510。TLC5510是CMOS、8位、20 Msps的模數(shù)轉換電路。它采用半閃速結構,單電源5 V工作時,功耗只有100 mW,內含采樣和保持電路,具有高阻抗方式的并行接口和內部基準電阻。與閃速轉換器相比,半閃速結構減少了功率損耗和晶片尺寸。通過在兩步過程中實現(xiàn)轉換,可以大量地減少比較器的數(shù)目,轉換數(shù)據的等待時間為2.5個時鐘周期,且高速轉換的同時能夠保持較低的功耗。TLC5510與FPGA的接口電路如圖2所示。
FPGA提供TLC5510 20 MHz的工作時鐘和使能輸出信號OE,低電平有效,同時接受TLC5510的采樣數(shù)據。由于系統(tǒng)需要同步的兩路采樣,所以由FPGA輸出的時鐘和使能輸出信號OE同時控制2個TLC5510。這樣FPGA就可以同時收到兩路同時采樣的信號數(shù)據,將其存入兩個獨立的異步FIFO中。
值的注意的是,實驗中將FPGA產生的工作時鐘和使能輸出信號先輸入74HCT573,然后由74HCT573的輸出去控制兩路的TLC5510。這主要是完成將FPGA的CMOS電平轉換成TTL電平的工作。在實驗的初期,未經過電平轉換的信號在控制TLC5510時,得不到穩(wěn)定數(shù)據。后來經過改善后,TLC5510能夠穩(wěn)定、準確地完成采樣和數(shù)據輸出。
(2)數(shù)據傳輸模塊
在數(shù)據傳輸模塊中,為了保證較高的傳輸速度,使用不經過CPU的SLAVEFIFO控制工作模式。模塊的基本工作過程為:當A/D采樣數(shù)據存儲滿FPGA中的FIFO后,F(xiàn)PGA根據SLAVEFIFO的控制時序產生相應的控制信號,將在FIFO中的數(shù)據傳輸給EZ-IJSB FX2的內部端點FIFO,而當內部端點存儲滿后,F(xiàn)X2自動將數(shù)據傳輸?shù)缴衔粰C。外部控制器FPGA對FX2的控制進程如下:
①IDLE,當寫事件發(fā)生時,轉向狀態(tài)1。
②狀態(tài)1,指向EZ-LJSB FX2的內部端點IN FIFO,激活FIFOADR[1:0],轉向狀態(tài)2。
③狀態(tài)2,如果內部端點FIF0滿標志為“假”(FIFO不滿),則轉向狀態(tài)3;否則停留在狀態(tài)2。
④狀態(tài)3,傳送總線驅動數(shù)據。產生一個SLWR跳變,轉向狀態(tài)4。
⑤狀態(tài)4,如果有更多的數(shù)據要寫,則轉向狀態(tài)2;否則,轉向IDLE。
EZ-JSB FX2內部端點FIFO異步寫的時序如圖3所示。
2 FPGA的模塊設計
在系統(tǒng)中,F(xiàn)PGA構成了數(shù)據采集系統(tǒng)和數(shù)據傳輸系統(tǒng)的“橋梁”,完成對TLC25510的控制和數(shù)據的存儲,同時也完成對EZ-USB FX2單片機的控制。利用FPGA強大的功能,使電路的結構得到了簡化,不需要利用分立器件來完成對數(shù)據的存儲。因此,在FPGA中需要構成4個模塊:2片F(xiàn)IFO數(shù)據存儲模塊、數(shù)據通道選擇模塊、控制模塊和輸出20 MHz時鐘的PLL模塊。
(1)2片F(xiàn)IFO數(shù)據存儲模塊
FIFO數(shù)據存儲模塊主要完成對A/D轉換數(shù)據的存儲。由于需要兩路同時采集數(shù)據,所以要有2個FIFO模塊,這樣易于對數(shù)據的存儲和傳輸控制。每個FIFO存儲模塊的存儲容量定為2 048 B,可通過MegaWizard工具來調用。
(2)數(shù)據通道選擇模塊
數(shù)據通道選擇模塊主要是針對兩路的數(shù)據讀取和傳輸而設計的。當A/D轉換器采集到對應的數(shù)據后,存入兩個異步FIFO存儲模塊中。在兩個異步FIFO存儲模塊存儲滿后,對FIFO存儲模塊數(shù)據的讀取是關鍵。數(shù)據通道選擇模塊的基本原理是在控制模塊對讀取數(shù)據進行計數(shù),當把其中的一個FIFO存儲模塊讀取完后,由控制模塊發(fā)出通道切換信號,由數(shù)據通道選擇模塊切換數(shù)據通道,再讀取另一個FIFO存儲模塊的數(shù)據。
(3)控制模塊
控制模塊要完成對TLC5510、FIFO存儲模塊、數(shù)據選擇模塊和EZ—USB FX2的控制,這是整個系統(tǒng)的關鍵。根據系統(tǒng)實現(xiàn)的功能和各個模塊的控制時序,控制模塊將產生相應的控制信號,實現(xiàn)系統(tǒng)的采集和存儲的功能。
(4)20 MHz時鐘的PLL模塊
系統(tǒng)提供的FPGA外部時鐘頻率為50 MHz,而TLC5510的最大采樣工作頻率為20 MHz。所以通過對前置分頻參數(shù)N=5、倍頻器參數(shù)M=2的設置,將50 MHz鐘頻率分頻成20 MHz的時鐘作為采樣時鐘和系統(tǒng)的工作時鐘。
3 EZ—USB FX2的固件設計
固件程序是指運行在設備CPU中的程序。只有在該程序運行時,外設才能稱為具有給定功能的外圍設備。C2ypress公司為FX2固件開發(fā)提供了一個固件庫和固件框架,都是在Keil C51集成開發(fā)環(huán)境下開發(fā)的。固件庫提供了一些常量、數(shù)據結構、宏、函數(shù)來簡化用戶對芯片的使用。固件框架實現(xiàn)了初始化芯片、處理USB標準設備請求以及掛起狀態(tài)下的電源管理等功能。該框架不添加任何代碼,編譯后生成的.HEX文件載人芯片就能和主機進行基本的USB通信。用戶主要的工作就是選擇適合的傳輸方式,添加需要使用的端點,在框架預留的地方(如TD_Init()、TD_Poll()等函數(shù)中)添加初始化代碼和完成特定功能的代碼。這樣大大簡化了用戶對程序的編寫,在不十分了解USB2.O協(xié)議的情況下,也能通過代碼的編寫,實現(xiàn)USB的傳輸功能。
4 EZ—USB FX2的驅動程序
該系統(tǒng)需要通用驅動程序和下載固件的驅動程序。通用驅動程序完成與外設和用戶程序的通信及控制;而下載固件的驅動程序則只負責在外設連接USB總線后把特定的固件程序下載到FX2的RAM中,使FX2的CPU重啟,模擬斷開與USB總線連接,完成對外設的重新設置。FX2根據新的設置安裝通用驅動程序,重新枚舉外設為一個新的USB外設。通用驅動程序一般不需要重新編寫,用Cypress公司已經編好的驅動ezusb.sys;而下載固件程序的驅動則必須定做。
5 上位機用戶程序
上位機用戶程序主要通過VC++完成。實現(xiàn)從USB設備從下位機讀取指定數(shù)量的數(shù)據和向下位機發(fā)送特定的控制數(shù)據。用戶程序對EZ—USB FX2的控制,主要是通過I/0控制調用來訪問ezusb.sys通用驅動程序,而對I/O控制的調用是通過win32的API函數(shù)來完成的。因此,用戶程序通過對API函數(shù)的調用來實現(xiàn)與驅動程序進而與硬件的通信。API函數(shù)的執(zhí)行與驅動函數(shù)中的一些分發(fā)例程相對應。與EZ-USB FX2通信常用的API函數(shù)如表1所列。
應用程序先通過CreatFile()得到設備驅動程序的句柄,然后使用DeviceloControl()來提交I/O控制碼,并且設置好讀取和發(fā)送數(shù)據的緩沖區(qū),最后通過CloseFile()來關閉設備。圖4是上位機應用程序界面。
結 語
EZ—USB FX2使上位機與下位機之間的數(shù)據傳輸更加快捷和可靠。基于FPGA和EZ-USB FX2的數(shù)據采集和傳輸系統(tǒng)滿足現(xiàn)代高速設備對傳輸速度的要求,解決了傳輸速度慢的瓶頸。通過FPGA的模塊設計、EZ-USB FX2的固件設計和上層應用程序設計,實現(xiàn)了整個系統(tǒng)的數(shù)據采集和傳輸。
大家好,我是鲏。認識我的朋友都知道,我是一個實踐派,相比研究枯燥的理論知識,我更喜歡做自己想做的項目,用技術來實現(xiàn)自己的想法的感覺真的很棒。所以從大學期間一直到現(xiàn)在,除了工作中的項目外,我依然保持著自己做項目的習慣,有堅...
關鍵字: 系統(tǒng)設計 技術選型 需求分析摘要:為了實現(xiàn)對不同品牌機器人的實時監(jiān)控以及集中管理,實現(xiàn)機器人的互通互聯(lián),設計了一套基于NC-Link的機器人遠程監(jiān)控系統(tǒng)。NC-Link適配器通過機器人的二次開發(fā)接口對機器人進行數(shù)據采集,然后將采集到的數(shù)據通過htt...
關鍵字: 工業(yè)機器人 數(shù)據采集 遠程監(jiān)控(全球TMT2022年8月30日訊)近日,在2022英特爾中國數(shù)據中心合作伙伴技術峰會上,英特爾與浪潮信息等產業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據中心創(chuàng)新實踐 -- 冷板液冷系統(tǒng)設計參考》白皮書,分享冷板液冷技術關鍵部件的最...
關鍵字: 系統(tǒng)設計 英特爾 數(shù)據中心 生態(tài)系統(tǒng)北京2022年8月30日 /美通社/ -- 近日,在2022英特爾中國數(shù)據中心合作伙伴技術峰會上,英特爾與浪潮信息等產業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據中心創(chuàng)新實踐 -- 冷板液冷系統(tǒng)設計參考》白皮書,分享冷板液冷技術關鍵部...
關鍵字: 系統(tǒng)設計 英特爾 數(shù)據中心 電量摘要:近年來,受人類活動的影響,各大水域的水質污染問題越來越嚴重,大部分水資源受到嚴重污染,水質處理問題亟需解決。分析水體污染情況對改進水質有著重要意義,目前水質監(jiān)測主要采用人工或無人船的方式。人工監(jiān)測方式工作量大,影響...
關鍵字: 水質監(jiān)測 無人機 系統(tǒng)設計摘要:根據饒平縣高堂水閘重建工程建設實際需求,對高堂水閘運行管理進行實時在線式監(jiān)控與監(jiān)測,通過閘門控制、視頻監(jiān)控、水情測報、安全監(jiān)測和網絡通信等系統(tǒng)的設計,為高堂水閘的水工建筑物安全、防洪調度和自動化管理提供技術支持,以...
關鍵字: 管理信息系統(tǒng) 水利工程 系統(tǒng)設計