国产毛片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?偟腻e幀漏檢率為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視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线观看网址入口2020国产 | 97成人在线 | 欧美高清免费 | 欧美日日 | 9984四虎永久免费网站 | 婷婷伊人五月天 | 亚洲天堂久久久 | 天堂地址在线3d区 | 日韩高清在线二区 | 亚洲成人手机在线观看 | 欧美亚洲一区二区三区 | 在线精品欧美日韩 | 国产成人久久久精品一区二区三区 | 国产69久久精品成人看 | 黄页免费在线观看 | 五十路亲子中出在线观看 | 最新地址四虎www4hutv | 亚洲欧洲自拍 | 亚洲涩涩视频 | 国产色司机在线视频免费观看 | 欧美一区二区三区免费观看视频 | 中文成人在线 | 麻豆md传媒新剧国产在线 | 国产小视频在线播放 | 久久久久美女 | 五月天福利 | 亚洲羞羞视频 | 91福利国产在线观一区二区 | www日本高清视频 | 91欧美一区二区三区综合在线 | 国产永久在线视频 | 麻豆国产在线观看一区二区 | 99国产精品农村一级毛片 | 日韩网新片免费 | 好色婷婷| 亚洲精品在线免费看 | 69视频免费在线观看 | 日本黄大片视频在线播放 | 自拍偷拍小视频 | 四虎影院在线观看网站 | 亚洲国产日韩在线人高清不卡 |