摘 要: 基于FPGA提出一種將各種不同類型的傳感器接口(如UART接口)轉(zhuǎn)化為統(tǒng)一規(guī)范的USB接口的設(shè)計方案,從而實現(xiàn)PC機對傳感器接口采集的數(shù)據(jù)快速讀寫。簡單介紹USB控制器的Verilog HDL實現(xiàn)方法,并應用Quartus Ⅱ和Nios Ⅱ軟件搭建自適應傳感器系統(tǒng)模塊,通過數(shù)據(jù)傳輸對該系統(tǒng)進行驗證,模擬了UART接口轉(zhuǎn)換為USB接口的實現(xiàn)方法。
關(guān)鍵詞: FPGA; 傳感器接口; USB控制器; 自適應系統(tǒng); 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 引 言
當今是一個信息化的時代,傳感器正被廣泛地應用于各個領(lǐng)域,并隨著科學技術(shù)的迅速發(fā)展不斷更新,層出不窮,與此同時,人們對傳感器的要求也越來越高?,F(xiàn)在市面上有著各種各樣的傳感器,但其大多接口不一,沒有統(tǒng)一的規(guī)范,往往需要對選定的傳感器進行專門的開發(fā),這給傳感器的使用帶來了諸多不利,因此實現(xiàn)傳感器的自適應功能是當今發(fā)展的趨勢。在此介紹一種基于FPGA的自適應傳感器系統(tǒng)模塊的構(gòu)建方法,該模塊可以實現(xiàn)將其他接口的傳感器轉(zhuǎn)換為統(tǒng)一規(guī)范的USB接口,并實現(xiàn)即插即用,大大提高了數(shù)據(jù)的傳輸速率。
1 自適應傳感器系統(tǒng)原理
該系統(tǒng)的具體工作過程可分為以下幾個流程:首先由傳感器接口模塊通過相應接口采集傳感器數(shù)據(jù)并且進行緩存、編目、組幀;然后由SOPC通過Avalon總線讀取數(shù)據(jù)幀并且將其轉(zhuǎn)換為USB協(xié)議,之后就可以通過USB接口模塊上傳數(shù)據(jù)至上位機軟件模塊。上位機軟件一方面接收USB接口傳來的數(shù)據(jù)并且完成數(shù)據(jù)的解幀、區(qū)分和顯示,另一方面還要向ASIM發(fā)送控制指令與探尋指令,之后可由上位機接口模塊通過UART接口接收指令并且進行緩存;最后由SOPC模塊通過Avalon總線讀取指令并執(zhí)行后再通過上位機接口模塊向PC機做出回復,以完成ASIM傳感器接口的選取、ASIM工作狀態(tài)的檢測、傳感器屬性數(shù)據(jù)以及虛擬傳感器數(shù)據(jù)的注入[2]。在這個自適應傳感器模塊中,SOPC是整個系統(tǒng)的核心模塊,是由Nios Ⅱ搭建的,對整個自適應傳感器模塊起控制作用,包括數(shù)據(jù)的調(diào)度以及協(xié)議的轉(zhuǎn)換、USB數(shù)據(jù)的處理、傳感器的即插即用、上位機指令的執(zhí)行和狀態(tài)的查詢[3]。
2 系統(tǒng)設(shè)計及其功能驗證
自適應傳感器系統(tǒng)模塊主要包括以Nios Ⅱ軟核處理器為核心的嵌入式硬件設(shè)計和基于Nios Ⅱ IDE開發(fā)環(huán)境的軟件設(shè)計[4]。
2.1 硬件系統(tǒng)設(shè)計
2.2 基于Nios Ⅱ IDE的軟件設(shè)計
通過Quartus Ⅱ軟件生成的硬件系統(tǒng)模塊,可以由Nios Ⅱ IDE集成開發(fā)環(huán)境進行軟件設(shè)計,它是Nios Ⅱ系列嵌入式處理器的一個基本開發(fā)工具[8]。打開Nios Ⅱ IDE軟件并轉(zhuǎn)換到相應工程目錄,添加在硬件系統(tǒng)下生成的ptf文件并新建一軟件工程。此外,對系統(tǒng)軟件進行設(shè)計時需添加系統(tǒng)頭文件、驅(qū)動文件以及系統(tǒng)主程序文件。通過Nios Ⅱ IDE可以完成整個軟件工程的編輯、編譯、調(diào)試以及下載運行等過程,極大程度上提高了系統(tǒng)軟件開發(fā)的速率[5]。在這里需要編寫SOPC.H,USB.H,UART.H頭文件和UART.C驅(qū)動程序以及MAIN.C主程序文件,編寫完成后,調(diào)試編譯、修改至能成功編譯下載運行,即完成了模塊的軟件設(shè)計。
2.3 自適應傳感器系統(tǒng)的實現(xiàn)
經(jīng)由Quartus Ⅱ軟件搭建的硬件系統(tǒng)模塊編譯成功并且通過Nios Ⅱ IDE軟件編輯的文件經(jīng)調(diào)試編譯、無誤后,通過USB Blaster下載線下載配置文件sof,使程序在FPGA實驗開發(fā)板進行運行。
3 結(jié) 語
本文完成了基于FPGA及Nios Ⅱ軟核處理器的自適應傳感器模塊的設(shè)計,涉及到了應用硬件描述語言自定義系統(tǒng)IP核的方法以及硬件系統(tǒng)和軟件系統(tǒng)的構(gòu)建。應用到Nios Ⅱ軟核具有良好的可移植性,且性價比很高。SOPC Builder系統(tǒng)給硬件設(shè)計和軟件設(shè)計提供了良好的支持,經(jīng)過對系統(tǒng)模塊的功能驗證,證實其確實可以實現(xiàn)傳感器接口的自適應功能,并且傳輸速率非常快,從而有效地解決了許多不同接口類型傳感器的應用難題。此外,本系統(tǒng)模塊的設(shè)計方法還可以應用于許多其他領(lǐng)域,能夠有效地減少開發(fā)時間并且降低設(shè)計成本。
參考文獻
[1] 潘松,黃繼業(yè).SOPC技術(shù)實用教程[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數(shù)據(jù)采集系統(tǒng)的研究[J].工業(yè)控制計算機,2007(7):33?34.
[4] 孫愷,程世恒.Nios Ⅱ系統(tǒng)開發(fā)設(shè)計與應用實例[M].北京:北京航空航天大學出版社,2007.
[5] 李蘭英.NIOS Ⅱ嵌入式核SOPC設(shè)計原理及應用[M].北京:北京航空航天大學出版社,2006.
[6] CYPRESS Inc. EZ?USB FX2LP USB microcontroller high speed USB peripheral controller datasheet [R]. [S.l.]: CYPress Inc, 2004.
[7] 任愛峰,初秀琴,常存.基于FPGA的嵌入式系統(tǒng)設(shè)計[M].西安:西安電子科技大學出版社,2004.
[8] 周立功.SOPC嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學出版社,2006.
[9] John Bigggs.實現(xiàn)基于IP核技術(shù)的SoC設(shè)計[J].電子產(chǎn)品世界,2002(9):28?29.
[10] 吳繼化,王城.Altera FPGA/CPLD設(shè)計[M].北京:人民郵電出版社,2005.
[11] 王戰(zhàn)江.基于DSP和FPGA為核心的通信信號處理硬件平臺設(shè)計[D].成都:電子科技大學,2011.