当前位置:首页 >> 军事/政治 >>

国家兴亡匹夫有责(9)


国家兴亡匹夫有责,从神九用到 CAN 总线讲起(9)知和识 在文(7)中分析存在于数据域的可疑数据流,但是 CAN 的位填充规则适 用的范围还不止这些,本文分析可疑数据流部分或全部覆盖 CRC 域的情况(图 1)。可疑数据流的一部分 Txb 进入了 CRC,而 CRC 余下的部分用 CRCb 表示。
头部H
B1 A B2

可疑数据流Ltx
Txa Txb

CRCb

Head

DATA

CRC

图 1 可疑数据流对 CRC 的覆盖 我们在数据域内划出一小段 15 位的连续空间 A,它的位置可以在数据域内 非可疑数据流的任何地方, 它的前后有数据块 B1、 B2。 根据 CRC 计算的的原理, 总的帧长的 CRC 校验和是各分段 CRC 校验和的异或的结果。 所以对选定的可疑 数据流,Txa 是已知的,假定任取 HB1B2(这表示一个串,其对应位置各为 H、 B1、B2,未定义的位置全为 0。各位置的 xi 多项式阶次是不同的,所以串在一 起时只要把多项式相加),在串后加 Txa,得到 HB1B2Txa,有一个相应的校验 和 CRC1(15 位),我们可找到合适的 A,使串 HB1AB2Txa 的校验和(15 位) 正好有 TxbCRCb(15 位)。因为串 HB1AB2Txa 是 HB1B2Txa 和 A 组合成的, + 设 A 的校验和为 CRC2(15 位),故有 CRC1○CRC2=TxbCRCb。显然,已知 TxbCRCb 和 CRC1,CRC2 就是确定的。而根据文(7)图 3 介绍,已知 CRC2 就完全可确定原来的数据 A。对应一个 TxbCRCb 就有在特定位置的唯一的 A, 这里在特定的可疑多项式覆盖部分 CRC 域时,只有覆盖部分的 Txb 是已知的, CRCb 可以任选,就可以在特定位置对应多个 A。这些情况就构成了概率分析的 基础。 发生可疑数据流部分或全部覆盖 CRC 域的情况时,错帧漏检的条件有如下 几项:1。可疑数据流占同长度数据的比率(包括不同头部形式、尾部形式);2。 对应可疑数据流覆盖 CRC 位数, 存在的数据 A 的数目占 A 可能的数据的比率 (包 括 A 在数据域内可取得不同的位置);3。位错发生在特定位置的概率。 由文 (7) (3) 式 每一种长度的可疑数据流 LTx, LTx〉 在 =30 时有 3*2(LTx-27) 种,有 4 种头部形式和 5 种尾部形式,每种 LTx 长有 2LTx 种可能的数据流,所 以可疑数据流占同长度数据的比率为 P1=4*5*3*2(LTx-27)/2LTx=15*2-25。 LTx 为 23~30 时如表 8 所示。这里 P1=4*n(L)/2LTx。 LTx n 23 24 25 26 27 28 29 30 4 3 x +x +1 0 1 0 0 5 4 6 8 5 3 x +x +1 0 0 0 5 1 5 8 5 5 4 x +x +1 0 0 4 1 1 4 6 8 4 3 2 x +x +x +1 1 0 0 0 5 4 5 8

x3+x+1 按长度统计 n(L)

0 1

1 2

0 4

0 6

5 17

4 21

6 31

8 37

由 CRC2 确定 A 时存在概率问题。假定 A 在数据域内的位置已设定,因为 CRC2 中只有 Txb 几位是固定的,那么 A 有多个取值,如用指针 m 表示 Txb 的 位数,那么 CRC2 就有 215-m 种,对应的 A 也有 215-m 种,而 A 为 15 位,所以合 适的 A 的比率为 2-m。 A 可以处在数据域内未被可疑数据流占用的部分任意位 而 置,位置空大小为 64-15-(LTx-m)=49-LTx+m。即使位置空为 0,也可以算一次, 所以合适的 A 的比率为 P2=(50-LTx+m)*2-m。当 LTX 比较大时,若留在数据域 内还很多,不足以留出 A 需要的 15 位空间,那么就无法靠 A 来产生漏检条件, 所以要求 LTX-m+A<=64,即 LTX-m<=49 时才算。 8 字节数据域的帧帧长为 107 位(不计填充位),发生 2 个位错的位置组合 共有 107*106/2=5671 种,所以位错发生在特定位置的概率是 P3=1.76*10-4。 于是我们得到的漏检概率 Pun 计算程序为: n=(1 2 4 6 17 21 31); %由表 8 得到 P3=2/107/106; Pun=0; for LTx=23:1:64 if LTx < 30 P1=4*n(LTx-22)/2LTx; else P1=15*2-25 end temp=0; for m=1:1:15 if LTx-m<=49 temp=temp+(50-LTx+m)*2-m end end Pun=Pun+temp*P1*P3 end 运行结果为 3.32*10-8。 特别要提一下,对 CAN2.0B 来讲,在 ID 中有一个连续的 18 位,这个区间 可以放置上述 A 块。此时 LTX 可扩大到整个数据域与 CRC 域,即 LTX=79;由 于 A 块不再在数据域, 计算的条件 “LTX-m<=49 时才算 “分为二种, LTX-m<=49 当 时 LTX 和 A 均可在数据域内,移动的次数由(50-LTx+m)再加 ID 内移动 4 次。 当 LTX-m<=64 时 A 在 ID 内,移动次数为 4 次。于是我们得到 CAN2.0B 的漏检 概率 Pun 计算程序为: n=(1 2 4 6 17 21 31); P3=2/107/106; Pun=0; for LTx=23:1:79 if LTx < 30 P1=4*n(LTx-22)/2LTx; else P1=15*2-25

end temp=0; for m=1:1:15 if LTx-m<=49 temp=temp+(54-LTx+m)*2-m else if LTx-m<=64 temp=temp+4*2-m end end end Pun=Pun+temp*P1*P3 end 这样变化后的 LTX 部分或全部覆盖 CRC 域时的错帧漏检率是:4.68*10-8。 由文(7)、(8)及上述数据我们可以得到: Pun,2.0A=6.89*10-8+8.1*10-11+3.32*10-8=1.02*10-7 Pun,2.0B=6.89*10-8+8.1*10-11+4.68*10-8=1.15*10-7

至此,由文(7)~(9)我证明了二件事:1.CAN 的错帧漏检率 要比 Bosch 声称的大 2000 倍;2.还有可能漏检的情况未分析,即可 能更坏。
这些未分析的漏检情况有: 1。 CAN 的帧开始位出错, 由第二个显位开始的一段被错接收, 引起变形帧, 这个变形帧因第二个错,如同文(8)分析的那样,将数据读为 CRC,成为短帧 (见图 2);或者将原帧的 EOF 读为数据,变为长帧。对这种情况下的错帧漏 检概率我尚未深入研究。
原帧
Tx Rx 011 0** 111 0** 011 0011111 011111 ** 011 0011111111111 **

变形帧

Ack

EOF

图 2 SOF 错开始的漏检错帧 2。已经计算的部分还有二个因素被简化了:1)还有 10 种尾部多项式未在 这里提及,因为它们的贡献较小;2)在本文提到的重构可疑数据流的二个位错 中间,还存在容许添加多个位错(图 3),只要它们不在连续的可能形成填充规 则窗口中,就不会形成新的数据移位,这种情况的贡献尚未详细研究。在本例中

如果第 3 个位错发生在 Tx13 处可以,Tx14 处就不行。

1st bit flip

3rd bit flip
8

2nd bit flip
28

i Tx Rx Ec

1

2

3

4

5

6

7

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

1 0 0 0 0 0 ①0 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 0 100001 000001

*

1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 10 * 1 1 0 ,1 1 1 1 , 0 1 0 1 ,1 0 1 0 , 0 0 0 0 , 0 1

图 3 U=x6+x4+x3+1,Ec=U*G=(1110,1111,0101,1010,0000,01)多位 错的情形 这表明上述计算的结果还是保守的,还不是最坏的。 2011 年推出的 CAN FD 将填充位也计入 CRC,此时就 CRC 来说不存在收 发数据的移位, 也就不可能因 2 位错而漏检。 但是, CAN FD 为了与 CAN 兼容, 在数据域长 8 字节以内时完全用 CAN 的规定, 即用原来的 15 位 CRC 及其不计 填充位的 CRC 计算方法。这种继承就把错帧漏检率大的缺点也继承下来了。 兼容的方案曾使 intel 和 Microsoft 在 pc 上大获其利,电子工程专辑论坛中 的"ARM 与 X86 的战争史诗"写得很好 (http://forum.eet-cn.com/forum_post_10005_1200241710_0.htm)。我在 pc 刚开 始时根本没兼容的概念,86 年买了一台不完全兼容的 Sanyo 550 pc,结果是没软 件可用成了废物一堆, 这才知道兼容的重要。不过当兼容成了接受家族遗传病时 就是另一会事了,这时需要的是壮士断腕的决心了。 Bosch 是这样描述 CAN FD 与 CAN 的关系的(CAN FD Specification v1.0 http://www.bosch-semiconductors.de/media/pdf_1/canliteratur/can_fd_spec.pdf p.3 ) :"只要不用到 CAN FD 的格式,CAN FD 和 CAN 的具体实现可以相互 通信,这使 CAN 系统可以逐步过渡到 CAN FD。在 CAN FD 的引入阶段,可能 只用于特定的工作模式,例如终端编程时的软件下载,此时不支持 CAN FD 的 其它控制器处于待机状态。“ CAN FD implementations that are designed according to this specification and CAN implementations that are designed according to the BOSCH CAN Specification 2.0 can communicate with each other as long as it is not made use of the CAN FD frame format. This enables CAN systems to migrate gradually into CAN FD systems. In the introductory phase, it is possible to use CAN FD only in specific operation modes, e.g. software-download at end-of-line programming, while other controllers that do not support CAN FD are kept in standby. 于是可以知道,他们期待最终将 CAN 系统过渡到 CAN FD 系统,我们可

以设想有二个结果:1。过渡结束就完全用 CAN FD 的长于 8 字节数 据的格式,以免遇到原有的错帧漏检问题,这时你会需要修改软件,

例如不用部分加填充,就像以太帧最小帧长的处理方法;2。为了仍 保持短帧的优点, 修改 CAN FD 协议, 统一长短帧的 CRC 计算方法, 废弃目前 8 字节内数据按 CAN2.0 校验的 CRC 方法,此时你的软件 不用改,但是你的硬件要升级。无论何种方案,你的升级还要分二步 走,先走的人会吃亏。
写到这里,我想到我们中国人口中的知识一词,它可分为知和识,如果我不 知道 CAN FD 的细节, 我是无法断定它为了与 CAN 兼容也继承了 CAN 错帧漏 检率大的缺点。 但是如果我不想一想, 就没人告诉你, 还有那些可能影响 CAN 以 及 CAN FD 的情况,所以不要只做知道分子。现在国内的书籍往往是以厂家的 宣传资料或 databook 为依据编写的,而厂家往往出于自己的利益,将优点说得 很充分,对问题不会提及,或者轻描淡写一笔带过,只有在有竞争的方面才会互 揭软肋。现在各生产 CAN 芯片的厂家在 CAN 协议上的利益是相同的,所以没 有竞争,同病相怜,没法说缺陷,所以作为用户在作重要决定时一定要自己想明 白。 对我的博客也是这样,我告诉你的是我的想法,我当然想说服你,但是未必 没有疏漏与错误, 所以我也希望你能深思,诚恳地欢迎有心得的朋友提出不同的 观点,我们就事论事,互相促进。


相关文章:
九年级政治天下兴亡匹夫有责
九年级政治天下兴亡匹夫有责 - 教师课时计划周 年级 九年级 科目 政治 次 教学内容 第三周 言人 人时 执教人意 “忧患可以兴国”“以振兴中华为己任” 见 ...
部编人教版《道德与法治》八年级上册10.2《天下兴亡 匹夫有责》...
天下兴亡 匹夫有责》同步练习 ◆ 选择题 1.我国《宪法》规定: “中华人民...①②③ 9.2016 年 4 月 26 日,中共中央总书记习近平在安徽合肥主持召开知识...
国家兴亡匹夫有责
国家兴亡匹夫有责_思想汇报/心得体会_党团工作_实用文档。强国先强己 国家兴亡,匹夫有责强国先强己国家兴亡,匹夫有责!每一个中国人都要为祖国的强大做一份贡献...
第三课天下兴亡 匹夫有责导学案
第三课天下兴亡 匹夫有责导学案 - 教科版九年级思品导学案 教师寄语:树立忧患意识,立志振兴中华! 课题 学习 目标 第三课 天下兴亡 匹夫有责 1.了解树立忧患...
九年级教科版思想品德天下兴亡 匹夫有责教案
九年级教科版思想品德天下兴亡 匹夫有责教案 - 《天下兴亡 匹夫有责》 【学习目标】: 1、知识目标:正确认识我国社会主义现代化建设取得的巨大成就以及与发达国家存...
天下兴亡匹夫有责教案
天下兴亡匹夫有责教案 - 学科 课题 政治 唐坊镇中学教案专用纸 主备人 董桂琴 天下兴亡匹夫有责 课型 授课时间 9、8 第( 1 )课 新授 时 知识与 正确认识...
天下兴亡,匹夫有责
天下兴亡,匹夫有责_小学作文_小学教育_教育专区。天下兴亡,匹夫有责老师,同学,大家好。 很高兴站在这里与大家一起分享我对于“天下兴亡,匹夫有责”这句话的思 ...
国家兴亡 匹夫有责
国家兴亡 匹夫有责 - 认知: 1.知道爱国志士反抗侵略、报效祖国的事迹。 2.懂得没有祖国的兴旺发达,也就没有个人的前途和幸福。 3.懂得为国效力是每个中华儿女...
九年级思想品德全册第三课《天下兴亡++匹夫有责》教案
第三课 天下兴亡 匹夫有责 一、课时基本内容:1 课时 天下兴亡 匹夫有责 二、教学内容分析,学情分析,重、难点的确立,教学资源的取舍,教法、学法的选择等 1....
天下兴亡匹夫有责学案
天下兴亡匹夫有责学案 - 九上思品 No. 04 第周 星期 主备人: 授课人: 初审人: 复审人: 学生: 第三课 天下兴亡 匹夫有责 【学习目标】 1.通过历史事件...
更多相关标签: