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