熊 飛
(鐵道第三勘察設(shè)計(jì)院集團(tuán)有限公司 電化電信工程設(shè)計(jì)研究處, 天津 300251)
工業(yè)控制領(lǐng)域中,各種串行和并行總線得到了極大的應(yīng)用,鐵路信號(hào)中CAN總線和RS422總線使用非常廣泛。本系統(tǒng)設(shè)計(jì)了CAN總線和RS422總線智能通信單元,并在此基礎(chǔ)上構(gòu)建了全電子計(jì)算機(jī)聯(lián)鎖系統(tǒng)聯(lián)鎖機(jī)和執(zhí)行機(jī)之間的信息傳輸網(wǎng)絡(luò)。該網(wǎng)絡(luò)采用光纖通信技術(shù)和自愈網(wǎng)技術(shù),在CAN總線或RS422總線出現(xiàn)故障的情況下,能在極短的時(shí)間自動(dòng)恢復(fù)所攜帶的業(yè)務(wù),具備發(fā)現(xiàn)替代傳輸路由并重新確立通信的能力。
在傳統(tǒng)的計(jì)算機(jī)聯(lián)鎖系統(tǒng)基礎(chǔ)上,綜合考慮聯(lián)鎖系統(tǒng)可靠性和安全性,設(shè)計(jì)了全電子計(jì)算機(jī)聯(lián)鎖系統(tǒng)信息傳輸網(wǎng),結(jié)構(gòu)如圖1。該網(wǎng)絡(luò)室內(nèi)僅設(shè)聯(lián)鎖計(jì)算機(jī),由聯(lián)鎖計(jì)算機(jī)負(fù)責(zé)與上位機(jī)通信,執(zhí)行機(jī)終端通過專門設(shè)計(jì)的智能通信單元接入信息傳輸網(wǎng),到達(dá)聯(lián)鎖計(jì)算機(jī)。
圖1 全電子計(jì)算機(jī)聯(lián)鎖系統(tǒng)信息傳輸網(wǎng)結(jié)構(gòu)圖
智能通信單元由CAN智能通信單元和RS422智能通信單元組成。每一個(gè)智能通信單元包括CPCI-RS422智能通信模塊和CPCI-CAN智能通信模塊。2個(gè)模塊均支持熱插拔,插接在研華工控機(jī)中。執(zhí)行機(jī)終端采集現(xiàn)場(chǎng)設(shè)備的狀態(tài)信息和控制命令輸出的信息,傳送至智能通信單元中。傳送至智能通信單元的信息,由工控機(jī)進(jìn)行判斷并篩選,將可靠的信息傳送到信息傳輸網(wǎng)上,進(jìn)過聯(lián)鎖計(jì)算機(jī)的邏輯運(yùn)算,最后在上位機(jī)中顯示。為防止因環(huán)境惡劣,CAN總線失效,系統(tǒng)采用了雙RS422和雙CAN冗余通信方式,使得在CAN總線通信失效時(shí),RS422總線能從備用升級(jí)為主要總線使用,不影響系統(tǒng)信息傳輸,使得系統(tǒng)更加安全可靠。
本通信網(wǎng)絡(luò)通信模塊主要由以下3部分組成:CPCI-CAN總線通信單元、CPCI-RS422總線通信單元、光保護(hù)自動(dòng)切換系統(tǒng)。
圖2 信息傳輸網(wǎng)節(jié)點(diǎn)智能化結(jié)構(gòu)圖
信息傳輸網(wǎng)的節(jié)點(diǎn)智能化結(jié)構(gòu)如圖2。執(zhí)行機(jī)終端采集現(xiàn)場(chǎng)信息經(jīng)由CPCI-CAN總線通信單元傳輸?shù)铰?lián)鎖機(jī)上。當(dāng)CAN總線傳輸出現(xiàn)故障,則經(jīng)過光保護(hù)自動(dòng)切換系統(tǒng),倒換到備用的CPCIRS422通信單元。信息傳輸網(wǎng)中,光保護(hù)自動(dòng)切換系統(tǒng)實(shí)時(shí)監(jiān)測(cè)工作光纖和備用光纖上的光功率,當(dāng)監(jiān)測(cè)到光線路上的光功率值低于設(shè)定切倒換門限時(shí)發(fā)出警告,提示并自動(dòng)切換到備用光纖,從而,實(shí)現(xiàn)對(duì)光傳輸系統(tǒng)線路的冗余備份。光保護(hù)自動(dòng)切換系統(tǒng)能自動(dòng)識(shí)別主、備系統(tǒng)光路信號(hào)狀態(tài),進(jìn)行光路瞬時(shí)切換,當(dāng)主用光纖發(fā)生障礙時(shí),保護(hù)系統(tǒng)運(yùn)行正常。
CPCI-CAN通信模塊的結(jié)構(gòu)如圖3。智能CPCI-CAN通信模塊,通過CPCI總線插槽與工控機(jī)相連,完成工控機(jī)與CAN總線上各個(gè)節(jié)點(diǎn)信息數(shù)據(jù)交換的功能。工控機(jī)的信息經(jīng)由PLX9054芯片暫時(shí)保存于IDT7005中。ATMEGA128單片機(jī)控制2片CAN總線控制器SJA1000,將工控機(jī)的信息數(shù)據(jù)通過CAN收發(fā)器TJA1050下發(fā)到CAN總線的各個(gè)執(zhí)行機(jī)終端上。TJA1050負(fù)責(zé)將CAN總線上各執(zhí)行機(jī)終端的狀態(tài)信息上傳給總線控制器SJA1000, 由單片機(jī)ATMEGA128控制,將狀態(tài)信息傳輸至雙口RAM 中, 再經(jīng)CPCI 總線接口上傳至工控機(jī)進(jìn)一步數(shù)據(jù)處理。整個(gè)過程包括聯(lián)鎖機(jī)數(shù)據(jù)的下發(fā)過程和執(zhí)行機(jī)上傳過程。FPGA能對(duì)PCI總線接口芯片PLX9054、雙口RAM 芯IDT7005和ATMEGA128三者之間的邏輯控制和總線仲裁。當(dāng)有數(shù)據(jù)信息由工控機(jī)經(jīng)CPCI總線接口向下發(fā)時(shí),F(xiàn)PGA能使PCI9054取得IDT7005控制權(quán),當(dāng)工控機(jī)將數(shù)據(jù)向下發(fā)送完畢時(shí),F(xiàn)PGA能使ATMEGA128取得IDT7005控制權(quán),ATMEGA128將下發(fā)數(shù)據(jù)首先存入自身FLASH存儲(chǔ)空間,并將這些數(shù)據(jù)按照制定的CAN總線通信協(xié)議打包成數(shù)據(jù)幀或遠(yuǎn)程幀,再由SJA1000發(fā)送至各執(zhí)行機(jī)節(jié)點(diǎn)。
CPCI-RS422總線通信模塊在CAN通信模塊上經(jīng)過修改而成,完成PCI總線協(xié)議與RS422通信協(xié)議的轉(zhuǎn)換。在原有CAN通信模塊修改,將RS422通信總線接口芯片和UART芯片接入CPCI總線中,原有的CPCI硬件部分沒有改變,通信模塊的硬件組成如圖4。
圖3 CPCI-CAN通信模塊的結(jié)構(gòu)框圖
圖4 CPCI-RS422通信模塊的結(jié)構(gòu)框圖
智能通信單元的調(diào)試主要針對(duì)Atmega128的軟件部分,由于智能通信模塊硬件和軟件結(jié)合緊密,調(diào)試數(shù)據(jù)難以注入,調(diào)試的信息難以輸出等原因,主要采用了JTAG仿真調(diào)試和C++語言編寫上位機(jī)軟件程序,搭建了測(cè)試平臺(tái),如圖5。
圖5 測(cè)試平臺(tái)示意圖
以CAN總線智能通信單元數(shù)據(jù)采集功能為例。首先,在測(cè)試主機(jī)中運(yùn)行調(diào)試軟件,依照CAN通信協(xié)議向智能通信單元發(fā)送數(shù)據(jù)采集命令。接收到數(shù)據(jù)采集命令后,智能通信單元自動(dòng)向CAN檢測(cè)總線發(fā)送數(shù)據(jù)采集指令。接收到數(shù)據(jù)采集命令后,模擬主機(jī)由ISA-CAN通信卡接收回傳的現(xiàn)場(chǎng)數(shù)據(jù)并傳送至測(cè)試主機(jī)。同時(shí),通過在測(cè)試主機(jī)中比較智能通信單元發(fā)送幀和接收幀的數(shù)量是否一致,以及兩者的內(nèi)容是否一致,來判斷被調(diào)試的智能模塊運(yùn)行是否正常。調(diào)試主機(jī)接收到的部分?jǐn)?shù)據(jù)界面如圖6。
圖6 測(cè)試主機(jī)接收到的數(shù)據(jù)界面
本文設(shè)計(jì)了安全信息傳輸網(wǎng)絡(luò)來保障全電子計(jì)算機(jī)聯(lián)鎖系統(tǒng)聯(lián)鎖機(jī)和執(zhí)行機(jī)之間的安全通信。經(jīng)過長期綜合調(diào)試,智能通信單元已經(jīng)能穩(wěn)定地運(yùn)行在安全信息傳輸網(wǎng)中,提高了全電子計(jì)算機(jī)聯(lián)鎖系統(tǒng)聯(lián)鎖機(jī)和執(zhí)行機(jī)之間的傳輸可靠性和傳輸效率。智能通信單元已成功應(yīng)用到多個(gè)新近開通的使用全電子計(jì)算機(jī)聯(lián)鎖系統(tǒng)的車站上。根據(jù)現(xiàn)場(chǎng)反饋的情況,該智能通信單元結(jié)構(gòu)合理,功能完善,工作可靠,達(dá)到了預(yù)期的設(shè)計(jì)要求。
[1]PCI9054 Data Book [Z]. PLX Technology Inc, 2000.
[2]記 勇,肖鐵軍. 基于PCI總線的高速數(shù)據(jù)采集接口的設(shè)計(jì)與實(shí)現(xiàn)[J]. 微機(jī)算機(jī)信息,2007.
[3]熊 飛,魏宗壽. 基于PCI總線的智能雙通道RS422通信卡設(shè)計(jì)[J]. 鐵路計(jì)算機(jī)應(yīng)用,2010(7):55-56.
[4]何 莉,龔宗洋,張為公,衛(wèi) 巍. 基于CPCI總線的運(yùn)動(dòng)控制卡及其VxWorks下的驅(qū)動(dòng)設(shè)計(jì)[J]. 測(cè)控技術(shù),2008(8):50-51.
[5]李永哲,何子述,賈可新,等. 高速數(shù)據(jù)傳輸系統(tǒng)的WDM驅(qū)動(dòng)程序的封裝設(shè)計(jì)[J]. 計(jì)算機(jī)工程與應(yīng)用,2010(46):58-59.
[6]Walter Oney. Programming the Microsoft Windows Driver Model[M]. MicrosoftPress, 2002: 30-40.