俞慶,姜文剛
(江蘇科技大學 電子信息學院,江蘇 鎮(zhèn)江 212003)
船舶電網(wǎng)屬于微電網(wǎng),其電站容量小,電壓變化頻繁[1,2],為掌握船舶電網(wǎng)實時運行狀況,分析船舶電網(wǎng)電能質(zhì)量[1,3],實現(xiàn)船電設備及配電支路的功率監(jiān)測[4,5],保證全船生產(chǎn)和生活的用電需要,故需要對船舶電網(wǎng)展開實時監(jiān)測。
本文設計了一種基于FPGA和ARM的船舶電網(wǎng)參數(shù)監(jiān)測裝置。該裝置將FPGA的并行運算能力和ARM芯片的多任務處理能力相結(jié)合,可以實時在線監(jiān)測電網(wǎng)電壓、電流、頻率、30次內(nèi)的電壓和電流諧波、有功功率、無功功率等電力參數(shù),對進一步提高船舶電網(wǎng)的自動化水平、提高供電的安全性和可靠性具有一定意義。
監(jiān)測裝置主要由信號調(diào)理電路、過零檢測電路、鎖相倍頻電路、模數(shù)轉(zhuǎn)換器、FPGA處理器、ARM處理器以及相關外圍電路構成。監(jiān)測裝置的核心是FPGA和ARM處理器,兩者各司其職,F(xiàn)PAG實現(xiàn)數(shù)據(jù)采集和諧波計算,ARM處理器則完成通訊、顯示、人機交互等任務層的功能。諧波參數(shù)的計算采用了目前主流的快速傅里葉變換算法(FFT)實現(xiàn)[6,7],不同的是該監(jiān)測裝置在FPGA內(nèi)部建立了一個硬件FFT處理機。該處理機在50 MHz的時鐘下,完成一次512點的FFT運算只需65.7 μs,因而可實時在線計算六路電網(wǎng)信號的諧波。采用FPGA+ARM雙處理器的結(jié)構比采用單處理器如ARM或DSP擁有更快的處理速度,提高了檢測裝置的實時性。監(jiān)測裝置的總體結(jié)構如圖1所示。
圖1 監(jiān)測裝置總體結(jié)構框圖
監(jiān)測裝置設計了RS232接口模塊和CAN接口模塊,可以同時用于本地通訊和組建CAN網(wǎng)絡進行遠程通訊。另外監(jiān)測裝置擴展了溫濕度傳感器、開關量輸入輸出模塊,分別可用于環(huán)境溫濕度的監(jiān)測,船舶配電板開關量信號的輸入以及船舶配電板開關量信號的控制。
該部分電路主要功能是將互感器輸出的交流信號轉(zhuǎn)換成ADS7864可以接受的電壓范圍,并進行抗混疊濾波,單路信號調(diào)理電路如圖2所示。
電路從左到右依次分為電流采樣、抗混疊濾波、電平提升三個部分。文中使用的電壓互感器型號為TV16E,電流互感器型號為TA1100,二者將電網(wǎng)電壓和電流均線性轉(zhuǎn)換成電流信號輸出,故需先將該電流信號通過取樣電阻轉(zhuǎn)換為電壓信號。在設計硬件時,文中采用了監(jiān)測裝置與互感器分離的設計,這樣不僅隔開了強電與弱電,減少了干擾,并且可以針對不同容量的電網(wǎng),可方便更換不同型號的互感器。
圖2 信號調(diào)理電路
圖中MAX291對采樣前的信號進行抗混疊濾波,防止使用FFT算法計算諧波時出現(xiàn)頻譜混疊。MAX291是一種基于開關電容原理的八階巴特沃斯型低通濾波器,其3dB截止頻率可在0.1~25kHz之間選擇,且擁有陡斜的過渡帶和很高平坦度的通帶[8]。MAX291只需一個時鐘驅(qū)動電路工作,該時鐘的頻率應為3dB截止頻率的100倍。
圖2右端部分電路為電平提升電路。由運放的虛短、虛斷特性可以計算出該部分電路的輸出為。根據(jù)圖中參數(shù)即可得UAS=Ui+Vref,其中Ui為濾波器輸出電壓,Vref為2.5 V參考電壓,故模數(shù)轉(zhuǎn)換器可接受-2.5~+2.5 V的雙極性電壓輸入。
考慮到三相電網(wǎng)的缺相可能會造成采樣觸發(fā)信號丟失,使監(jiān)測裝置無法工作,故將電網(wǎng)三相電壓信號疊加,再對疊加后的信號進行過零檢測。
圖3 過零檢測電路
由圖3可知,U4的輸出電壓為Uo=UA+UB-UC,對于三相電網(wǎng)有UA+UB+UC=0,故Uo=-2UC,即輸出信號的頻率與電網(wǎng)信號的頻率是一致的。根據(jù)三相電網(wǎng)的矢量運算規(guī)則,進一步可以看出無論缺哪一相或者哪兩相,Uo輸出信號的頻率與電網(wǎng)頻率均保持一致。所以即使在缺相的情況下,該電路均能產(chǎn)生觸發(fā)信號,保證了監(jiān)測裝置的可靠運行。U4的輸出經(jīng)比較器和光耦電路,輸出0~5 V的方波信號,作為鎖相倍頻電路的輸入。
在使用FFT算法計算諧波時,為了減少頻譜泄露,提高檢測精度,需要對電網(wǎng)信號進行同步采樣。實現(xiàn)同步采樣最方便的方法是使用硬件鎖相環(huán)對電網(wǎng)信號進行倍頻,產(chǎn)生同步于電網(wǎng)信號的采樣觸發(fā)信號,圖4的電路即實現(xiàn)了該功能。
過零比較電路產(chǎn)生的方波信號輸出到由CD4046和CD4020構成的鎖相倍頻電路的輸入端,而鎖相倍頻電路的輸出是與電網(wǎng)頻率同步的倍頻信號,用以觸發(fā)AD同步采樣。這里鎖相倍頻電路的輸出信號沒有直接連接到模數(shù)轉(zhuǎn)換器的采樣觸發(fā)引腳,而是輸入到FPGA,由FPGA控制其完成數(shù)據(jù)采集。
圖4 鎖相倍頻電路
采樣多路信號大多是通過模擬開關公用一個AD轉(zhuǎn)換器,分時對各路信號進行采樣和轉(zhuǎn)換。這樣不僅電路復雜,而且難以避免采樣的孔徑時間以及器件間的影響引起的誤差。因此該監(jiān)測裝置選用了可以同步采樣六個通道信號的模數(shù)轉(zhuǎn)換器——ADS7864,在硬件上杜絕了分時采樣造成各相信號之間不同步的問題,因而該器件非常適合于電機、三相電網(wǎng)的監(jiān)控[9]。
ADS7864的工作電源分為模擬電源和數(shù)字電源,為減少轉(zhuǎn)換噪聲,提高轉(zhuǎn)換精度,模擬電源和數(shù)字電源需單點共地。ADS7864數(shù)字電源為5V,而FPGA的IO輸出電壓最高為3.3 V,為避免使用電平轉(zhuǎn)換芯片,將AD輸出給FPGA的信號串入470 ?的限流電阻,防止損壞FPGA端口,同時FPGA經(jīng)過100 ?電阻將相關信號輸出給AD芯片。經(jīng)樣機實際驗證,電路工作正確可靠。
圖5 FPGA電路圖
圖5顯示了FPGA內(nèi)部需要實現(xiàn)的功能框圖。根據(jù)ADS7864工作時序所設計的AD采樣控制器,在倍頻信號的觸發(fā)下控制AD芯片完成三相電壓和三相電流六個電網(wǎng)信號數(shù)據(jù)的采集任務。傳統(tǒng)上采樣控制是基于微處理器的中斷方式實現(xiàn)的,由于進入中斷服務程序時間的不確定,會造成采樣間隔的微小變化,并且需要不停地打斷處理器原有程序的執(zhí)行,降低了程序的執(zhí)行效率。該監(jiān)測裝置使用FPGA以硬件的方式控制AD采樣,相對于傳統(tǒng)方式,可以做到嚴格的實時采樣,解放了后級處理器,使其專注于完成更高級的系統(tǒng)任務,大大提高了監(jiān)測裝置的實時性。
在內(nèi)部讀寫控制邏輯模塊的協(xié)調(diào)和控制下,通過AD采集到的數(shù)據(jù)被寫入到FPGA內(nèi)部定制的輸入數(shù)據(jù)雙口RAM中,同時FFT處理機從該RAM中讀取數(shù)據(jù),經(jīng)過FFT處理機運算后,結(jié)果數(shù)據(jù)再寫入到輸出數(shù)據(jù)雙口RAM中,以供后繼的ARM處理器讀取。另外采樣到的原始數(shù)據(jù)也會通過一個數(shù)據(jù)通道傳送給輸出數(shù)據(jù)雙口RAM。
ARM處理器通過其特有的靜態(tài)存儲器控制器(FSMC)接口,以總線的方式訪問輸出數(shù)據(jù)雙口RAM。這種方式相對使用基于程序控制普通IO口模擬總線信號讀寫數(shù)據(jù)的方式要高效得多。圖中FSMC_NE3、FSMC_NWE、FSMC_NOE、FSMC_A[0..12]、FSMC_D[0..15]組成了FSMC接口的信號線。DataRdy作為一個輸出信號,用以指示FPGA內(nèi)部是否有已經(jīng)處理好的數(shù)據(jù),該信號連接到ARM處理器的外部中斷引腳。
監(jiān)測裝置選用了一款Cortex-M3內(nèi)核的ARM芯片——STM32F103ZET6。該處理器最高可工作在72 MHz的主頻下,同時內(nèi)部擁有512KB的Flash和64KB的RAM。除此之外,處理器內(nèi)部還集成了多達5個USART控制器、一個bxCAN控制器、一個全速的USB2.0 接口、3個SPI接口、2個I2C接口以及AD、DA等豐富的外設[10],使其滿足工業(yè)領域的一般應用需要。
監(jiān)測裝置設計了RS232和CAN兩種通訊接口。RS232接口主要用于本地通訊,而CAN接口則用于遠程監(jiān)控。船舶上CAN總線是一種使用非常廣泛的現(xiàn)場總線[11,12],故監(jiān)測裝置選擇了CAN總線作為遠程通訊方式。STM32F103ZET6內(nèi)部已經(jīng)集成了支持CAN2.0A和CAN2.0B協(xié)議的bxCAN控制器,因此要實現(xiàn)CAN通訊,只需再外接一個CAN收發(fā)器??紤]到需要工作在3.3V電壓下,這里選用了與常用的PCA82C250引腳兼容的VP230來實現(xiàn)CAN收發(fā)器的功能。
除此之外,監(jiān)測裝置還有電源模塊、LCD接口電路、溫濕度傳感器電路、開關量輸入、開關量輸出、用戶按鍵輸入、JTAG下載等電路模塊,在此不再做一一介紹。
監(jiān)測裝置的程序包含F(xiàn)PGA程序和ARM程序。FPGA程序的開發(fā)是在ISE10.1集成開發(fā)環(huán)境下,使用VHDL硬件描述語言實現(xiàn)的。程序分為AD采樣控制器模塊、FFT處理機模塊、雙口RAM讀寫控制模塊以及協(xié)調(diào)這些模塊工作的控制邏輯模塊,這些電路模塊在系統(tǒng)時鐘的作用下,并行工作,大大提高了監(jiān)測裝置的實時性。
FPGA采集到的原始數(shù)據(jù)以及FFT運算結(jié)果以中斷的方式通知ARM處理器讀取,以實時計算電壓電流有效值、各次諧波幅值、電網(wǎng)頻率、有功功率、無功功率、功率因數(shù)等測量參數(shù)。所得結(jié)果通過CAN總線發(fā)送到監(jiān)控主機,同時也可在本地液晶屏上實時顯示。ARM處理器工作在任務層,其程序結(jié)構總體上劃分為設置功能模塊、測量功能模塊,分析功能模塊、統(tǒng)計功能模塊,通訊模塊以及前臺中斷程序模塊,各大模塊又由若干子模塊構成。圖6是ARM處理器的程序結(jié)構圖。
圖6 ARM處理器程序結(jié)構圖
文本詳細介紹了采用FPGA和ARM雙處理器技術的一種船舶電網(wǎng)參數(shù)監(jiān)測與分析裝置的設計與實現(xiàn)?;谠摫O(jiān)測裝置,可以實時在線監(jiān)測船舶電力系統(tǒng)三相電網(wǎng)的電壓、電流、頻率、諧波、有功功率、無功功率等電力參數(shù),滿足船舶電網(wǎng)的實時監(jiān)測需要,為生產(chǎn)和生活用電提供保障。
[1] 壽海明, 冀路明, 回志澎. 船舶電力系統(tǒng)的電能質(zhì)量問題[J]. 船電技術, 2006,26(6): 19-21.
[2] 許曉彥, 何敏, 吳衛(wèi)民. 船舶電力推進系統(tǒng)電壓質(zhì)量監(jiān)測研究[J]. 儀器儀表學報, 2010,31(8): 155-158.
[3] 許曉彥, 石晴晴. 電力推進船舶電網(wǎng)提高電能質(zhì)量方法研究[J]. 電氣技術, 2010,8: 54-57.
[4] 龔喜文, 鄭元璋, 石林龍. 船舶PMS控制器設計及關鍵技術研究[J]. 上海船舶運輸科學研究所學報,2010, 33(2): 83-87.
[5] 李建. 基于ARM的能量管理系統(tǒng)顯示終端[J]. 上海船舶運輸科學研究所學報, 2008,31(1): 35-44.
[6] 介海民, 鄢圣茂, 宋立忠等基于DSP的船舶電力監(jiān)測系統(tǒng)設計[J]. 艦船電子工程, 2007,27(2): 186-187.
[7] 周襟,徐正喜,姜波等. 一種新型多路三相無中線電力參數(shù)測量裝置[J]. 船電技術, 2009,29: 34-38.
[8] MAX291數(shù) 據(jù) 手 冊. [EB/OL]. http: //datasheets.maximintegrated. com/en/ds/MAX291-MAX296. pdf
[9] ADS7864數(shù)據(jù)手冊. [EB/OL]. http: //www. ti. com.cn/cn/lit/ds/sbas141a/sbas141a. pdf
[10] STM32F103ZET6數(shù)據(jù)手冊. [EB/OL]. http: //www.st.com/internet/com/TECHNICAL_RESOURCES/TECH NICAL_LITERA-TURE/DATASHEET/CD00191185.pdf
[11] 楊澤宇, 蔡冬林. 基于CAN總線機艙智能監(jiān)控儀表的設計[J]. 中國造船, 2009,50(4): 135-140.
[12] 黃瑋. 基于CAN總線技術的機艙報警系統(tǒng)[J]. 儀表技術, 2009,9: 58-59.