電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>汽車電子>談?wù)凜AN優(yōu)先級(jí)倒置的原因和對(duì)策

談?wù)凜AN優(yōu)先級(jí)倒置的原因和對(duì)策

2017-11-21 | rar | 未知 | 次下載 | 1積分

資料介紹

CAN總線起始于1986年左右,至今仍廣泛應(yīng)用?,F(xiàn)在人們對(duì)安全的要求已大為提高,所以要不斷仔細(xì)審視CAN的安全性能?,F(xiàn)在已經(jīng)發(fā)現(xiàn)的重要的CAN問(wèn)題有:在消極報(bào)錯(cuò)狀態(tài)下可能出現(xiàn)等效離線,使節(jié)點(diǎn)不能收發(fā)的時(shí)間相當(dāng)長(zhǎng)[1];錯(cuò)幀漏檢率的估計(jì)不準(zhǔn),特別在誤碼率高時(shí)比Bosch CAN2.0數(shù)據(jù)高多個(gè)數(shù)量級(jí)[2],在單目的地址時(shí)影響數(shù)據(jù)正確性,在多個(gè)目的地址時(shí)會(huì)影響數(shù)據(jù)一致性;標(biāo)準(zhǔn)的振蕩源精度要求偏低[3],使誤用廉價(jià)器件成為可能,影響系統(tǒng)的穩(wěn)定性;本文發(fā)現(xiàn)的優(yōu)先級(jí)倒置的可能性,使調(diào)度分析結(jié)果的可信度下降;在數(shù)據(jù)幀倒數(shù)第二位的局部錯(cuò)可能引起不一致的接收重復(fù)或丟失[4]。所以在FlexRay尚未達(dá)到預(yù)定目標(biāo)、無(wú)論在可靠性還是價(jià)格上能取代CAN以前,對(duì)CAN作進(jìn)一步的改進(jìn)仍然是非常有意義的。
  CAN是一種代表性的事件觸發(fā)通信協(xié)議,同時(shí)發(fā)生的多個(gè)通信請(qǐng)求將按照消息的優(yōu)先級(jí)進(jìn)行無(wú)損仲裁,高優(yōu)先級(jí)的勝出。按照消息的優(yōu)先級(jí)進(jìn)行無(wú)損仲裁是CAN原始專利的唯一權(quán)利要求[5]。對(duì)于低優(yōu)先級(jí)的消息而言,送達(dá)時(shí)間將受到高優(yōu)先級(jí)消息的阻擾,在高優(yōu)先級(jí)消息為周期性時(shí),最壞送達(dá)時(shí)間是可以預(yù)先計(jì)算出的[6]。如果能安排好發(fā)送消息的初始相位并作寬松的時(shí)鐘同步,這個(gè)最壞送達(dá)時(shí)間可以大為減少。事件觸發(fā)協(xié)議的優(yōu)點(diǎn)是總線帶寬可以得到充分利用。另一個(gè)優(yōu)點(diǎn)是高優(yōu)先級(jí)消息可得到迅速發(fā)送。但是由于工業(yè)環(huán)境中普遍存在的電磁干擾,總線上會(huì)有毛刺,CAN總線的標(biāo)準(zhǔn)中已考慮到應(yīng)對(duì)方法?,F(xiàn)在發(fā)現(xiàn)毛刺應(yīng)對(duì)方法可能使節(jié)點(diǎn)的同步受到影響,從而損及高優(yōu)先級(jí)消息的發(fā)送機(jī)會(huì),出現(xiàn)優(yōu)先級(jí)的倒置,動(dòng)搖了CAN總線的基本性能。
  1 毛刺的存在
  車內(nèi)電磁環(huán)境惡劣, ISO 76372/3總結(jié)出代表性的傳導(dǎo)和輻射干擾。有人專門作了輻射干擾的實(shí)驗(yàn),參考文獻(xiàn)[7]的實(shí)驗(yàn)中用24 V蓄電池給車內(nèi)常用的繼電器供電(CAN系統(tǒng)供電是獨(dú)立的),電源線與CAN電纜靠得很近,在電纜線有屏蔽、線長(zhǎng)為2 m時(shí),手動(dòng)開(kāi)關(guān)繼電器時(shí)可以看到CAN波形上疊加的毛刺,輻射干擾實(shí)驗(yàn)結(jié)果如圖1所示。
  談?wù)凜AN優(yōu)先級(jí)倒置的原因和對(duì)策
  圖1 輻射干擾實(shí)驗(yàn)結(jié)果
  實(shí)際汽車上也見(jiàn)到CAN總線失效的報(bào)告[8]:豐田汽車在經(jīng)銷商產(chǎn)品報(bào)告中確認(rèn),由任何原因召回的車中發(fā)現(xiàn)丟失CAN數(shù)據(jù)的記錄有292宗。毛刺是引起CAN總線出錯(cuò)的可能原因,其具體誘發(fā)過(guò)程需要仔細(xì)分析,不能掉以輕心。
  2 CAN位時(shí)間與消息仲裁原理
  CAN總線把位時(shí)間劃分為NBT等分的時(shí)間片,稱為Tq。CAN總線控制器按Tq對(duì)總線上的差分電平進(jìn)行采樣,以決定內(nèi)部狀態(tài)。當(dāng)總線上沒(méi)有通信時(shí),稱為總線空閑,電平差在0~0.5 V,邏輯值為“1”。電平差為0.9 V以上時(shí)邏輯值為“0”。 由圖1可知,存在“0“毛刺,也存在“1“毛刺。CAN總線驅(qū)動(dòng)器的特性是線與,當(dāng)“1”和“0”同時(shí)發(fā)生時(shí),總線的電平為“0”,這便是仲裁功能。一幀開(kāi)始發(fā)送的第一位是“0“,稱為SOF,然后是消息的標(biāo)識(shí)符ID。ID代表了消息的優(yōu)先級(jí),每個(gè)節(jié)點(diǎn)通過(guò)位采樣知道總線上仲裁的結(jié)果,正常工作時(shí)如果發(fā)送“1”而讀回“0”,表示本發(fā)送節(jié)點(diǎn)本次ID發(fā)送失敗,需等下一次幀發(fā)送機(jī)會(huì)。
  總線空閑時(shí),一個(gè)有發(fā)送要求的節(jié)點(diǎn)須先觀察是否有別的節(jié)點(diǎn)已經(jīng)開(kāi)始發(fā)送,如已開(kāi)始就不能發(fā)送。正是這里,由一個(gè)“0”毛刺開(kāi)始的時(shí)段可以誤解為別的節(jié)點(diǎn)已開(kāi)始傳送SOF,毛刺阻斷了該節(jié)點(diǎn)的發(fā)送(不管該節(jié)點(diǎn)要傳送的消息優(yōu)先級(jí)有多高)。
  由于傳送電纜延遲以及中間器件(如光隔離)的延遲τ,節(jié)點(diǎn)將見(jiàn)不到提前量τ以內(nèi)發(fā)送的別的節(jié)點(diǎn)的SOF。同理,別的節(jié)點(diǎn)要經(jīng)過(guò)τ以后才見(jiàn)到該節(jié)點(diǎn)發(fā)送的SOF,τ以后別的節(jié)點(diǎn)就因總線上已有發(fā)送而不允許發(fā)送了。這樣,在本節(jié)點(diǎn)請(qǐng)求時(shí)刻±τ內(nèi)的發(fā)送被認(rèn)為是“同時(shí)”請(qǐng)求發(fā)送,它們將按ID仲裁。對(duì)遲于其τ的其他低優(yōu)先級(jí)幀的發(fā)送,它也是必然勝出的。
  3 CAN位時(shí)間同步的有關(guān)規(guī)定
  CAN的位時(shí)間分為同步段(Sync)、傳輸段(Tprop)、緩沖1段(Ph1)與緩沖2段(Ph2),位值采樣在Ph1 與Ph2之間。位值變化時(shí)將有跳變沿,只有1/0為同步用的跳變沿。跳變沿決定了相位差e,跳變沿在Ph2內(nèi)e為負(fù),在Sync內(nèi)為0,在Tprop和Ph1內(nèi)為正。每個(gè)節(jié)點(diǎn)根據(jù)e實(shí)行同步,同步的修正量受同步的種類限制。同步分兩種:硬同步與重同步。硬同步對(duì)應(yīng)幀開(kāi)始時(shí)的情況,重同步對(duì)應(yīng)幀內(nèi)有同步沿時(shí)的情況。對(duì)重同步而言,每次的修正量不能大于稱為重同步寬度的可預(yù)先設(shè)定的量SJW,SJW=min(Ph1,Ph2)。
  有關(guān)本文討論內(nèi)容的CAN總線標(biāo)準(zhǔn)為ISO 118981(2003)[9]及ISO 16845(2004)[10],正是這些條款的規(guī)定保證了CAN總線協(xié)議在高度干擾的環(huán)境下能可靠工作。
  ISO 118981第10.4.2.2款規(guī)定,節(jié)點(diǎn)只有在總線空閑時(shí)可以發(fā)SOF,在服務(wù)間隔第3位(I.M.3)的“0”視為SOF。
  ISO 118981第12.4.2.1款規(guī)定硬同步在幀間的間隔中實(shí)行。而幀間間隔包括服務(wù)間隔和總線空閑,對(duì)上次發(fā)送的消極報(bào)錯(cuò)節(jié)點(diǎn)還包括禁發(fā)時(shí)間。因此,在I.M.3的跳變沿也是作硬同步用的。
  ISO 118981第12.4.2.4款規(guī)定,重同步的目的是校正采樣點(diǎn)的位置,e為“+”時(shí)延長(zhǎng)Ph1,e為“-”時(shí)縮短Ph2。校正量在e小于或等于SJW時(shí)為e,反之為SJW。
  ISO 16845第7.7.2款規(guī)定了接收節(jié)點(diǎn)對(duì)SOF的硬同步驗(yàn)證方法意味著同步段SYNC直接同步于1/0跳變沿。
  ISO 16845第8.7.2.1款規(guī)定了發(fā)送節(jié)點(diǎn)在I.M.3位值采樣點(diǎn)前有1/0沿時(shí)的硬同步驗(yàn)證方法:測(cè)試設(shè)備在被測(cè)單元I.M.3采樣點(diǎn)前Tq加被測(cè)單元內(nèi)部處理時(shí)間前發(fā)0,要求被測(cè)單元在跳變沿1位后發(fā)ID最高位。這意味著發(fā)送節(jié)點(diǎn)要與I.M.3內(nèi)1/0跳變沿硬同步,0值被采樣,下一位不再發(fā)SOF而是發(fā)ID最高位。
  ISO 16845第8.7.3.1款規(guī)定了發(fā)送節(jié)點(diǎn)在I.M.3位值采樣點(diǎn)后有1/0沿時(shí)的硬同步驗(yàn)證方法:測(cè)試設(shè)備在被測(cè)單元I.M.3采樣點(diǎn)后1個(gè)被測(cè)單元內(nèi)部處理時(shí)間后發(fā)0,要求被測(cè)單元在跳變沿后1 Tq立即發(fā)SOF。這意味著發(fā)送節(jié)點(diǎn)是硬同步,但開(kāi)始發(fā)SOF。
  ISO 118981第4.18和4.16款規(guī)定了發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)的定義。發(fā)送節(jié)點(diǎn)指的是發(fā)數(shù)據(jù)幀或遠(yuǎn)程幀的節(jié)點(diǎn),其狀態(tài)維持到仲裁失敗退出或總線再度空閑,否則就是接收節(jié)點(diǎn)。因此總線空閑時(shí)遇到毛刺,則大家都是接收節(jié)點(diǎn)。
  ISO 16845第7.7.9款規(guī)定了接收節(jié)點(diǎn)在總線空閑時(shí)對(duì)毛刺濾除的驗(yàn)證方法:要確定對(duì)總線空閑時(shí)短于Tprop+Ph1-1的0不作SOF處理。也就是說(shuō)硬同步后未被采樣到就不算作SOF。
  4 毛刺造成優(yōu)先級(jí)倒置
  4.1 總線空閑時(shí)毛刺引起的倒置
  總線空閑時(shí),局部錯(cuò)的0毛刺被Tq采樣到,發(fā)送節(jié)點(diǎn)就會(huì)按ISO 16845 7.7.2規(guī)定實(shí)行硬同步,然后就要按ISO 16845 7.7.9款確定是別的節(jié)點(diǎn)發(fā)送的SOF還是毛刺。如果節(jié)點(diǎn)H在毛刺后Tq有發(fā)送請(qǐng)求ReqH(如圖2所示),它也必須等待Tprop+Ph1以確定總線是否空閑。另一個(gè)節(jié)點(diǎn)L如有發(fā)送ReqL,其到H的傳送延遲為τ,只要它能在H的硬同步后的采樣點(diǎn)采到,H就不再有發(fā)送機(jī)會(huì)。此時(shí)H、L請(qǐng)求的時(shí)間差為Tprop+Ph1-τ。如果2個(gè)節(jié)點(diǎn)靠得很近,τ≈0,那么H甚至無(wú)法與比它遲Tprop+Ph1的L競(jìng)爭(zhēng)。同時(shí)它也無(wú)法與比它早τ-1的其他節(jié)點(diǎn)的發(fā)送相競(jìng)爭(zhēng)。針對(duì)第1節(jié)中所講的“同時(shí)”情況,它已完全無(wú)法參與競(jìng)爭(zhēng)。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1491次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  95次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開(kāi)關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  11次下載  |  免費(fèi)
  11. 6100W短波放大電路圖
  12. 0.05 MB  |  4次下載  |  3 積分
  13. 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  4次下載  |  免費(fèi)
  15. 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  16. 0.11 MB  |  4次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537793次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)