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