淺談CAN發送仲裁機製
發布時間:2019-04-04 責任編輯:wenwei
【導讀】CAN總線高負載率發送測試時,如果出現大量錯誤報文、被測設備報文周期出現異常、甚至總線鎖死等,有很大可能是CAN網絡上的仲裁發生了異常。
隨著工業技術不斷發展,CAN總線已廣泛應用於,車輛、航空、醫療等高安全要求領域。高頻發送CANbaowenyechengweianquanceshidebiyaozuchengbufen。zaixinhaozhengchangdewangluoshanggaofuzailvfasongceshishi,zongxianshangouranhuichuxianxuduoyixiangbudaodewenti,liruchuxiandaliangcuowubaowen、被測設備報文周期出現異常、甚至總線鎖死等。這個時候我們則需要考慮一下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)被(bei)CAN節點識別為發送失敗,從而重新占用總線再次發送。
(注:此現象與應用層有很大的關係,節點也可以被識別為發送成功而不再重發。)
存在多餘應答節點

圖6 傳輸數據相同有應答
在多個節點同時發送相同數據到總線,並存在其他節點不處於發送狀態,其他節點則會對總線進行應答,發送節點會認為CAN數據成功發送。從而隱藏了這種仲裁異常現象。
4 仲裁的其他特性與測試建議
1、CAN總線中的節點在仲裁失敗、fasongshibaihuozheqingqiufasongshizongxianbeiqitajiedianzhanyong,yibanhuizaixiayicikongxiandaolaishiqingqiufasong,zongxianfuzailvyuegao,yudaoshangmiandeqingkuanggailvyejiuyueda,yincizhongcaishijiandefashengchangchuxianzaigaofuzailvdezongxianhuanjingxia,ruguokeyikongzhizongxianfuzailvzaihelifanweinei,keyidadajianshaozhongcaishijiandefasheng。
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
熱門搜索






