許 波,蔣大明
(北京交通大學(xué) 電子信息工程學(xué)院,北京 100044)
鐵路信號系統(tǒng)是用技術(shù)手段實(shí)現(xiàn)信號、道岔以及進(jìn)路之間的制約關(guān)系和操作順序的聯(lián)鎖控制系統(tǒng),是保證車站行車安全的信號系統(tǒng)。目前國內(nèi)外對鐵路信號的控制大多采用上、下位機(jī)的方法來實(shí)現(xiàn)。在微機(jī)聯(lián)鎖系統(tǒng)中,下位機(jī)僅需實(shí)現(xiàn)數(shù)據(jù)的采集、命令發(fā)送等,而把主要的聯(lián)鎖功能置于上位機(jī),這樣一來,上位機(jī)承載負(fù)擔(dān)過重,一旦上位機(jī)發(fā)生故障,系統(tǒng)的安全性、可靠性將得不到保證,甚至可能使系統(tǒng)處于癱瘓的危險。如果能將一些信息處理和聯(lián)鎖功能置于下位機(jī),就會大大減輕上位機(jī)的負(fù)擔(dān),降低風(fēng)險,使整個系統(tǒng)的安全性、可靠性得到有效保證。
現(xiàn)場總線的本質(zhì)是線路簡單且信息處理現(xiàn)場化。采用現(xiàn)場總線技術(shù),可以在現(xiàn)場進(jìn)行診斷、維護(hù)和管理信息,從而使得大量信息在現(xiàn)場就地處理、減少現(xiàn)場與控制機(jī)之間的信息往返。本文提出的基于以太網(wǎng)與PROFIBUS-DP技術(shù)的鐵路信號系統(tǒng)就是針對此問題進(jìn)行研究設(shè)計(jì)采用PROFIBUS技術(shù)解決上下位機(jī)的問題,并通過以太網(wǎng)技術(shù)進(jìn)行遠(yuǎn)程通信,真正實(shí)現(xiàn)鐵路控制系統(tǒng)一網(wǎng)到底。
PROFIBUS-DP是優(yōu)化的、高速的通信連接,專為自動控制系統(tǒng)和設(shè)備級分散I/O之間通信設(shè)計(jì),是目前全球應(yīng)用最為廣泛的一種現(xiàn)場總線。由于開放性好,各大自動化廠商均有支持PROFIBUSDP的產(chǎn)品,現(xiàn)在已納入我國的國家標(biāo)準(zhǔn)。同時,以太網(wǎng)技術(shù)發(fā)展迅速,通信速率不斷提高,成本卻不斷降低。上層機(jī)構(gòu)在建立自己的信息管理系統(tǒng)時,以太網(wǎng)已成為必不可少的一部分?;谝蕴W(wǎng)與PROFIBUS-DP的鐵路信號系統(tǒng)可實(shí)現(xiàn)底層測控與上層管理的緊密連接,使用戶能夠容易地由Internet通過辦公管理網(wǎng)絡(luò)垂直地向下接入各個現(xiàn)場設(shè)備,實(shí)現(xiàn)直接、安全、快速的監(jiān)控調(diào)度。
基于以太網(wǎng)與PROFIBUS-DP的鐵路信號系統(tǒng)主要由以下5部分組成:(1)上位機(jī):PC、PLC等完成總線通信控制與管理。(2)代理控制器模塊:控制以太網(wǎng)協(xié)議芯片與PROFIBUS-DP協(xié)議芯片實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換。(3)以太網(wǎng)通信模塊:實(shí)現(xiàn)上位機(jī)與代理平臺的TCP/IP通信。(4) PROFIBUS-DP通信模塊:實(shí)現(xiàn)下位機(jī)與代理平臺的現(xiàn)場總線通信。(5)下位機(jī):信號機(jī)、轉(zhuǎn)轍機(jī)等PROFIBUS接口的現(xiàn)場設(shè)備。如圖1。
圖1 以太網(wǎng)與PROFIBUS-DP通信系統(tǒng)模型結(jié)構(gòu)
代理控制器模塊中的CPU采用LPC-2368,它是代理平臺控制系統(tǒng)的核心。LPC2368是一款基于ARM7的微控制器,適用于各種串行通信的應(yīng)用。此模塊主要功能就是通過控制以太網(wǎng)接口芯片及PROFIBUS-DP協(xié)議芯片來實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換通信。
以太網(wǎng)通信模塊主要由芯片DP83848C、隔離變壓器HR911105A以及RJ45插頭組成。LPC2368芯片內(nèi)部包含了一個功能齊全的10 M/100 Mbps以太網(wǎng)MAC,因此實(shí)現(xiàn)以太網(wǎng)通信只需在芯片外部接一個以太網(wǎng)PHY(物理層)接口和相關(guān)電路即可。本系統(tǒng)選用DP83848C作為以太網(wǎng)物理層接口芯片,它提供了包括MII/RMII/SNI接口.可以很方便地與LPC2368連接。其電路框圖如圖2。
圖2 以太網(wǎng)接口電路框圖
PROFIBUS-DP通信模塊主要負(fù)責(zé)代理控制器和上位機(jī)之間的數(shù)據(jù)通信,包括參數(shù)配置和數(shù)據(jù)交換。它的硬件電路主要由協(xié)議芯片SPC3、驅(qū)動器SN65176、光耦隔離器HCPL0601和RS485接口組成。
SPC3內(nèi)部集成1.5 K的RAM、模式寄存器、狀態(tài)寄存器、中斷寄存器以及保證SPC3可靠運(yùn)行的看門狗。還有8位數(shù)據(jù)總線線和11位地址總線線。由于該芯片集成了完整的PROFIBUS-DP協(xié)議,可獨(dú)立完成全部DP的通信控制功能,這就加速了通信協(xié)議的執(zhí)行效率,降低了設(shè)計(jì)成本。RS 4 8 5總線驅(qū)動芯片選用SN 6 5 1 7 6,可使PROFIBUS-DP的數(shù)據(jù)傳輸速率高達(dá)12 Mbps。為了實(shí)現(xiàn)總線與LPC2368系統(tǒng)的隔離,本系統(tǒng)采用了HCPL0601系列超高速光耦。
3.1.1 μC/OS-II操作系統(tǒng)的移植
μC/OS-II的移植主要集中在3個部分,即OS_CPU.H,OS_CPU_A.ASM,OS_CPU_C.C。如OS_CPU.H中開關(guān)中斷的宏:
#i f OS_CRITICAL_METHOD = =2
#defineOS_ENTER_CRITICAL()ARMDisableInt()
#defineOS_EXIT_CRITICAL()
ARMEnableInt()
#endif
ARMDisableInt()和ARMEnableInt()是用匯編語言來編寫的,分別為關(guān)中斷和開中斷。
3.1.2 TCP/IP協(xié)議棧的實(shí)現(xiàn)
TCP/IP協(xié)議棧由網(wǎng)絡(luò)接口層、網(wǎng)際層、傳輸層和應(yīng)用層構(gòu)成。每一個協(xié)議作為一個模塊來實(shí)現(xiàn),同時還提供了幾個函數(shù)作為協(xié)議的入口點(diǎn)。整個協(xié)議的實(shí)現(xiàn)方案,可以把不同的功能按照不同的任務(wù)來實(shí)現(xiàn),通過一個簡單的任務(wù)管理器來管理和調(diào)度。
以太網(wǎng)通信模塊采用實(shí)時性較好的UDP通信協(xié)議,共有4個任務(wù):lwip_init_task(),tcpip_thread(),udp_recv_thread(),udp_send_thread()。在lwip_init_task()任務(wù)中進(jìn)行LwIP的協(xié)議棧的初始化,網(wǎng)絡(luò)接口(net i f結(jié)構(gòu)體)的初始化,并且分別創(chuàng)建其它3個任務(wù)。
3.2.1 PROFIBUS-DP分析
PROFIBUS協(xié)議的結(jié)構(gòu)定向根據(jù)ISO7498國際標(biāo)準(zhǔn),以開放系統(tǒng)互聯(lián)網(wǎng)絡(luò)OSI為參考模型。PROFIBUS-DP在物理層采用的是RS-485的傳輸方式,各個設(shè)備均連在具有線型拓?fù)浣Y(jié)構(gòu)的總線上。每一個線段可以連入的最大設(shè)備數(shù)是32,每個線段的最大長度為1200 m。當(dāng)設(shè)備多于32或擴(kuò)大網(wǎng)絡(luò)范圍時,可以使用中繼器連接各個不同的網(wǎng)段。
PROFIBUS-DP在MAC層使用基于Tok en Pas-sing的主從輪詢協(xié)議。在PROFIBUS的Token Passing網(wǎng)絡(luò)上各點(diǎn)都連在總線上,其物理地位等同,被賦以統(tǒng)一的邏輯地址(FDL地址),在總線上的各站點(diǎn)按照功能、本身智能化程度等特性的不同分為主站(Master)、從站(Slave)2種類型。
3.2.2 PROFIBUS-DP通信模塊的實(shí)現(xiàn)
PROFIBUS-DP通信模塊的軟件部分主要包括:初始化、組態(tài)、數(shù)據(jù)交換。如圖3。
圖3 狀態(tài)機(jī)流程圖
試驗(yàn)網(wǎng)絡(luò)中,以太網(wǎng)連入PC機(jī),上位機(jī)程序用Visual Basic編寫。主站發(fā)送Set_Prm數(shù)據(jù)報(bào)文,從站以Shor t_Ack做短確認(rèn)。主站發(fā)送Chk_Cfg報(bào)文,同樣以Shor t_Ack進(jìn)行短確認(rèn)。主站向從站發(fā)送診斷請求幀Slave_Diag.req,從站診斷響應(yīng)Slave_Diag.res。之前的參數(shù)化和組態(tài)順利完成后,主站發(fā)送Dat a_Exchange.r eq,從站回應(yīng)Data_Exchange.res。此后主、從站之間開始周期性的數(shù)據(jù)交換。通過實(shí)驗(yàn)建立了通信,實(shí)現(xiàn)了數(shù)據(jù)接收以及數(shù)據(jù)管理的功能。完成了以太網(wǎng)與PROFIBUS-DP的數(shù)據(jù)轉(zhuǎn)換,基本達(dá)到預(yù)期效果。
本文完成了以太網(wǎng)與PROFIBUS技術(shù)相結(jié)合在鐵路信號系統(tǒng)實(shí)現(xiàn)的初步研究。重點(diǎn)研究了以太網(wǎng)與PROFIBUS-DP實(shí)現(xiàn)通信,并從硬件和軟件2方面進(jìn)行了系統(tǒng)的設(shè)計(jì)。參照具有良好實(shí)時性能的PROFIBUS-DP現(xiàn)場總線協(xié)議與以太網(wǎng)協(xié)議相關(guān)聯(lián),避免了以太網(wǎng)隨機(jī)訪問的沖突,很好的提高了通信效率和可靠度?;谝蕴W(wǎng)與PROFIBUS-DP技術(shù)必將成為鐵路信號系統(tǒng)發(fā)展的趨勢,為鐵路信號智能通信提供更好的性能。
[1] 侯維巖,費(fèi)敏銳. PROFIBUS協(xié)議分析和系統(tǒng)應(yīng)用[M]. 北京:清華大學(xué)出版社,2006.
[2] 陽憲惠. 現(xiàn)場總線技術(shù)及應(yīng)用[M]. 北京:清華大學(xué)出版社,1999.