



摘 要: 基于FPGA提出一種將各種不同類型的傳感器接口(如UART接口)轉化為統一規范的USB接口的設計方案,從而實現PC機對傳感器接口采集的數據快速讀寫。簡單介紹USB控制器的Verilog HDL實現方法,并應用Quartus Ⅱ和Nios Ⅱ軟件搭建自適應傳感器系統模塊,通過數據傳輸對該系統進行驗證,模擬了UART接口轉換為USB接口的實現方法。
關鍵詞: FPGA; 傳感器接口; USB控制器; 自適應系統; UART接口
中圖分類號: TN710?34 文獻標識碼: A 文章編號: 1004?373X(2015)09?0138?03
Abstract: A design that transforms a variety of different types of sensors interfaces into a standardized USB port is proposed based on FPGA to achieve the fast reading and writing of the data collected though sensor interface by the host PC. The implementation method of USB controller based on hardware description language of Verilog is described. An adaptive system module is build by the application of Quartus Ⅱ and Nios Ⅱ software. The system is verified by the data transmission. The method of transforming UART port into USB port is simulated.
Keywords: FPGA; sensor interface; USB controller; adaptive system; UART interface
0 引 言
當今是一個信息化的時代,傳感器正被廣泛地應用于各個領域,并隨著科學技術的迅速發展不斷更新,層出不窮,與此同時,人們對傳感器的要求也越來越高。現在市面上有著各種各樣的傳感器,但其大多接口不一,沒有統一的規范,往往需要對選定的傳感器進行專門的開發,這給傳感器的使用帶來了諸多不利,因此實現傳感器的自適應功能是當今發展的趨勢。在此介紹一種基于FPGA的自適應傳感器系統模塊的構建方法,該模塊可以實現將其他接口的傳感器轉換為統一規范的USB接口,并實現即插即用,大大提高了數據的傳輸速率。
1 自適應傳感器系統原理
該系統的具體工作過程可分為以下幾個流程:首先由傳感器接口模塊通過相應接口采集傳感器數據并且進行緩存、編目、組幀;然后由SOPC通過Avalon總線讀取數據幀并且將其轉換為USB協議,之后就可以通過USB接口模塊上傳數據至上位機軟件模塊。上位機軟件一方面接收USB接口傳來的數據并且完成數據的解幀、區分和顯示,另一方面還要向ASIM發送控制指令與探尋指令,之后可由上位機接口模塊通過UART接口接收指令并且進行緩存;最后由SOPC模塊通過Avalon總線讀取指令并執行后再通過上位機接口模塊向PC機做出回復,以完成ASIM傳感器接口的選取、ASIM工作狀態的檢測、傳感器屬性數據以及虛擬傳感器數據的注入[2]。在這個自適應傳感器模塊中,SOPC是整個系統的核心模塊,是由Nios Ⅱ搭建的,對整個自適應傳感器模塊起控制作用,包括數據的調度以及協議的轉換、USB數據的處理、傳感器的即插即用、上位機指令的執行和狀態的查詢[3]。
2 系統設計及其功能驗證
自適應傳感器系統模塊主要包括以Nios Ⅱ軟核處理器為核心的嵌入式硬件設計和基于Nios Ⅱ IDE開發環境的軟件設計[4]。
2.1 硬件系統設計
2.2 基于Nios Ⅱ IDE的軟件設計
通過Quartus Ⅱ軟件生成的硬件系統模塊,可以由Nios Ⅱ IDE集成開發環境進行軟件設計,它是Nios Ⅱ系列嵌入式處理器的一個基本開發工具[8]。打開Nios Ⅱ IDE軟件并轉換到相應工程目錄,添加在硬件系統下生成的ptf文件并新建一軟件工程。此外,對系統軟件進行設計時需添加系統頭文件、驅動文件以及系統主程序文件。通過Nios Ⅱ IDE可以完成整個軟件工程的編輯、編譯、調試以及下載運行等過程,極大程度上提高了系統軟件開發的速率[5]。在這里需要編寫SOPC.H,USB.H,UART.H頭文件和UART.C驅動程序以及MAIN.C主程序文件,編寫完成后,調試編譯、修改至能成功編譯下載運行,即完成了模塊的軟件設計。
2.3 自適應傳感器系統的實現
經由Quartus Ⅱ軟件搭建的硬件系統模塊編譯成功并且通過Nios Ⅱ IDE軟件編輯的文件經調試編譯、無誤后,通過USB Blaster下載線下載配置文件sof,使程序在FPGA實驗開發板進行運行。
3 結 語
本文完成了基于FPGA及Nios Ⅱ軟核處理器的自適應傳感器模塊的設計,涉及到了應用硬件描述語言自定義系統IP核的方法以及硬件系統和軟件系統的構建。應用到Nios Ⅱ軟核具有良好的可移植性,且性價比很高。SOPC Builder系統給硬件設計和軟件設計提供了良好的支持,經過對系統模塊的功能驗證,證實其確實可以實現傳感器接口的自適應功能,并且傳輸速率非常快,從而有效地解決了許多不同接口類型傳感器的應用難題。此外,本系統模塊的設計方法還可以應用于許多其他領域,能夠有效地減少開發時間并且降低設計成本。
參考文獻
[1] 潘松,黃繼業.SOPC技術實用教程[M].北京:清華大學出版社,2005.
[2] BRYZEK J. Introduction to IEEE?P1451, the emerging hardware?independent communication standard for smart transducers [J]. Sensors and Actuators A: physical, 1997, 62(1/3):711?723.
[3] 于亞萍,錢建平.基于FPGA數據采集系統的研究[J].工業控制計算機,2007(7):33?34.
[4] 孫愷,程世恒.Nios Ⅱ系統開發設計與應用實例[M].北京:北京航空航天大學出版社,2007.
[5] 李蘭英.NIOS Ⅱ嵌入式核SOPC設計原理及應用[M].北京:北京航空航天大學出版社,2006.
[6] CYPRESS Inc. EZ?USB FX2LP USB microcontroller high speed USB peripheral controller datasheet [R]. [S.l.]: CYPress Inc, 2004.
[7] 任愛峰,初秀琴,常存.基于FPGA的嵌入式系統設計[M].西安:西安電子科技大學出版社,2004.
[8] 周立功.SOPC嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2006.
[9] John Bigggs.實現基于IP核技術的SoC設計[J].電子產品世界,2002(9):28?29.
[10] 吳繼化,王城.Altera FPGA/CPLD設計[M].北京:人民郵電出版社,2005.
[11] 王戰江.基于DSP和FPGA為核心的通信信號處理硬件平臺設計[D].成都:電子科技大學,2011.