陶彥輝,劉克毅
(新疆工程學院 機械工程系,新疆 烏魯木齊 830000)
FIFO寫數據方式是重要的GPIF可編程接口數據模式傳輸方法。GPIF為內部通用可編程接口,其對外部FIFO或內部同步FIFO控制方法采用主機控制,即采用內部集成的控制邏輯實現對USB端點FIFO的控制。GPIF模式使用外部同步FIFO芯片時,數據傳輸速率達480Mb/s;GPIF模式使用USB自帶的FIFO時,其傳輸速率也可達96Mb/s,所以GPIF模式極適用于高速數據傳輸。GPIF可編程接口模式內部端點的數據傳輸方式有:單字節讀、寫數據傳輸和FIFO讀、寫數據數據傳輸[1]。
FIFO寫數據方式是通過USB芯片主機直接傳輸數據到芯片端點的數據緩沖區EPxFIFOBUF邏輯單元之中,繼而再通過程序寫入外部FIFO或內部FIFO邏輯。USB芯片FIFO寫數據方式如圖1所示。GPIF可編程接口模式中的FIFO寫數據方式是通過時鐘觸發實現動作的,FIFO寫數據方式觸發時序圖如圖2所示。寫波形圖程序初始化設定GPIFADR

圖1 USB芯片FIFO寫數據方式
值為0x0000,隨著IFCLK時鐘的動作,FIFO邏輯中存儲的信息將按時鐘動作次序寫入數據總線之中,同時數據指針將伴隨著時鐘的動作而自動增加,這個過程不斷重復以便完成數據的連續寫入。當FIFO邏輯中的數據寫完后,GPIF可編程接口將會得到一個觸發指令,使其處于空閑狀態[2]。
硬件部分的主控芯片采用EZ-USB系列USB芯片CY7C68013,128腳封裝,數據緩存使用CY7C68013自帶的同步FIFO邏輯。D/A轉換芯片使用8位DAC的MAX5384,參考電壓為5V,USB接口供電。晶振選用24MHz有源晶振。

圖2 FIFO寫數據方式觸發時序圖
主控USB芯片在以FIFO寫數據方式工作時必須采用GPIF模式接法,即需要連接USB芯片的GPIF可編程接口引腳。GPIF可編程接口的引腳FD0與模數轉換模塊MAX5384的引腳DIN連通;USB芯片內部同步FIFO邏輯中的數據將通過引腳FD0輸送至MAX5384。GPIF可編程接口的引腳FIFOADR1與引腳CS連通,當FIFOADR1電壓由低電平至高電平上升時,數模轉換開始[3]。FIFO寫數據方式信號發生部分電路連接如圖3所示。
USB芯片固件程序分為基本固件程序及GPIF波形圖固件程序。基本固件程序由Keil uVision3編寫,GPIF波形圖固件程序由USB芯片的波形圖設計軟件GPIFDesigner編寫[4]。
2.2.1 基本固件程序
FIFO寫數據方式的基本固件程序核心部分是將數據由內部同步FIFO中寫入到外部DA5384上,其主要代碼如下:



圖3 FIFO寫數據方式信號發生部分電路連接
2.2.2 GPIF波形圖固件程序
GPIF波形圖固件程序的設計需按電路圖中的USB芯片和D/A轉換芯片連接方式完成軟連接之后才能開始,GPIF Designer實現CY7C68013和MAX5384接口軟連接。在GPIF Designer中利用FIFOWr項目完成FIFO寫波形圖固件程序。
上位機應用程序由VC++開發,在VC++程序中調用cyioctl控制函數的UsbOpenDriver(&hDevice,DeviceName)打開USB設備接口端口,讀取數據,并對數據進行處理。信號發生器程序有兩個模塊:信號產生模塊和信號發送模塊。信號產生模塊主要是利用程序產生正、反鋸齒形信號,正、余弦信號,方波信號和隨機信號等。信號發送模塊是將程序產生的信號數據發送至USB芯片。
2.3.1 信號產生模塊
信號產生模塊就是生成信號數據,信號數據由公式生成。其中方波信號生成程序的主要代碼如下:


2.3.2 信號發送模塊
信號發送模塊的作用是將信號產生模塊產生的數據發送至USB芯片中。信號發送模塊主要是利用cyioctl控制函數方法[5]中的 DeviceIoControl()函數來完成,主要程序代碼如下:


采用示波器調試后,該虛擬儀器基本實現了電壓信號的發生,利用USB接頭電源虛擬儀器可以按設計要求發出正、反鋸齒形信號,正、余弦信號,方波信號和隨機信號等。虛擬儀器輸出端輸出的信號電壓設計幅度值為0V~3.2V,輸出的信號電壓設計頻率為6MHz。但設計中也存在一些缺陷,硬件部分沒有考慮信號干擾問題,導致示波器調試時出現信號變形,產生信號的參數不可調,不能自定義信號,后續將在設計中增加自定義參數模塊。
[1]陳瑩.基于USB的數據采集系統研究與設計[D].西安:西安科技大學,2011:10-12.
[2]錢峰.EZ-USB FX2單片機原理、編程及應用[M].北京:北京航空航天大學出版社,2006.
[3]仝瑞普.基于slave FIFO模式USB數據傳輸系統設計與實現[D].南京:南京理工大學,2008:19-26.
[4]兀穎.基于 USB 3.0的數據采集系統設計[D].西安:中國科學院大學,2013:39-45.
[5]薛園園.USB應用開發技術大全[M].北京:人民郵電出版社,2007.