1 可重構(gòu)測控系統(tǒng)的提出
測控系統(tǒng)一般是指基于計(jì)算機(jī)實(shí)現(xiàn)數(shù)據(jù)采集和控制的系統(tǒng)。測控系統(tǒng)在工業(yè)現(xiàn)場控制、家庭數(shù)字化管理、通信和網(wǎng)絡(luò)等方面應(yīng)用廣泛,并不斷向低成本、高速、高性能、智能化、開放化方向邁進(jìn)。但現(xiàn)代測控系統(tǒng)在設(shè)計(jì)和應(yīng)用中仍然面臨不少的難題:
①設(shè)計(jì)速度難以適應(yīng)產(chǎn)品更新?lián)Q代的快速變化。一般測控系統(tǒng)的設(shè)計(jì)都是針對某個特定的任務(wù),從設(shè)計(jì)到投入使用的周期至少1~2年,甚至長達(dá)4~5年。因此,在設(shè)計(jì)階段堪稱先進(jìn)的方案往往在投入使用伊始就已落后了。
②設(shè)計(jì)方案功能固定,通用性差,難以滿足不同層次、不斷變化的用戶需求。測控系統(tǒng)設(shè)計(jì)針對具體用戶,配置各異,通用性較差。如何滿足不同用戶、不同層次的需要,尤其是多任務(wù)用戶需要是一大難題。
③虛擬儀器技術(shù)的應(yīng)用使得軟件重構(gòu)成為可能,但是達(dá)到還難以達(dá)到硬件重構(gòu)和“即插即用”的效果。
因此,研究一種軟硬件可重構(gòu)、開放化、普適性的測控系統(tǒng),對于實(shí)現(xiàn)測控系統(tǒng)的快速、開放式設(shè)計(jì),降低用戶使用成本具有很高的應(yīng)用價值。本文基于現(xiàn)代測控系統(tǒng)的通用化結(jié)構(gòu)特征和可重構(gòu)的現(xiàn)場可編程門陣列FPGA技術(shù)的發(fā)展,提出一種可重構(gòu)測控系統(tǒng)(Reconfigurable Mo—nitoring System,RMS)的設(shè)計(jì)構(gòu)想,并給出其應(yīng)用實(shí)例。
1.1 測控系統(tǒng)的結(jié)構(gòu)模式和多任務(wù)特征
隨著計(jì)算機(jī)軟硬件技術(shù)和測控技術(shù)的不斷深入融合,現(xiàn)代測控系統(tǒng)在結(jié)構(gòu)上呈現(xiàn)出通用化特征,即“系統(tǒng)前端(信息的數(shù)據(jù)采集(A/D))+數(shù)字信號處理(DSP)+系統(tǒng)后端(輸出(D/A)及顯示)”的模式。這種清晰的、通用化的結(jié)構(gòu)模式為用戶實(shí)現(xiàn)測控系統(tǒng)的自組織、重定義和再利用創(chuàng)造了條件。
現(xiàn)代測控系統(tǒng)一般都具備多任務(wù)性,即系統(tǒng)需要同時完成幾個單獨(dú)的空間相關(guān)的(并行性)任務(wù),或順序完成幾個時間相關(guān)的(順序性)任務(wù)。傳統(tǒng)的多任務(wù)設(shè)計(jì)方法,是通過增加硬件的數(shù)量,或加大軟件的控制功能來實(shí)現(xiàn)多任務(wù)性。一方面,增加了工程設(shè)計(jì)、調(diào)試的難度和成本,使得應(yīng)用系統(tǒng)越來越龐大、復(fù)雜;另一方面,電路和軟件的復(fù)雜帶給用戶眾多的麻煩。可重構(gòu)技術(shù)的出現(xiàn)為解決多任務(wù)問題提供了新的思路。
1.2 可重構(gòu)技術(shù)與可重構(gòu)器件
可重構(gòu)技術(shù)是21世紀(jì)初以來信息技術(shù)的研究熱點(diǎn),是一種可以根據(jù)系統(tǒng)功能變化的需要重組自身資源,實(shí)現(xiàn)軟硬件結(jié)構(gòu)自我優(yōu)化、自我生成的計(jì)算機(jī)技術(shù)。可重構(gòu)技術(shù)包括硬件重構(gòu)和軟件重構(gòu)兩個方面。根據(jù)應(yīng)用任務(wù)的需要進(jìn)行軟件重構(gòu),在傳統(tǒng)的系統(tǒng)設(shè)計(jì)中已普遍存在,而硬件重構(gòu)(指系統(tǒng)的硬件邏輯結(jié)構(gòu)發(fā)生改變)則是傳統(tǒng)的系統(tǒng)設(shè)計(jì)無法實(shí)現(xiàn)的。可重構(gòu)技術(shù)的廣泛應(yīng)用必須以提供可編程資源的可重構(gòu)硬件為物質(zhì)基礎(chǔ)。
隨著微電子技術(shù)的不斷發(fā)展,20世紀(jì)末出現(xiàn)的可編程邏輯器件(PLD)和可編程模擬器件(PAD)為測控系統(tǒng)的功能重構(gòu)提供了硬件基礎(chǔ)。可重構(gòu)器件主要包括以下幾種:
(1)可重構(gòu)邏輯器件FPGA
FPGA的可編程器件是基于SRAM的,可以快速地重新編程,即所謂“現(xiàn)場可編程”。這一特性使FPGA獲得廣泛應(yīng)用,并成為可重構(gòu)測控系統(tǒng)發(fā)展的持續(xù)驅(qū)動力量。FPGA是構(gòu)建可重構(gòu)測控系統(tǒng)必不可少的關(guān)鍵器件。
(2)可重構(gòu)模擬器件
可編程模擬器件(PAD)既屬于模擬集成電路,具有信號調(diào)理、模擬計(jì)算、中高頻應(yīng)用等典型功能;又同PLD器件一樣,可由用戶通過現(xiàn)場編程和配置來改變其內(nèi)部連接和元件參數(shù),從而獲得所需要的電路功能。配合相應(yīng)的開發(fā)工具,其設(shè)計(jì)和使用均可以像PLD一樣方便、靈活和快捷。例如Lattice公司的可編程模擬芯片ispPAC30內(nèi)含4個輸入儀表放大器、2個獨(dú)立的內(nèi)部可控參考源和2個增強(qiáng)型DAC,提供了系統(tǒng)與測控對象的模擬接口,可用于連接模擬輸入,實(shí)現(xiàn)系統(tǒng)的數(shù)據(jù)采集功能;利用其可編程功能,可針對不同應(yīng)用重構(gòu)其功能。但相對于可編程邏輯器件,可編程模擬器件問世較晚,品種偏少,還不能作為主流的可重構(gòu)器件。
(3)可重構(gòu)DSP器件
DSP器件適用于計(jì)算密集、算法復(fù)雜、并發(fā)性和實(shí)時性要求突出的場合,如帶有智能邏輯的消費(fèi)類產(chǎn)品、生物信息識別終端、帶有加解密算法的鍵盤、ADSL接入、實(shí)時語音壓解、虛擬現(xiàn)實(shí)顯示等。這類智能化算法一般運(yùn)算量較大,特別是向量運(yùn)算、指針、線性尋址等較多,這些正是DSP處理器的長處所在。但常規(guī)的DSP無硬件重構(gòu)功能,而支持DSP器件硬件重構(gòu)的技術(shù)尚在研發(fā)中,難以投入大規(guī)模的應(yīng)用。當(dāng)然,可以通過傳統(tǒng)的軟件重構(gòu)設(shè)計(jì)實(shí)現(xiàn)DSP功能重定義,但這不是我們在此討論的內(nèi)容。一種實(shí)現(xiàn)可重構(gòu)DSP器件的實(shí)用方法是利用FPGA器件實(shí)現(xiàn)可重構(gòu)的DSP功能(如參考文獻(xiàn)),其實(shí)質(zhì)是以可重構(gòu)的FPGA器件為基礎(chǔ)實(shí)現(xiàn)DSP功能的重構(gòu)。
綜上所述,F(xiàn)PGA器件的現(xiàn)場可編程特征成為可重構(gòu)技術(shù)應(yīng)用的關(guān)鍵,為可重構(gòu)測控系統(tǒng)的設(shè)計(jì)提供了可行性。RMS就是以可重構(gòu)器件構(gòu)建系統(tǒng)硬件平臺,并在軟件平臺控制下產(chǎn)生不同的重載數(shù)據(jù)流來改變FPGA形成的硬件結(jié)構(gòu),以滿足不同任務(wù)要求。其實(shí)質(zhì)是一種軟硬件協(xié)同設(shè)計(jì)技術(shù)。
2 基于FPGA的RMS的設(shè)計(jì)
2.1 基于FPGA的RMS的設(shè)計(jì)原則
進(jìn)行可重構(gòu)測試系統(tǒng)的設(shè)計(jì)應(yīng)遵循以下基本原則:
(1)接口標(biāo)準(zhǔn)化
在測控系統(tǒng)的接口設(shè)計(jì)上,盡量采用開放式、標(biāo)準(zhǔn)化體系的接口標(biāo)準(zhǔn),例如采用通用的讀寫、控制總線結(jié)構(gòu)、標(biāo)準(zhǔn)的伺服驅(qū)動接口等。
(2)功能實(shí)現(xiàn)模塊化
RMS的軟件和硬件設(shè)計(jì)均采用模塊化的設(shè)計(jì)思想。依功能進(jìn)行模塊劃分,合理分配給FPGA器件和DSP器件。對于FPGA器件的功能,采用硬件描述語言進(jìn)行邏輯描述,經(jīng)功能設(shè)計(jì)、時序仿真、電路測試、模塊封裝,制作成專門的測控IP,供設(shè)計(jì)平臺調(diào)用。
(3)系統(tǒng)集成化、開放化
將自己開發(fā)的測控IP和從其他IP供應(yīng)商處購買到的標(biāo)準(zhǔn)IP,利用專門的綜合軟件集成為測控系統(tǒng)。還可以通過裁剪和重整不同的IP來改變設(shè)計(jì),達(dá)到既能實(shí)現(xiàn)功能定制、滿足目前測控要求,又具有開放性、能適應(yīng)未來功能擴(kuò)展的目標(biāo)。
(4)根據(jù)系統(tǒng)規(guī)模靈活選用主控制器。
作為RMS的核心,可重構(gòu)主控制器是體現(xiàn)RMS規(guī)模和功能不同的關(guān)鍵器件。可以根據(jù)測控對象的需要靈活選擇其實(shí)現(xiàn)器件及功能模塊,以實(shí)現(xiàn)功能和造價的合理平衡。可以選用低成本的FPGA方案,以有限狀態(tài)機(jī)(FSM)模式完成功能設(shè)計(jì),以JTAG被動串行方式下載實(shí)現(xiàn)靜態(tài)重構(gòu),用于簡單、低速的數(shù)據(jù)采集;也可以選用高性能的SOPC方案,實(shí)現(xiàn)可動態(tài)重構(gòu),以滿足高速、復(fù)雜數(shù)據(jù)處理的需要。
(5)嵌入式特征
RMS具有功能可裁剪、結(jié)構(gòu)重定義和軟硬件協(xié)同設(shè)計(jì)特征,是典型的嵌入式系統(tǒng)。
2.2 基于FPGA的RMS的結(jié)構(gòu)與設(shè)計(jì)
RMS可以視為一個通用的測控設(shè)計(jì)平臺,其硬件基本結(jié)構(gòu)如圖1所示。
?
?
該測控系統(tǒng)由主控計(jì)算機(jī)和相對獨(dú)立的基于FPGA器件的測控系統(tǒng)兩大部分,通過通信接口連接而成。主控計(jì)算機(jī)主要實(shí)現(xiàn)人機(jī)對話功能,包括測試數(shù)據(jù)的處理、顯示及儀器軟面板的控制,可以利用虛擬儀器技術(shù)實(shí)現(xiàn)。基于FPGA器件的測控系統(tǒng)包括數(shù)據(jù)采集與輸出控制單元、FPGA單元和DSP單元,3個單元均有可重構(gòu)功能,并接受主控制器單元的控制。基本功能塊是指作為計(jì)算機(jī)系統(tǒng)通用的不可或缺的電源、系統(tǒng)監(jiān)控模塊及存儲器模塊。
2.2.1 可重構(gòu)數(shù)據(jù)采集與輸出控制單元
該單元作為RMS的前向、后向通道與被測控對象直接相連。其中的信號調(diào)理電路可以設(shè)計(jì)成通用形式,并根據(jù)測控對象的數(shù)量、量程、模擬/數(shù)字類型、濾波參數(shù)等進(jìn)行重定義和調(diào)整。例如可以采用可重構(gòu)PAD器件直接與模擬測試對象相連,并由主控計(jì)算機(jī)完成設(shè)計(jì)、仿真、測試,通過主控制器單元實(shí)現(xiàn)重構(gòu)。
2.2.2 可重構(gòu)FPGA單元和可重構(gòu)DSP單元
FPGA單元和DSP單元的功能可以預(yù)先根據(jù)實(shí)際測試對象的需要進(jìn)行合理劃分,并在主控計(jì)算機(jī)上以IP核的方式完成設(shè)計(jì)、仿真、測試和整合的全過程,最后的配置數(shù)據(jù)流文件預(yù)先存放于相應(yīng)的配置存儲器中(一般為SRAM或Flash存儲器)。這種靜態(tài)重構(gòu)方式適用于對配置實(shí)時性要求不太高的一般場合,選用基于SRAM的FPGA器件和通用DSP即可。如果對配置切換的實(shí)時性要求較高,則可以選用特定的適于動態(tài)配置的FPGA器件,但成本要高昂得多。
2.2.3 可重構(gòu)主控制器
主控制器單元是實(shí)現(xiàn)可重構(gòu)功能的關(guān)鍵部分,它既是測控系統(tǒng)與主控計(jì)算機(jī)數(shù)據(jù)傳遞的通道,又是數(shù)據(jù)采集與輸出控制單元、FPGA單元和DSP單元的控制中樞。在系統(tǒng)重構(gòu)模式下,它接收主控計(jì)算機(jī)的重構(gòu)指令和數(shù)據(jù),對FPGA和DSP的配置存儲器進(jìn)行在線編程;在正常測控模式下,主控制器從FPGA和DSP獲得采集和處理的數(shù)據(jù),并送主控計(jì)算機(jī)處理。
主控制器的設(shè)計(jì)可以根據(jù)系統(tǒng)規(guī)模合理選擇,可以采用通用MCU(如51系列單片機(jī))、嵌入式SoC(如ARM);也可利用FPGA器件實(shí)現(xiàn),例如選用A1tera公司的Nios軟處理器核基于SOPC方法進(jìn)行設(shè)計(jì)。
2.2.4 通信結(jié)構(gòu)
RMS通信結(jié)構(gòu)的選擇對系統(tǒng)的工作速度、實(shí)時性以及成本來說至關(guān)重要。
從通用性角度考慮,RMS的通信結(jié)構(gòu)可以根據(jù)系統(tǒng)規(guī)模的需要選擇不同的形式。大型測控系統(tǒng)可以選用專用測控總線(如GPIB、CPI、CPCI等),以標(biāo)準(zhǔn)化、模塊化插卡形式與主控計(jì)算機(jī)相連;小型系統(tǒng)則可以根據(jù)需要選用通用總線(如RS232、UART、USB、CAN總線),有選擇地添加可編程I/O口、ZigBee無線通信接口、TCP/IP協(xié)議、以太網(wǎng)接口等通信、網(wǎng)絡(luò)擴(kuò)展接口,以滿足無線通信和網(wǎng)絡(luò)測控功能擴(kuò)展的需要。不論規(guī)模大小,接口類型各異,都可用IP模塊的形式進(jìn)行設(shè)計(jì)并配置到FPGA器件上,以滿足不同應(yīng)用需要。
值得注意的是,測控系統(tǒng)的通信結(jié)構(gòu)設(shè)計(jì)不僅要包括系統(tǒng)總線的設(shè)計(jì),還包括FPGA片內(nèi)通信結(jié)構(gòu)的設(shè)計(jì)。典型的可重構(gòu)FPGA片內(nèi)通信結(jié)構(gòu)通常有片上總線和片上網(wǎng)絡(luò)兩種策略。片上網(wǎng)絡(luò)結(jié)構(gòu)雖能較好地體現(xiàn)結(jié)構(gòu)參數(shù)要求,但面積花費(fèi)巨大;而片上總線結(jié)構(gòu)憑借靈活性高、可延展、設(shè)計(jì)開銷小、帶寬要求較低、時延較短等優(yōu)點(diǎn),成為RMS的首選。考慮到FPGA的配置需要,在通信模塊、主控制器模塊和FPGA器件內(nèi)都應(yīng)設(shè)計(jì)相應(yīng)的JTAG接口,以滿足數(shù)據(jù)流配置和在線測試的需要。
2.2.5 軟件重構(gòu)
軟件重構(gòu)是作為軟硬件協(xié)同設(shè)計(jì)實(shí)現(xiàn)的測控系統(tǒng)重構(gòu)的必要內(nèi)容。傳統(tǒng)的測控軟件常常是針對具體的測控、對象和硬件資源設(shè)計(jì)的,從而限制了不同型號、不同廠家、不同硬件接口的測控器件的使用。為實(shí)現(xiàn)測控系統(tǒng)的軟件重構(gòu),應(yīng)打破傳統(tǒng)測控軟件的設(shè)計(jì)思路,采用“基于程序框架和可復(fù)用構(gòu)件”的軟件復(fù)用思路”。如圖2所示,將測控軟件劃分為測控軟件平臺和測控驅(qū)動程序兩部分,其間通過軟件平臺提供的軟件接口來實(shí)現(xiàn)動態(tài)鏈接。測控軟件平臺主要實(shí)現(xiàn)主控計(jì)算機(jī)功能的控制,以及主控計(jì)算機(jī)與測控系統(tǒng)的驅(qū)動程序之間的數(shù)據(jù)通信。
?
?
測控終端應(yīng)用軟件的可重構(gòu)、可識別包含兩個方面:其一,測控軟件平臺的可重構(gòu),即不同測控應(yīng)用的軟件平臺能夠識別相同的控制指令,準(zhǔn)確完成主控計(jì)算機(jī)分配的測控任務(wù);其二,測控驅(qū)動程序的可重構(gòu),即各種不同類型的測量、控制應(yīng)用的驅(qū)動程序可以動態(tài)鏈接到軟件平臺上,實(shí)現(xiàn)“熱拔插”。
測控軟件的重構(gòu)平臺有多種選擇:可以是專用的基于圖形化GUI的虛擬儀器軟件,如Labview(通過CLF節(jié)點(diǎn)實(shí)現(xiàn)與儀器驅(qū)動程序的接口,儀器驅(qū)動程序以動態(tài)鏈接庫的形式給出,將與儀器有關(guān)的I/0操作都封裝成函數(shù),并通過訪問USB或其他接口驅(qū)動實(shí)現(xiàn)數(shù)據(jù)的輸入、輸出);也可以采用通用的可視化軟件編程環(huán)境,如VB、VC等。對于小型、較簡單的測控系統(tǒng),推薦選用圖形化、高效的Labview。
3 基于CPCI總線的RMS的實(shí)現(xiàn)
下面給出的實(shí)例是應(yīng)用于雷達(dá)信號實(shí)時偵測的基于CPCI總線的RMS。傳統(tǒng)的雷達(dá)偵測,由于信號特征和處理方式不同,需要研制多種獨(dú)立的偵測卡(如脈沖雷達(dá)偵測卡、連續(xù)波雷達(dá)偵測卡、敵我識別信號偵測卡等十幾種設(shè)備)及對應(yīng)測控軟件。采用通用的硬件平臺,由1個CPCI工業(yè)控制計(jì)算機(jī)和2塊CPCI可重構(gòu)硬件電路板卡構(gòu)成,根據(jù)不同種類的雷達(dá)信號分別進(jìn)行FPGA和DSP的設(shè)計(jì),并將配置文件存儲在計(jì)算機(jī)中。實(shí)際工作時,針對不同的雷達(dá)信號,通過應(yīng)用軟件選擇對應(yīng)的軟硬件配置文件進(jìn)行動態(tài)可重構(gòu),達(dá)到了小型化、通用化和軟硬件可重構(gòu)化的效果,研發(fā)成本節(jié)約近70%,并縮短50%的開發(fā)周期。圖3為該系統(tǒng)的硬件框圖。
圖3中,核心器件——可重構(gòu)主控制器EP2$30是通過可重構(gòu)FPGA和DSP器件來連接信號采集與控制處理輸出部分,實(shí)現(xiàn)測控功能的控制中心通過CPCI總線與主控計(jì)算機(jī)進(jìn)行數(shù)據(jù)交換的通道。基于SOPC的設(shè)計(jì)思想.使用Altera公司的NiosII處理器IP軟核及外圍邏輯編程實(shí)現(xiàn)主控制器功能。主控制器與CPCI控制器通過PCI局部總線交換指令和數(shù)據(jù),通過自定義總線和DSP總線與FPGA和DSP交換采集和輸出數(shù)據(jù)。在系統(tǒng)重構(gòu)模式下,主控制器通過CPCI控制器接收主機(jī)的重構(gòu)指令和數(shù)據(jù),對FPGA的配置存儲器和DSP的程序存儲器進(jìn)行在線編程;同時也可以直接對FPGA進(jìn)行在線并行加載,完成系統(tǒng)的硬件重構(gòu)。在系統(tǒng)正常工作模式下,主控制器把從采集部分獲得的實(shí)時數(shù)據(jù)通過CPCI總線傳輸給主控計(jì)算機(jī),或送往DSP進(jìn)行數(shù)據(jù)處理并控制輸出。
?
?
對于數(shù)據(jù)采集模塊和控制輸出模塊,“可重構(gòu)”的含義是指其模塊組成可以根據(jù)測控需要進(jìn)行裁剪,例如可選用PAD模塊、基于FPGA實(shí)現(xiàn)的電動機(jī)轉(zhuǎn)速控制模塊、步進(jìn)電機(jī)控制模塊等。
結(jié) 語
本文根據(jù)測控系統(tǒng)的通用結(jié)構(gòu)模型和FPGA的可重構(gòu)功能特點(diǎn),提出了一種基于FPGA器件,針對嵌入式應(yīng)用有效縮短開發(fā)周期和設(shè)計(jì)與應(yīng)用成本,滿足并行性、多任務(wù)、開放化和集成化要求的RMS的平臺式設(shè)計(jì)思想,實(shí)現(xiàn)了測控系統(tǒng)“只能由廠家定義、設(shè)計(jì),用戶只能使用”模式和“單任務(wù)”模式的突破。RMS技術(shù)在工業(yè)現(xiàn)場控制、城市市政管理、智能樓宇監(jiān)控、智能家居等領(lǐng)域應(yīng)用前景廣闊,在遠(yuǎn)程重構(gòu)和網(wǎng)絡(luò)測控方面亦有研究價值。
評論
查看更多