999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

鐵路信號系統(tǒng)中以太網(wǎng)轉CAN網(wǎng)關設計

2012-05-08 04:46:30
鐵路通信信號工程技術 2012年5期
關鍵詞:設備

劉 貞

(北京全路通信信號研究設計院有限公司,北京 100073)

1 概述

近年來,以太網(wǎng)作為一種高效、便捷的通信方式逐漸應用于鐵路信號設備通信領域。通過架設封閉物理網(wǎng)絡并配合安全通信協(xié)議,可以構建相對安全的數(shù)據(jù)通信網(wǎng)絡。

鐵路信號系統(tǒng)設備復雜多樣,涉及不同廠家、不同歷史年代的產品,故數(shù)據(jù)通信總線接口種類繁多,如CAN總線、RS-485/422總線、profibus總線等。當不同總線類的設備需要互聯(lián)互通時,就需要總線接口轉換裝置,一般稱之為接口適配器或網(wǎng)關[1]。本文介紹一種基于嵌入式系統(tǒng)的以太網(wǎng)轉CAN總線設計方案,盡管目前此類設備較多且早已上市,但直接應用信號系統(tǒng)還有諸多不足,主要原因可歸結為以下幾類[2]。

1)通信參數(shù)配置繁瑣,不便于工程施工。

2)沒有監(jiān)測功能,系統(tǒng)無法獲知其實時工作狀態(tài),無法記錄上下行原始數(shù)據(jù),不便于故障分析處理。

3)通信端口不具備防雷功能,遠距離連接時需要加額外的防雷保護器。

因此,有必要開發(fā)一種面向信號系統(tǒng)應用的以太網(wǎng)轉CAN設備,克服上述缺點。

2 系統(tǒng)硬件架構設計

以太網(wǎng)轉CAN網(wǎng)關屬于數(shù)據(jù)轉發(fā)類設備,安全等級要求為SIL0級,即非安全類設備,需要在設計時重點考慮其數(shù)據(jù)轉發(fā)效率和施工便捷性,但安全性也不容忽視。

2.1 嵌入式硬件系統(tǒng)設計

系統(tǒng)采用單CPU架構,處理器選用AMCC公司的P o w e r P C405E P,其運算速度達到608?DMIPS,足以保證雙向數(shù)據(jù)轉發(fā)的運算要求[3]。如圖1所示,網(wǎng)關包含3路獨立CAN通信接口和2路獨立以太網(wǎng)接口,另外還提供CF卡接口通道,方便更新應用程序和網(wǎng)絡通信配置數(shù)據(jù)。

2.2 以太網(wǎng)接口電路模塊

PPC405EP片內集成了EMAC/MDIO模塊,直接外擴Intel?LXT971?PHY芯片,即可快速地實現(xiàn)OSI模型中數(shù)據(jù)鏈路層和物理層的功能。LXT971是快速以太網(wǎng)物理層自適應收發(fā)器,支持IEEE?802.3標準,提供MII接口,能夠與PPC405EP中的EMAC/MDIO模塊無縫連接。支持10/100?Mbit/s全雙工數(shù)據(jù)傳輸。

2.3 CAN總線接口電路模塊

CAN總線接口芯片采用PHILIPS公司的SJA1000,該芯片具有64?Byte先進先出FIFO,支持CAN2.0B協(xié)議,位速率可達1Mbit/s。由于其總線為數(shù)據(jù)、地址復用模式,需要單獨的ALE信號,而PowerPC405EP的外部總線為數(shù)據(jù)、地址分離的Motorola模式,故要采用一些中間轉換環(huán)節(jié)以使兩種總線相互匹配。

如圖2所示,利用CPU的R/W、A27和CS3控制信號的邏輯組合可以產生ALE信號,A27為低電平時ALE端可產生高電平鎖存地址信號。SJA1000的TX和RX信號經(jīng)過光電隔離后,由TJA1050T轉換為符合CAN電氣標準的差分信號[4]。

3 系統(tǒng)軟件設計

3.1 SJA1000驅動程序

3.1.1 驅動程序層次結構

以太網(wǎng)轉CAN網(wǎng)關采用嵌入式Linux操作系統(tǒng),SJA1000作為非常規(guī)新增外設,需要撰寫新的設備驅動程序供OS系統(tǒng)內核調用。

如圖3所示,網(wǎng)關應用程序運行在OS最頂層;設備驅動程序運行在OS最底層,可直接操作外設芯片SJA1000的內部寄存器。設備驅動程序向OS內核注冊成功后,應用程序通過open、read和write操作指令調用設備驅動程序,最終實現(xiàn)對SJA1000的寄存器級操作,完成CAN通信功能。

3.1.2 SJA1000驅動程序軟件工作流程

在本系統(tǒng)中將SJA1000定義為字符型設備,其驅動流程主要有以下步驟。

1)設備注冊及初始化。

2)接收應用程序需要發(fā)送的CAN數(shù)據(jù)幀,并傳送至CAN控制器SJA1000。

3)響應CAN總線接收中斷,讀取CAN接收數(shù)據(jù)幀并通知應用程序。

4)CAN控制器出錯處理。

驅動程序將上述功能封裝在open、close、write、ioctl等函數(shù)中以便應用程序調用,運行流程如圖4所示。Linux操作系統(tǒng)上電之后開始啟動應用程序,在其調用open()函數(shù)時,執(zhí)行SJA1000的初始化工作,諸如設定波特率、驗收濾波器、輸出方式等相關參數(shù)。而ioctl()函數(shù)則負責向系統(tǒng)注冊CAN接收中斷處理服務函數(shù)。

當CAN控制器接收到來自其他設備的數(shù)據(jù)幀時,SJA1000的中斷引腳會輸出低電平向PPC申請接收中斷,內核的中斷處理程序會將接收數(shù)據(jù)讀出并寫入接收緩存,同時通知應用程序,由其通過read()函數(shù)將緩存讀出。

CAN數(shù)據(jù)發(fā)送采用主動模式,由應用程序調用write()函數(shù)將數(shù)據(jù)直接寫入SJA1000發(fā)送緩沖寄存器,通過查詢狀態(tài)寄存器以確認該幀是否成功發(fā)送。

另外,由于應用場所不同,總線所處電磁環(huán)境及干擾水平也會有差異,總線由于受干擾而產生錯誤不可避免,驅動程序中會有專門的錯誤中斷處理程序,在CAN控制器報告總線錯誤時及時處理,故障嚴重時要立即復位總線。

3.2 CF卡驅動程序

3.2.1 CF卡總線地址分配

CF卡通過CPLD譯碼,直接掛接在PowerPC的EBC總線,工作在Memory模式,占用片選CS4。CF卡內部的8個控制寄存器通過CPU地址線A31~A29、OE及WBE0組合譯碼后進行讀寫訪問。CPU訪問CF卡控制寄存器的基地址為0xF0500000,詳細地址分配如表1所示。

表1 CPU訪問CF卡控制寄存器地址分配列表

3.2.2 CF卡讀寫操作

CF卡內部數(shù)據(jù)以扇區(qū)為單元進行存儲,每個扇區(qū)為512?Byte,對其讀寫操作必須以扇區(qū)為單位。CF卡內部集成ATA控制器,對外提供8個功能寄存器,CPU對內部扇區(qū)的訪問都要通過讀寫上述功能寄存器。

如圖5所示,寫一個扇區(qū)的流程如下。

1)寄存器寫入扇區(qū)地址。

2)向命令寄存器寫入命令字“0x30”。

3)讀取狀態(tài)寄存器值為“0x58”,以表明其準備好。

4)向數(shù)據(jù)寄存器連續(xù)寫入512?Byte,扇區(qū)內偏移地址會自動加1。

5)檢查狀態(tài)寄存器是否為“0x50”,確保寫入扇區(qū)成功。

CF卡的讀操作和寫操作類似,在此不再贅述。

3.2.3 FAT32文件系統(tǒng)

為了便于應用軟件升級更新、通信參數(shù)快速配置,將Linux?kernel、文件系統(tǒng)、應用程序和配置文件以FAT32格式存儲于CF卡中,這就需要uboot在引導系統(tǒng)啟動時可以直接讀取CF卡中的數(shù)據(jù),并支持FAT32文件系統(tǒng)。

FAT文件系統(tǒng)源于DOS系統(tǒng),早期用于對大容量磁盤驅動器的數(shù)據(jù)管理,按照柱面、磁頭、扇區(qū)對存儲區(qū)進行尋址操作。CF卡沒有柱面和磁頭的概念,內部僅以扇區(qū)的方式管理。

FAT32對數(shù)據(jù)按簇管理,每個文件占用整數(shù)倍個簇空間,MBR中記錄著當前分區(qū)的起始扇區(qū)、結束扇區(qū)、文件系統(tǒng)類型、FAT表個數(shù)、每簇占用扇區(qū)數(shù)等參數(shù)。讀取FAT32格式的文件數(shù)據(jù)時,需要初始化上述變量,通過查詢文件名找到文件存放的簇地址,讀完一簇后獲得下一簇的地址,直至所有數(shù)據(jù)讀取完畢[5]。

3.3 應用程序

作為以太網(wǎng)轉CAN的網(wǎng)關設備,應用程序的主要任務就是實現(xiàn)數(shù)據(jù)的雙向轉發(fā),Linux系統(tǒng)提供的多任務調度機制,將總任務按照功能類別劃分為多個線程,可以獲得相對最簡軟件架構。不同線程間呈現(xiàn)較低的耦合度,為軟件升級和多人合作開發(fā)提供最大便利。為此,本系統(tǒng)任務線程主要包括以下幾種。

1)以太網(wǎng)、CAN通信參數(shù)初始化線程。該線程主要完成Socket參數(shù)的初始化工作,配置當前設備的IP、發(fā)送及接收端口;同時配置每個CAN通道的波特率、屏蔽碼、驗收濾波器等參數(shù)。配置成功后該線程主動掛起,直至有其他線程將其喚醒并重新執(zhí)行配置初始化操作。

2)下行數(shù)據(jù)轉發(fā),即以太網(wǎng)通道數(shù)據(jù)接收、CAN通道發(fā)送線程。該線程循環(huán)監(jiān)聽接收以太網(wǎng)端口,當收到有效UDP數(shù)據(jù)包后,根據(jù)通信協(xié)議將其拆分為CAN數(shù)據(jù)幀,寫入相應CAN通道的發(fā)送緩沖區(qū),觸發(fā)CAN發(fā)送流程。應用程序僅負責將所要發(fā)送的數(shù)據(jù)一次性填入發(fā)送隊列,在驅動層通過查詢和中斷配合的方式,依次完成逐幀發(fā)送。

3)上行數(shù)據(jù)轉發(fā),即CAN通道數(shù)據(jù)接收、以太網(wǎng)通道數(shù)據(jù)發(fā)送線程。當CAN通道有數(shù)據(jù)接收時,驅動層中斷處理程序將SJA1000接收緩存中的數(shù)據(jù)讀入內存中并通知應用程序,應用程序響應后將多個CAN幀序列按協(xié)議組成大包數(shù)據(jù),以UDP包的形式發(fā)送至以太網(wǎng)通道。

4)監(jiān)測數(shù)據(jù)發(fā)送進程。根據(jù)設定周期間隔,系統(tǒng)將設備當前運行狀態(tài)發(fā)送至監(jiān)測機,同時將上下行的原始數(shù)據(jù)打包后同步發(fā)至監(jiān)測機。

3.4 轉發(fā)數(shù)據(jù)超期安全處理

在信號系統(tǒng)中,控制中心指令數(shù)據(jù)和設備狀態(tài)數(shù)據(jù)都以固定周期循環(huán)發(fā)送,以太網(wǎng)轉CAN網(wǎng)關僅負責透明轉發(fā)。

對于上行數(shù)據(jù)(CAN接收,以太網(wǎng)發(fā)送),無論對端設備是否存在或以太網(wǎng)通道建立與否,數(shù)據(jù)以UDP包形式單次發(fā)送后立即釋放發(fā)送緩沖區(qū),陳舊歷史數(shù)據(jù)不會殘留至內存,亦不會再次被發(fā)送。

但對于下行數(shù)據(jù)(以太網(wǎng)接收、CAN發(fā)送),由于CAN總線錯誤或過于繁忙,某一幀堵在隊列內長時間無法發(fā)送,直到總線恢復健康或其他節(jié)點釋放總線,該隊列內的幀才會被逐一發(fā)送。這勢必會造成不可預知的安全隱患,因此,必須將過期數(shù)據(jù)及時清除。具體實現(xiàn)方法:設備接收到以太網(wǎng)數(shù)據(jù)包后記錄一個本地時間戳,該數(shù)據(jù)包內的數(shù)據(jù)通過CAN總線發(fā)送時檢查當前時間和該包接收時刻的時間差是否在允許范圍內,超過閾值則直接丟棄。

4 結論

根據(jù)鐵路信號系統(tǒng)應用的特點,設計了一種以太網(wǎng)轉CAN接口的方案,較既有成熟產品增加了CF卡數(shù)據(jù)配置功能,提供獨立的監(jiān)測數(shù)據(jù)發(fā)送以太網(wǎng)專用通道。針對信號系統(tǒng)對傳輸指令數(shù)據(jù)時效性的要求,對過期數(shù)據(jù)及時清除,防止陳舊的歷史數(shù)據(jù)被錯誤轉發(fā)而造成安全隱患。經(jīng)前期實驗室驗證表明,該方案通用性強、便于維護,具有良好地用戶體驗,在信號控制系統(tǒng)中應該具有良好的應用前景。

[1] 王永翔, 王立德.多播交換式CAN總線與以太網(wǎng)互聯(lián)網(wǎng)關設計[J].電子測量與儀器學報,2007,21(3):83-87.

[2] 李加升, 李寧, 曾哲.基于CAN總線與以太網(wǎng)的嵌入式網(wǎng)關設計[J].現(xiàn)代電子技術,2009, 32(14):69-77.

[3] 葉梅, 趙京偉, 初元萍.嵌入式Linux系統(tǒng)在PowerPC上的實現(xiàn)[J].核電子學與探測技術,2006, 26(5):614-617.

[4] Philips Semiconductors.SJA1000 Stand-alone CAN controller.2000.

[5] Microsoft Corporation.Microsoft Extensible Firmware Initiative FAT32 File System Specification.

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發(fā)的設備管理信息系統(tǒng)
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發(fā)射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
HTC斥資千萬美元入股虛擬現(xiàn)實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節(jié)省成本
主站蜘蛛池模板: 久久国产黑丝袜视频| 毛片久久久| 国产91精品最新在线播放| 亚洲无码高清免费视频亚洲 | 超清无码熟妇人妻AV在线绿巨人| 国产欧美性爱网| 丰满的少妇人妻无码区| 欧美成人综合在线| 中文字幕第1页在线播| 亚洲天堂网视频| 无码精油按摩潮喷在线播放 | 亚洲人精品亚洲人成在线| 国产免费怡红院视频| 青青草国产精品久久久久| 尤物在线观看乱码| 国产青青草视频| 欧美性久久久久| 日韩视频免费| 1769国产精品视频免费观看| 国产视频一二三区| 精品视频一区二区三区在线播| 欧美精品不卡| 国产v精品成人免费视频71pao| 亚洲免费播放| 中文字幕亚洲电影| 无码高潮喷水在线观看| 爆乳熟妇一区二区三区| 99热最新在线| 1级黄色毛片| 国产精品福利社| 国产精品刺激对白在线| 国产人妖视频一区在线观看| 亚洲区第一页| 国产成本人片免费a∨短片| 自拍偷拍欧美日韩| 色综合中文综合网| 欧美日韩国产成人在线观看| 激情乱人伦| 日本黄色a视频| 51国产偷自视频区视频手机观看| 亚洲人成网18禁| 成人在线亚洲| 国内精品九九久久久精品 | 在线欧美一区| 国产美女免费| 91久久国产综合精品| 久久这里只有精品8| 亚洲无码视频喷水| 97se亚洲综合在线| 99色亚洲国产精品11p| www亚洲天堂| 亚洲人在线| 91综合色区亚洲熟妇p| 操国产美女| 日本高清免费不卡视频| 中文无码影院| 天堂亚洲网| 黄色一级视频欧美| 波多野结衣国产精品| 国产96在线 | 99re在线免费视频| 免费三A级毛片视频| 亚洲成人播放| 欧美自拍另类欧美综合图区| 色婷婷在线播放| 一区二区在线视频免费观看| 老司机久久99久久精品播放| 精品久久蜜桃| 永久在线精品免费视频观看| 色综合久久综合网| 国产欧美日韩在线一区| 国产网站在线看| 欧美一区中文字幕| 人妻免费无码不卡视频| 国产精品亚洲片在线va| a级毛片网| www.99在线观看| 色婷婷亚洲综合五月| 亚洲国产日韩欧美在线| 99re在线观看视频| 日韩av电影一区二区三区四区 | 91亚瑟视频|