尹江紅++鄭立玲
摘要:在基于CAN總線的變電站綜合自動(dòng)化系統(tǒng)中,智能單元節(jié)點(diǎn)與上位機(jī)之間的通信以及智能單元節(jié)點(diǎn)之間的通信是系統(tǒng)通信的核心,而CAN接口單元在整個(gè)通信中起到上傳下達(dá)的作用,是核心中的關(guān)鍵。提出一種CAN總線單元設(shè)計(jì)方案,該方案中使用89C52作為微處理器,SJA1000作為通信控制器,82C250作為收發(fā)器。
關(guān)鍵詞:現(xiàn)場(chǎng)總線;變電站;CAN總線;變電站綜合自動(dòng)化;
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)07-0260-02
Design of CAN bus Communication Adapter for Transformer Station
YIN Jiang-hong, ZHENG Li-ling
(Guangxi Hydraulic and Electric Polytechnic, Nanning 530023, China)
Abstract: In substation automation systems based on CAN bus, the core if between PC and node andbetween nodes. The CAN-bus plays the role in the overall upload issued communications, Command of PC is transmitted to nodes and Data of nodes is transmitted to PC by CAN-bus. a CAN bus unit design scheme is proposed in the paper, which uses 89C52 as microprocessor,SJA1000 works as communication controller and 82C250 as transceivers.
Key words: field bus; substation; CAN-bus; substation automation
CAN(controller area network) 是近年來興起的一種先進(jìn)工業(yè)控制技術(shù), 其具有多主工作方式、傳輸速度快、距離遠(yuǎn)、自動(dòng)解決總線競(jìng)爭(zhēng)、糾錯(cuò)能力強(qiáng)等特點(diǎn),在對(duì)數(shù)據(jù)傳輸保密性及可靠性要求高的場(chǎng)合。將CAN總線應(yīng)用到變電站綜合自動(dòng)化中,完全能滿足其對(duì)監(jiān)控、保護(hù)之間的通訊的可靠性和準(zhǔn)確性的要求,且運(yùn)用CAN總線技術(shù)性能價(jià)格比高,安裝維護(hù)簡潔方便,能創(chuàng)造很好的經(jīng)濟(jì)效益,因而CAN總線在電力系統(tǒng)自動(dòng)化領(lǐng)域具有廣闊的應(yīng)用前景。
1基于CAN總線的變電站綜合自動(dòng)化系統(tǒng)
變電站綜合自動(dòng)化系統(tǒng)結(jié)構(gòu)框圖如圖1所示,系統(tǒng)由站控層、間隔層和過程層構(gòu)成;針對(duì)現(xiàn)在的變電站系統(tǒng)間隔層裝置多、大量的智能單元裝置需要通過網(wǎng)絡(luò)相互通信,在間隔層和過程之間采用CAN總線通信進(jìn)行連接。站控層提供站內(nèi)運(yùn)行的人機(jī)聯(lián)系界面,實(shí)現(xiàn)管理控制過程層、間隔層設(shè)備等功能,其由保護(hù)故障信息子站、遠(yuǎn)動(dòng)通信裝置、操作員站、主機(jī)和其他各種功能站構(gòu)成;間隔層在站控層及網(wǎng)絡(luò)失效的情況下,仍能獨(dú)立完成間隔層設(shè)備的就地監(jiān)控功能,其主要由測(cè)控、計(jì)量、錄波、保護(hù)、相量測(cè)量等若干個(gè)二次子系統(tǒng)組成;過程層采集實(shí)時(shí)運(yùn)行電氣量、監(jiān)測(cè)設(shè)備運(yùn)行狀態(tài)、執(zhí)行控制命令等,其主要由智能終端、合并單元、互感器等構(gòu)成,根據(jù)變電站內(nèi)部電氣設(shè)備的不同,監(jiān)測(cè)系統(tǒng)的過程層可分為變壓器監(jiān)測(cè)終端、斷路器GIS監(jiān)測(cè)終端以及容性設(shè)備和避雷器監(jiān)測(cè)終端三個(gè)部分,每個(gè)終端對(duì)應(yīng)的監(jiān)測(cè)單元(變壓器監(jiān)測(cè)單元、斷路器GIS監(jiān)測(cè)單元和容性設(shè)備及避雷器監(jiān)測(cè)單元),這些監(jiān)測(cè)單元可以使現(xiàn)場(chǎng)設(shè)備方便地連接到CAN總線上,同時(shí)監(jiān)測(cè)現(xiàn)場(chǎng)的設(shè)備狀態(tài)和環(huán)境參數(shù),打包處理采集得到的數(shù)據(jù),然后通過CAN通信控制器SJA1000將打包處理過的數(shù)字信號(hào)發(fā)送到CAN總線。
2 CAN總線單元設(shè)計(jì)
2.1 CAN接口單元總體設(shè)計(jì)
CAN總線接口單元實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)傳送和接收,接口單元包括看門狗電路、微處理器、總線收發(fā)器、輸入輸出設(shè)備和CAN通信控制器等;微處理器完成數(shù)據(jù)的處理,CAN通信控制器完成CAN的通信協(xié)議的轉(zhuǎn)換,CAN總線收發(fā)器增大通信距離、降低射頻干擾(RFI)、提高系統(tǒng)的瞬間抗干擾能力和實(shí)現(xiàn)熱防護(hù)等,看門狗電路實(shí)現(xiàn)對(duì)電路的監(jiān)控和復(fù)位作用;CAN總線接口單元設(shè)計(jì)是按照CAN總線物理層協(xié)議選擇總線介質(zhì),設(shè)計(jì)布線方案,連接成CAN網(wǎng)絡(luò),主要是CAN總線收發(fā)器與物理總線之間和CAN通信控制器與微處理器之間的接口電路設(shè)計(jì),設(shè)計(jì)的CAN接口單元如圖2所示。
2.2單片機(jī)系統(tǒng)
ATMEL公司89C52單片機(jī)價(jià)格便宜,技術(shù)成熟,應(yīng)用廣泛,設(shè)計(jì)選擇微處理器89C52作為節(jié)點(diǎn)控制器,其承擔(dān)對(duì)CAN控制器進(jìn)行初始化和CAN的收發(fā)控制任務(wù);設(shè)計(jì)中改進(jìn)了單片機(jī)的復(fù)位信號(hào)和時(shí)鐘的設(shè)計(jì),從而減少了簡易復(fù)位電路(以往由電阻、電容組成)造成的延時(shí)長、不精確等不良影響和避免出現(xiàn)時(shí)鐘信號(hào)的沖突。
2.3 SJA1000控制電路設(shè)計(jì)
考慮到SJA1000支持CAN 2.0A/B規(guī)約,選取PHILIPS公司的SJA1000 CAN控制器,SJA1000總線控制器是CAN總線接口控制板的核心器件,其擔(dān)負(fù)著報(bào)文的發(fā)送、接收、過濾等工作,通過它實(shí)現(xiàn)上位機(jī)與現(xiàn)場(chǎng)微處理器之間的數(shù)據(jù)通信;考慮到國內(nèi)市場(chǎng)上PHILIPS的產(chǎn)品型號(hào)比較多,購買82C250比較方便,并且82C250可以支持110個(gè)CAN節(jié)點(diǎn),選擇82C250作為收發(fā)器。
SJA1000作為本接口電路中的控制部分,89C52的P0口與SJA1000的AD0~AD7連接,89C52的P2.7口連接CS引腳,當(dāng)CS引腳為低電平,89C52選中SJA1000;SJA1000的RD、WR、ALE分別與89C52的對(duì)應(yīng)引腳相連;89C52的INT0接SJA1000的INT引腳,單片機(jī)可以通過中斷方式問SJA1000。
由于電阻可起到一定的限流作用,在82C250的CANH和CANL引腳與CAN總線之間接一個(gè)5歐姆的電阻,保護(hù)82C250免受過流的沖擊;為了濾除總線上的高頻干擾和一定的防電磁輻射的作用,在CANH和CANL與地之間各并聯(lián)30pF電容;CAN總線轉(zhuǎn)232串口數(shù)據(jù)轉(zhuǎn)換功能是通過串口芯片MAX232實(shí)現(xiàn),通過按鍵及LED燈顯示電路用于向CAN總線上發(fā)送不同的數(shù)據(jù),以及顯示接受到的數(shù)據(jù)狀態(tài)。
由于變電站現(xiàn)場(chǎng)具有干擾大、測(cè)量多、分布廣等特點(diǎn),在控制器和驅(qū)動(dòng)器之間加入光電隔離器進(jìn)行隔離, 把SJA1000的TX0和RX0引腳通過高速光耦6N137與82C250的引腳TXD和RXD相連,從而增強(qiáng)通信接口的抗干擾能力。
3軟件設(shè)計(jì)
AT89C52與CAN總線各節(jié)點(diǎn)要實(shí)時(shí)、高效地完成數(shù)據(jù)通信,軟件的設(shè)計(jì)至關(guān)重要。通信單元采用模塊化程序設(shè)計(jì)方法,采用C語言開發(fā)程序,設(shè)計(jì)包括AT89C52通信程序、CAN總線出錯(cuò)處理程序、CAN接收程序、CAN數(shù)據(jù)發(fā)送、CAN節(jié)點(diǎn)初始化程序以及計(jì)算機(jī)串口通信程序等。AT89C52芯片的片外寄存器使用SJA1000的內(nèi)部寄存器, SJA1000和AT89C52之間通過SJA1000在工作模式下或復(fù)位模式對(duì)這些寄存器的讀寫完成的狀態(tài)、控制和數(shù)據(jù)的交換。根據(jù)CAN總線通信的特點(diǎn),數(shù)據(jù)的校驗(yàn)、發(fā)送、接收、拆包、解碼、編碼以及打包均由硬件完成,因此, CAN總線通信程序主要包含初始化程序、接收子程序和發(fā)送子程序。
3.1 SJA1000的初始化
在初始化CAN內(nèi)部寄存器時(shí),注意設(shè)置收、發(fā)雙方同步,且各節(jié)點(diǎn)的位速率一致。數(shù)據(jù)的接收主要有中斷和查詢接收兩種方式,為提高通信的實(shí)時(shí)性和保證接收緩存器不會(huì)出現(xiàn)數(shù)據(jù)溢出現(xiàn)象,采用中斷接收方式, SJA1000的初始化流程如圖3所示。
SJA1000在上電或硬復(fù)位后,主控制器運(yùn)行其復(fù)位子程序,對(duì)其進(jìn)行初始化以便進(jìn)行通信,由于組態(tài)的寄存器只有在復(fù)位模式(Reset Mode)下,才能被寫入,因此,在設(shè)置SJA1000寄存器前,主控制器首先讀R/R(Reset mode/Request)標(biāo)志來確認(rèn)SJA1000是否處于復(fù)位方式,然后通過發(fā)出一個(gè)有效的復(fù)位脈沖給CAN控制器SJA1000管腳(Pin17),使其進(jìn)入復(fù)位狀態(tài)(Reset Mode),進(jìn)入復(fù)位模式后,需要設(shè)置各個(gè)寄存器的運(yùn)行方式。
3.2 SJA1000的報(bào)文發(fā)送
報(bào)文的發(fā)送是CAN控制器SJA1000依據(jù)CAN協(xié)議規(guī)范自動(dòng)進(jìn)行,發(fā)送過程既可以采用查詢方式,也可以采用中斷方式,系統(tǒng)采用中斷方式報(bào)文發(fā)送,在傳輸一個(gè)新報(bào)文到SJA1000發(fā)送緩沖器之前,首先檢查狀態(tài)寄存器的發(fā)送緩沖器狀態(tài)標(biāo)志,確定是否可以將一個(gè)新的報(bào)文寫入發(fā)送緩沖器,只有TS=0且TBS=1,才可以將新報(bào)文寫到發(fā)送緩沖器,并將發(fā)送請(qǐng)求標(biāo)志置1(TR=1),使SJA1000啟動(dòng)發(fā)送一旦報(bào)文開始發(fā)送,發(fā)送緩沖器則馬上寫閉鎖;若不滿足TS=0且TBS=1,說明有報(bào)文正在發(fā)送, 則主控制器將設(shè)置一個(gè)暫存標(biāo)志,并將新報(bào)文保存到臨時(shí)存儲(chǔ)器中,當(dāng)正在發(fā)送的報(bào)文發(fā)送成功結(jié)束,CAN控制器會(huì)產(chǎn)生一個(gè)發(fā)送中斷,在對(duì)應(yīng)的中斷服務(wù)程序檢查是否有暫存的報(bào)文要發(fā)送,一個(gè)正在等待發(fā)送的報(bào)文會(huì)從臨時(shí)存儲(chǔ)器復(fù)制到發(fā)送緩沖器中,暫存標(biāo)志被消除,置位TR,啟動(dòng)發(fā)送。
3.3 SJA1000的報(bào)文接收
接收?qǐng)?bào)文是CAN控制器依據(jù)CAN協(xié)議規(guī)范自動(dòng)進(jìn)行,接收?qǐng)?bào)文既可由查詢狀態(tài)寄存器標(biāo)志來完成,也可中斷控制,系統(tǒng)采用中斷方式報(bào)文接收,在接收緩沖存儲(chǔ)器中存放接收?qǐng)?bào)文,由接收中斷和狀態(tài)寄存器的接收緩沖器狀態(tài)RBS確定一個(gè)報(bào)文是否可以傳送給主控制器,主控制器通過讀取SJA1000狀態(tài)寄存器,檢查接收緩沖器狀態(tài)標(biāo)志RBS,若RBS=1,則表示SJA1000的RXFIFO中得到一個(gè)或多個(gè)報(bào)文,主控制器將第一個(gè)報(bào)文(存放在接收緩沖器中)讀到本地報(bào)文存儲(chǔ)器,當(dāng)主控制器的本地報(bào)文存儲(chǔ)器足夠大,主控制器可以檢查是否有更多信息報(bào)文,然后集中處理接收到的報(bào)文,最后置位命令寄存器的RRB位,釋放RXFIFO內(nèi)存空間。
4結(jié)束語
變電站綜合自動(dòng)化系統(tǒng)是一個(gè)對(duì)安全性、可靠性要求非常高的系統(tǒng), 其間隔層裝置多、大量的智能單元裝置需要通過網(wǎng)絡(luò)相互通信,基于此,設(shè)計(jì)了一種高可靠性、高實(shí)時(shí)性的基于CAN 總線通信網(wǎng)絡(luò)的變電站自動(dòng)化系統(tǒng),在節(jié)約電纜的同時(shí)使間隔層間信息可充分共享,有效解決了變電站綜合自動(dòng)化系統(tǒng)中的通信問題。CAN總線在變電站綜合自動(dòng)化系統(tǒng)中的應(yīng)用表明:CAN總線網(wǎng)絡(luò)具有相當(dāng)高的實(shí)時(shí)性、抗干擾性和擴(kuò)展性,能夠滿足變電站綜合自動(dòng)化中各種設(shè)備及不同檢測(cè)參量具有不同優(yōu)先級(jí)的需要,達(dá)到了變電站自動(dòng)化的需求。
參考文獻(xiàn):
[1] 代愛妮. 基于CAN總線的變電站監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 工業(yè)控制計(jì)算機(jī),2012(9).
[2] 連衛(wèi)東. CAN總線在煤礦變電站溫度監(jiān)測(cè)網(wǎng)絡(luò)中的設(shè)計(jì)[J]. 煤礦機(jī)械,2012(10).
[3] 劉志強(qiáng). 基于CAN-bus總線的變電站智能照明控制系統(tǒng)[J]. 電力勘測(cè)設(shè)計(jì),2014(4).
[4] 吳戰(zhàn)偉. 基于CAN總線的智能變電站變送器[J]. 儀表技術(shù)與傳感器,2014(8).