胡練武 江漢紅 芮萬智 王 潔
(海軍工程大學(xué)電氣與信息工程學(xué)院 武漢 430033)
在高速磁懸浮列車和其他高速直線推進系統(tǒng)中,動力沖程一般較長。為提高電機效率、降低輸入容量,需采用分段供電網(wǎng)絡(luò)形式,通過分段供電開關(guān)控制直線電機各段初級(定子)串連分段運行。此類高速直線推進系統(tǒng)一般工作于高電壓和強電流下,且分段供電的切換開關(guān)需頻繁通斷,故工程上通常采用無觸點的雙向可控硅交流開關(guān)(即晶閘管組件,包含正反2個晶閘管)作為各段初級繞組的開關(guān)器件。高速直線推進系統(tǒng)中,直線電機有三相繞組,每相的長初級被分成多段,這樣,會存在大量的晶閘管開關(guān)組件。而它們的性能狀態(tài)將直接影響到高速直線推進系統(tǒng)運行的可靠性。因此,對分段供電開關(guān)的故障狀態(tài)進行在線監(jiān)測顯得尤為重要。
高速直線推進系統(tǒng)中,直線電機有三相繞組,每相的長初級繞組被分成N段,采用雙向可控硅(晶閘管)交流開關(guān)對各段繞組進行通、斷電控制。如圖1所示。
無故障情況下,給晶閘管的控制極加適當(dāng)?shù)挠|發(fā)電壓,可以使晶閘管正常導(dǎo)通。但是如果晶閘管極間發(fā)生短路或者超溫,那么將導(dǎo)致晶閘管的損壞,不能正常導(dǎo)通。
圖1 直線電機分段供電開關(guān)
基于集散測控的設(shè)計思想,這里將監(jiān)測系統(tǒng)設(shè)計為兩級:第一級直接面向直線電機的分段供電開關(guān),由若干個分布監(jiān)測器組成,基于ARM9設(shè)計,用于分散監(jiān)測;第二級通過計算機網(wǎng)絡(luò)對第一級采集的直線電機分段供電開關(guān)數(shù)據(jù)進行提取匯集,由一個主監(jiān)測器組成,基于PC104設(shè)計,用作監(jiān)測數(shù)據(jù)中心。
圖2 直線電機分段供電開關(guān)狀態(tài)監(jiān)測系統(tǒng)總體結(jié)構(gòu)
4.1.1 分布監(jiān)測器主體電路設(shè)計
在本系統(tǒng)中,分布監(jiān)測器主要由ARM9微處理器、電源及復(fù)位電路、FPGA采集電路、SDRAM/FLASH存儲電路、三線調(diào)試串口電路、RS485串口電路、CAN串口電路、實時工業(yè)以太網(wǎng)接口電路等功能模塊組成,如圖3所示。
分布監(jiān)測器以工業(yè)級ARM9微處理器為核心進行設(shè)計,用FPGA芯片作為ARM9微處理器的協(xié)處理器,給系統(tǒng)擴展了105個并行I/O口,直線電機分段供電開關(guān)的多路T TL狀態(tài)量通過FPGA的并行I/O口進入監(jiān)測器。ARM9微處理器讀取FPGA上I/O寄存器的狀態(tài)數(shù)據(jù),暫存在SDRAM中,并對狀態(tài)數(shù)據(jù)進行分析處理,然后打包成實時工業(yè)以太網(wǎng)數(shù)據(jù)幀發(fā)送給監(jiān)測數(shù)據(jù)中心。
圖3 分布監(jiān)測器主體電路結(jié)構(gòu)
1)SDRAM/FLASH存儲電路設(shè)計
SDRAM是掉電易失性RAM存儲器,主要用來存放程序運行過程中產(chǎn)生的指令和數(shù)據(jù)[1]。本系統(tǒng)采用兩片SDRAM 芯片對ARM9微處理器的SRAM進行擴展。單片SDRAM 芯片是16位的,容量32MB,采用兩片則可以擴展到32位,64MB。連接電路,如圖4所示。
圖4 SDRAM存儲電路
閃存是掉電非易失性ROM存儲器,可用來固化嵌入式操作系統(tǒng)的引導(dǎo)程序、芯片驅(qū)動程序以及存儲用戶編寫的應(yīng)用軟件和其他在系統(tǒng)掉電后需要保存的數(shù)據(jù)(如每個I/O所對應(yīng)的分段供電開關(guān)序列號)。在系統(tǒng)設(shè)計時,我們?yōu)锳RM9微處理器擴展了NOR FLASH。連接電路,如圖5所示。
2)TT L狀態(tài)量信號采集電路設(shè)計
故障狀態(tài)檢測與識別:檢測通道的故障(正常)信號以高(低)電平方式指示,其一旦有故障產(chǎn)生就會保持高電平不變直到故障排除。直線電機分段供電開關(guān)的狀態(tài)信號輸出如表1所示。
圖5 NOR FLASH存儲電路
表1 分段供電開關(guān)的狀態(tài)信號識別與輸出
圖6 FPGA與ARM9的接口電路
每個分布監(jiān)測器監(jiān)測36個分段供電開關(guān),即 72個 T TL狀態(tài)量。分布監(jiān)測器通過可編程I/O口對這些TT L狀態(tài)量信號進行采集。由于 ARM9上的可編程I/O端口數(shù)量有限,不能滿足大量T TL狀態(tài)量信號的同步采集需求。本系統(tǒng)采用工業(yè)級FPGA芯片作為ARM9微處理器的協(xié)處理器,給系統(tǒng)擴展了105個可用于 T TL狀態(tài)量信號采集的 I/O。FPGA與ARM9主要通過配置線、數(shù)據(jù)總線、地址總線、控制信號線相連,如圖6所示。
4.1.2 分布監(jiān)測器組網(wǎng)電路設(shè)計
1)三線調(diào)試串口電路設(shè)計
圖7 三線調(diào)試串口(RS232)電路
三線調(diào)試串口主要是作為ARM9微處理器與用于嵌入式開發(fā)的宿主機PC進行數(shù)據(jù)交換的接口。連接電路,如圖7所示。
2)實時工業(yè)以太網(wǎng)接口電路設(shè)計
圖8 實時工業(yè)以太網(wǎng)接口電路
工業(yè)以太網(wǎng)EtherNet/IP,是一種適用于工業(yè)環(huán)境的通訊體系,能夠在廣闊的區(qū)域中支持大量現(xiàn)場設(shè)備的連接[2]。 本 系 統(tǒng) 在ARM9微處理器上擴展了一個50芯的插槽,作為與Ethernet/IP組網(wǎng)模塊COMX的接口。Ethernet/IP組網(wǎng)模塊COMX與ARM9之間通過Ethernet/IP組網(wǎng)模塊COMX內(nèi)的雙口RAM共享數(shù)據(jù)。連接電路,如圖8所示。
PC104系統(tǒng)作為一種工業(yè)計算機系統(tǒng)目前在工業(yè)控制領(lǐng)域的應(yīng)用越來越廣。由于PC104規(guī)范采用總線插接結(jié)構(gòu),使得PC104系統(tǒng)具有結(jié)構(gòu)緊湊、應(yīng)用靈活、整機功耗低等優(yōu)點。本設(shè)計中,采用一臺PC104工控計算機作為監(jiān)測系統(tǒng)的數(shù)據(jù)中心。該PC104工控機采用了Mobile Intel Pentium M ULV 773處理器,頻率為 1300MHz。板載256M的DDR內(nèi)存,4G TF卡,支持 USB 2.0和12通道COM口,標(biāo)準(zhǔn)VGA視頻輸出接口,LCD液晶顯示。主要硬件組成,如圖9所示。
圖9 監(jiān)測中心硬件組成框圖
其中,處理器通過PC104擴展總線與 Ethernet-IP組網(wǎng)模塊相連,使PC104工控機支持實時工業(yè)以太網(wǎng)通信。PC104工控機作為監(jiān)測數(shù)據(jù)中心,接收各分布監(jiān)測器上傳的狀態(tài)數(shù)據(jù),并進行分析和處理,提供給用戶。
本系統(tǒng)在WIN CE嵌入式操作系統(tǒng)下,實現(xiàn)了TT L狀態(tài)量信號的采集和通信功能。主要的軟件功能模塊有:基于FPGA的狀態(tài)量采集模塊、基于ARM9的FPGA設(shè)備驅(qū)動模塊、分布監(jiān)測器主程序、監(jiān)測數(shù)據(jù)中心主程序等。
在QuartusII軟件平臺上進行開發(fā),采用VHDL語言編寫。代碼實現(xiàn)如下:
1)實體說明(Entity):描述 FPGA 的輸入、輸出端口信號:CS、rd、wr、data(15 dow nto 0)、address(3 downto 0)、T TLsignals(120 downto 0)。
2)構(gòu)造體描述:設(shè)計I/O數(shù)據(jù)寄存器,用來暫存TT Lsignals(120 downto 0)對應(yīng)引腳的電平狀態(tài);針對ARM9的總線讀寫時序設(shè)計了FPGA的讀數(shù)據(jù)進程和寫數(shù)據(jù)進程。
在Platform Builder4.2開發(fā)環(huán)境下,對FPGA設(shè)備驅(qū)動程序進行開發(fā)。FPGA驅(qū)動程序采用標(biāo)準(zhǔn)流式驅(qū)動結(jié)構(gòu)進行設(shè)計[3]。主要包括以下9個函數(shù):
1)DWORD FPGA_Open()函數(shù),用于打開FPGA設(shè)備驅(qū)動程序。當(dāng)ARM9的監(jiān)測器主程序執(zhí)行CreatFile()函數(shù)時,系統(tǒng)將調(diào)用FPGA_Open()打開FPGA設(shè)備。
2)BOOL FPGA_Close()函數(shù),用于關(guān)閉FPGA驅(qū)動程序的事例。當(dāng)監(jiān)測器主程序通過Close-Handle()函數(shù)來調(diào)用 FPGA_Close()后,驅(qū)動程序引用的事例將不再有效。
3)DWORD FPGA_Init()函數(shù):當(dāng)監(jiān)測器主程序開始使用FPGA設(shè)備時,設(shè)備管理器通過ActivateDeviceEx()函數(shù)調(diào)用FPGA_Init()來初始化FPGA設(shè)備。
4)BOOL FPGA_Deinit()函數(shù):當(dāng)需要卸載FPGA驅(qū)動時,設(shè)備管理器會調(diào)用該函數(shù)來卸載FPGA驅(qū)動程序。
5)DWORD FPGA_Read()函數(shù):當(dāng)FPGA 驅(qū)動程序被打開后,監(jiān)測器主程序可以使用ReadFile()函數(shù)對FPGA設(shè)備進行讀操作。操作成功,返回實際讀取的字節(jié)數(shù),如果失敗,則返回-1。
6)DWORD FPGA_Write()函數(shù):當(dāng) FPGA驅(qū)動程序被打開后,監(jiān)測器主程序可以使用Write-File()對FPGA設(shè)備進行寫操作。
7)BOOL FPGA_IOControl()函數(shù):應(yīng)用程序使用DeviceIOControl()函數(shù)來通知操作系統(tǒng)調(diào)用這個函數(shù)。通過參數(shù)dwCode來通知FPGA驅(qū)動程序要執(zhí)行的操作。
8)void FPGA_PowerDown()函數(shù):電源管理。
9)void FPGA_PowerUp()函數(shù):電源管理。
在Microsoft embedded Visual C++4.0開發(fā)環(huán)境下,對監(jiān)測器主程序進行開發(fā)。監(jiān)測器主程序主要包括以下幾個功能模塊:FPGA驅(qū)動的加載、網(wǎng)絡(luò)連接及參數(shù)的設(shè)置、數(shù)據(jù)采集及發(fā)送、退出監(jiān)測。由于本系統(tǒng)對數(shù)據(jù)的安全性要求較高,所以我們采用流式套接字,用TCP協(xié)議傳輸分段供電段開關(guān)的狀態(tài)數(shù)據(jù)。軟件流程如圖10所示。
圖10 分布監(jiān)測器主程序的軟件流程
監(jiān)測數(shù)據(jù)中心(RTU)主程序運行于PC104,在VC++開發(fā)環(huán)境下編寫。監(jiān)測數(shù)據(jù)中心(RTU)主程序主要實現(xiàn)以下功能:1)連接分布監(jiān)測器;2)通過以太網(wǎng)接收分布監(jiān)測器上傳的狀態(tài)數(shù)據(jù);3)對分段供電開關(guān)的狀態(tài)數(shù)據(jù)進行分析、處理;4)通過狀態(tài)矩陣將分段供電開關(guān)的狀態(tài)直觀的顯示給用戶。軟件流程如圖11所示。
圖11 監(jiān)測數(shù)據(jù)中心主程序的軟件流程
測試一
分段供電開關(guān)狀態(tài)正常,無故障信號輸入。監(jiān)測數(shù)據(jù)中心顯示結(jié)果如圖12所示。
注:狀態(tài)矩陣中的綠色方格表示對應(yīng)的分段供電段開關(guān)的狀態(tài)正常,紅色表示短路狀態(tài),白色表示超溫狀態(tài),黃色表示兩種故障狀態(tài)同時存在。
測試二
4號分段供電開關(guān)輸入超溫信號,15號分段供電開關(guān)輸入短路信號和超溫信號,26號分段供電開關(guān)輸入短路信號,監(jiān)測數(shù)據(jù)中心顯示結(jié)果如圖13所示。
測試三
20號和21號分段供電開關(guān)輸入超溫信號,34號和35號分段供電開關(guān)輸入短路信號,監(jiān)測數(shù)據(jù)中心顯示結(jié)果如圖14所示。
實測結(jié)果表明,該系統(tǒng)能夠準(zhǔn)確、可靠的對連接在分布監(jiān)測器上的36個分段供電開關(guān)的超溫和短路兩種故障狀態(tài)進行在線實時監(jiān)測。
本文采用ARM9微處理器實現(xiàn)了對長初級短次級直線電機分段供電開關(guān)的狀態(tài)監(jiān)測。系統(tǒng)采用ARM9加FPGA的方式進行I/O擴展,由FPGA上的高速并行I/O完成對直線電機分段供電開關(guān)的超溫和短路兩種狀態(tài)量的采集,具有速度快、精度高的優(yōu)勢,狀態(tài)采集實時性達1ms。數(shù)據(jù)通信上,本系統(tǒng)在ARM9微處理器上實現(xiàn)了實時工業(yè)以太網(wǎng)通信,保證了分布監(jiān)測器與監(jiān)測數(shù)據(jù)中心進行數(shù)據(jù)通信的實時性和可靠性。
[1]周立功,等.ARM嵌入式系統(tǒng)教程[M].北京:北京航空航天大學(xué)出版社,2005:33~71
[2]李正軍.現(xiàn)場總線與工業(yè)以太網(wǎng)及其應(yīng)用系統(tǒng)設(shè)計[M].北京:北京人民郵電出版社,2006,2
[3]周立功,等.ARM&WinCE實驗與實踐[M].北京:北京航空航天大學(xué)出版社,2007,7
[4]高麗,林里,孔若英.EtherNet/IP在工業(yè)控制領(lǐng)域的應(yīng)用研究[J].開發(fā)研究與設(shè)計技術(shù),2007(2):123~125
[5]劉瑞安.嵌入系統(tǒng)特征、研究概況與設(shè)計實現(xiàn)[J].自動化與儀器表,2004(3):5~8
[6]鹿海霞.嵌入式振動信號采集網(wǎng)絡(luò)通信設(shè)計[D].東南大學(xué)碩士學(xué)位論文,2006:11
[7]林長青,孫勝利.基于FPGA的多路高速數(shù)據(jù)采集系統(tǒng)[J].電測與儀表學(xué)報,2005,42(5):52~54
[8]夏婷,等.嵌入式狀態(tài)監(jiān)測與故障診斷裝置的設(shè)計[J].微計算機信息(測控自動化),2008(4):1~6
[9]Bimal K Bose.M odern Power Electronics and AC Drives[M].PH PTR,2002
[10]XU Zheng,ZHANG Gui-bin,LIU Hai-feng.The Controllable Impedance Range of TCSC and Its TCR Reactance Constraints[C]//Power Engineering Society Summer Meeting,IEEE,2001:939~943