,
(1. 江蘇農(nóng)牧科技職業(yè)學(xué)院,泰州 225300; 2.蘇州大學(xué))
RTU(Remote Terminal Unit,遠(yuǎn)動(dòng)終端裝置)廣泛應(yīng)用于各個(gè)行業(yè),尤其是電力自動(dòng)化系統(tǒng),承擔(dān)各種遠(yuǎn)動(dòng)信息的“上傳下達(dá)”工作,是電力系統(tǒng)實(shí)現(xiàn)遠(yuǎn)方數(shù)據(jù)采集與監(jiān)控的重要設(shè)備[1]。道路照明自動(dòng)化控制系統(tǒng)也屬于電力自動(dòng)化控制系統(tǒng)中的一種,在該系統(tǒng)中,RTU承擔(dān)道路照明線路及設(shè)備的交流電壓、電流、功率及功率因數(shù)的模擬量數(shù)據(jù)采集,交流接觸器開(kāi)關(guān)數(shù)字量輸出控制以及各種開(kāi)關(guān)量的狀態(tài)輸入采集等功能。這些功能可以簡(jiǎn)化為遙測(cè)、遙控和遙信功能,遙測(cè)主要進(jìn)行模擬量信號(hào)采集,遙控主要通過(guò)數(shù)字量輸出進(jìn)行線路開(kāi)閉控制,遙信主要將收集的被監(jiān)測(cè)設(shè)備的狀態(tài)信號(hào)傳遞給控制中心。
在RTU遙信中,涉及到的設(shè)備較多,如交流接觸器、斷路器、自動(dòng)保護(hù)裝置、調(diào)壓裝置等,這些設(shè)備運(yùn)行狀態(tài)一般有兩種(關(guān)閉狀態(tài)和開(kāi)啟狀態(tài)),RTU進(jìn)行狀態(tài)采集都是通過(guò)讀取開(kāi)關(guān)量輸入狀態(tài)來(lái)獲得。
由于遙信功能中需要獲取的狀態(tài)很多,因此在道路照明RTU中,設(shè)計(jì)16路開(kāi)關(guān)量輸入通道,以滿(mǎn)足遙信功能需求。道路照明RTU采用的微處理器是NXP公司生產(chǎn)的MC9S08AW60[2](以下簡(jiǎn)稱(chēng)AW60)芯片,該芯片共44個(gè)引腳,除去其他功能引腳,通用輸入輸出(GPIO)引腳僅剩余8個(gè),無(wú)法滿(mǎn)足16路開(kāi)關(guān)量輸入讀取的要求,因此必須通過(guò)接口擴(kuò)展的方式才能滿(mǎn)足需求。
PCF8574是NXP公司推出的一款帶有I2C總線接口的遠(yuǎn)程I/O擴(kuò)展芯片。該芯片包含8位準(zhǔn)雙向端口、100 kHz速率的I2C總線接口以及中斷輸出引腳[3]。中斷輸出引腳可與MCU中斷邏輯相連,發(fā)送中斷信號(hào)。PCF8574的引腳A0~A2為芯片地址輸入線,P0~P7為8位輸入/輸出引腳,SDA和SCL為I2C總線數(shù)據(jù)引腳和時(shí)鐘信號(hào)引腳。
選擇PCF8574芯片用于道路照明RTU中遙信開(kāi)關(guān)量輸入接口的擴(kuò)展,通過(guò)微處理器AW60的I2C總線接口與其相連,同時(shí)對(duì)于運(yùn)行過(guò)程中遇到的干擾信號(hào)進(jìn)行軟件方面的抗干擾處理,使道路照明RTU遙信功能不僅滿(mǎn)足實(shí)際要求,而且在可靠性方面得到保障。
圖2 主機(jī)從從機(jī)讀數(shù)據(jù)
I2C總線是由Philips公司開(kāi)發(fā)的兩線式串行總線, 用于連接微控制器及其外圍設(shè)備,具有接口線少、 控制方式簡(jiǎn)單、器件封裝形式小、通信速率較高等優(yōu)點(diǎn)[4]。
AW60芯片具有1個(gè)I2C總線接口,與PCF8574連接,同時(shí)道路照明RTU遙信開(kāi)關(guān)量輸入通道必須使用光耦進(jìn)行隔離,以保證RTU控制板運(yùn)行不受干擾,遙信輸入通道共16路,其中遙信開(kāi)關(guān)量輸入檢測(cè)電路如圖1所示。
圖1 遙信開(kāi)關(guān)量輸入檢測(cè)電路
圖1中J1為遙信接線端子,遙信外接開(kāi)關(guān)為無(wú)源觸點(diǎn),因此由道路照明RTU電源部分供給,為保障可靠性,此12 V電源與芯片5 V電源完全隔離。
發(fā)光二極管D1用來(lái)指示遙信外接開(kāi)關(guān)是否閉合,若閉合則D1亮,斷開(kāi)則D1暗。二極管D1和電容C1為保護(hù)和濾波使用。光耦U1用來(lái)進(jìn)行隔離,外界信號(hào)可能帶有較強(qiáng)干擾信號(hào),因此必須借助光耦才能保護(hù)核心電路板芯片正常工作不受干擾。
U2芯片PCF8574連接光耦輸出引腳,若遙信外接開(kāi)關(guān)閉合則檢測(cè)到電平信號(hào)為0,若斷開(kāi)則檢測(cè)到電平信號(hào)為1。A0~A2三個(gè)引腳為地址輸入線,U2的地址為000,則在U3芯片AW60訪問(wèn)時(shí)其地址為十六進(jìn)制0x40,本設(shè)計(jì)中需要兩片PCF8574,地址為0x40和0x41。
U3通過(guò)SDA和SCL與PCF8574連接,發(fā)送命令讀取數(shù)據(jù),為了避免CPU輪詢(xún)效率較低,將PCF8574的INT引腳連接IRQ引腳,在檢測(cè)到開(kāi)關(guān)量輸入發(fā)生變化時(shí),PCF8574會(huì)將INT引腳電平從高電平變?yōu)榈碗娖?,通過(guò)中斷方式檢測(cè),效率有了較大提高。
AW60芯片的I2C模塊驅(qū)動(dòng)主要由模塊初始化、接收一字節(jié)數(shù)據(jù)、發(fā)送一字節(jié)數(shù)據(jù)和接收/發(fā)送N字節(jié)數(shù)據(jù)組成。I2C總線協(xié)議規(guī)定,所有傳輸都需要由主機(jī)(也就是本設(shè)計(jì)中的AW60芯片)發(fā)起。
以讀數(shù)據(jù)為例,主機(jī)從從機(jī)(本設(shè)計(jì)中為PCF8574)讀數(shù)據(jù)過(guò)程如圖2所示,具體程序代碼不在此羅列。
道路照明RTU在硬件設(shè)計(jì)和軟件設(shè)計(jì)中采用了一些措施以保證運(yùn)行抗干擾性能和可靠性,如通過(guò)光耦進(jìn)行信號(hào)隔離,不同模塊采用隔離電源、信號(hào)濾波、外部看門(mén)狗等硬件措施。
軟件措施包括使用內(nèi)部看門(mén)狗、避免死循環(huán)等待等,如在I2C總線程序設(shè)計(jì)中等待應(yīng)答信號(hào)的程序中,使用了計(jì)時(shí)等待方式,而不是一直循環(huán)等待。代碼如下:
ErrTime = 255*10; //定義查詢(xún)超時(shí)時(shí)限
for (i = 0;i < ErrTime;i++){
if (x == 'A'){ //等待應(yīng)答信號(hào)
if(( IICS & 0x01) == 0)
return 0; //傳送完一個(gè)字節(jié)后,收到應(yīng)答信號(hào)
}
else if (x == 'T'){ //等待傳送完成一個(gè)字節(jié)信號(hào)
if ((IICS&0x02) != 0){
IICS &= 0x02; //清IICIF標(biāo)志位
return 0; //成功發(fā)送完一個(gè)字節(jié)
}
}
}
if (i >= ErrTime)
return 1; //超時(shí),沒(méi)有收到應(yīng)答信號(hào)或發(fā)送完一個(gè)字節(jié)
雖然如此,在實(shí)際運(yùn)行過(guò)程中I2C總線還是遇到一些異常,受到某種干擾的情況下,PCF8574芯片的SCL和SDA信號(hào)線一直被拉低,導(dǎo)致無(wú)法進(jìn)行數(shù)據(jù)傳輸。由于I2C總線還連接了時(shí)鐘芯片,因此導(dǎo)致時(shí)鐘無(wú)法讀出,延誤了道路照明開(kāi)關(guān)燈控制,造成不良后果。
經(jīng)研究和分析,此種情況屬于I2C總線被鎖死的情況:如果總顯示存在干擾或SCL/SDA被某些特定因素拉成低電平,I2C總線就會(huì)產(chǎn)生鎖定[5],這種情況下,即使主機(jī)芯片重啟,對(duì)PCF8574重新初始化也不能恢復(fù)正常運(yùn)行。
經(jīng)過(guò)分析和實(shí)驗(yàn)之后,確定這種情況可以通過(guò)發(fā)送9個(gè)SCL時(shí)鐘方式解除總線鎖定,因此在程序運(yùn)行開(kāi)始對(duì)I2C總線進(jìn)行初始化,當(dāng)檢測(cè)到I2C總線出現(xiàn)鎖定的情況后,將SCL引腳切換為普通GPIO引腳,輸出9個(gè)脈沖,然后重新進(jìn)行I2C總線初始化操作,通過(guò)這種方式 有效地提高了道路照明RTU的抗干擾性能和可靠性。
[1] 丁書(shū)文, 黃訓(xùn)誠(chéng), 胡啟宙. 變電站綜合自動(dòng)化原理及應(yīng)用[M]. 北京:中國(guó)電力出版社,2002:2-3.
[2] NXP Semiconductors. MC9S08AW60 Data Sheet, 2006.
[3] NXP Semiconductors. PCF8574 Product DataSheet, 2013.
[4] 龔向東, 黃虹賓, 劉春平. 主從可配置I2C總線接口IP及其應(yīng)用[J].電訊技術(shù),2010(1): 36.
[5] 侯喆, 何凱. 由于I2C總線鎖死引起保護(hù)裝置異常的問(wèn)題分析[J]. 電力系統(tǒng)保護(hù)與控制, 2010, 38(7):106-108.
劉雪蘭(講師)、田宏偉(高級(jí)工程師),主要研究方向?yàn)榍度胧较到y(tǒng)應(yīng)用。