[!--empirenews.page--]2 基于FPGA的RMS的設計
2.1 基于FPGA的RMS的設計原則
進行可重構測試系統(tǒng)的設計應遵循以下基本原則:
(1)接口標準化
在測控系統(tǒng)的接口設計上,盡量采用開放式、標準化體系的接口標準,例如采用通用的讀寫、控制總線結構、標準的伺服驅動接口等。
(2)功能實現模塊化
RMS的軟件和硬件設計均采用模塊化的設計思想。依功能進行模塊劃分,合理分配給FPGA器件和DSP器件。對于FPGA器件的功能,采用硬件描述語言進行邏輯描述,經功能設計、時序仿真、電路測試、模塊封裝,制作成專門的測控IP,供設計平臺調用。
(3)系統(tǒng)集成化、開放化
將自己開發(fā)的測控IP和從其他IP供應商處購買到的標準IP,利用專門的綜合軟件集成為測控系統(tǒng)。還可以通過裁剪和重整不同的IP來改變設計,達到既能實現功能定制、滿足目前測控要求,又具有開放性、能適應未來功能擴展的目標。
(4)根據系統(tǒng)規(guī)模靈活選用主控制器
作為RMS的核心,可重構主控制器是體現RMS規(guī)模和功能不同的關鍵器件。可以根據測控對象的需要靈活選擇其實現器件及功能模塊,以實現功能和造價的合理平衡??梢赃x用低成本的FPGA方案,以有限狀態(tài)機(FSM)模式完成功能設計,以JTAG被動串行方式下載實現靜態(tài)重構,用于簡單、低速的數據采集;也可以選用高性能的SOPC方案,實現可動態(tài)重構,以滿足高速、復雜數據處理的需要。
(5)嵌入式特征
RMS具有功能可裁剪、結構重定義和軟硬件協(xié)同設計特征,是典型的嵌入式系統(tǒng)。
2.2 基于FPGA的RMS的結構與設計
RMS可以視為一個通用的測控設計平臺,其硬件基本結構如圖1所示。
該測控系統(tǒng)由主控計算機和相對獨立的基于FPGA器件的測控系統(tǒng)兩大部分,通過通信接口連接而成。主控計算機主要實現人機對話功能,包括測試數據的處理、顯示及儀器軟面板的控制,可以利用虛擬儀器技術實現?;贔PGA器件的測控系統(tǒng)包括數據采集與輸出控制單元、FPGA單元和DSP單元,3個單元均有可重構功能,并接受主控制器單元的控制。基本功能塊是指作為計算機系統(tǒng)通用的不可或缺的電源、系統(tǒng)監(jiān)控模塊及存儲器模塊。
2.2.1 可重構數據采集與輸出控制單元
該單元作為RMS的前向、后向通道與被測控對象直接相連。其中的信號調理電路可以設計成通用形式,并根據測控對象的數量、量程、模擬/數字類型、濾波參數等進行重定義和調整。例如可以采用可重構PAD器件直接與模擬測試對象相連,并由主控計算機完成設計、仿真、測試,通過主控制器單元實現重構。
2.2.2 可重構FPGA單元和可重構DSP單元
FPGA單元和DSP單元的功能可以預先根據實際測試對象的需要進行合理劃分,并在主控計算機上以IP核的方式完成設計、仿真、測試和整合的全過程,最后的配置數據流文件預先存放于相應的配置存儲器中(一般為SRAM或Flash存儲器)。這種靜態(tài)重構方式適用于對配置實時性要求不太高的一般場合,選用基于SRAM的FPGA器件和通用DSP即可。如果對配置切換的實時性要求較高,則可以選用特定的適于動態(tài)配置的FPGA器件,但成本要高昂得多。
2.2.3 可重構主控制器
主控制器單元是實現可重構功能的關鍵部分,它既是測控系統(tǒng)與主控計算機數據傳遞的通道,又是數據采集與輸出控制單元、FPGA單元和DSP單元的控制中樞。在系統(tǒng)重構模式下,它接收主控計算機的重構指令和數據,對FPGA和DSP的配置存儲器進行在線編程;在正常測控模式下,主控制器從FPGA和DSP獲得采集和處理的數據,并送主控計算機處理。
主控制器的設計可以根據系統(tǒng)規(guī)模合理選擇,可以采用通用MCU(如51系列單片機)、嵌入式SoC(如ARM);也可利用FPGA器件實現,例如選用A1tera公司的Nios軟處理器核基于SOPC方法進行設計。
[!--empirenews.page--]2.2.4 通信結構
RMS通信結構的選擇對系統(tǒng)的工作速度、實時性以及成本來說至關重要。
從通用性角度考慮,RMS的通信結構可以根據系統(tǒng)規(guī)模的需要選擇不同的形式。大型測控系統(tǒng)可以選用專用測控總線(如GPIB、CPI、CPCI等),以標準化、模塊化插卡形式與主控計算機相連;小型系統(tǒng)則可以根據需要選用通用總線(如RS232、UART、USB、CAN總線),有選擇地添加可編程I/O口、ZigBee無線通信接口、TCP/IP協(xié)議、以太網接口等通信、網絡擴展接口,以滿足無線通信和網絡測控功能擴展的需要。不論規(guī)模大小,接口類型各異,都可用IP模塊的形式進行設計并配置到FPGA器件上,以滿足不同應用需要。
值得注意的是,測控系統(tǒng)的通信結構設計不僅要包括系統(tǒng)總線的設計,還包括FPGA片內通信結構的設計。典型的可重構FPGA片內通信結構通常有片上總線和片上網絡兩種策略。片上網絡結構雖能較好地體現結構參數要求,但面積花費巨大;而片上總線結構憑借靈活性高、可延展、設計開銷小、帶寬要求較低、時延較短等優(yōu)點,成為RMS的首選。考慮到FPGA的配置需要,在通信模塊、主控制器模塊和FPGA器件內都應設計相應的JTAG接口,以滿足數據流配置和在線測試的需要。
2.2.5 軟件重構
軟件重構是作為軟硬件協(xié)同設計實現的測控系統(tǒng)重構的必要內容。傳統(tǒng)的測控軟件常常是針對具體的測控、對象和硬件資源設計的,從而限制了不同型號、不同廠家、不同硬件接口的測控器件的使用。為實現測控系統(tǒng)的軟件重構,應打破傳統(tǒng)測控軟件的設計思路,采用“基于程序框架和可復用構件”的軟件復用思路”。如圖2所示,將測控軟件劃分為測控軟件平臺和測控驅動程序兩部分,其間通過軟件平臺提供的軟件接口來實現動態(tài)鏈接。測控軟件平臺主要實現主控計算機功能的控制,以及主控計算機與測控系統(tǒng)的驅動程序之間的數據通信。
測控終端應用軟件的可重構、可識別包含兩個方面:其一,測控軟件平臺的可重構,即不同測控應用的軟件平臺能夠識別相同的控制指令,準確完成主控計算機分配的測控任務;其二,測控驅動程序的可重構,即各種不同類型的測量、控制應用的驅動程序可以動態(tài)鏈接到軟件平臺上,實現“熱拔插”。
測控軟件的重構平臺有多種選擇:可以是專用的基于圖形化GUI的虛擬儀器軟件,如Labview(通過CLF節(jié)點實現與儀器驅動程序的接口,儀器驅動程序以動態(tài)鏈接庫的形式給出,將與儀器有關的I/0操作都封裝成函數,并通過訪問USB或其他接口驅動實現數據的輸入、輸出);也可以采用通用的可視化軟件編程環(huán)境,如VB、VC等。對于小型、較簡單的測控系統(tǒng),推薦選用圖形化、高效的Labview。
3 基于CPCI總線的RMS的實現
下面給出的實例是應用于雷達信號實時偵測的基于CPCI總線的RMS。傳統(tǒng)的雷達偵測,由于信號特征和處理方式不同,需要研制多種獨立的偵測卡(如脈沖雷達偵測卡、連續(xù)波雷達偵測卡、敵我識別信號偵測卡等十幾種設備)及對應測控軟件。采用通用的硬件平臺,由1個CPCI工業(yè)控制計算機和2塊CPCI可重構硬件電路板卡構成,根據不同種類的雷達信號分別進行FPGA和DSP的設計,并將配置文件存儲在計算機中。實際工作時,針對不同的雷達信號,通過應用軟件選擇對應的軟硬件配置文件進行動態(tài)可重構,達到了小型化、通用化和軟硬件可重構化的效果,研發(fā)成本節(jié)約近70%,并縮短50%的開發(fā)周期。圖3為該系統(tǒng)的硬件框圖。
圖3中,核心器件——可重構主控制器EP2$30是通過可重構FPGA和DSP器件來連接信號采集與控制處理輸出部分,實現測控功能的控制中心通過CPCI總線與主控計算機進行數據交換的通道?;赟OPC的設計思想.使用Altera公司的NiosII處理器IP軟核及外圍邏輯編程實現主控制器功能。主控制器與CPCI控制器通過PCI局部總線交換指令和數據,通過自定義總線和DSP總線與FPGA和DSP交換采集和輸出數據。在系統(tǒng)重構模式下,主控制器通過CPCI控制器接收主機的重構指令和數據,對FPGA的配置存儲器和DSP的程序存儲器進行在線編程;同時也可以直接對FPGA進行在線并行加載,完成系統(tǒng)的硬件重構。在系統(tǒng)正常工作模式下,主控制器把從采集部分獲得的實時數據通過CPCI總線傳輸給主控計算機,或送往DSP進行數據處理并控制輸出。
對于數據采集模塊和控制輸出模塊,“可重構”的含義是指其模塊組成可以根據測控需要進行裁剪,例如可選用PAD模塊、基于FPGA實現的電動機轉速控制模塊、步進電機控制模塊等。
結 語
本文根據測控系統(tǒng)的通用結構模型和FPGA的可重構功能特點,提出了一種基于FPGA器件,針對嵌入式應用有效縮短開發(fā)周期和設計與應用成本,滿足并行性、多任務、開放化和集成化要求的RMS的平臺式設計思想,實現了測控系統(tǒng)“只能由廠家定義、設計,用戶只能使用”模式和“單任務”模式的突破。RMS技術在工業(yè)現場控制、城市市政管理、智能樓宇監(jiān)控、智能家居等領域應用前景廣闊,在遠程重構和網絡測控方面亦有研究價值。