馬世璽 楊 寒 崔新友 文 濤
(武漢烽火富電氣有限責(zé)任公司,武漢 430074)
在電力系統(tǒng)中的運(yùn)行中,需要對(duì)大量的電氣設(shè)備的數(shù)據(jù),如三相電壓、三相電流、開關(guān)量等進(jìn)行采集和遠(yuǎn)距離傳輸,電力系統(tǒng)的不斷發(fā)展也對(duì)電力數(shù)據(jù)的采集精度和傳輸?shù)臅r(shí)效性提出了越來(lái)越高的要求[1]。傳統(tǒng)的基于單片機(jī)的低端測(cè)量?jī)x表存在著數(shù)據(jù)處理能力差,模塊功能單一的缺點(diǎn),而基于DSP的中高端儀表充分利用了 DSP較強(qiáng)的數(shù)據(jù)處理能力,但又存儲(chǔ)空間和通信能力較弱的缺點(diǎn)。自2000年國(guó)際電工委員會(huì)決定將IEC 61850作為電力系統(tǒng)無(wú)縫通信體系的規(guī)約以來(lái),IEC 61850規(guī)約已經(jīng)在國(guó)內(nèi)外電力系統(tǒng)及變電站自動(dòng)化領(lǐng)域得到了逐步應(yīng)用[2]。然而,目前狀態(tài)是很多的儀表以及自動(dòng)化測(cè)控設(shè)備等還不能滿足IEC 61850的要求,在實(shí)際應(yīng)用中也存在著Modbus,IEC 61850的規(guī)約同時(shí)存在的問(wèn)題,只能滿足單一傳輸規(guī)約的設(shè)備,在使用中受到了很大的局限。針對(duì)這種狀況本文提出了基于OMAPL138的能夠滿足多種傳輸規(guī)約的數(shù)據(jù)采集和傳輸裝置的設(shè)計(jì)方案,該方案可以同時(shí)滿足兩種傳輸規(guī)約,靈活方便,具有很好的使用價(jià)值。
本設(shè)計(jì)的硬件設(shè)計(jì)基于 OMAPL138處理器,OMAPL138是德州儀器公司的一款嵌入式ARM+DSP雙內(nèi)核微處理器,外圍接口非常豐富,主要包括DDR2控制器,以太網(wǎng)控制器,異步收發(fā)器,SPI,I2C接口,液晶控制器,USB等[3]。
本設(shè)計(jì)的總體方案是微處理器 OMAPL138的通過(guò)EMIFA總線連接Nand-Flash,Nand-Flash用來(lái)存放 UBOOT,操作系統(tǒng)內(nèi)核,文件系統(tǒng),應(yīng)該用程序以及相關(guān)數(shù)據(jù);OMAPL138通過(guò)DDR2總線連接一片DDR2SDRAM,用于操作系統(tǒng)、應(yīng)用程序運(yùn)行以及臨時(shí)文件的存放。如圖1所示,OMAPL138通過(guò)SPI接口與外部模數(shù)轉(zhuǎn)換器連接實(shí)現(xiàn)模擬量的采集;通過(guò)通用異步串口(UART)實(shí)現(xiàn)RS 232和RS 485的方式復(fù)用,發(fā)送Modbus規(guī)約的采集數(shù)據(jù),用于本采集終端向后臺(tái)發(fā)送采集數(shù)據(jù)。OMAPL138通過(guò)MII接口將自身的以太網(wǎng)控制器與外部的以太網(wǎng)的物理層芯片相連,實(shí)現(xiàn)以太網(wǎng)通信,通過(guò)以太網(wǎng)接口以IEC 61850規(guī)約向后臺(tái)發(fā)送采集數(shù)據(jù)。
圖1 硬件系統(tǒng)框圖
1)模擬量采集模塊設(shè)計(jì)
本設(shè)計(jì)采用的模數(shù)轉(zhuǎn)換器是 ADI公司的AD7689,它具有 8個(gè)模擬量通道,16位的分辨率和250kSPS的采樣率[4]。AD7689將采集來(lái)的模擬量進(jìn)行模數(shù)轉(zhuǎn)換,完成數(shù)模轉(zhuǎn)換后通過(guò)SPI總線接口將數(shù)字量送入處理器進(jìn)行處理。本設(shè)計(jì)中的配置如下:
(1)ADC的電源為 5V,ADC的參考電壓為4.096V,參考電壓有內(nèi)部基準(zhǔn)源提供。
(2)ADC數(shù)字輸出的電壓為3.3V,與處理器的IO電壓保持一致。
(3)模擬輸入信號(hào)為單極性輸入,其輸入電壓由信號(hào)調(diào)理電路將互感器輸入的差分信號(hào)調(diào)整為單極性信號(hào)。
(4)數(shù)據(jù)輸出速率由處理器控制。
2)開關(guān)量采集模塊設(shè)計(jì)
開關(guān)量作為數(shù)字輸入量經(jīng)過(guò)光電隔離后,直接送入處理器OMAPL138的IO引腳,通過(guò)軟件配置將處理器的 IO引腳配置為輸入狀態(tài)采集外部的數(shù)字量,然后存入共享內(nèi)存中,進(jìn)一步通過(guò)相應(yīng)的規(guī)約上送數(shù)據(jù)。
本設(shè)計(jì)支持Modbus和IEC 61850雙重規(guī)約,可以靈活地適應(yīng)不同場(chǎng)合的通信要求。其中 Modbus規(guī)約可以采用RS 232或者RS 485方式通信,RS 232或者 RS 485可以通過(guò)軟件配置的方式實(shí)現(xiàn)復(fù)用和自動(dòng)切換。IEC 61850通信規(guī)約采用光口或者電口以太網(wǎng)方式通信。
1)RS 232/RS 485復(fù)用接口
RS 232/RS 485復(fù)用方案電路圖如圖2所示,OMAPL138的UART口的發(fā)送引腳接RS 232模塊MAX3232的發(fā)送輸入引腳和RS 485模塊MAX485的發(fā)送輸入引腳,UART口的接收引腳接RS 232模塊 MAX3232的接收輸出引腳和 RS 485模塊MAX485的接收輸出引腳。OMAPL138的兩個(gè) IO引腳經(jīng)過(guò)分別驅(qū)動(dòng)雙線圈磁保持微型切換繼電器的置位線圈和復(fù)位線圈,通過(guò)這兩個(gè)IO引腳的脈沖電平使繼電器的轉(zhuǎn)換觸點(diǎn)處于置為位狀態(tài)或者復(fù)位狀態(tài)。為提高OMAPL138的IO引腳的驅(qū)動(dòng)能力,本設(shè)計(jì)采用IO引腳驅(qū)動(dòng)三極管,三極管驅(qū)動(dòng)繼電器的方法來(lái)實(shí)現(xiàn)。這樣就能通過(guò)改變處理器的IO引腳狀態(tài)來(lái)選擇將RS 232模塊或者RS 485模塊的輸入輸出信號(hào)接通到裝置對(duì)外通信的連接線上,從而使RS 232和RS 485這兩種不同通信方式可以通過(guò)改變軟件配置的方法方便地實(shí)現(xiàn)復(fù)用。
圖2 RS 232/RS 485復(fù)用通信模塊
2)以太網(wǎng)通信接口設(shè)計(jì)
處理器OMAPL138帶有一個(gè)以太網(wǎng)控制器,支持10M/100MBps以太網(wǎng),提供的MII和RMII接口與外接的以太網(wǎng)物理層芯片連接即可實(shí)現(xiàn)以太網(wǎng)通信。本設(shè)計(jì)使用的以太網(wǎng)物理層芯片是 Micrel的KSZ8001,支持 10M/100MBps光口或者電口以太網(wǎng),OMAPL138和KSZ8001以太網(wǎng)接口部分的電路圖如圖3所示。
圖3 以太網(wǎng)通信接口電路圖
本設(shè)計(jì)的所用的電源有三種 1.2V、1.8V和3.3V,分別是處理器的內(nèi)核電壓、DDR2控制器電壓、處理器IO電壓及其他芯片工作電壓。本設(shè)計(jì)中所需要的這三種電源采用專用的電源芯片將外部的5V電源轉(zhuǎn)換而來(lái),所使用的電源轉(zhuǎn)換芯片是Intersil公司的ISL6410A和ISL65426,ISL6410A輸出1.2V,ISL65426輸出1.8V和3.3V。ISL6410A和ISL65426是Intersil公司的提供的高性能PWM調(diào)制的DC/DC電壓轉(zhuǎn)換芯片,能夠在-40~85℃的工業(yè)級(jí)溫度范圍內(nèi)提供穩(wěn)定的電壓電流輸出且具有較高的轉(zhuǎn)換效率[5-6]。這兩款芯片均集成了內(nèi)部MOSFET,且配備了合理的power-good引腳和使能引腳,極大地方便了用戶設(shè)計(jì)。在利用這兩款電源芯片進(jìn)行電源設(shè)計(jì)時(shí)需要注意以下幾點(diǎn):
1)由于處理器 OMAPL138對(duì)上電時(shí)序有特殊要求,因此必須保證1.2V先于1.8V建立完成,1.8V先于3.3V建立完成。ISL6410A的使能引腳EN上拉至5V,它的power-good引腳PG接至ISL65426的 1.8V輸出通道的電源使能引腳 EN1,ISL65426的1.8V輸出通道的power-good引腳PG1接至3.3V輸出通道的電源使能引腳EN2。這樣保證了合理的上電時(shí)序。
2)通過(guò)設(shè)置ISL6410A輸出配置引腳VSET上拉至5V,使ISL6410A在5V電源輸入的狀態(tài)下正確地輸出1.2V電壓。
3)ISL65426有2個(gè)輸出通道和6個(gè)可調(diào)節(jié)的電源輸出模塊,可以進(jìn)行獨(dú)立配置。兩個(gè)輸出通道的輸出電壓可以通過(guò)編程引腳配置;在特殊的輸出電壓要求下,輸出電壓也可以通過(guò)分壓電阻反饋進(jìn)行調(diào)節(jié)。本設(shè)計(jì)所需的1.8V和3.3V是該芯片能夠通過(guò)編程引腳提供的,因此將引腳 V1SET1、V1SET2、V2SET1和、V2SET2均上拉至5V即可。本設(shè)計(jì)在功率消耗方面 3.3V的電流消耗大于 1.8V電流消耗,因此將電流輸出配置引腳ISET1和ISET2配置為1和0。
本設(shè)計(jì)軟件部分包含ubl、uboot、linux內(nèi)核、文件系統(tǒng)、應(yīng)用程序五部分。其中ubl和uboot執(zhí)行OMAPL138的一些初始化以及內(nèi)核的加載和引導(dǎo)。本設(shè)計(jì)使用的內(nèi)核版本為 linux2.6.32,并在其中擴(kuò)展了串口驅(qū)動(dòng)。應(yīng)用程序?qū)崿F(xiàn)多種通信規(guī)約,支持ModbusRTU和IEC 61850規(guī)約上送。CPU將采集到的信號(hào)經(jīng)過(guò)算法處理后填入共享內(nèi)存,以供各規(guī)約模塊封裝報(bào)文。
本設(shè)計(jì)支持的 Modbus規(guī)約通過(guò)串口與上層設(shè)備通信,串口收發(fā)數(shù)據(jù)由內(nèi)核中串口驅(qū)動(dòng)程序?qū)崿F(xiàn)。Linux內(nèi)核的串口驅(qū)動(dòng)由底層驅(qū)動(dòng)層、線路規(guī)程、tty設(shè)備驅(qū)動(dòng)核心層三部分組成,軟件模塊架構(gòu)如圖 4所示。從圖4中可以看出,用戶空間的指令傳遞數(shù)據(jù)至底層驅(qū)動(dòng)層,經(jīng)線路規(guī)程處理調(diào)度后傳遞到tty設(shè)備驅(qū)動(dòng)核心層,從而按照指令對(duì)應(yīng)的功能操作硬件。某些情況下也可不經(jīng)過(guò)線路規(guī)程,直接經(jīng)底層驅(qū)動(dòng)傳遞到驅(qū)動(dòng)核心層進(jìn)行處理。
圖4 串口驅(qū)動(dòng)層次結(jié)構(gòu)圖
1)數(shù)據(jù)精度算法
為盡可能排除因環(huán)境干擾或其他硬件異常造成的A/D采集數(shù)據(jù)異常,本設(shè)計(jì)對(duì)采集的結(jié)果先進(jìn)行算法處理再填入共享內(nèi)存。處理流程為對(duì)連續(xù)采到的十個(gè)信號(hào)去掉最大值和最小值,其余的取平均值,作為本次采到的有效信號(hào),存入共享內(nèi)存。該算法降低了數(shù)據(jù)采集效率但同時(shí)也提高了數(shù)據(jù)可靠性,適用于對(duì)數(shù)據(jù)采樣速率要求不高的應(yīng)用環(huán)境。
2)數(shù)據(jù)傳遞
本設(shè)計(jì)為保障協(xié)議間數(shù)據(jù)傳遞效率,采用共享內(nèi)存的方式實(shí)現(xiàn)數(shù)據(jù)傳遞。各協(xié)議數(shù)據(jù)結(jié)構(gòu)實(shí)際上是同一塊物理內(nèi)存。在主進(jìn)程啟動(dòng)時(shí)會(huì)申請(qǐng)一塊內(nèi)存,隨后讀取配置文件,按照配置定義各協(xié)議數(shù)據(jù)結(jié)構(gòu)中成員對(duì)應(yīng)關(guān)系,已實(shí)現(xiàn)協(xié)議間數(shù)據(jù)傳遞。
本設(shè)計(jì)支持 ModbusRTU協(xié)議,作為終端支持上層設(shè)備通過(guò) ModbusRTU協(xié)議發(fā)送的各種操作。本設(shè)計(jì)通過(guò)RS 485或RS 232接口與上層設(shè)備進(jìn)行Modbus通信,可通過(guò)配置文件選擇支持的接口類型。程序設(shè)計(jì)時(shí)考慮到RS 485的半雙工特性,在發(fā)送與接收時(shí)應(yīng)做適量延時(shí),以確保數(shù)據(jù)收發(fā)的完整性。本系統(tǒng)還支持IEC 61850協(xié)議,通過(guò)以太網(wǎng)上從數(shù)據(jù)至后臺(tái)管理。各協(xié)議的數(shù)據(jù)均來(lái)自共享內(nèi)存,系統(tǒng)模塊框圖如圖5所示。從圖5中可以看出,兩個(gè)規(guī)約模塊均為獨(dú)立的任務(wù)進(jìn)程,即本系統(tǒng)可同時(shí)支持以上兩種規(guī)約,從而實(shí)現(xiàn)同時(shí)支持多種規(guī)約的上層設(shè)備。
圖5 數(shù)據(jù)采集與內(nèi)存共享模塊圖
本設(shè)計(jì)具有完善的故障點(diǎn)記錄設(shè)置,可將運(yùn)行過(guò)程中各種數(shù)據(jù)的異常信息及故障時(shí)間保存到 log文件中,并寫入flash保存,便于維護(hù)人員排查故障。另外本系統(tǒng)也支持?jǐn)?shù)據(jù)歷史信息記錄,可將每次變化后的數(shù)據(jù)及對(duì)應(yīng)的時(shí)間點(diǎn)記錄在 log文件中,并寫入flash。本系統(tǒng)總共支持128M的log文件存入。
為檢驗(yàn)本設(shè)計(jì)的數(shù)據(jù)采集功能以及 Modbus和IEC 61850通信的功能,采用以下方案來(lái)驗(yàn)證:通過(guò)繼電保護(hù)測(cè)試儀輸出三相電流,三相電壓和開關(guān)量等信息給本設(shè)計(jì),本設(shè)計(jì)對(duì)數(shù)據(jù)進(jìn)行采集和處理并通過(guò)Modbus和IEC 61850規(guī)約上送至PC機(jī)。對(duì)于Modbus通信的驗(yàn)證,采用PC機(jī)通過(guò)串口調(diào)試助手向本設(shè)計(jì)發(fā)送 Modbus輪詢報(bào)文,檢查設(shè)備回復(fù)數(shù)據(jù)情況。IEC 61850通信的驗(yàn)證可通過(guò)以太網(wǎng)抓包工具 MMS Ethereal抓取 MMS報(bào)文查看數(shù)據(jù)上送情況。兩種規(guī)約的上送報(bào)文的截屏分別如圖 6和圖 7所示,通過(guò)兩種規(guī)約報(bào)文和繼電保護(hù)測(cè)試儀輸出的數(shù)據(jù)進(jìn)行對(duì)比可以得知本設(shè)計(jì)能夠滿足最初的設(shè)計(jì)要求。
圖6 Modbus輪詢與回復(fù)
圖7 mms報(bào)文
本文給出了一種基于 OMAPL138的電力數(shù)據(jù)采集與多規(guī)約傳輸方案,采用了模塊化設(shè)計(jì),并能夠提供多種通信規(guī)約進(jìn)行數(shù)據(jù)傳輸,極大地方便了用戶的使用。同時(shí)也為更多的硬件功能以及規(guī)約的增加提供了軟硬件平臺(tái),具有很高的應(yīng)用價(jià)值。
[1] 季力. 基于STM32芯片的電參數(shù)測(cè)量與數(shù)據(jù)傳輸[J].自動(dòng)化與儀器儀表, 2010(3): 137-139.
[2] 何磊. IEC 61850應(yīng)用入門[M]. 北京: 中國(guó)電力出版社, 2012.
[3] Instruments T. OMAPL138 data sheet[EB/OL] [2015-04-02]. http://www.ti.com.cn/cn/lit/er/pr301m/sprz301m.pdf.
[4] Analog Devices Inc. AD7689 data sheet[EB] [2015-04-02].http://www.analog.com/media/en/technical-documentation/data-sheets/AD7682_7689.pdf.
[5] Corporation I. ISL6410A data sheet[EB/OL] [2015-04-02]. http://www.intersil.com/content/dam/Intersil/documents/isl6/isl6410-a.pdf.
[6] Corporation I. ISL65426 data sheet [EB/OL] [2015-04-02]. http://www.intersil.com/content/dam/Intersil/documents/isl6/isl65426.pdf.