CAN 總線采樣點(diǎn) 對 CAN 總線通訊影響的研究
文:上海新時達(dá)電氣股份有限公司 何小虎2021年第三期
1 引言
CAN 是 Controller Area Network 的縮寫,是 ISO國際標(biāo)準(zhǔn)化的串行通信協(xié)議。CAN 的高性能和可靠性已被認(rèn)同,并被廣泛地應(yīng)用于工業(yè)自動化、船舶、醫(yī)療設(shè)備、 電梯等方面。 現(xiàn)場總線是當(dāng)今自動化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,被譽(yù)為自動化領(lǐng)域的計算機(jī)局域網(wǎng)。它的出現(xiàn)為分布式控制系統(tǒng)實現(xiàn)各節(jié)點(diǎn)之間實時、可靠的數(shù)據(jù)通信提供了強(qiáng)有力的技術(shù)支持。CAN總線協(xié)議是一種現(xiàn)場總線協(xié)議,它實現(xiàn)了物理層、數(shù)據(jù)鏈路層、應(yīng)用層。因為現(xiàn)場總線通常只包括一個網(wǎng)段,因此不需要第3層(傳輸層)和第4層(網(wǎng)絡(luò)層),也不需要第5層(會話層)第6層(描述層)的作用。 其中第2層是CAN協(xié)議,第7層是應(yīng)用層協(xié)議。CAN協(xié)議含有較強(qiáng)的糾錯能力,在數(shù)據(jù)鏈路上保障傳輸?shù)目煽啃裕@就節(jié)省了應(yīng)用層上在這方面的
開銷。
CAN 總線特點(diǎn)有:(1)數(shù)據(jù)通信沒有主從之分,任意一個節(jié)點(diǎn)可以向任何其他(一個或多個)節(jié)點(diǎn)發(fā)起數(shù)據(jù)通信,依據(jù)各個節(jié)點(diǎn)信息優(yōu)先級先后順序來決定通信次序; (2) 多個節(jié)點(diǎn)同時發(fā)起通信時, 優(yōu)先級低的避讓優(yōu)先級高的,不會對通信線路造成擁塞;(3) 通信距離最遠(yuǎn)可達(dá) 10Km(速率低于5Kbps)速率可達(dá)到 1Mbps(通信距離小于40m);(4) CAN 總線傳輸介質(zhì)可以是雙絞線、 同軸電纜或者光纖。 CAN 總線適用于下列場合:大數(shù)據(jù)量短距離通信、小數(shù)據(jù)量長距離通信、實時性要求比較高、 多主多從或者各個節(jié)點(diǎn)平等的場合。
CAN總線采樣點(diǎn),顧名思義是讀取CAN總線電平并解析的時刻,對CAN總線通信至關(guān)重要,特別是CAN組網(wǎng)模式下,CAN網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都需盡量設(shè)置成統(tǒng)一的采樣點(diǎn),且根據(jù)通訊距離和傳輸速率采用標(biāo)準(zhǔn)推薦的采樣點(diǎn)數(shù)值,若采樣點(diǎn)相差較大,同一個網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)數(shù)據(jù)交互可能會失敗。
2 CAN總線采樣點(diǎn)的規(guī)則和原理
CAN 協(xié)議里將一個位時間分為同步段、傳播段、相位緩沖段 1 和相位緩沖段 2。這些段又由稱之為Time Quantum(以下稱為Tq)的最小時間單位構(gòu)成。1位由多少個Tq構(gòu)成和每個段由多少個Tq構(gòu)成等是可以設(shè)定的。通過設(shè)置點(diǎn)位時序,使得可以設(shè)定一個采樣點(diǎn)以使總線上多個單元可同時采樣,所謂采樣點(diǎn)就是在這一時刻總線上的電平被鎖存,這個鎖存的電平作為位的值。采樣點(diǎn)的位置在相位緩沖段1(PBS1)的結(jié)束處,如圖1所示。
圖 1 CAN 位時間結(jié)構(gòu)圖
其中同步段(SS)負(fù)責(zé)多個連接在總線上的單元通過此段實現(xiàn)時序調(diào)整,同步進(jìn)行接收和發(fā)送工作,邊沿包含在此段中;傳播時間段(PTS)用于補(bǔ)償網(wǎng)絡(luò)上所有的物理延遲;相位緩沖段1(PBS1)和相位緩沖段2(PBS2)用于當(dāng)信號邊沿不能被包含于同步段中時,可在此段進(jìn)行補(bǔ)償;采樣點(diǎn)即為讀取并解釋總線上各位值的一個時間點(diǎn),它是讀取總線電平,并將讀到的電平作為位值的點(diǎn),所以從一個位的開始到采樣點(diǎn)的時間占一個完整位的總時間的百分比就是所求的采樣點(diǎn)的值,公式計算由采樣點(diǎn)=(1+TSEG1)/(1+TSEG1+TSEG2)確定。采樣點(diǎn)對CAN總線來說非常重要,在組網(wǎng)的時候,多個節(jié)點(diǎn)應(yīng)盡量保持
同一個采樣點(diǎn),且最好在不超過7/8位時間點(diǎn)上,常用頻率的推薦采樣點(diǎn)如表1所示。
關(guān)于采樣點(diǎn)的計算:采樣點(diǎn)=(1+TSEG1)/(1+TSEG1+TSEG2)。
假設(shè)晶振時鐘頻率16M, SJW為1個Tq, TSEG1 為13個Tq, TSEG2為2個Tq,則采樣點(diǎn)計算帶入上面的公式,采樣點(diǎn)=(1+13)/(1+13+2)=87.5%。
建議盡可能的把采樣點(diǎn)設(shè)置為 CiA 推薦的值:
當(dāng)波特率 > 800Kpbs時,采樣點(diǎn)建議采用75%;
當(dāng)波特率 > 500Kbps時,采樣點(diǎn)建議采用80%;
當(dāng)波特率 <= 500Kbps時,采樣點(diǎn)建議采用87.5% 。
表 1 常用頻率采樣點(diǎn)推薦值
3 CAN總線采樣點(diǎn)對傳輸距離影響分析
CAN收發(fā)器的改良和隔離器件引入,大大提高了通信的可靠性,但同時也引入了額外的延時,導(dǎo)致通信距離變短,或總線錯誤幀增加,以1Mbps波特率下的應(yīng)用為例,對CAN總線信號延時做簡要分析,CAN總線傳輸距離的相關(guān)因素有:
(1)ACK應(yīng)答
CAN 總線采用多主通信模式、非破壞式總線仲裁機(jī)制。以標(biāo)準(zhǔn)數(shù)椐幀為例,從結(jié)構(gòu)上看分成7段,分別為起始段、仲裁段、控制段、數(shù)椐段、CRC校驗段、ACK應(yīng)答段、幀結(jié)束段。ACK段長度為2個位,包含應(yīng)答間隙(ACK SLOT)和應(yīng)答界定符(ACK DELIMITER)。
在應(yīng)答場里,發(fā)送端發(fā)送兩個“隱性”位。當(dāng)接收器正確地接收到有效的報文,接收器就會在應(yīng)答間隙(ACK SLOT)期間(發(fā)送ACK信號)向發(fā)送器發(fā)送一顯性的位以示應(yīng)答。發(fā)送節(jié)點(diǎn)根據(jù)線與結(jié)果檢測到總線呈顯式狀態(tài)時,就認(rèn)為有節(jié)點(diǎn)進(jìn)行了有效的應(yīng)答并且自己所發(fā)出的幀是正常的。
(2)CAN總線位時間組成
CAN 總線通信中每一位的時間由4 部分組成,即同步段、傳播段、相位緩沖段1、相位緩沖段2。同步段用于總線諸節(jié)點(diǎn)之間的同步,時間段1由傳播段與相位段1組成,傳播段用于補(bǔ)償信號的物理傳播延時,時間段2即相位緩沖段2,相位段1 和相位段2 用于補(bǔ)償沿的相位誤差。在實際控制器設(shè)計中,通過調(diào)整時間段1、時間段2的值可以改變對總線傳播延時的補(bǔ)償時間。
(3)CAN總線延時理論分析
發(fā)送節(jié)點(diǎn)在發(fā)完CRC 場之后,會發(fā)出一位應(yīng)答隙,在這一位的時間內(nèi),接收節(jié)點(diǎn)應(yīng)該輸出顯式位作為回應(yīng),發(fā)送節(jié)點(diǎn)如果在應(yīng)答隙內(nèi)沒有檢測到有效的顯式位,則會判定總線錯誤,所以限制CAN 總線系統(tǒng)信號傳播延時上限的根本條件就是必須確保發(fā)送節(jié)點(diǎn)在應(yīng)答隙內(nèi)接收到有效的應(yīng)答信號。滿足這一根本條件,以 1 Mbit/s 波特率,單點(diǎn)采樣模式為例,依據(jù)采樣點(diǎn)在設(shè)置同步段、時間段1、時間段2 內(nèi)的前后變化,當(dāng)設(shè)置為75%位寬度時(即采樣點(diǎn)位于距位起始的75%位寬度,為750 ns),在應(yīng)答隙要使得發(fā)送節(jié)點(diǎn)采集到有效的顯式位,理論上來講,必須滿足整個信號傳播延時小于750 ns。即隔離器件、總線驅(qū)動器、線纜等的延時總和小于750ns才能保證應(yīng)答有效,即確保所有的延時總小于等于位時間程序采樣點(diǎn)位置百分比。
圖 2 CAN 總線信號傳輸延時
(4)CAN總線延時分析
CAN網(wǎng)絡(luò)上節(jié)點(diǎn)之間通信的傳播延時如圖2所示,t2、t5為收發(fā)器循環(huán)延時、t3、t6為隔離延時、t4、t7為CAN控制器處理延時,t1 為線纜傳輸延時。
以節(jié)點(diǎn)A發(fā)送,節(jié)點(diǎn)B接收為例,從CAN報文發(fā)出開始,到接收到ACK應(yīng)答,整個應(yīng)答回路延時為T總 =(t1+t2+t3+t4+t5+t6+t7)*2,期間報文經(jīng)過了4次隔離及收發(fā)器,兩次線纜,若想提高傳輸距離,需對各個環(huán)
節(jié)的延時時間進(jìn)行分析。
對于CAN收發(fā)器,是指從TXD輸入的數(shù)字流被轉(zhuǎn)換成相應(yīng)的模擬總線信號,同時總線收發(fā)器監(jiān)控總線,將模擬總線信號轉(zhuǎn)換成相應(yīng)的數(shù)字位流從RXD輸出的過程。CAN 收發(fā)器的制造商通常規(guī)定“循環(huán)延時”,其包括驅(qū)動器和接收機(jī)延遲。延時時間的大小是有收發(fā)器自身特性決定,以收發(fā)器TJA1051為例,從數(shù)據(jù)手冊中可以看出,其最大傳播延時為220 ns,最小傳播延時為40 ns。收發(fā)器循環(huán)延時是CAN總線規(guī)范必測的項目,選取性能較高的收發(fā)器,可減少傳輸延時,有利于增加傳輸距離。
為了提高CAN節(jié)點(diǎn)的可靠性,CAN底層硬件通常會使用隔離設(shè)計。常用解決方案有采用光耦+CAN收發(fā)器,比如光耦6N137和CAN收發(fā)器TJA1051,光耦6N137具有典型的60ns單向延時,而全部雙向信號必須經(jīng)過4個光耦,總隔離延時達(dá)240ns,在位時間配置不變的情況下,大大地縮短了CAN系統(tǒng)的容許線纜長度?;蛘卟捎酶綦x收發(fā)器方案,如CTM1051KT采用磁耦隔離,磁隔離延時3~5ns,在位時間配置不變的情況下,CTM1051KT自帶隔離基本不會對容許線纜長度造成影響,可滿足1Mbps速率下約36m的傳輸距離。
實際應(yīng)用中,主CPU將數(shù)據(jù)從CAN控制器中讀出和寫入并作初步處理所耗費(fèi)的時間,即軟件延時對總線延時也有一定的影響,另外還需考慮CAN控制器延時,即是CAN控制器為實現(xiàn)接收和發(fā)送緩存器中的信息和串行化的信息的相互轉(zhuǎn)化所開銷時間。軟件和控制器導(dǎo)致的延時與具體應(yīng)用、主控器、CAN控制器和接口芯片有關(guān)。考慮到總線控制器在設(shè)計時已經(jīng)考慮到內(nèi)部處理時間,所以延時應(yīng)該在納秒級以下,在此可以不計。
線纜的選型不同,其延時率也不同,傳輸?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越遠(yuǎn),所以在線纜選型中,建議用較粗的導(dǎo)線(線徑越大,延遲越小),或者
使用鍍金或者鍍銀的線纜。
隔離器件等外圍電路的引入和收發(fā)器增加長時間顯性關(guān)斷功能等,都增加了CAN總線的延時時間,導(dǎo)致了越新型的收發(fā)器,回環(huán)延遲加大,減少了實際通訊距離。若想增大CAN總線通信距離,必須了解CAN通信的原理及信號線傳輸?shù)脑?,通過提高收發(fā)器、隔離器件的性能和線纜的選型來減小CAN信號傳輸?shù)难訒r時間,從而提高實際通信的距離。
4 結(jié)束語
每個CAN總線節(jié)點(diǎn)都能對CAN總線數(shù)據(jù)各個點(diǎn)位進(jìn)行正確采樣是保證CAN總線有效通信的前提,一個網(wǎng)絡(luò)中的所有的節(jié)點(diǎn)都需保持相同或者接近的采樣點(diǎn),否則會由于總線距離和延時的原因?qū)е聦嶋H讀取點(diǎn)位不正確,產(chǎn)生CRC錯誤。本文詳細(xì)介紹了CAN采樣點(diǎn)的原理、計算、標(biāo)準(zhǔn)推薦,并從CAN控制器延時、CAN收發(fā)器延時、線纜延時、軟件延時等角度分析CAN采樣點(diǎn)對傳輸距離的影響。
中傳動網(wǎng)版權(quán)與免責(zé)聲明:
凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

關(guān)注伺服與運(yùn)動控制公眾號獲取更多資訊

關(guān)注直驅(qū)與傳動公眾號獲取更多資訊

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

掃碼關(guān)注小程序
時刻關(guān)注行業(yè)動態(tài)


填寫郵件地址,訂閱更多資訊:
撥打電話咨詢:13751143319 余女士
郵箱:chuandong@chuandong.cn
- 運(yùn)動控制
- 伺服系統(tǒng)
- 機(jī)器視覺
- 機(jī)械傳動
- 編碼器
- 直驅(qū)系統(tǒng)
- 工業(yè)電源
- 電力電子
- 工業(yè)互聯(lián)
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機(jī)界面
- PLC
- 電氣聯(lián)接
- 工業(yè)機(jī)器人
- 低壓電器
- 機(jī)柜