郝 韜
(中國鐵道科學(xué)研究院集團(tuán)有限公司 通信信號研究所,北京 100081)
區(qū)間綜合監(jiān)控系統(tǒng)是應(yīng)用于既有鐵路,通過計(jì)算機(jī)技術(shù)實(shí)現(xiàn)區(qū)間占用邏輯檢查、區(qū)間運(yùn)行方向控制、站間安全信息傳輸?shù)裙δ艿男盘栐O(shè)備,由系統(tǒng)主機(jī)、解鎖盤兩大主要部分組成。其中系統(tǒng)主機(jī)用于進(jìn)行邏輯運(yùn)算,解鎖盤用于實(shí)現(xiàn)各區(qū)間及閉塞分區(qū)邏輯狀態(tài)的顯示及區(qū)間邏輯狀態(tài)確認(rèn)命令的下達(dá)等功能,每套區(qū)間綜合監(jiān)控系統(tǒng)可配置一個(gè)或多個(gè)解鎖盤。系統(tǒng)主機(jī)與各解鎖盤之間存在雙向通信的需求。
為實(shí)現(xiàn)多對象間的相互通信,目前主流的通信方式有CAN總線[1]、工業(yè)以太網(wǎng)[2]、ProfiBus總線等[3-4]。其中CAN總線具備實(shí)時(shí)性強(qiáng)、具有優(yōu)先權(quán)和仲裁功能、成本低等優(yōu)點(diǎn),但對于本文而言CAN總線單幀數(shù)據(jù)容量有限,且在1Mbps速率下傳輸距離較短,無法滿足要求。工業(yè)以太網(wǎng)作為以太網(wǎng)技術(shù)的延伸,具有價(jià)格低廉、穩(wěn)定可靠、通信速率高等優(yōu)點(diǎn),但在多點(diǎn)通信時(shí)需要設(shè)置專門的交換機(jī)設(shè)備,增加硬件成本,同時(shí)增加了故障可能性。ProfiBus總線基于RS-485總線[5],采用輪詢方式通信,一主多從結(jié)構(gòu),具備通信容量大、工作穩(wěn)定、通信距離長等優(yōu)點(diǎn),能滿足本系統(tǒng)的通信要求,但由于ProfiBus協(xié)議需要專用芯片實(shí)現(xiàn),硬件成本較高,且ProfiBus協(xié)議相對于本文的通信需求過于復(fù)雜[6-7]。
本文以ProfiBusDP協(xié)議[5]為基礎(chǔ),對其進(jìn)行簡化,提出一種基于RS-485總線的系統(tǒng)主機(jī)與解鎖盤間的通信方案,以達(dá)到簡化系統(tǒng)硬件結(jié)構(gòu)及降低通信軟件實(shí)現(xiàn)難度的目的。
系統(tǒng)主機(jī)與解鎖盤間通信周期為250 ms,通信距離不小于500 m,每周期內(nèi)主機(jī)與單個(gè)解鎖盤間交互的用戶數(shù)據(jù)量為100字節(jié),解鎖盤間無通信需求。本文所提方案應(yīng)需滿足支持系統(tǒng)主機(jī)與不少于10個(gè)解鎖盤間進(jìn)行通信,且設(shè)備間采用RSSP-I安全通信協(xié)議[8]。
區(qū)間綜合監(jiān)控系統(tǒng)主機(jī)與解鎖盤采用RS-485總線進(jìn)行通信,通信速率選用100 Kbps。系統(tǒng)主機(jī)與解鎖盤間設(shè)置2路RS-485總線,系統(tǒng)主機(jī)每系接入1路總線,各解鎖盤均同時(shí)接入2路總線,連接方式如圖1所示。
圖1 主機(jī)與解鎖盤連接方式示意圖
根據(jù)RS-485總線的電氣特性,如解鎖盤與區(qū)間綜合監(jiān)控系統(tǒng)主機(jī)間安裝距離不大于1 000 m,可直接使用通信電纜作為傳輸介質(zhì)。
為防止各設(shè)備同時(shí)向總線發(fā)送數(shù)據(jù)時(shí),產(chǎn)生總線沖突的情況,區(qū)間綜合監(jiān)控系統(tǒng)主機(jī)與解鎖盤間采用呼叫應(yīng)答方式進(jìn)行通信。區(qū)間綜合監(jiān)控系統(tǒng)主機(jī)固定作為通信主站,各解鎖盤作為通信從站。進(jìn)行通信時(shí),主站應(yīng)以250 ms為周期向各從站發(fā)送呼叫數(shù)據(jù),從站在接收到主站發(fā)送給本站的有效數(shù)據(jù)后,應(yīng)向主站發(fā)送應(yīng)答數(shù)據(jù)。通信時(shí)序如圖2所示。
總線上各節(jié)點(diǎn)通信時(shí)應(yīng)遵循以下要求:
(1)各從站間不進(jìn)行通信交互,從站在未收到主站呼叫時(shí),不允許向總線發(fā)送數(shù)據(jù);
(2)各節(jié)點(diǎn)向總線上發(fā)送數(shù)據(jù)的時(shí)間間隔不能小于3 ms;
(3)主站超過10 ms未從對應(yīng)從站收到應(yīng)答數(shù)據(jù),應(yīng)判斷與該從站通信失敗,并呼叫下一個(gè)從站。
圖2 通信時(shí)序示意圖
主站及從站間通信使用定長數(shù)據(jù)包進(jìn)行通信,數(shù)據(jù)包格式見表1。
表1 數(shù)據(jù)包格式
數(shù)據(jù)包中各字段定義如下:包頭固定為0xfe;包尾固定為0xff;源地址及目的地址為各節(jié)點(diǎn)地址信息,主站地址固定為0,從站地址從1開始,順序增加,最多支持10個(gè)從站;用戶數(shù)據(jù)為用戶層信息,包括所有用戶層通信數(shù)據(jù),定義如表2所示。
表2 用戶數(shù)據(jù)包格式
其中用戶數(shù)據(jù)長度為“用戶數(shù)據(jù)”字段的有效長度,用戶數(shù)據(jù)包數(shù)為“用戶數(shù)據(jù)”字段的有效包數(shù),用戶數(shù)據(jù)字段為實(shí)際用戶數(shù)據(jù)。
主機(jī)與解鎖盤間的通信內(nèi)容屬于安全信息,故采用RSSP-I安全協(xié)議對用戶數(shù)據(jù)進(jìn)行防護(hù)[9-10]。由于本方案中,主站與從站間采用呼叫應(yīng)答機(jī)制進(jìn)行通信,無法實(shí)時(shí)發(fā)送時(shí)序矯正信息,故對RSSP-I協(xié)議的時(shí)序矯正機(jī)制作如下調(diào)整:需要發(fā)送剩余偏差(SSE)或回歸偏差(SSR)時(shí),應(yīng)將SSE或SSR附在下一周期的相對標(biāo)準(zhǔn)偏差(RSD)前一起發(fā)送,此時(shí)用戶數(shù)據(jù)包數(shù)應(yīng)根據(jù)實(shí)際情況填寫。用戶數(shù)據(jù)中最多只允許包含:1包SSE+1包SSR+1包RSD。主站與從站首次建立通信時(shí),數(shù)據(jù)包交互流程如圖3所示。
圖3 數(shù)據(jù)交互示意圖
在實(shí)際項(xiàng)目中,主機(jī)及解鎖盤的硬件通信板卡均基于STM32F407芯片開發(fā),利用芯片內(nèi)置的UART串口接入RS-485總線。通信協(xié)議完全由軟件實(shí)現(xiàn),編程語言為標(biāo)準(zhǔn)C語言。
系統(tǒng)開發(fā)完成后,項(xiàng)目組搭建了包含1臺主站與10臺從站的測試環(huán)境對通信質(zhì)量進(jìn)行測試,并分別在主站及從站端對通信數(shù)據(jù)進(jìn)行分析監(jiān)測。在為期1周的通信測試過程中,主站及從站設(shè)備均未發(fā)現(xiàn)數(shù)據(jù)錯(cuò)包(基于RSSP-I協(xié)議未發(fā)生校驗(yàn)錯(cuò)誤判斷)、丟包或亂序(基于包序號判斷)、通信周期錯(cuò)誤等通信不穩(wěn)定現(xiàn)象,測試期間RSSP-I協(xié)議未生重聯(lián)。通過測試,驗(yàn)證了本文提出的通信方案穩(wěn)定可靠,能較好地滿足系統(tǒng)需求。
本文基于RS-485總線,提出了一種以呼叫-應(yīng)答機(jī)制實(shí)現(xiàn)RSSP-I安全通信協(xié)議的通信方案,并基于該方案實(shí)現(xiàn)了區(qū)間綜合監(jiān)控系統(tǒng)主機(jī)與解鎖盤間的正常通信。該方案結(jié)構(gòu)簡單且實(shí)現(xiàn)難度較低,在對協(xié)議進(jìn)行進(jìn)一步擴(kuò)展后,可以在更多的總線通信場景下應(yīng)用。