亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于ARM的列車用CAN通信轉(zhuǎn)換控制方法及轉(zhuǎn)換模塊與流程

文檔序號:11147683閱讀:658來源:國知局
基于ARM的列車用CAN通信轉(zhuǎn)換控制方法及轉(zhuǎn)換模塊與制造工藝

本發(fā)明屬于列車通信技術領域,涉及列車用CAN通信轉(zhuǎn)換技術,具體地說,涉及一種基于ARM的列車用CAN通信轉(zhuǎn)換控制方法及轉(zhuǎn)換模塊。



背景技術:

CAN(Controller Area Network的簡稱,即控制器局域網(wǎng))總線是一種用于實時應用的多主方式串行通信總線協(xié)議,具有很多優(yōu)越的特性。其優(yōu)點包括:使用成本低;具有極高的總線利用率;數(shù)據(jù)的傳輸距離遠,長達10km;數(shù)據(jù)傳輸速率高,可高達1Mbit/s;可根據(jù)報文的ID決定接收獲屏蔽該報文;具有可靠的錯誤處理和檢錯機制;發(fā)送的信息遭到破壞后,可以自動重發(fā);節(jié)點在錯誤嚴重的情況下可自動退出總線;報文不包含源地址或目標地址,僅用標識符來指示功能信息、優(yōu)先級信息。因此,CAN總線通信在汽車工業(yè)、航空工業(yè)、工業(yè)控制和安全防護等領域中獲得廣泛的應用。

在軌道交通列車應用中,CAN總線最初僅僅用于設備級的網(wǎng)絡中。隨著車載設備的模塊化設計,設備內(nèi)部不同模塊之間也需要快速可靠地進行通信。因此,CAN總線通信也可用于設備內(nèi)部通信網(wǎng)絡,即模塊級網(wǎng)絡。

為了實現(xiàn)設備級網(wǎng)絡之間、模塊級網(wǎng)絡之間以及設備級網(wǎng)絡與模塊級網(wǎng)絡之間的可靠數(shù)據(jù)傳輸,同時保證冗余或可擴展功能,轉(zhuǎn)換設備需要具有至少三路CAN總線。現(xiàn)有的大多設備采用的CPU最多內(nèi)嵌兩個CAN控制器,僅具有兩路CAN總線。單CPU不能滿足三路CAN總線的要求,若增加外部CAN控制器,則控制速度太慢;若采用多個CPU,則增加了電路的復雜性和CPU總線間的數(shù)據(jù)交互。



技術實現(xiàn)要素:

本發(fā)明針對現(xiàn)有技術存在CAN總線接口較少或控制速度慢、電路復雜、數(shù)據(jù)交互困難等上述問題,提供了一種基于ARM的列車用CAN通信轉(zhuǎn)換控制方法及轉(zhuǎn)換模塊,能夠滿足三路CAN總線的要求,以簡單的電路實現(xiàn)數(shù)據(jù)的快速可靠傳輸,實現(xiàn)了設備級網(wǎng)絡之間、模塊級網(wǎng)絡之間以及設備級網(wǎng)絡與模塊級網(wǎng)絡之間的可靠數(shù)據(jù)傳輸。

為了達到上述目的,本發(fā)明提供了一種基于ARM的列車用CAN通信轉(zhuǎn)換控制方法,含有以下步驟:

CAN通信轉(zhuǎn)換模塊初始化,完成ARM處理器硬件、通用定時器模塊、CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊以及變量初始化;

ARM處理器中斷服務,提供由通用定時器模塊所產(chǎn)生的主循環(huán)的時間周期以及CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的數(shù)據(jù)接收;

主循環(huán),主循環(huán)采用的CAN網(wǎng)絡拓撲結(jié)構(gòu)為:CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊分別連接兩個從設備的設備級CAN總線,并采取點對點的方式傳輸數(shù)據(jù),CAN3收發(fā)接口模塊連接主設備內(nèi)部的模塊級CAN總線;主循環(huán)采用以下運行模式運行:ARM處理器將CAN3收發(fā)接口模塊收到的數(shù)據(jù)重新打包,同時通過CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊發(fā)送至從設備;ARM處理器將CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊收到的數(shù)據(jù)重新打包,同時通過CAN3收發(fā)接口模塊發(fā)送至主設備的其他相關模塊。

優(yōu)選的,主循環(huán)采用的運行模式運行的具體步驟如下:

(1)ARM處理器按照時間周期T1通過CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊分別同時通過CAN總線向兩個從設備發(fā)送報文TX_MSG11和報文TX_MSG21,報文TX_MSG11和報文TX_MSG21為數(shù)據(jù)幀,觸發(fā)從設備的響應;

(2)ARM處理器按照時間周期T2通過CAN3收發(fā)接口模塊向主設備其它模塊發(fā)送固定的報文TX_MSG31,報文TX_MSG31為數(shù)據(jù)幀,報文TX_MSG31中含有CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊的接收狀態(tài);

(3)當ARM處理器從CAN1收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,將報文中的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF1,并設置CAN1收發(fā)接口模塊的ID接收標志為有效;或當ARM處理器從CAN2收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,將報文中的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF2,并設置CAN2收發(fā)接口模塊的ID接收標志為有效;

(4)ARM處理器檢測到CAN1收發(fā)接口模塊的ID接收標志有效或CAN2收發(fā)接口模塊的ID接收標志有效,則會將緩存區(qū)BUFF1或緩存區(qū)BUFF2中的數(shù)據(jù)通過CAN3收發(fā)接口模塊對應的報文TX_MSG3X轉(zhuǎn)發(fā)出去,下標X對應于不同的ID接收標志;

(5)當ARM處理器從CAN3收發(fā)接口模塊接收到有效報文時,根據(jù)該報文同時更新報文TX_MSG11和報文TX_MSG21的數(shù)據(jù)內(nèi)容;

(6)ARM處理器以時間周期T3檢測CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的接收狀態(tài),根據(jù)CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊的接收狀態(tài)更新報文TX_MSG31中的相關數(shù)據(jù)。

為了達到上述目的,本發(fā)明另提供了一種基于ARM的列車用CAN通信轉(zhuǎn)換控制方法,含有以下步驟:

CAN通信轉(zhuǎn)換模塊初始化,完成ARM處理器硬件、通用定時器模塊、CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊以及變量初始化;

ARM處理器中斷服務,提供由通用定時器模塊所產(chǎn)生的主循環(huán)的時間周期以及CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的數(shù)據(jù)接收;

主循環(huán),主循環(huán)采用的CAN網(wǎng)絡拓撲結(jié)構(gòu)為:主設備、CAN1收發(fā)接口模塊、以串聯(lián)方式形成鏈路的多個設備、CAN2收發(fā)接口模塊依次以點對點的方式首尾連接形成環(huán)路,CAN3收發(fā)接口模塊連接主設備內(nèi)部的模塊級CAN總線;主循環(huán)采用以下運行模式運行:ARM處理器通過CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊接收整個環(huán)路上全部從設備的數(shù)據(jù),CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊接收的數(shù)據(jù)互為冗余,經(jīng)ARM處理器校驗數(shù)據(jù)的有效性后,通過CAN3收發(fā)接口模塊轉(zhuǎn)發(fā)至主設備的其他模塊;ARM處理器通過CAN3收發(fā)接口模塊接收來自內(nèi)部模塊級CAN總線的主設備控制器命令時,ARM處理器通過CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊向相鄰的從設備轉(zhuǎn)發(fā)。

優(yōu)選的,主循環(huán)采用的運行模式運行的具體步驟如下:

(1)ARM處理器按照時間周期T1通過CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊分別同時通過CAN總線向從設備發(fā)送報文TX_MSG11和報文TX_MSG21,報文TX_MSG11和報文TX_MSG21為數(shù)據(jù)幀,觸發(fā)從設備的響應;

(2)ARM處理器按照時間周期T2通過CAN3收發(fā)接口模塊向主設備發(fā)送固定的報文TX_MSG31,報文TX_MSG31為數(shù)據(jù)幀,報文TX_MSG31中含有從設備鏈路的連接狀態(tài);

(3)當ARM處理器從CAN1收發(fā)接口模塊或CAN2收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,將報文中的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF,并設置外部數(shù)據(jù)接收標志為有效;

(4)ARM處理器檢測到外部數(shù)據(jù)接收標志有效,則以周期T3將ARM處理器的緩存區(qū)BUFF中的數(shù)據(jù)通過CAN3收發(fā)接口模塊對應的報文TX_MSG3X轉(zhuǎn)發(fā)出去,下標X對應于不同的ID接收標志;

(5)當ARM處理器從CAN3收發(fā)接口模塊接收到有效報文時,將其通過CAN1收發(fā)接口模塊的報文TX_MSG11和CAN2收發(fā)接口模塊的報文TX_MSG21分別轉(zhuǎn)發(fā)出去;

(6)ARM處理器以時間周期T3檢測檢測整個鏈路從設備的連接狀態(tài),并根據(jù)該狀態(tài)更新報文TX_MSG31中的相關數(shù)據(jù)。

為了達到上述目的,本發(fā)明又提供了一種基于ARM的列車用CAN通信轉(zhuǎn)換控制方法,含有以下步驟:

CAN通信轉(zhuǎn)換模塊初始化,完成ARM處理器硬件、通用定時器模塊、CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊以及變量初始化;

ARM處理器中斷服務,提供由通用定時器模塊所產(chǎn)生的主循環(huán)的時間周期以及CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的數(shù)據(jù)接收;

主循環(huán),主循環(huán)采用的CAN網(wǎng)絡拓撲結(jié)構(gòu)為:主設備通過CAN1收發(fā)接口模塊連接至主設備的設備級CAN1總線,主設備通過CAN2收發(fā)接口模塊與從設備點對點連接,CAN3收發(fā)接口模塊連接主設備內(nèi)部的模塊級CAN總線;主循環(huán)采用以下運行模式運行:ARM處理器通過CAN3收發(fā)接口模塊接收主設備的其他模塊的報文,并對報文數(shù)據(jù)進行邏輯處理后通過CAN1收發(fā)接口模塊轉(zhuǎn)發(fā);ARM處理器通過CAN2收發(fā)接口模塊接收從設備的報文,并將報文數(shù)據(jù)直接通過CAN1收發(fā)接口模塊轉(zhuǎn)發(fā);當ARM處理器通過CAN1收發(fā)接口模塊從設備級CAN1總線接收到報文時,ARM處理器將主設備需要的報文通過CAN3收發(fā)接口模塊轉(zhuǎn)發(fā),將從設備需要的報文通過CAN2收發(fā)接口模塊轉(zhuǎn)發(fā)。

優(yōu)選的,主循環(huán)采用的運行模式運行的具體步驟如下:

(1)ARM處理器按照時間周期T1通過CAN1收發(fā)接口模塊向設備級CAN1總線發(fā)送報文TX_MSG11-TX_MSG1n,n為大于1的自然數(shù),報文TX_MSG11-TX_MSG1n為數(shù)據(jù)幀;

(2)ARM處理器按照時間周期T2通過CAN2收發(fā)接口模塊向從設備發(fā)送報文TX_MSG21-TX_MSG2n,n為大于1的自然數(shù),報文TX_MSG21-TX_MSG2n為數(shù)據(jù)幀;

(3)ARM處理器按照時間周期T3通過CAN3收發(fā)接口模塊向主設備發(fā)送固定的報文TX_MSG31-TX_MSG3n,n為大于1的自然數(shù),報文TX_MSG31-TX_MSG3n為數(shù)據(jù)幀;

(4)當ARM處理器從CAN1收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,將報文中的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF1;

(5)當ARM處理器從CAN2收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,將報文中的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF2;

(6)當ARM處理器從CAN3收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,ARM處理器對報文中的數(shù)據(jù)進行邏輯處理后,將處理完畢的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF3;

(7)ARM處理器以時間周期T4檢測CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的接收狀態(tài);

(8)ARM處理器以時間周期T5更新CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊待發(fā)送數(shù)據(jù),包括用緩存區(qū)BUFF2中的數(shù)據(jù)、緩存區(qū)BUFF3中的數(shù)據(jù)、CAN2收發(fā)接口模塊的接收狀態(tài)和CAN3收發(fā)接口模塊的接收狀態(tài)更新TX_MSG11-TX_MSG1n,用緩存區(qū)BUFF1中的數(shù)據(jù)更新TX_MSG21-TX_MSG2n,以及用緩存區(qū)BUFF1中的數(shù)據(jù)、CAN1收發(fā)接口模塊的接收狀態(tài)和CAN2收發(fā)接口模塊的接收狀態(tài)更新TX_MSG31-TX_MSG3n。

為了達到上述目的,基于上述轉(zhuǎn)換控制方法,本發(fā)明還提供了一種基于ARM的列車用CAN通信轉(zhuǎn)換模塊,包括ARM處理器、內(nèi)嵌于ARM處理器中的三路CAN通信控制器以及與ARM處理器連接的數(shù)字量輸入接口單元,每路CAN通信控制器均連接有一路用于連接CAN總線的CAN收發(fā)接口模塊,分別為CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊和CAN3收發(fā)接口模塊;ARM處理器分別與三路CAN收發(fā)接口模塊之間均連接有0V或3.3V的脈沖信號,用于CAN接收和CAN發(fā)送,ARM處理器與數(shù)字量輸入接口單元之間連接有0V或3.3V的數(shù)字量信號,用于提供數(shù)字量輸入狀態(tài)。

優(yōu)選的,三路CAN收發(fā)接口模塊中,CAN1收發(fā)接口模塊和CAN2收發(fā)接口模塊均為隔離的CAN收發(fā)電路,均包括一個隔離式CAN總線收發(fā)器以及由+5V轉(zhuǎn)+5V的電源隔離模塊,將CAN1總線接收、CAN1總線發(fā)送的信號轉(zhuǎn)換為符合CAN通信標準的差分信號CAN1H、CAN1L,以及CAN2總線接收、CAN2總線發(fā)送的信號轉(zhuǎn)換為符合CAN通信標準的差分信號CAN2H、CAN2L;CAN3收發(fā)接口模塊為非隔離的CAN收發(fā)電路,包括一CAN總線收發(fā)器,將CAN3接收、CAN3發(fā)送的信號轉(zhuǎn)換為符合CAN通信標準的差分信號CAN3H、CAN3L。

優(yōu)選的,所述數(shù)字量輸入接口單元包含數(shù)字量隔離器,將外部的+5V電平轉(zhuǎn)換為隔離的適用于ARM處理器的+3.3V電平。

優(yōu)選的,連接CAN1收發(fā)接口模塊的CAN1總線和連接CAN2收發(fā)接口模塊的CAN2總線為設備級CAN總線,用于負責設備之間的通信;連接CAN3收發(fā)接口模塊的CAN3總線為模塊級CAN總線,用于負責單個設備內(nèi)部模塊間的通信。

與現(xiàn)有技術相比,本發(fā)明的優(yōu)點和積極效果在于:

(1)本發(fā)明提供的CAN通信轉(zhuǎn)換控制方法,采用ARM處理器實現(xiàn)CAN通信,將數(shù)據(jù)轉(zhuǎn)發(fā)與數(shù)據(jù)處理相結(jié)合,能夠擴展出多種控制方案,采用主從結(jié)構(gòu)形式的三種運行模式:單個從設備可通過設備級CAN總線接到主設備,并通過主設備模塊級CAN總線接入主設備上一級CAN網(wǎng)絡模塊;兩個從設備可通過設備級CAN總線接到主設備,并通過主設備模塊級CAN總線接入主設備列車網(wǎng)絡模塊;多個從設備可通過設備級CAN總線接到主設備,并通過主設備模塊級CAN總線接入主設備列車網(wǎng)絡模塊,控制方案靈活。

(2)本發(fā)明提供的CAN通信轉(zhuǎn)換模塊電路結(jié)構(gòu)簡單,以簡單的電路實現(xiàn)了設備級網(wǎng)絡之間、模塊級網(wǎng)絡之間以及設備級網(wǎng)絡與模塊級網(wǎng)絡之間的可靠數(shù)據(jù)傳輸,并且能夠?qū)崿F(xiàn)冗余或可擴展,具有三路CAN收發(fā)接口,能夠滿足三路CAN總線的要求,控制方案靈活,采用主從結(jié)構(gòu),通過主設備保證一個或多個從設備與列車網(wǎng)絡間接通信,使整車的網(wǎng)絡簡化且清晰,系統(tǒng)安全可靠,降低了整車的成本。

(3)本發(fā)明提供的CAN通信轉(zhuǎn)換模塊采用模塊化設計,推動了列車網(wǎng)絡設備的模塊化設計,CAN通信轉(zhuǎn)換模塊中的CAN收發(fā)接口模塊可以為符合CAN通信標準的不同模塊,維護時只需更換需要維修的模塊即可,降低了設計和維護成本,同時便于設備維護人員進行維護和維修。

(4)本發(fā)明提供的CAN通信轉(zhuǎn)換模塊及控制方法,采用適合于鐵路應用的ARM處理器,該處理器具有雙ARM Cortex-R4F核架構(gòu)、雙核鎖步運行檢、FLASH和RAM校驗和保護機制、時鐘和電壓監(jiān)控等,用硬件提供安全特性、檢測是否有隨機故障,避免系統(tǒng)出錯,支持IEC61508最高等級的SIL-3安全標準,適用于列車軸溫監(jiān)測裝置、煙火報警裝置、充電機等列車網(wǎng)絡設備。

附圖說明

圖1為本發(fā)明一實施例中基于ARM的列車用CAN通信轉(zhuǎn)換控制方法的主循環(huán)CAN網(wǎng)絡拓撲結(jié)構(gòu)圖。

圖2為本發(fā)明圖1實施例中基于ARM的列車用CAN通信轉(zhuǎn)換控制方法的主循環(huán)流程圖。

圖3為本發(fā)明另一實施例中基于ARM的列車用CAN通信轉(zhuǎn)換控制方法的主循環(huán)CAN網(wǎng)絡拓撲結(jié)構(gòu)圖。

圖4為本發(fā)明圖3實施例中基于ARM的列車用CAN通信轉(zhuǎn)換控制方法的主循環(huán)流程圖。

圖5為本發(fā)明又一實施例中基于ARM的列車用CAN通信轉(zhuǎn)換控制方法的主循環(huán)CAN網(wǎng)絡拓撲結(jié)構(gòu)圖。

圖6為本發(fā)明圖5實施例中基于ARM的列車用CAN通信轉(zhuǎn)換控制方法的主循環(huán)流程圖。

圖7為本發(fā)明一實施例中基于ARM的列車用CAN通信轉(zhuǎn)換模塊的硬件結(jié)構(gòu)簡圖。

圖8為本發(fā)明一實施例中基于ARM的列車用CAN通信轉(zhuǎn)換模塊的ARM處理器的邏輯框架圖。

具體實施方式

下面,通過示例性的實施方式對本發(fā)明進行具體描述。然而應當理解,在沒有進一步敘述的情況下,一個實施方式中的元件、結(jié)構(gòu)和特征也可以有益地結(jié)合到其他實施方式中。

本發(fā)明一實施例,提供了一種基于ARM的列車用CAN通信轉(zhuǎn)換控制方法,含有以下步驟:

S1、CAN通信轉(zhuǎn)換模塊初始化,完成ARM處理器硬件、通用定時器模塊、CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊以及變量初始化;所述的變量包括ID接收標志、發(fā)送的報文數(shù)據(jù)和接收的報文數(shù)據(jù)。

更具體的說,將ARM處理器硬件、通用定時器模塊、CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊初始化為工作前的初始狀態(tài),將變量進行初始化是指將所有變量初始化為零。

S2、ARM處理器中斷服務,提供由通用定時器模塊所產(chǎn)生的主循環(huán)的時間周期以及CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的數(shù)據(jù)接收。

S3、主循環(huán),根據(jù)以下CAN網(wǎng)絡拓撲結(jié)構(gòu)及運行模式運行;參見圖1,CAN網(wǎng)絡拓撲結(jié)構(gòu)為:CAN1收發(fā)接口模塊連接從設備1的設備級CAN總線,并采取點對點的方式傳輸數(shù)據(jù);CAN2收發(fā)接口模塊連接從設備2的設備級CAN總線,并采取點對點的方式傳輸數(shù)據(jù);CAN3收發(fā)接口模塊連接主設備內(nèi)部的模塊級CAN3總線;運行模式為:ARM處理器將CAN3收發(fā)接口模塊收到的數(shù)據(jù)重新打包,同時通過CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊發(fā)送至從設備;ARM處理器將CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊收到的數(shù)據(jù)重新打包,同時通過CAN3收發(fā)接口模塊發(fā)送至主設備的其他相關模塊。

參見圖2,主循環(huán)的具體步驟如下:

S31:ARM處理器按照時間周期T1通過CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊分別同時通過CAN總線向兩個從設備發(fā)送報文TX_MSG11和報文TX_MSG21,報文TX_MSG11和報文TX_MSG21為數(shù)據(jù)幀,觸發(fā)從設備的響應。

S32:ARM處理器按照時間周期T2通過CAN3收發(fā)接口模塊向主設備發(fā)送固定的報文TX_MSG31,報文TX_MSG31為數(shù)據(jù)幀,報文TX_MSG31中含有CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊的接收狀態(tài)。

S33:當ARM處理器從CAN1收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,將報文中的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF1,并設置CAN1收發(fā)接口模塊的ID接收標志為有效;或當ARM處理器從CAN2收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,將報文中的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF2,并設置CAN2收發(fā)接口模塊的ID接收標志為有效。

S34:ARM處理器檢測到CAN1收發(fā)接口模塊的ID接收標志有效或CAN2收發(fā)接口模塊的ID接收標志有效,則ARM處理器會將緩存區(qū)BUFF1或緩存區(qū)BUFF2中的數(shù)據(jù)通過CAN3收發(fā)接口模塊對應的報文TX_MSG3X轉(zhuǎn)發(fā)出去,下標X對應于不同的ID接收標志,并清除CAN1收發(fā)接口模塊的ID有效接收標志或CAN2收發(fā)接口模塊的ID有效接收標志。

S35:當ARM處理器從CAN3收發(fā)接口模塊接收到有效報文時,根據(jù)該報文同時更新報文TX_MSG11和報文TX_MSG21的數(shù)據(jù)內(nèi)容;

S36:ARM處理器以時間周期T3檢測CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的接收狀態(tài),根據(jù)CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊的接收狀態(tài)更新報文TX_MSG31中的相關數(shù)據(jù)。

本實施例上述控制方法適用于單個從設備與主設備之間的通信。

為了便于工作人員查看ARM處理器的運行狀況以及三個收發(fā)接口模塊的接收狀態(tài),及時了解ARM處理器及CAN收發(fā)接口模塊的工作狀態(tài),進一步保證數(shù)據(jù)傳輸?shù)目煽啃浴⒁妶D2,在本發(fā)明一優(yōu)選實施例中,在步驟S36之后,ARM處理器以時間周期T4通過指示燈顯示ARM處理器運行狀況以及CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的接收狀態(tài)。本實施例所述控制方法同樣適用于單個從設備與主設備之間的通信。

本發(fā)明另一實施例,提供了一種基于ARM的列車用CAN通信轉(zhuǎn)換控制方法,含有以下步驟:

S1:CAN通信轉(zhuǎn)換模塊初始化,完成ARM處理器硬件、通用定時器模塊、CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊以及變量初始化;所述的變量包括ID接收標志、發(fā)送的報文數(shù)據(jù)和接收的報文數(shù)據(jù)。

更具體的說,將ARM處理器硬件、通用定時器模塊、CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊初始化為工作前的初始狀態(tài),將變量進行初始化是指將所有變量初始化為零。

S2:ARM處理器中斷服務,提供由通用定時器模塊所產(chǎn)生的主循環(huán)的時間周期以及CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的數(shù)據(jù)接收。

S3:主循環(huán),根據(jù)以下CAN網(wǎng)絡拓撲結(jié)構(gòu)及運行模式運行;參見圖3,CAN網(wǎng)絡拓撲結(jié)構(gòu)為:主設備、CAN1收發(fā)接口模塊、以串聯(lián)方式形成鏈路的多個設備、CAN2收發(fā)接口模塊依次以點對點的方式首尾連接形成環(huán)路,CAN3收發(fā)接口模塊連接主設備內(nèi)部的模塊級CAN3總線;運行模式為:ARM處理器通過CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊接收整個環(huán)路上全部從設備的數(shù)據(jù),CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊接收的數(shù)據(jù)互為冗余,經(jīng)ARM處理器校驗數(shù)據(jù)的有效性后,通過CAN3收發(fā)接口模塊轉(zhuǎn)發(fā)至主設備的其他模塊;ARM處理器通過CAN3收發(fā)接口模塊接收來自內(nèi)部模塊級CAN3總線的主設備控制器命令時,ARM處理器通過CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊向相鄰的從設備轉(zhuǎn)發(fā)。

參見圖4,主循環(huán)的具體步驟如下:

S31:ARM處理器按照時間周期T1通過CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊分別同時通過CAN總線向從設備發(fā)送報文TX_MSG11和報文TX_MSG21,報文TX_MSG11和報文TX_MSG21為數(shù)據(jù)幀,觸發(fā)從設備的響應;

S32:ARM處理器按照時間周期T2通過CAN3收發(fā)接口模塊向主設備發(fā)送固定的報文TX_MSG31,報文TX_MSG31為數(shù)據(jù)幀,報文TX_MSG31中含有從設備鏈路的連接狀態(tài);

S33:當ARM處理器從CAN1收發(fā)接口模塊或CAN2收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,將報文中的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF,并設置外部數(shù)據(jù)接收標志為有效;

S34:ARM處理器檢測到外部數(shù)據(jù)接收標志有效,則以周期T3將ARM處理器的緩存區(qū)BUFF中的數(shù)據(jù)通過CAN3收發(fā)接口模塊對應的報文TX_MSG3X轉(zhuǎn)發(fā)出去,下標X對應于不同的ID接收標志,并清除CAN1收發(fā)接口模塊的ID有效接收標志或CAN2收發(fā)接口模塊的ID有效接收標志。

S35:當ARM處理器從CAN3收發(fā)接口模塊接收到有效報文時,將其通過CAN1收發(fā)接口模塊的報文TX_MSG11和CAN2收發(fā)接口模塊的報文TX_MSG21分別轉(zhuǎn)發(fā)出去;

S36:ARM處理器以時間周期T3檢測檢測整個鏈路從設備的連接狀態(tài),并根據(jù)該狀態(tài)更新報文TX_MSG31中的相關數(shù)據(jù)。

本實施例上述所述控制方法適用于兩個從設備與主設備之間的通信。

為了便于工作人員查看ARM處理器的運行狀況以及三個收發(fā)接口模塊的接收狀態(tài),及時了解ARM處理器及CAN收發(fā)接口模塊的工作狀態(tài),進一步保證數(shù)據(jù)傳輸?shù)目煽啃?。參見圖4,在本發(fā)明另一優(yōu)選實施例中,在步驟S36之后,ARM處理器以時間周期T4通過指示燈顯示ARM處理器運行狀況以及CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的接收狀態(tài)。本實施例所述控制方法同樣適用于兩個從設備與主設備之間的通信。本發(fā)明又一實施例,提供了一種基于ARM的列車用CAN通信轉(zhuǎn)換控制方法,含有以下步驟:

S1:CAN通信轉(zhuǎn)換模塊初始化完成ARM處理器硬件、通用定時器模塊、CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊以及變量初始化;所述的變量包括ID接收標志、發(fā)送的報文數(shù)據(jù)和接收的報文數(shù)據(jù)。

更具體的說,將ARM處理器硬件、通用定時器模塊、CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊初始化為工作前的初始狀態(tài),將變量進行初始化是指將所有變量初始化為零。

S2:ARM處理器中斷服務,提供由通用定時器模塊所產(chǎn)生的主循環(huán)的時間周期以及CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的數(shù)據(jù)接收。

S3:主循環(huán),根據(jù)以下CAN網(wǎng)絡拓撲結(jié)構(gòu)及運行模式運行;參見圖5,CAN網(wǎng)絡拓撲結(jié)構(gòu)為:主設備通過CAN1收發(fā)接口模塊連接至主設備的設備級CAN1總線,主設備通過CAN2收發(fā)接口模塊與從設備點對點連接,CAN3收發(fā)接口模塊連接主設備內(nèi)部的模塊級CAN3總線;運行模式為:ARM處理器通過CAN3收發(fā)接口模塊接收主設備的其他模塊的報文,并對報文數(shù)據(jù)進行邏輯處理后通過CAN1收發(fā)接口模塊轉(zhuǎn)發(fā);ARM處理器通過CAN2收發(fā)接口模塊接收從設備的報文,并將報文數(shù)據(jù)直接通過CAN1收發(fā)接口模塊轉(zhuǎn)發(fā);當ARM處理器通過CAN1收發(fā)接口模塊從設備級CAN1總線接收到報文時,ARM處理器將主設備需要的報文通過CAN3收發(fā)接口模塊轉(zhuǎn)發(fā),將從設備需要的報文通過CAN2收發(fā)接口模塊轉(zhuǎn)發(fā)。

參見圖6,主循環(huán)的具體步驟如下:

S31:ARM處理器按照時間周期T1通過CAN1收發(fā)接口模塊向設備級CAN1總線發(fā)送報文TX_MSG11-TX_MSG1n,n為大于1的自然數(shù),報文TX_MSG11-TX_MSG1n為數(shù)據(jù)幀;

S32:ARM處理器按照時間周期T2通過CAN2收發(fā)接口模塊向從設備發(fā)送報文TX_MSG21-TX_MSG2n,n為大于1的自然數(shù),報文TX_MSG21-TX_MSG2n為數(shù)據(jù)幀;

S33:ARM處理器按照時間周期T3通過CAN3收發(fā)接口模塊向主設備發(fā)送固定的報文TX_MSG31-TX_MSG3n,n為大于1的自然數(shù),報文TX_MSG31-TX_MSG3n為數(shù)據(jù)幀;

S34:當ARM處理器從CAN1收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,將報文中的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF1;

S35:當ARM處理器從CAN2收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,將報文中的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF2;

S36:當ARM處理器從CAN3收發(fā)接口模塊接收到的報文具有符合配置要求的ID時,ARM處理器對報文中的數(shù)據(jù)進行邏輯處理后,將處理完畢的數(shù)據(jù)放入ARM處理器的緩存區(qū)BUFF3;

S37:ARM處理器以時間周期T4檢測CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的接收狀態(tài);

S38:ARM處理器以時間周期T5更新CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊待發(fā)送數(shù)據(jù),包括用緩存區(qū)BUFF2中的數(shù)據(jù)、緩存區(qū)BUFF3中的數(shù)據(jù)、CAN2收發(fā)接口模塊的接收狀態(tài)和CAN3收發(fā)接口模塊的接收狀態(tài)更新TX_MSG11-TX_MSG1n,用緩存區(qū)BUFF1中的數(shù)據(jù)更新TX_MSG21-TX_MSG2n,以及用緩存區(qū)BUFF1中的數(shù)據(jù)、CAN1收發(fā)接口模塊的接收狀態(tài)和CAN2收發(fā)接口模塊的接收狀態(tài)更新TX_MSG31-TX_MSG3n。

本實施例上述所述控制方法適用于多個從設備與主設備之間的通信。

為了便于工作人員查看ARM處理器的運行狀況以及三個收發(fā)接口模塊的接收狀態(tài),及時了解ARM處理器及CAN收發(fā)接口模塊的工作狀態(tài),進一步保證數(shù)據(jù)傳輸?shù)目煽啃?。參見圖2,在本發(fā)明又一優(yōu)選實施例中,在步驟S38之后,ARM處理器以時間周期T6通過指示燈顯示ARM處理器運行狀況以及CAN1收發(fā)接口模塊、CAN2收發(fā)接口模塊、CAN3收發(fā)接口模塊的接收狀態(tài)。本實施例所述控制方法同樣適用于多個從設備與主設備之間的通信。

參見圖7、圖8,本發(fā)明一實施例中,基于上述實施例所述CAN通信轉(zhuǎn)換控制方法,提供了一種基于ARM的列車用CAN通信轉(zhuǎn)換模塊,包括ARM處理器、內(nèi)嵌于ARM處理器中的三路CAN通信控制器以及與ARM處理器連接的數(shù)字量輸入接口單元,CAN1通信控制器連接有用于連接CAN1總線的CAN1收發(fā)接口模塊,CAN2通信控制器連接有用于連接CAN2總線的CAN2收發(fā)接口模塊,CAN3通信控制器連接有用于連接CAN3總線的CAN3收發(fā)接口模塊;ARM處理器分別與三路CAN收發(fā)接口模塊之間均連接有0V或3.3V的脈沖信號,用于CAN接收和CAN發(fā)送,ARM處理器與數(shù)字量輸入接口單元之間連接有0V或3.3V的數(shù)字量信號,用于提供數(shù)字量輸入狀態(tài)。

為了實現(xiàn)三路CAN收發(fā)接口模塊的對總線發(fā)送的信號進行轉(zhuǎn)換并轉(zhuǎn)發(fā)出去,在本發(fā)明一優(yōu)選實施例中,三路CAN收發(fā)接口模塊中,CAN1收發(fā)接口模塊包括一個隔離式CAN總線收發(fā)器和一個由+5V轉(zhuǎn)+5V的電源隔離模塊,電源隔離模塊為隔離式CAN總線收發(fā)器供電,隔離式CAN總線收發(fā)器將CAN1總線接收、CAN1總線發(fā)送的信號轉(zhuǎn)換為符合CAN通信標準的差分信號CAN1H、CAN1L轉(zhuǎn)發(fā)出去。同樣地,CAN2收發(fā)接口模塊包括一個隔離式CAN總線收發(fā)器和一個由+5V轉(zhuǎn)+5V的電源隔離模塊,電源隔離模塊為隔離式CAN總線收發(fā)器供電,隔離式CAN總線收發(fā)器將CAN2總線接收、CAN2總線發(fā)送的信號轉(zhuǎn)換為符合CAN通信標準的差分信號CAN2H、CAN2L轉(zhuǎn)發(fā)出去。CAN3收發(fā)接口模塊為非隔離的CAN收發(fā)電路,包括一CAN總線收發(fā)器,CAN總線收發(fā)器將CAN3接收、CAN3發(fā)送的信號轉(zhuǎn)換為符合CAN通信標準的差分信號CAN3H、CAN3L轉(zhuǎn)發(fā)出去。在本發(fā)明一更優(yōu)選實施例中,所述隔離式CAN總線收發(fā)器采用CAN總線收發(fā)器IS01050DUB,電源隔離模塊采用電源隔離模塊DRC010505U,CAN總線收發(fā)器采用CAN總線收發(fā)器SN65HVD232D。

為了使外部數(shù)字量輸入電平轉(zhuǎn)換為適于ARM處理器使用的電平輸入,在本發(fā)明一優(yōu)選實施例中,所述數(shù)字量輸入接口單元包含數(shù)字量隔離器,將外部的+5V電平轉(zhuǎn)換為隔離的適用于ARM處理器的+3.3V電平。在本發(fā)明一更優(yōu)選實施例中,所述數(shù)字量隔離器采用數(shù)字量隔離器IS07240CDWR。

為了實現(xiàn)設備的外部通信和內(nèi)部通信,參見圖7,在本發(fā)明一優(yōu)選實施例中,連接CAN1收發(fā)接口模塊的CAN1總線和連接CAN2收發(fā)接口模塊的CAN2總線為設備級CAN總線,用于負責設備之間的通信,CAN1總線和CAN2總線的波特率均設置為100kbit/s或125kbit/s;連接CAN3收發(fā)接口模塊的CAN3總線為模塊級CAN總線,用于負責單個設備內(nèi)部模塊間的通信,CAN3總線的波特率設置為500kbit/s。

在本發(fā)明上述實施例中,所述ARM處理器為采用雙ARM Cortex-R4F核架構(gòu)的處理器,具有雙核鎖步運行檢、FLASH和RAM校驗和保護機制、時鐘和電壓監(jiān)控等,用硬件提供安全特性、檢測是否有隨機故障,避免系統(tǒng)出錯,支持IEC61508最高等級的SIL-3安全標準,更適合于鐵路應用。

上述實施例用來解釋本發(fā)明,而不是對本發(fā)明進行限制,在本發(fā)明的精神和權(quán)利要求的保護范圍內(nèi),對本發(fā)明做出的任何修改和改變,都落入本發(fā)明的保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1