999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種FPGA高速訪問USB設備的設計方案

2014-08-12 08:46:12曾志斌袁雨舟姚引娣
單片機與嵌入式系統應用 2014年8期
關鍵詞:設備

曾志斌,袁雨舟,姚引娣

(1.西安電子科技大學 微電子學院,西安 710071; 2. 西安郵電大學)

一種FPGA高速訪問USB設備的設計方案

曾志斌1,袁雨舟1,姚引娣2

(1.西安電子科技大學 微電子學院,西安 710071; 2. 西安郵電大學)

針對FPGA訪問 USB設備存在傳輸速率低、資源消耗大、開發復雜的缺點,提出了一種將ARM處理器與FPGA相結合實現高速訪問USB設備的方案。該方案利用ARM處理器的USB Host讀取USB設備數據并緩存于高速內存,采用乒乓機制通過SRAM接口將數據傳給FPGA。經測試,數據傳輸速率可以達到48 Mbps。該方案具有開發難度小,資源占用率低和傳輸速率高的特點,適合于FPGA高速讀取大量外部數據。

USB設備;數據訪問;FPGA;嵌入式系統

引 言

目前FPGA通過USB接口獲取USB設備中數據的方案大致分為兩大類,一類為在FPGA內部實現USB設備控制,另一類為在FPGA外部實現USB設備控制。在FPGA內部實現的方案需要在FPGA內部實現USB控制器,在內部實現或者外接USB收發器。該方案的實現具有較大難度,同時由于USB協議和文件系統都相當復雜,需要使用相當多的FPGA資源,因此完全不能滿足快速開發和低FPGA資源占用率的要求。在FPGA外部實現的方案通常使用單芯片的USB解決方案,典型的方案有兩種:一種是集成了USB控制器和USB收發器,但需自行實現文件系統,如美國Cypress公司的CY7C67300[5];另一種是實現了包括文件系統在內的所有USB讀取U盤所需的軟硬件,只需要FPGA發送命令進行控制即可實現讀取U盤,如南京沁恒電子的CH376[6,7]。在這兩類方案中,CY7C67300集成度高,但其只支持USB 1.1,傳輸速率較低;同時需要FPGA對其進行配置和控制及實現文件系統,FPGA端的開發量較大。CH376支持USB 2.0接口,是一個真正的單芯片解決方案;但CH376只支持FAT16/32文件系統,不支持NTFS文件系統,無法讀取大于4 GB的大文件。另外,CH376需要FPGA進行配置和控制,因此需要實現CH376的控制邏輯并占用一定的FPGA資源。

由于現有方案均存在數據傳輸速率低、FPGA開發量大的缺點,本文提出了一種使用ARM + FPGA的方案,通過ARM處理器讀取USB設備數據并傳輸給FPGA,從而實現FPGA從USB設備獲取數據。該方案既能達到較高的數據傳輸速率,又能降低FPGA開發量,同時還具有很高的靈活性。

1 系統設計

本方案的系統設計如圖1所示。該系統由ARM處理器、FPGA和USB設備構成,FPGA通過內部開辟的異步RAM空間接收數據,ARM處理器負責將USB設備中數據通過并行總線轉發給FPGA,USB設備支持常見的U盤、照相機、移動硬盤等支持USB接口的從設備。本設計還將ARM處理器的兩個引腳與FPGA的通信。指令線用于ARM向FPGA發送準備進行數據傳輸的指令;響應線用于FPGA在接收到ARM的通知并準備好后響應ARM。與FPGA相連的DDR存儲器用于高速緩存大量圖像數據,支持常見的DDR、DDR2和DDR3等類型。

圖1 系統設計圖

1.1 ARM處理器選擇

本方案選用的ARM處理器為韓國三星公司的S5PV210。S5PV210是一款基于ARM Cortex-A8內核的RSIC處理器,該芯片擁有強大的計算能力、豐富的內部資源和外部接口,主頻高達1 GHz,同時它還擁有優化的外部存儲器接口。外部存儲器接口為異步接口,時鐘頻率為133 MHz,位寬為16位,具有完善且可調的時序控制功能,可用于連接ROM、SRAM、oneNAND、NAND Flash等多種存儲器,能滿足在高端通信服務中的數據帶寬要求。本方案使用這個接口完成數據從ARM處理器到FPGA的高速傳輸。

1.2 ARM與FPGA接口設計

本方案將FPGA異步RAM連接在ARM處理器的XM0內存總線上,作為一個位寬為16位的SRAM使用,其對應的硬件地址為0x10000000到0x10001002,共4 098字節。由于異步RAM的位寬為16位,故只需使用地址線ADDR 1~ADDR 13。指令線連接ARM處理器的GPIO引腳,方向為輸出,高電平有效。響應線連接ARM處理器的中斷引腳,方向為輸入,上升沿有效。

1.3 軟件設計

在本方案中,ARM處理器以幀為單位向FPGA傳輸數據。每幀長度為4 098字節,其中,幀頭長度為2字節,數據長度為4 096字節。幀格式如圖2所示。

圖2 幀格式圖

幀類型的取值為:此幀不是最后幀為00,此幀是最后幀則為11。幀長度為幀數據的長度,以字節為單位。

本方案所設計的軟件分為兩個部分——驅動程序和應用程序,軟件總體框圖如圖3所示。驅動程序在Linux系統中注冊硬件并提供控制硬件的功能函數,以供應用程序調用。應用程序使用驅動程序提供的功能函數控制硬件,完成整個傳輸過程。軟件總體流程圖如圖4所示。

圖3 軟件總體框圖

圖4 軟件總體流程圖

1.3.1 驅動程序設計

本方案涉及3種驅動程序:USB驅動程序、文件系統驅動程序和FPGA驅動程序。

Linux系統有豐富完善的USB設備和文件系統支持。本方案使用Linux系統中自帶的USB Mass Storage驅動程序和文件系統驅動程序,自行編寫FPGA驅動程序。FPGA驅動程序基于Linux系統字符設備驅動程序模型進行編寫。FPGA驅動程序的主要函數有初始化函數init()、寫入中斷服務函數write_int()、寫入函數write()。

初始化函數init()首先將FPGA異步RAM對應的硬件地址0x10000000~0x10001002映射為Linux系統中的內存虛擬地址A到A + 4098(設映射的內存虛擬地址起始為A),實現在Linux系統中直接向異步RAM寫入數據。然后,設置指令線、響應線所對應的寄存器。將指令線的方向設置為輸出,并輸出低電平;響應線的方向設置為中斷輸入。最后,函數將響應線中斷服務函數設置為write_int()。

寫入函數write()與寫入中斷服務函數write_int()配合,完成一次數據傳輸:

① 當應用程序調用寫入函數后,函數首先設置指令線為高電平指示FPGA準備傳輸數據,然后將驅動程序置于休眠狀態,等待喚醒。

② FPGA收到指令后判斷現在能否傳輸數據,如果能,則在中斷線上發送一個上升沿。ARM處理器捕捉到該上升沿后,調用write_int(),喚醒驅動程序。

③ 驅動程序被喚醒后,繼續執行write()。write()函數首先根據應用程序提供的參數生成幀頭,并將幀頭寫入地址ADDR和ADDR+1,完成幀頭的傳輸。隨后將數據寫入地址ADDR+2及其后的地址,完成數據的傳輸。

1.3.2 應用程序設計

本方案通過Linux系統的熱插拔機制自動啟動應用程序。在U盤插入USB接口后,Linux系統自動加載USB驅動和FPGA驅動并啟動應用程序。應用程序流程如圖5所示。

圖5 應用程序流程圖

運行應用程序時,通過設置參數能使應用程序讀取U盤、移動硬盤甚至網絡上的文件,使方案具有很高的靈活性。應用程序使用了多線程技術來充分利用系統資源,使用兩個線程分別實現從U盤讀取數據存入緩沖區的過程和將緩沖區內的數據傳輸至FPGA的過程。在讀取線程或寫入線程中,可以加入數據處理代碼實現數據的預處理,減少FPGA工作量。應用程序分配了多個緩沖區提高性能,并使用了互斥鎖實現讀取線程與傳輸線程間的線程同步,確保數據正確傳輸。

1.4 ARM向FPGA傳輸數據設計

本方案在FPGA中實現一個異步RAM,其使用乒乓機制接收來自ARM處理器的數據,同時需要將異步RAM中的數據寫入DDR 2存儲器。異步RAM內部有兩個數據緩沖模塊。在乒乓機制中,兩個模塊分別執行不同的任務,當模塊1接收數據來自ARM處理器的數據時,模塊2將數據寫入DDR 2存儲器。當兩個模塊的任務都完成后,交換模塊1和模塊2的任務。與現有方案相比,本方案FPGA無需配置外部芯片,所需開發量較小。

2 測試與分析

2.1 傳輸速率測試

此測試傳輸3個不同大小的文件,記錄數據傳輸時間,從而獲得數據傳輸速率。

測試結果如表1所列。

表1 傳輸速率測試結果

由表1可知,在傳輸速率測試中,測得的最高數據傳輸速率為47.6 Mbps,比現有方案如CY7C67300、CH376的數據傳輸速率高。在傳輸速率測試中,傳輸100 KB文件的傳輸速率與傳輸1 MB和1 GB文件的傳輸速率相比偏低,而傳輸1 MB和1 GB文件的傳輸速率則相差不大。原因為:

① 測試為先進行計時后開始傳輸,存在一段時間未傳輸數據。

② 應用程序在傳輸開始前需要一段時間進行初始化,存在一段時間未傳輸數據。

在后兩種測試中,以上兩種未傳輸數據的時間占總時間的比重較低,因此數據傳輸速率較高。

2.2 傳輸準確率測試

此測試在FPGA內實現一個比較器,比較異步RAM接收到的數據與比較器內置數據是否一致,從而測試傳輸是否正確并確定正確率。經測試,此方案在傳輸過程中無差錯發生,傳輸正確率為100%。

結 語

[1] 孔利東.基于FPGA的數據采集與處理技術的研究[D].武漢:武漢理工大學,2007.

[2] 黃遠望.嚴濟鴻. FPGA和USB的雙通道數據采集測試系統[J]. 單片機與嵌入式系統應用,2013(1):31-33.

[3] 冒劼.FPGA器件USB接口擴展[J]. 桂林電子科技大學學報,28(1):14-17.

[4] 劉思久,趙蔚. 實現USB2.0高速數據傳輸問題的探討[J]. 計算機工程與應用,2007,43:75-77.

[5] 孫磊. FPGA與USB主機控制器通信系統的設計與實現[D]. 西安:西安電子科技大學,2012.

97777[6] 劉佳. 基于FPGA的U盤讀寫器的研制與應用[D]. 咸陽:西北農林科技大學,2012.

[7] 吳繁紅. NIOS-II處理器的大容量數據采集存儲系統設計[J]. 單片機與嵌入式系統應用,2013,13(11):38-41.

曾志斌(博士,副教授), 研究方向為嵌入式系統設計、無線通信及通信系統集成。

Design of High-speed USB Device Accessing for FPGA

Zeng Zhibin1,Yuan Yuzhou1,Yao Yindi2

(1.School of Microelectronic Engineering, Xidian University, Xi’an 710071, China;2. Xi’an University of Post and Telecommunications)

A design of high-speed USB device accessing combining ARM processor and FPGA is proposed to solve the problems of low transmission rate, a lot of resource consumption and complex development when accessing USB device by FPGA. Data from USB device are read through USB Host of ARM processor and they are saved in high-speed Cache.The data are sent to FPGA by SRAM interface using ping-pong mechanism.Test results demonstrate that the data transmission rate is 48 Mbps.The design has simple development, low resource consumption and high transmission rate, which is suitable for accessing mass external data quickly by FPGA.

USB device; data access; FPGA; embedded system

TN79

A

2014-04-14)

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
HTC斥資千萬美元入股虛擬現實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 中美日韩在线网免费毛片视频| 91美女视频在线观看| 99久久精品视香蕉蕉| 91麻豆精品视频| 中文字幕永久视频| 国产毛片基地| 老司机精品一区在线视频| 国产精品区视频中文字幕| 日韩在线1| 午夜三级在线| 国产一区二区影院| 久久人体视频| 亚洲伦理一区二区| 国产专区综合另类日韩一区| 天天操天天噜| 成AV人片一区二区三区久久| 日韩大乳视频中文字幕| 中国一级毛片免费观看| 青草视频网站在线观看| 日本人真淫视频一区二区三区| 亚洲高清日韩heyzo| 四虎国产在线观看| 玩两个丰满老熟女久久网| 久久黄色视频影| av在线5g无码天天| jijzzizz老师出水喷水喷出| 丰满人妻中出白浆| 国产精品白浆无码流出在线看| 国产屁屁影院| 免费观看三级毛片| 无码高潮喷水在线观看| 日韩国产综合精选| 人妻精品久久无码区| 国产一级妓女av网站| 99久久人妻精品免费二区| 熟妇人妻无乱码中文字幕真矢织江| 精品无码一区二区三区电影| 91精品网站| 欧美精品1区2区| 性视频久久| 亚洲人成影院在线观看| 在线精品自拍| 中文字幕无码中文字幕有码在线| 午夜色综合| 日韩欧美色综合| 无码专区在线观看| 国产91丝袜在线播放动漫 | 成人一级免费视频| 亚洲人成网18禁| 一级毛片视频免费| 日本AⅤ精品一区二区三区日| 午夜a视频| 国产激情无码一区二区APP| 一级爱做片免费观看久久| 国产精品视频猛进猛出| 日韩成人午夜| 丝袜国产一区| 国产精品美女免费视频大全| 亚洲精品久综合蜜| 国产三级毛片| 国产精品香蕉| 亚洲VA中文字幕| 亚洲天堂视频网站| 亚洲第一成人在线| jizz国产视频| 丁香婷婷综合激情| 97精品国产高清久久久久蜜芽| 欧美中文一区| 中文字幕无码制服中字| 国产午夜人做人免费视频中文 | 亚洲日本在线免费观看| 真实国产精品vr专区| 少妇精品在线| 精品人妻无码区在线视频| 国产情侣一区| 国产凹凸视频在线观看| 真实国产乱子伦视频| 欧美日韩午夜| 2021国产精品自产拍在线观看| 国产成人无码播放| www亚洲精品| 婷婷午夜天|