淺談CAN發送仲裁機製
發布時間:2019-04-04 責任編輯:wenwei
【導讀】CAN總線高負載率發送測試時,如果出現大量錯誤報文、被測設備報文周期出現異常、甚至總線鎖死等,有很大可能是CAN網絡上的仲裁發生了異常。
隨著工業技術不斷發展,CAN總線已廣泛應用於,車輛、航空、醫療等高安全要求領域。高頻發送CAN報bao文wen也ye成cheng為wei安an全quan測ce試shi的de必bi要yao組zu成cheng部bu分fen。在zai信xin號hao正zheng常chang的de網wang絡luo上shang高gao負fu載zai率lv發fa送song測ce試shi時shi,總zong線xian上shang偶ou然ran會hui出chu現xian許xu多duo意yi想xiang不bu到dao的de問wen題ti,例li如ru出chu現xian大da量liang錯cuo誤wu報bao文wen、被測設備報文周期出現異常、甚至總線鎖死等。這個時候我們則需要考慮一下CAN網絡上的仲裁是否發生了異常。
首先我們來了解一下CAN總線仲裁機製。
1 CAN總線仲裁機製
CAN總(zong)線(xian)作(zuo)為(wei)現(xian)場(chang)總(zong)線(xian),每(mei)個(ge)節(jie)點(dian)可(ke)以(yi)同(tong)時(shi)偵(zhen)測(ce)到(dao)網(wang)絡(luo)上(shang)正(zheng)在(zai)發(fa)送(song)的(de)數(shu)據(ju),當(dang)總(zong)線(xian)空(kong)閑(xian)時(shi)每(mei)個(ge)節(jie)點(dian)均(jun)可(ke)以(yi)發(fa)起(qi)自(zi)身(shen)報(bao)文(wen)發(fa)送(song)。如(ru)果(guo)多(duo)個(ge)節(jie)點(dian)同(tong)時(shi)發(fa)起(qi)報(bao)文(wen)發(fa)送(song)請(qing)求(qiu),由(you)哪(na)個(ge)節(jie)點(dian)占(zhan)用(yong)總(zong)線(xian)就(jiu)是(shi)仲(zhong)裁(cai)機(ji)製(zhi)的(de)主(zhu)要(yao)用(yong)途(tu)。
首先CAN總線物理層通常是雙絞線。當邏輯“1” 被寫進總線時,CANH和CANL的電平都是2.5V,這種狀態並被定義為“隱性”位;當邏輯“0”被寫進總線時CANH會上拉到為5V,CANL被下拉到地0V,這種狀態被定義為“顯性”位。如果顯性位和隱性位被不同的節點同時寫進總線時,總線會表現為“顯性”位。“顯性位覆蓋隱性位”是CAN總線衝突檢測的基礎。
當(dang)節(jie)點(dian)開(kai)始(shi)傳(chuan)送(song)它(ta)們(men)各(ge)自(zi)的(de)報(bao)文(wen)時(shi),如(ru)果(guo)一(yi)個(ge)節(jie)點(dian)寫(xie)進(jin)了(le)隱(yin)性(xing)位(wei)而(er)讀(du)回(hui)顯(xian)性(xing)位(wei),節(jie)點(dian)會(hui)知(zhi)道(dao)另(ling)一(yi)個(ge)高(gao)優(you)先(xian)權(quan)節(jie)點(dian)正(zheng)在(zai)占(zhan)用(yong)總(zong)線(xian),該(gai)節(jie)點(dian)會(hui)停(ting)止(zhi)傳(chuan)送(song)報(bao)文(wen)並(bing)繼(ji)續(xu)接(jie)收(shou)總(zong)線(xian)報(bao)文(wen)。這(zhe)種(zhong)技(ji)術(shu)叫(jiao)做(zuo)“非破壞性逐位”仲裁。

圖1 CAN仲裁機製
如圖1所示,在多個節點同時發送報文時,首次出現不同,且發送顯性位的節點占用總線。由於CAN報文首先發送的為ID段且顯性位為邏輯“0”,因此ID越小該幀的優先級越高。
2 仲裁場
似乎按照“非破壞性逐位”仲裁機製,就可以從ID一直仲裁到CRC段,可是CAN傳輸標準並不是這樣, CAN標準要求,仲裁僅從基本ID第一位開始,到標準幀的IDE位或擴展幀的RTR位結束。這個區域被定義為仲裁場。如圖2所示。

圖2 CAN仲裁場區域
依據仲裁場範圍,CAN總線仲裁流程如圖3所示。

圖3 CAN仲裁場區域
3 仲裁異常的影響
在CAN仲裁機製中,理論上仲裁必須在仲裁場完成。不過CAN總線配置錯誤或者測試時發送CAN幀疏忽,也存在仲裁場數據完全相同的情況,在這樣的情況下會對總線造成什麼後果呢?下麵我們按照CAN通訊原則分析一下仲裁異常時CAN總線可能出現什麼表現。
1、仲裁場後數據傳輸不一致
在仲裁場結束後CAN節點需要對發送的數據進行一致性對比,如果發送的數據與讀取回得數據不一致,收發器則需要發送CAN錯誤幀,以通知總線各個節點自身發送數據錯誤,停止接收並快速進入總線空閑,以便再次數據發送。

圖4 仲裁場後數據傳輸不一致
如圖4所示當兩個節點發送的仲裁場相同,在仲裁場後DLC段發生數據不同情況。發送單元1發現自己本身需要發送的隱性電平而收到的是顯性電平,識別到數據不一致現象後立即發出錯誤幀信息(6個顯性位)。發送單元1發送錯誤信息過程中,發送單元2也將捕獲到自己某個隱性位發送與收取的不一致,從而也發出主動錯誤幀。最終造成類似圖4總線電平特征。
需要注意,大部分CAN收shou發fa器qi在zai發fa送song過guo程cheng中zhong因yin為wei沒mei有you占zhan用yong到dao總zong線xian或huo者zhe發fa送song失shi敗bai,會hui在zai下xia一yi次ci總zong線xian空kong閑xian到dao來lai時shi再zai次ci占zhan用yong總zong線xian發fa送song相xiang同tong的de數shu據ju。因yin此ci當dang出chu現xian仲zhong裁cai場chang數shu據ju相xiang同tong,後hou續xu數shu據ju不bu同tong時shi,有you極ji大da的de可ke能neng造zao成cheng總zong線xian錯cuo誤wu後hou兩liang個ge節jie點dian再zai次ci同tong時shi占zhan用yong總zong線xian,再zai次ci進jin行xing仲zhong裁cai並bing總zong線xian錯cuo誤wu,甚shen至zhi反fan複fu進jin入ru錯cuo誤wu造zao成cheng網wang絡luo鎖suo死si等deng嚴yan重zhong情qing況kuang。
2、仲裁場後數據相同
如果兩個CAN節點,發送CAN幀完全相同,兩個發送單元均認為占用了總線,並成功發送完數據。雖然數據發送完成,不過需要注意CAN節點在發送數據幀時,是不能夠對自己發送的CAN幀進行應答,這個時候則會出現不同的情況。
不存在多餘的應答節點

圖5 傳輸數據相同無應答
當dang所suo有you的de總zong線xian節jie點dian發fa送song的de數shu據ju均jun相xiang同tong,那na麼me所suo有you節jie點dian認ren為wei自zi己ji成cheng功gong發fa送song了le數shu據ju,而er等deng待dai總zong線xian其qi他ta節jie點dian應ying答da。此ci時shi發fa送song節jie點dian會hui因yin為wei沒mei有you得de到dao應ying答da而er被beiCAN節點識別為發送失敗,從而重新占用總線再次發送。
(注:此現象與應用層有很大的關係,節點也可以被識別為發送成功而不再重發。)
存在多餘應答節點

圖6 傳輸數據相同有應答
在多個節點同時發送相同數據到總線,並存在其他節點不處於發送狀態,其他節點則會對總線進行應答,發送節點會認為CAN數據成功發送。從而隱藏了這種仲裁異常現象。
4 仲裁的其他特性與測試建議
1、CAN總線中的節點在仲裁失敗、發fa送song失shi敗bai或huo者zhe請qing求qiu發fa送song時shi總zong線xian被bei其qi他ta節jie點dian占zhan用yong,一yi般ban會hui在zai下xia一yi次ci空kong閑xian到dao來lai時shi請qing求qiu發fa送song,總zong線xian負fu載zai率lv越yue高gao,遇yu到dao上shang麵mian的de情qing況kuang概gai率lv也ye就jiu越yue大da,因yin此ci仲zhong裁cai事shi件jian的de發fa生sheng常chang出chu現xian在zai高gao負fu載zai率lv的de總zong線xian環huan境jing下xia,如ru果guo可ke以yi控kong製zhi總zong線xian負fu載zai率lv在zai合he理li範fan圍wei內nei,可ke以yi大da大da減jian少shao仲zhong裁cai事shi件jian的de發fa生sheng。
2、每個CAN節點在發送報文時,顯性電平都存在一定的驅動能力,在仲裁事件發生時,由於多個節點同時驅動總線,會造成CAN總線顯性電平電壓與平時高一點(驅動點越多,電壓越高)。同時由於每個節點同步性可能存在微小的差異,其脈寬也可能發生改變。
3、當需要測試指定節點長時間占用不到總線的表現時,應該使用高優先級測試報文進行高負載率發送(盡可能達到100%)。gaoyouxianjibaowenyizhizhanyongzongxian,diyouxianjibaowenyongyuanzhanyongbudaozongxian。dangxuyaobufenyunxubufenjinzhi,yingshezhiceshibaowenyouxianjizaiyunxubaowenyubuyunxubaowenzhijian。
4、如(ru)果(guo)需(xu)要(yao)測(ce)試(shi)指(zhi)定(ding)節(jie)點(dian)高(gao)負(fu)載(zai)率(lv)情(qing)況(kuang)下(xia)報(bao)文(wen)周(zhou)期(qi)特(te)性(xing),發(fa)送(song)的(de)報(bao)文(wen)優(you)先(xian)級(ji)不(bu)能(neng)高(gao)於(yu)被(bei)測(ce)節(jie)點(dian)周(zhou)期(qi)特(te)性(xing)報(bao)文(wen)的(de)優(you)先(xian)級(ji)。如(ru)果(guo)被(bei)測(ce)節(jie)點(dian)滿(man)足(zu)周(zhou)期(qi)性(xing),周(zhou)期(qi)到(dao)來(lai)後(hou)的(de)第(di)一(yi)個(ge)空(kong)閑(xian)後(hou)報(bao)文(wen)發(fa)送(song)就(jiu)可(ke)以(yi)仲(zhong)裁(cai)成(cheng)功(gong)將(jiang)該(gai)周(zhou)期(qi)報(bao)文(wen)成(cheng)功(gong)發(fa)送(song)。
5、在某些CAN高層總線協議中,存在可變優先級字段,(依據請求發送等待時間變化優先級)。如果需要驗證報文優先級變化特性,所發送的報文優先級,需要使用高於初次請求優先級,低於最高優先級的報文。
5 總結
CAN總線中,無論節點還是測試設備發送報文仲裁場應該不同,這樣可以避免因仲裁異常造成的錯誤出現。同樣在CAN測試時,應依據測試目的選擇合理的CAN報文ID,避免仲裁特性影響測試效果。

CANScope總線綜合分析儀是一款綜合性的CAN總線開發與測試的專業工具,集海量存儲示波器、網絡分析儀、誤碼率分析儀、協議分析儀及可靠性測試工具於一身,並把各種儀器有機的整合和關聯;重新定義CAN總線的開發測試方法,可對CAN網絡通信正確性、可靠性、合理性進行多角度全方位的評估;幫助用戶快速定位故障節點,解決CAN總線應用的各種問題,是CAN總線開發測試的終極工具。
推薦閱讀:
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
微波功率管
微波開關
微波連接器
微波器件
微波三極管
微波振蕩器
微電機
微調電容
微動開關
微蜂窩
位置傳感器
溫度保險絲
溫度傳感器
溫控開關
溫控可控矽
聞泰
穩壓電源
穩壓二極管
穩壓管
無焊端子
無線充電
無線監控
無源濾波器
五金工具
物聯網
顯示模塊
顯微鏡結構
線圈
線繞電位器
線繞電阻




