?

一種基于時間觸發的CAN發送機制

2017-11-07 01:13紀宏巖
汽車電器 2017年10期
關鍵詞:實時性報文時鐘

紀宏巖

(北汽集團越野車研究院,北京 101300)

一種基于時間觸發的CAN發送機制

紀宏巖

(北汽集團越野車研究院,北京 101300)

提出一種CAN總線發送機制,通過這種機制,網絡上的所有節點能夠獲取統一的時鐘,報文將基于時間觸發的方式發送。此機制應用于現有CAN網絡之后,能夠有效避免總線競爭帶來的報文延遲,提高CAN總線的傳送實時性。

時間觸發;事件觸發;總線競爭;報文優先級

隨著汽車上電子功能的增多,總線上節點數量也越來越多,總線負載率也隨之增高。在負載率超過40%的基礎上,如果不針對CAN網絡進行任何優化,將會使很多節點發送的報文產生競爭,從而帶來傳送的延遲。本文提出一種改進方式,即選取網絡中的某個節點,讓其周期性地發送同步報文,其他節點收到這條報文之后,立刻進行時鐘同步,通過這種方法,使網絡上的所有節點獲取公共時鐘,再以公共時鐘為基準,為每個節點分配自己的時間段,節點都只在屬于自己的時間段內發送報文,不屬于自己的時間段內不發送,這樣每個節點在發送報文的時候都不會與其他節點產生競爭,需發送報文就立刻能夠成功發送出去,不會產生延遲。這種發送方式不需要對硬件和網絡拓撲做改動,適用于任何CAN總線網絡,可以在不增加成本的基礎上有效改善總線網絡的實時性。

1 報文延遲的來源

CAN是一種基于事件觸發的通信方式。所謂事件觸發是指當任何一個節點有發送報文需求時,立刻就進行發送。但也可能其他的節點有發送需求,這時就會產生競爭,CAN國際標準ISO 11898規定了此時依靠報文的優先級來決定報文的發送順序,這種機制保證了在產生競爭時,每條報文都能夠被成功發送,但沒法保證報文的實時性,優先級低的報文不能在需發送的時候立刻發送成功,會有等待而造成的延遲?;谑录|發的報文發送示意圖如圖1所示。

圖1 基于事件觸發的報文發送

從圖1可以看到,節點A、B、C、D在不同的時刻分別向總線上發送ID為5、7、3、6的報文。B節點發送優先級較低,雖然發送時間很早,但是由于總線競爭的原因導致其最終發送到總線上的時刻最靠后。這就是基于“事件觸發”發送方式的缺陷,各個節點之間沒有公共時鐘,報文的發送不能統一進行協調,很多時候會由于多個節點同時發送報文造成總線競爭而產生延遲。

2 基于時間觸發的CAN

提出一種以時間觸發的CAN報文發送機制,時間觸發的關鍵是要讓所有的節點都能獲取一個公共的時鐘,CAN總線采取廣播的方式發送報文,任何一個節點發送的報文都可以被其它節點所接收,并且發送節點發送完成和接收節點接收成功是同一個時刻,因此利用CAN總線的這種特點來實現基于時間觸發。

選取網絡上的任何一個節點發送同步報文,發送同步報文的節點稱為同步節點。為了保證同步報文能夠精確地 按周期發送,同步報文的ID設置為0(優先級最高),同步報文的周期取所有周期報文的最大公約數。假設其他報文的周期分別為10 ms、20 ms、30 ms、50 ms,則同步報文的周期為300 ms。同步節點每間隔300 ms發送一次同步報文,其發送完該報文之后,立刻將自身計數器清0,其他節點收到同步報文之后也將自身計數器清0,這樣就能夠使網絡上所有節點每隔300 ms實現一次時鐘同步?;跁r間觸發的報文發送如圖2所示。

圖2 基于時間觸發的報文發送

從圖2可以看出,時間軸上每間隔300 ms為一個同步時刻,所有節點都以同步時刻為基準發送報文。由于發送時刻都不沖突,因此報文能夠在第一時間內被發送成功,避免了總線競爭,也就大大降低了報文延遲的可能。

3 總結

闡述CAN總線時間觸發方面的一些思路,并嘗試在汽車網絡設計過程中進行一些有意義的理論實踐,所提出的方法和措施都在工作中經過驗證,實用性較強,對于提高汽車網絡設計的實時性具有重要的參考作用。

[1] 顏碧云,魏葉華.基于CAN總線的共享時鐘混合調度算法[J].計算機工程與應用,2014(4):69-72,156.

[2] 馮曉東,果艷紅.TTCAN動態調度算法實現與仿真[J].電子測量與儀器學報,2008,22(2):81-85.

[3] 王慶祥,陳家琪.TTCAN網絡的響應分析及系統矩陣的優化[J].上海理工大學學報,2005,27(1):32-36,42.

(編輯 心 翔)

A Time-trigger Method of CAN Transmission Mechanism

JI Hong-yan

(BAIC Off-road Vehicle Research Centre,Beijing 101300,China)

This article proposes a CAN transmission mechanism that all nodes on the network get a global clock,and message sending is triggered by time. This mechanism could effectively avoid delay caused by CAN competition,thus improve the real-time transmission.

time-trigger;event-trigger;CAN competition;message priority

U463.6

A

1003-8639(2017)10-0061-02

2017-01-05

紀宏巖,碩士,高級工程師,負責車載網絡的設計和診斷系統的開發,具有10年總線開發經驗。

猜你喜歡
實時性報文時鐘
基于J1939 協議多包報文的時序研究及應用
以太網QoS技術研究及實踐
古代的時鐘
淺析反駁類報文要點
一種基于FPGA的網絡串口管理系統的設計
這個時鐘一根針
有趣的時鐘
計算機控制系統實時性的提高策略
可編程控制器的實時處理器的研究
時鐘會開“花”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合