国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

國家興亡匹夫有責,從神九用到CAN總線講起(8)不要迷信

發布時間:2013-3-20 15:25    發布者:絕對好文
關鍵詞: CAN , 總線
作者:楊福宇

這樣細節的討論對沒有花力氣讀過CAN原理的人可能比較吃力。為此簡單介紹一下CAN的幀結構:CAN的幀由頭部的仲裁域、控制域、數據域、CRC校驗和、認可域和幀結束部分(EOF)構成。仲裁域主要是消息的標識符,不同優先級的標識符同時出現在總線上時,優先級最高者勝出,就按幀的剩余部分繼續發送,而競爭失敗者停止發送,轉為接收者。控制域內有4位,決定數據域的字節數。

CAN幀的查錯措施中對發生在控制域的位錯是靠EOF的設計實現的。其原理是規定填充位規則只管到CRC結束處,而EOF部分為連續的7個1。當控制域發生位錯時,原來傳送的幀長被誤讀,產生了變形的幀。如果變形幀長于原幀,那么原幀的EOF部分將落到變形幀的數據域或CRC域,由于EOF部分破壞了數據域或CRC域的填充位規則,接收節點就查到錯,在EOF第6位處發報錯幀。如果變形幀短于原幀,那么接收節點會在期待的EOF部分收到原幀的數據或CRC,就不會有連續的7個1,接收節點就會發現不滿足ACK分界符或EOF部分的格式錯,從而在EOF的任一個位置(查到錯后的一位)發報錯幀。由于這種機制,不但有接收錯的節點不會產生錯收,也保證了系統內所有節點的一致性。

但是當有第二個位錯時,這一機制存在漏洞。圖1中發生在傳送EOF第5位的1如果有位錯,那么EOF部分和數據部分的區別就不再存在。變形幀就存在漏檢的可能性。就可以理解為收到了有填充位的數據F1,或者由于正在送數據F1的填充位時出了錯,被理解為收到了期待的EOF。


圖1數據流和EOF部分發生誤解的條件


圖2是DLC由0111變為0011的例子(DLC2傳送中由1變為0),長幀讀為短幀:圖2  DLC2傳送中由1變為0時幀的變化

此時原幀的第6個數據字節具有圖1中F1的值,其填充位在傳送中出錯變為1,從而使變形幀讀為Ack+EOF,格式是符合標準的。對任意H*D1D2D3總存在一種C1*C2*,它滿足CRC檢驗及其分界符的格式檢驗,所以出現變形幀通過CRC檢驗的概率是2-16。對D6即F1來講,只要前7位為0111111,就能保證接收節點在填充位傳送出錯時EOF的格式檢驗通過(因為CAN規定接收節點的格式檢驗只到EOF第6位)。所以F1出現的概率是2-7。7字節的幀,11位標識符可能有2個填充位,自DLC1到CRC結束共73位,可能含18個填充位,幀長最多為119位,原幀二位錯發生位置的組合有119*118/2=7021種,所以發生在DLC2及D6填充位處錯的概率為1/7021=1.4*10-4。這一情形下的漏檢概率為Pun=2-16*2-7*1.4*10-4=1.69*10-11。

節點收下變形幀后,如果有新幀發送,它會干擾其它節點對原幀的收發,從而引起報錯,但是這種后果已經影響不到該節點已經收下的幀。

這種漏檢的情況還有;數據由6字節變到2字節(DLC2傳送中由1變為0),Pun=1.69*10-4*2-23;數據由8字節變到0字節(DLC3傳送中由1變為0)Pun=1.21*10-4*2-23;數據由4字節變到0字節(DLC2傳送中由1變為0),Pun=2.55*10-4*2-23。總的錯幀漏檢率為Pun=8.1*10-11,僅此一項,它已經大于Bosch聲稱的漏檢率4.7*10-11,所以不要迷信外國。

說到迷信,從字面上講,就是自己不動腦子,只要是權威說的就不加思考地接受了,這當然省事,因為有了事可以推托:外國人也是這樣的,我們水平低,能不錯嗎?這樣的態度無異于認為我們是****。我認為為了把我們的事做好,每個數據都應審核一下,也許過去沒有發現錯,才辦了錯事,那確實是當時認識水平不夠。但今天已經給你指出了問題,就不要再推托了。

現在國際上在推行汽車的功能安全標準ISO26262,那么對于以前已經被安全認證過的東西,是否要因為新發現了有安全漏洞而推翻呢?我認為功能安全的概念中有重要的一條,即功能安全存在于整個產品的設計、生產、維修生命周期中。新發現有錯表示原來的安全指標分解過程有錯,不能被確認(Validation)了,自然要重新確認,否則搞什么認證和確認都是假的了,只留下粉刷現實的印記而已。希望管事的人不要葉公好龍。

現在談談CAN FD:這是2011年Bosch推出的可變速率的CAN升級版本,它仍然聲稱在安全性方面錯幀漏檢率是4.7*10-11。

Total residual error probability for undetected corrupted messages: less than

message error rate * 4.7 * 10-11.

但是在它的二種速率交替時,會有慢速讀取高速位流而出錯的情況,形成第3種錯幀漏檢機制。詳見:楊福宇,“有關CAN FD的評論“,《單片機嵌入式系統應用》,2012,  No.7,p.34-36,40 。它在實質上與本文是一樣的,第二個錯造成誤讀為EOF。CAN FD在DLC的值大于1000之后定義的幀長變化是大于4的,所以長幀讀為短幀出現的情況要多許多,同樣可用上述方法分析。只是因為幀長加大,二位錯發生位置的組合數變得很大,從這個角度使第三種錯幀漏檢率降下來。
本文地址:http://m.qingdxww.cn/thread-112497-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
  • Dev Tool Bits——使用DVRT協議查看項目中的數據
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91在线播放视频 | 精品一区二区三区三区 | ww4545四虎永久免费地址 | 日韩在线视频免费看 | 日本www视频在线观看 | 日韩高清在线免费看 | 欧美色欧美亚洲高清在线观看 | 狠狠操狠狠操 | 亚洲国产一区在线观看 | 自拍偷拍欧美 | 野外做受三级视频 | 欧美高清一区二区三区欧美 | 国产原创麻豆精品视频 | 狠狠狠色丁香婷婷综合久久五月 | 国产无卡一级毛片aaa | 花季传媒3.0.3每天免费3次 | 国产香蕉91tv永久在线 | 亚洲最大成人在线 | 欧美一区二区精品系列在线观看 | 四虎影院永久在线 | 一区卡二区卡三区卡视频 | 亚洲免费在线看 | 女人18毛片a级毛片一区二区 | 男女一边摸一边做羞羞视频免费 | 欧美日韩在线精品一区二区三区 | 最近最新视频中文字幕4 | 国产自在线拍 | 欧美成人性色生活片免费在线观看 | 免费网站黄成人影院 | 高清在线精品一区二区 | 欧美成人免费在线 | 国产在线观看一区精品 | 久久久久久福利 | 丰满美女视频 | 精品亚洲视频在线 | 四虎hk网址 | 久久久久毛片免费观看 | 日韩精品免费视频 | 日韩香蕉网 | 亚洲国产成人精品91久久久 | 色视频免费看 |