CAN 總線采樣點 對 CAN 總線通訊影響的研究

文:上海新時達電氣股份有限公司 何小虎2021年第三期

  1 引言

  CAN 是 Controller Area Network 的縮寫,是 ISO國際標準化的串行通信協(xié)議。CAN 的高性能和可靠性已被認同,并被廣泛地應用于工業(yè)自動化、船舶、醫(yī)療設備、 電梯等方面。 現(xiàn)場總線是當今自動化領域技術發(fā)展的熱點之一,被譽為自動化領域的計算機局域網(wǎng)。它的出現(xiàn)為分布式控制系統(tǒng)實現(xiàn)各節(jié)點之間實時、可靠的數(shù)據(jù)通信提供了強有力的技術支持。CAN總線協(xié)議是一種現(xiàn)場總線協(xié)議,它實現(xiàn)了物理層、數(shù)據(jù)鏈路層、應用層。因為現(xiàn)場總線通常只包括一個網(wǎng)段,因此不需要第3層(傳輸層)和第4層(網(wǎng)絡層),也不需要第5層(會話層)第6層(描述層)的作用。 其中第2層是CAN協(xié)議,第7層是應用層協(xié)議。CAN協(xié)議含有較強的糾錯能力,在數(shù)據(jù)鏈路上保障傳輸?shù)目煽啃裕@就節(jié)省了應用層上在這方面的

  開銷。

  CAN 總線特點有:(1)數(shù)據(jù)通信沒有主從之分,任意一個節(jié)點可以向任何其他(一個或多個)節(jié)點發(fā)起數(shù)據(jù)通信,依據(jù)各個節(jié)點信息優(yōu)先級先后順序來決定通信次序; (2) 多個節(jié)點同時發(fā)起通信時, 優(yōu)先級低的避讓優(yōu)先級高的,不會對通信線路造成擁塞;(3) 通信距離最遠可達 10Km(速率低于5Kbps)速率可達到 1Mbps(通信距離小于40m);(4) CAN 總線傳輸介質可以是雙絞線、 同軸電纜或者光纖。 CAN 總線適用于下列場合:大數(shù)據(jù)量短距離通信、小數(shù)據(jù)量長距離通信、實時性要求比較高、 多主多從或者各個節(jié)點平等的場合。

  CAN總線采樣點,顧名思義是讀取CAN總線電平并解析的時刻,對CAN總線通信至關重要,特別是CAN組網(wǎng)模式下,CAN網(wǎng)絡中的所有節(jié)點都需盡量設置成統(tǒng)一的采樣點,且根據(jù)通訊距離和傳輸速率采用標準推薦的采樣點數(shù)值,若采樣點相差較大,同一個網(wǎng)絡中的CAN節(jié)點數(shù)據(jù)交互可能會失敗。

  2 CAN總線采樣點的規(guī)則和原理

  CAN 協(xié)議里將一個位時間分為同步段、傳播段、相位緩沖段 1 和相位緩沖段 2。這些段又由稱之為Time Quantum(以下稱為Tq)的最小時間單位構成。1位由多少個Tq構成和每個段由多少個Tq構成等是可以設定的。通過設置點位時序,使得可以設定一個采樣點以使總線上多個單元可同時采樣,所謂采樣點就是在這一時刻總線上的電平被鎖存,這個鎖存的電平作為位的值。采樣點的位置在相位緩沖段1(PBS1)的結束處,如圖1所示。

控制器

圖 1 CAN 位時間結構圖

  其中同步段(SS)負責多個連接在總線上的單元通過此段實現(xiàn)時序調(diào)整,同步進行接收和發(fā)送工作,邊沿包含在此段中;傳播時間段(PTS)用于補償網(wǎng)絡上所有的物理延遲;相位緩沖段1(PBS1)和相位緩沖段2(PBS2)用于當信號邊沿不能被包含于同步段中時,可在此段進行補償;采樣點即為讀取并解釋總線上各位值的一個時間點,它是讀取總線電平,并將讀到的電平作為位值的點,所以從一個位的開始到采樣點的時間占一個完整位的總時間的百分比就是所求的采樣點的值,公式計算由采樣點=(1+TSEG1)/(1+TSEG1+TSEG2)確定。采樣點對CAN總線來說非常重要,在組網(wǎng)的時候,多個節(jié)點應盡量保持

  同一個采樣點,且最好在不超過7/8位時間點上,常用頻率的推薦采樣點如表1所示。

  關于采樣點的計算:采樣點=(1+TSEG1)/(1+TSEG1+TSEG2)。

  假設晶振時鐘頻率16M, SJW為1個Tq, TSEG1 為13個Tq, TSEG2為2個Tq,則采樣點計算帶入上面的公式,采樣點=(1+13)/(1+13+2)=87.5%。

  建議盡可能的把采樣點設置為 CiA 推薦的值:

  當波特率 > 800Kpbs時,采樣點建議采用75%;

  當波特率 > 500Kbps時,采樣點建議采用80%;

  當波特率 <= 500Kbps時,采樣點建議采用87.5% 。

控制器

表 1 常用頻率采樣點推薦值

  3 CAN總線采樣點對傳輸距離影響分析

  CAN收發(fā)器的改良和隔離器件引入,大大提高了通信的可靠性,但同時也引入了額外的延時,導致通信距離變短,或總線錯誤幀增加,以1Mbps波特率下的應用為例,對CAN總線信號延時做簡要分析,CAN總線傳輸距離的相關因素有:

  (1)ACK應答

  CAN 總線采用多主通信模式、非破壞式總線仲裁機制。以標準數(shù)椐幀為例,從結構上看分成7段,分別為起始段、仲裁段、控制段、數(shù)椐段、CRC校驗段、ACK應答段、幀結束段。ACK段長度為2個位,包含應答間隙(ACK SLOT)和應答界定符(ACK DELIMITER)。

  在應答場里,發(fā)送端發(fā)送兩個“隱性”位。當接收器正確地接收到有效的報文,接收器就會在應答間隙(ACK SLOT)期間(發(fā)送ACK信號)向發(fā)送器發(fā)送一顯性的位以示應答。發(fā)送節(jié)點根據(jù)線與結果檢測到總線呈顯式狀態(tài)時,就認為有節(jié)點進行了有效的應答并且自己所發(fā)出的幀是正常的。

  (2)CAN總線位時間組成

  CAN 總線通信中每一位的時間由4 部分組成,即同步段、傳播段、相位緩沖段1、相位緩沖段2。同步段用于總線諸節(jié)點之間的同步,時間段1由傳播段與相位段1組成,傳播段用于補償信號的物理傳播延時,時間段2即相位緩沖段2,相位段1 和相位段2 用于補償沿的相位誤差。在實際控制器設計中,通過調(diào)整時間段1、時間段2的值可以改變對總線傳播延時的補償時間。

  (3)CAN總線延時理論分析

  發(fā)送節(jié)點在發(fā)完CRC 場之后,會發(fā)出一位應答隙,在這一位的時間內(nèi),接收節(jié)點應該輸出顯式位作為回應,發(fā)送節(jié)點如果在應答隙內(nèi)沒有檢測到有效的顯式位,則會判定總線錯誤,所以限制CAN 總線系統(tǒng)信號傳播延時上限的根本條件就是必須確保發(fā)送節(jié)點在應答隙內(nèi)接收到有效的應答信號。滿足這一根本條件,以 1 Mbit/s 波特率,單點采樣模式為例,依據(jù)采樣點在設置同步段、時間段1、時間段2 內(nèi)的前后變化,當設置為75%位寬度時(即采樣點位于距位起始的75%位寬度,為750 ns),在應答隙要使得發(fā)送節(jié)點采集到有效的顯式位,理論上來講,必須滿足整個信號傳播延時小于750 ns。即隔離器件、總線驅動器、線纜等的延時總和小于750ns才能保證應答有效,即確保所有的延時總小于等于位時間程序采樣點位置百分比。

控制器

圖 2 CAN 總線信號傳輸延時

  (4)CAN總線延時分析

  CAN網(wǎng)絡上節(jié)點之間通信的傳播延時如圖2所示,t2、t5為收發(fā)器循環(huán)延時、t3、t6為隔離延時、t4、t7為CAN控制器處理延時,t1 為線纜傳輸延時。

  以節(jié)點A發(fā)送,節(jié)點B接收為例,從CAN報文發(fā)出開始,到接收到ACK應答,整個應答回路延時為T總 =(t1+t2+t3+t4+t5+t6+t7)*2,期間報文經(jīng)過了4次隔離及收發(fā)器,兩次線纜,若想提高傳輸距離,需對各個環(huán)

  節(jié)的延時時間進行分析。

  對于CAN收發(fā)器,是指從TXD輸入的數(shù)字流被轉換成相應的模擬總線信號,同時總線收發(fā)器監(jiān)控總線,將模擬總線信號轉換成相應的數(shù)字位流從RXD輸出的過程。CAN 收發(fā)器的制造商通常規(guī)定“循環(huán)延時”,其包括驅動器和接收機延遲。延時時間的大小是有收發(fā)器自身特性決定,以收發(fā)器TJA1051為例,從數(shù)據(jù)手冊中可以看出,其最大傳播延時為220 ns,最小傳播延時為40 ns。收發(fā)器循環(huán)延時是CAN總線規(guī)范必測的項目,選取性能較高的收發(fā)器,可減少傳輸延時,有利于增加傳輸距離。

  為了提高CAN節(jié)點的可靠性,CAN底層硬件通常會使用隔離設計。常用解決方案有采用光耦+CAN收發(fā)器,比如光耦6N137和CAN收發(fā)器TJA1051,光耦6N137具有典型的60ns單向延時,而全部雙向信號必須經(jīng)過4個光耦,總隔離延時達240ns,在位時間配置不變的情況下,大大地縮短了CAN系統(tǒng)的容許線纜長度。或者采用隔離收發(fā)器方案,如CTM1051KT采用磁耦隔離,磁隔離延時3~5ns,在位時間配置不變的情況下,CTM1051KT自帶隔離基本不會對容許線纜長度造成影響,可滿足1Mbps速率下約36m的傳輸距離。

  實際應用中,主CPU將數(shù)據(jù)從CAN控制器中讀出和寫入并作初步處理所耗費的時間,即軟件延時對總線延時也有一定的影響,另外還需考慮CAN控制器延時,即是CAN控制器為實現(xiàn)接收和發(fā)送緩存器中的信息和串行化的信息的相互轉化所開銷時間。軟件和控制器導致的延時與具體應用、主控器、CAN控制器和接口芯片有關。考慮到總線控制器在設計時已經(jīng)考慮到內(nèi)部處理時間,所以延時應該在納秒級以下,在此可以不計。

  線纜的選型不同,其延時率也不同,傳輸?shù)木嚯x也會有較大影響,在CAN控制器、收發(fā)器、隔離等外圍元器件確的情況下,可通過以下方法計算線纜的長度。若線纜的通信距離為L(以m 為單位)、通信速率為B(以bit/s為單位)、采樣位置為P(如75%)、隔離器件傳播延時為tg(以ns 為單位,如t3,t6)、收發(fā)器傳播延時為tq(以ns 為單位,如t2,t5)、線纜傳播延時為tx(以ns/m為單位)。可以得到線纜通信長度的估算公式:L=[(1/B)?P–4(tg+tq)]/2tx。由公式可知:線纜延時率越小,在相同條件下,傳輸?shù)木嚯x越遠,所以在線纜選型中,建議用較粗的導線(線徑越大,延遲越小),或者

  使用鍍金或者鍍銀的線纜。

  隔離器件等外圍電路的引入和收發(fā)器增加長時間顯性關斷功能等,都增加了CAN總線的延時時間,導致了越新型的收發(fā)器,回環(huán)延遲加大,減少了實際通訊距離。若想增大CAN總線通信距離,必須了解CAN通信的原理及信號線傳輸?shù)脑恚ㄟ^提高收發(fā)器、隔離器件的性能和線纜的選型來減小CAN信號傳輸?shù)难訒r時間,從而提高實際通信的距離。

  4 結束語

  每個CAN總線節(jié)點都能對CAN總線數(shù)據(jù)各個點位進行正確采樣是保證CAN總線有效通信的前提,一個網(wǎng)絡中的所有的節(jié)點都需保持相同或者接近的采樣點,否則會由于總線距離和延時的原因導致實際讀取點位不正確,產(chǎn)生CRC錯誤。本文詳細介紹了CAN采樣點的原理、計算、標準推薦,并從CAN控制器延時、CAN收發(fā)器延時、線纜延時、軟件延時等角度分析CAN采樣點對傳輸距離的影響。

中傳動網(wǎng)版權與免責聲明:

凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。

伺服與運動控制

關注伺服與運動控制公眾號獲取更多資訊

直驅與傳動

關注直驅與傳動公眾號獲取更多資訊

中國傳動網(wǎng)

關注中國傳動網(wǎng)公眾號獲取更多資訊

熱搜詞
  • 運動控制
  • 伺服系統(tǒng)
  • 機器視覺
  • 機械傳動
  • 編碼器
  • 直驅系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機器人
  • 低壓電器
  • 機柜
回頂部
點贊 0
取消 0
往期雜志
  • 2025年第一期

    2025年第一期

    伺服與運動控制

    2025年第一期

  • 2024年第六期

    2024年第六期

    伺服與運動控制

    2024年第六期

  • 2024年第五期

    2024年第五期

    伺服與運動控制

    2024年第五期

  • 2024年第四期

    2024年第四期

    伺服與運動控制

    2024年第四期

  • 2024年第三期

    2024年第三期

    伺服與運動控制

    2024年第三期