tag 标签: 神九

相关博文
  • 热度 18
    2013-8-19 08:31
    2172 次阅读|
    3 个评论
    诗人海涅有句话叫播下的是龙种而收获的是跳蚤,马克思也引用过它。这句话到了中国,被理解为事与愿违,南辕北辙的比喻,我没有找到这句话的前后背景的介绍,也不知原文是什么,但总觉得怪怪的,海涅播下的是什么,收获的又希望是什么?马克思播下的是什么,收获的又希望是什么?我知道文化上龙在西方是邪恶势力的象征,我们的龙与他们的龙是不同的。要播下的是桀骜不驯的邪恶势力的种子只能表示一种反潮流的种子,所以我的理解是他们要播的是能给潮流势力有力一击的龙,而收获的却是跳蚤,只对潮流势力不痛不痒的小小一咬。播下的是龙种而收获的是跳蚤是讲他们对追随者未能掌握精神的真髓,对效果的失望和无奈。我在这些博客中播下了什么种子?它是知识的种子,把书本上,杂志上没有讲或没有讲透的东西串起来,尽量用数据与实例分析说明问题,这些数据的验证不需要高深的数学,原始材料都可以从网上获得,所以即使你暂时还是门外汉,也可以很快入门,领会要害,谁都可以对此提出质疑,谁都随时开始挑战。我的目的是让知识不再遥远,给你们更有力的工具,去创造更好的未来。 以前我只在专家层面写信捣鼓,效果不明显:因为是专家,都慎言慎行。这次面向全社会的博客动员,尽量摆事实讲道理,相信读者的智慧以及后续的行动。其实我不是要一剑封喉,而是要改进,炼铁成钢。但反潮流的能力是要的,我希望你们对功能安全要重视,对不能达到安全的技术有警觉,那是因为人命关天。功能安全不是泛泛而谈,而是有具体数字指标的,是要用数据来检验的,是会有人追责的。虽然我的博文只是发表在网站上,很快会被淹没,就如昙花一现,但我相信在读者心中播下的种子一定会生根发芽开花结果!一定会开枝散叶! 技术的进步从来不是纯技术的问题,因为涉及了经济利益,即使先进的技术也会被人为阻挡,1985年左右光盘的技术基本上已成熟了,可是因为资本在磁带机上的投入尚未获得大利,这些厂商就压下来不生产。而中国的决策者功课做得不够,当时从日本引进一条录音机生产线,实际上是接收了一堆废物,等建成之后就被光盘冲得毫无生路,无法再进行生产。现在的中国因为经济利益的实际占有者的不同,仍然会有这样的事发生,但是利益只要不被垄断,就可以使消费者更多得利。所以使更多的人明白一种技术的利弊,是打破垄断之举。当然这里会形成新的垄断,但此时斗争的焦点已在新的水平线上。这种不断的打破与垄断会促进技术的进步,人类福祉的增加。 为了便于引用,我按参考资料的格式写下本博客的链接:希望存有疑虑、怀有侥悻之心的人能着重看看第5篇:逃不掉的严要求,那里有要达到的要求;第10篇:错难补救,那里讲了各种可能的补救设想均不令人满意,当你有二种选择:a)直接在通信协议中改掉错误,b)在应用程序中添加措施改错误时你会选哪种?第15篇:墨菲定律,那里举出了几十个CAN错的实际记录,它们只是冰山的一角。   杨福宇.CAN故障分析博客(1)希望在你们身上. 国家兴亡匹夫有责,从神九用到CAN总线讲起(1)--希望在你们身上 - 杨福宇的博客 - 电子工程专辑   杨福宇.CAN故障分析博客(2)CAN故障在丰田突然加速召回中出现过. http://forum.eet-cn.com/BLOG_ARTICLE_16039.HTM   杨福宇.CAN故障分析博客(3)安全是无法回避的要求. 国家兴亡匹夫有责,从神九用到CAN总线讲起(3)前事不忘,后事之师 - 杨福宇的博客 - 电子工程专辑   杨福宇.CAN故障分析博客(4)-1大众车DSG故障与CAN有关. 国家兴亡匹夫有责,从神九用到CAN总线讲起(4)大众DSG的死亡闪烁-1 - 杨福宇的博客 - 电子工程专辑 杨福宇.CAN故障分析博客(4)-2大众DSG的死亡闪烁-2 . http://forum.eet-cn.com/BLOG_ARTICLE_16812.HTM 杨福宇.CAN故障分析博客(4)-3大众DSG的抖动、异响、短时失去动力. http://forum.eet-cn.com/BLOG_ARTICLE_16886.HTM   杨福宇.CAN故障分析博客(5)CAN要对付多高的干扰要求. , http://forum.eet-cn.com/BLOG_ARTICLE_16726.HTM   杨福宇.CAN故障分析博客(6)CAN错帧漏检率高与研究方法有关. http://forum.eet-cn.com/BLOG_ARTICLE_16615.HTM   杨福宇.CAN故障分析博客(7)怎样算出CAN的第一种错帧漏检率. http://forum.eet-cn.com/BLOG_ARTICLE_16452.HTM   杨福宇.CAN故障分析博客(8)怎样算出CAN的第二种错帧漏检率. http://forum.eet-cn.com/BLOG_ARTICLE_16103.HTM   杨福宇.CAN故障分析博客(9)CAN总的错帧漏检率. http://forum.eet-cn.com/BLOG_ARTICLE_16406.HTM http://forum.eet-cn.com/BLOG_ARTICLE_16453.HTM   杨福宇.CAN故障分析博客(10)CAN的错帧漏检后是难补救的. http://forum.eet-cn.com/BLOG_ARTICLE_16538.HTM   杨福宇.CAN故障分析博客(11)CAN不当离线故障的形成. 国家兴亡匹夫有责,从神九用到CAN总线讲起(11) 细节决定成败 - 杨福宇的博客 - 电子工程专辑   杨福宇.CAN故障分析博客(12)CAN不当离线故障的概率. 国家兴亡匹夫有责,从神九用到CAN总线讲起(12) 公道自在人心 - 杨福宇的博客 - 电子工程专辑   杨福宇.CAN故障分析博客(13)CAN早先已发现的不一致接收错. http://forum.eet-cn.com/BLOG_ARTICLE_17368.HTM   杨福宇.CAN故障分析博客(14)改进CAN,抛砖引玉. 国家兴亡匹夫有责,从神九用到CAN总线讲起(14)抛砖引玉 - 杨福宇的博客 - 电子工程专辑   杨福宇.CAN故障分析博客(15)CAN故障在汽车诊断中报道的例子. 国家兴亡匹夫有责,从神九用到CAN总线讲起(15)墨菲定律 - 杨福宇的博客 - 电子工程专辑   杨福宇.CAN故障分析博客(16)中国可以改CAN吗?. 国家兴亡匹夫有责,从神九用到CAN总线讲起(16)一块短板与二块短板 - 杨福宇的博客 - 电子工程专辑   杨福宇.CAN故障分析博客(17)说CAN的问题不是要抺杀前人的功绩. 国家兴亡匹夫有责,从神九用到CAN总线讲起(17)辨证法 - 杨福宇的博客 - 电子工程专辑   杨福宇.CAN故障分析博客(18)CAN与安全的讨论不会只停留在学术上. 国家兴亡匹夫有责,从神九用到CAN总线讲起(18)龙种与跳蚤 - 杨福宇的博客 - 电子工程专辑     马云说站在风口上,猪也会飞起来,运载工具通信需求是个大风口,现在不知道会飞起来的是哪头猪。与CAN竞争的是FlexRay和TTP/C,看看TTP/C,它行吗? TTP/C被空客最新的机型A380(可载800位乘客)的座舱压力控制系统采用,见http://www.tttech.com/fileadmin/content/pdf/2-3-3-3/TTTech-Nord_Micro-Casestudy-A380.pdf。   中国南航引进了空客A380,然而才飞几次就发生了座舱的压力控制故障(南航空客A380客舱增压系统突发故障 致中途返航_新闻_腾讯网): “南航宣传主管赵继军:就是增压系统故障,原因正在查,大概飞出去几十分钟返航。我们引进的飞机是第一次出现这样的情况,其他公司情况我并不掌握。昨天,空客方面说要对我们出现的故障情况给予全力的支持。据我了解到的情况是,在北京等配件,肯定要换个件。肯定要在境外航材中心,航材基地调航材过来。“ 你还可以从网上查到乘客的报道。还没有见到官方后续的报道。也许南航自己没法推动真相的调查,只能空客说什么就什么。一般地说航空故障的调查要很长的时间,像波音787锂电池燃烧事故这样快地了结是极为罕见的。我们能何时期待A380座舱的压力控制故障真相大白?会真相大白吗?顺便说一句TTP/C也用到了787上。  
  • 热度 28
    2013-7-25 11:19
    2556 次阅读|
    8 个评论
    国家兴亡匹夫有责,从神九用到CAN总线讲起(14)抛砖引玉   从网上阅读的体验来说,我和许多人一样,对评论与哲理性的文章的兴趣大于纯技术性的文章,因为技术性的内容往往有别的渠道可以得到,而那些哲理心得的文章是可遇而不可求的。我的文笔难以出彩,所以主要是技术性的,我之要写出来是因为我没有精力把它纳入常规的渠道。比如写书会耗大量的精力,还不知道会有多少人看,与其这样,还不如能写多少算多少,有多少人看就算多少,不争朝夕,仅为同道交流而作。   可信赖性的要求已经深入我们这代人的日常生活之中,对于要作安全攸关系统用途的通信协议就更必须从设计上加以审视。由于现场条件的制约,通信总会或多或少地出错,什么时候能发现错,出错之后怎么办,这是通信协议首先要考虑的问题。   CAN总线的驱动器是线“与”性质,当总线上有1/0冲突时,只要1位的时间,发送“1”的节点就知道了,这个特点也可用来报错,任何认为要发送报错(任何原因引起的错都可以,只是现在CAN只用来送数据链路层发现的错),就可以发“0”来通知别的节点。这是非常重要的特点。   现在来看别的总线的驱动器。每个节点在发送时都可通过回读总线上的电平来观察有无冲突。例如A,B二个节点发送冲突的值时,总线上的模拟电平会有不同的分布,靠近发送节点处总线仍以特征阻抗方式作为负载,读回的值仍在输入的范围内,仅当对方的信号到达时,叠加的结果可能会引起读回值的错误,由于采用的位速率较高,A受到的冲突是B在传输时间以前发送的值,例如AB二点相距20米,传输时间约100ns,每一位为100ns(即10Mbps),那么A发送10100…,B发送01011…时前4位正好错开一次传送时间,AB都见不到错,到第5位时才发现错,所以存在发现错的时间的不确定性。但是处在中间的节点有可能出现输入阈值的过渡区,出现接收中有格式错或CRC错。如果距离更大,传送的时延更大,这种发现错的不确定性更大。此时用总线上造成冲突来实现报错的方法就非常复杂,时间上会涉及许多bit,要厘清正常数据与报错信号很困难。           现在假定有节点发现了接收错,它就面临2个问题:1。如何让别的节点知道,以保证一致性?2。如何避免丢数据而影响应用的安全性? 现在有些通信协议采取冗余传送同一信号的方法,来回避出一次错的问题,例如FlexRay有二个通道来送。但是二个通道同时出错的概率仍不能忽略,在假设ber=1*10-7,对BMW和Audi的应用例子算出的失效率均在10-3/h以上,远低于10-9/h的要求。(参见杨福宇,“Flexray总线的功能安全性分析“,《单片机与嵌入式系统应用》,2011,  No.12,p.8-11)。学通信时我们知道误码率是与信噪比有关,现场采取的抗干扰措施总是越强越好,假定都采取了同样的抗干扰措施,此时误码率就与信号的能量有关,10M的信号比1M的信号能量要小10倍(如果它们的幅值相同),很难想象FlexRay的误码率比CAN小。   在不纠错的方案不行的情况下,就必须有专门的报错帧与重发机制,这就带来了新的难度。由于错是“偶而“发生,如何分配带宽给报错帧?能立即安排报错帧吗?不能立即安排时,每个有关节点在什么时间之前必需等待,以判断是否有报错帧(等待时这个帧不该被应用调用)?这个等待时间又与调度方案有关,它对应用的消极影响如何折衷?对应一个帧要一个等待计时器,后续的帧又要有各自的等待计时器,一个节点要考虑多少个等待计时器?在硬件上要增加多少?…等等均十分棘手。   所以从这个方面来讲我认为CAN十分优秀,只要解决前面讲的错帧漏检、不当离线、不一致性问题,它就很完美。   可惜的是,没有人重视这三个要害问题。说这三个问题是要害,从我的博文中的许多举例可以证明,CAN是已暴露的安全问题的疑犯(博文(3),(4),(12),(15))。这些在丰田突然加速事件和大众死亡闪烁事件中的CAN失效的直接证据不是专业人员特意找到的,而是普通消费者无意中提供的,可以说如果这种无意间提供的信息中已经含有CAN失效的直接证据,那么在4S店处被遗漏或疏忽的CAN失效的直接证据实际上应该更多。   现在的新潮是CAN FD,有没有问题?   下图表示CAN FD正常位速率(slow bit)的接收节点在重同步(Resync)于高位速率发送节点后,有可能读到(Samp)1的情况(只要高速位(fast bit)在第n+1位是1(R))。在采样后的第一个0引起新的重同步,然后仍可能读到1。对低速接收节点而言,每位读错的概率大致为2-1。错读为合法的ACK DEL和EOF的概率为2-8。CAN FD在接收节点读DLC任一位时有局部错,例如应为24字节而读为8字节,它将提前进入ACK,成为低速率工作。因DLC有4位,只考虑0变1之错,其概率为ber*4/2。如果已收到的部分数据m满足CRC检验条件,该节点将发ACK,在错读ACK DEL和EOF的条件下收下此帧,成为漏检错帧。只要m大于39位,总存在一个满足CRC及格式检查的后22位,所以此种情况出现的概率是2-22=2.3*10-7,总出错概率为2-8*ber*4/2*2.3*10-7,ber=10-4时为1.8*10-13。考虑到传送速度提高之后每小时的帧数会很多,那么每小时的失效率会很高,例如以5Mbit/s传送,帧长为200bit,总线利用率为40%,每小时传送3600*5M/200*40%= 3.6*107个帧。接收节点所发ACK会干扰发送节点,引起发送节点报错,但存在不干扰的概率为2-5。所以CAN FD漏检错帧引起的失效率是1.8*10-13*3.6*107*2-5=2*10-7/h,远大于要求的10-9/h。即使把CAN FD仍用在低速1Mbit/s,每小时送帧7.2*106个,CAN FD漏检错帧引起的失效率是1.2*10-6/h,也还是远大于要求的10-9/h。   2012年推出的CAN FD在解决错帧漏时对原CAN的短帧采取完全兼容的方案,也就是继承沉疴(即使只用低速时,也还有《本博(8):不要迷信:》的错帧漏检隐患),而且在二种速度时,发生DLC位错时,会出现以慢位速读快位速的情况,存在新的错帧漏检机制(见上节);在消极报错状态下因一次局部错而不当离线方面(本博(11),(12))完全不当一回事;在EOF部分最后第2位局部错时(本博(13))造成的一致性问题上无所作为。所以CAN FD未解决要害问题。在安全隐患未解决的前提下再说CAN或CAN FD是如何可靠,就是忽悠人了。   所以CAN这个优势如何发挥是一个未解决的问题。   CAN FD did not address three main known safety faults that are high residual error rate, long quasi and real bus off status due to just one local error and inconsistent receiving due to a local error in last- but-one-bit of EOF. Hence its use in critical application which should satisfy function safety requirements is questionable. 我经过多年研究对这三个问题均找到了改进方案,目前暂时保密(即使我game over也不会绝了)。2007年大飞机项目上马前,退休工程师周济生(退休前是中航一集团下属中航商用公司原副总设计师,有着37年的航空从业经历,先后参加过运十、AE100飞机、ARJ21支线飞机的设计工作)牵头的民营广东昌盛飞机设计有限公司期望加入大飞机部分工作,却无人问津,可见进入的难度远大于技术的难度,这是现时无法徊避的问题。但也有企业自行立项成功的例子,例如飞豹、歼-31。要自主开发类似CAN的通信协议也会面临同样情况,中国还在向市场经济的转变过程之中,急不来的,就待它自行发展吧,但技术上的难度是有壁垒的,现时是买不来的,因为国外也没有!其中第三个问题尤为艰难,国外有多种解决办法,但均十分复杂耗时,有的方案原理上就不能成立,例如Majorcan的方案认为只要过了ACK与CRC不报错就可认为没错了,其实忽略了DLC错引起帧长不同的情况(可参见本博文(8))。 这里抛砖引玉,看看我的解决方案中的二个次要内容。尽管略为次要,与CAN 或它的继承者比,也会对可信赖性(Dependability)的改进大有颇益,从而增进信任。 第一个例子是ACK功能的取消。在CAN中凡是接收节点成功收到,就要发ACK,如接收CRC未通过,就在ACK分界符后报错。这是重叠的检查。设想只有一个接收节点,它没坏的话,接收正确时就发ACK,不正确接收时就有报错。如果它坏了,无法发显位,那么接收正确时就发不出ACK,不正确接收时就不会有有报错,发送节点对ACK和没有报错的判断都是会错误的。所以a)发送节点是无法用双重检查来检测出接收节点的错的。b)发送节点自身有很多查错措施,靠没有ACK的反馈来查自身错是不可靠的:发送节点只有在位错未发现的情况下,才会等待接收节点无ACK来查自己的错。例如发送节点要写1/0,实际写0/1,读回时错为1/0的情况下,发送节点不能发现错,如果接收节点确实发现了错而未发ACK,总线上为1,发送节点仍可能错读为0,所以靠有无ACK判发送节点有无错是判不出的。 如果有多个接收节点,如接收全对,就不会有报错;如接收全错,就不会有ACK,但一定会有报错;部分对时,会出现既有ACK又有报错的情况。对发送节点而言,只要有报错,就得重发。所以ACK可以没有,报错(实际上是NACK)必须保留。取消ACK可以减少开销,也便于实施提高位速率的设计,例如类CAN FD。   第二个例子是报错资格的限定。在CAN中任何一个发现有错的节点均可以发报错帧,其实是不必要的,而且带来不利的影响。实际上不是目标接收节点,它错不错是没有关系的,如果它因为局部错(例如靠近它的电缆的地方临时有一些干扰)而报错,目标接收节点却没错,那么这个不必要的报错就伤及目标接收节点和发送节点,使目标接收节点的应用因重发而延迟了时间;使发送节点出错计数器加上去,恶化了健康状态;使系统增加了报错与重发所需的流量。 我的方案是在仲裁区任一节点发现错可报错,过后,只有与CAN滤波模板相符的节点有错才可以报错。其它节点有错可以统计错误,但不报错。这样做可以大大提高系统的可用性。例如一个系统有n个非目标节点,误码率为ber,帧长(29位id)约140位(包括填充位),n个节点原来的不必要报错机会是n*140*ber,现在是n*29*ber,不必要报错可能性降低到原来的29/140=20%。上述3个缺点都得到改进。   CAN FD未去解决问题,实在是为有志开拓的人们留下了大好机会。别人正在销售给你的和准备销售给你的CAN就只能这样了,要么继续冒生命的风险,要么没有可用的替代品,现实的需求放在那里。我是自以为是摸了一块过河的石头。我知道山外有山,天外有天,人外有人的道理。我的精力比不上年轻人,又是半路出家,学识上不及各位硕士、博士、教授、专家,所以特别是希望你们能指出我这些文章的研究中的漏洞,我的判断是否正确? 这是不是我们面临的困境与机会?如何取得共识?如何推进研究与设计?如何协作?也希望各位做出各自的CAN的改进方案,或是缓解CAN缺陷影响的方案。尽管立项等是难题,但仍然可以在学术上探索,为我们中国车与运载工具性能的提升出份力。 很多专家已是超负荷,分身乏术,并没有时间来细细研究我说到的这些问题,时间的短缺迫使他们采取随大流的作法,但这是有风险的,跟错了技术平台,丧失商机的例子也是屡见不鲜的。  
  • 热度 12
    2013-7-10 09:57
    1473 次阅读|
    1 个评论
    国家兴亡匹夫有责,从神九用到 CAN 总线讲起( 17 )辨证法   在 20 多年的 CAN 应用中,不乏许多重要的应用项目,例如在几个卫星项目,飞机项目,以及一些先进的车控项目。怎样看待这些项目的成败与风险是要用辨证法的观点的。 辨证法首先要承认新技术对社会前进的推动作用,每一种新技术都因为与原有技术比较有明显的经济效益才会被广泛接受。在 60 年代时发卫星,其控制技术的简单化与今天相比不知差了多远,那时的控制程序行数甚至远小于现在的一个游戏程序。但没有人会否定那些人作出的贡献,那些人付出的努力以及达到的成就。 其次,辨证法又承认对事物的认识有一个逐步深化的过程,由低级到高级,由局部到全面,你不可能今天还用那样因当时的认识局限而采取的做法来做项目,所以又要与时共进。 我要提这个观点是因为也许有一些人会担心自己搞的 CAN 项目被否定了,从而明里暗里反对揭发 CAN 存在的问题。其实务实的态度是既承认原先工作的成果,又承认需要改进。不做声、不作决策的消极态度与国与己都是不利的。我们可以看看 2004 年北京大学 政府管理学院 企业与政府研究所 路风 封凯栋的报告 《发展我国自主知识产权汽车工业的政策选择》,它以事实与雄辩说服大家,自那以后国产车的自主开发开始了新的阶段,所以潮流是挡不住的。其中有一段: 发展自主开发能力的主要障碍是缺乏勇气、信心和进取精神 既然神话只不过是神话,那么阻碍中国汽车工业发展自主开发能力的根本因素究竟是什么?是缺钱吗?在 50 年代末到 60 年代初的极度经济困难条件下,中国企业能够开发出红旗和上海轿车,而今天这些企业的年销售额已接近 1000 亿元,其领导人的年薪已经几十万元了,反倒说是财力不够? 是缺乏技术学习的机会吗?全世界的主要汽车企业都已进入中国,几乎什么东西都买得到,花公款出国跟国内旅游一样方便,而且世界上还有许多热切盼望中国企业订单的专业设计公司,怎么会没有学习的机会? 是中国技术人员的水平还不够吗?那为什么 20 多名来自二汽的技术人员到了奇瑞就能够在一年之内开发出 3 个新车型?这不也是说明中国的技术人员并不缺乏积极性吗? 是企业的生产规模太小吗? 2003 年,中国市场的汽车消费量已居全球第三位,中国汽车工业的总产量已居全球第四,但中国汽车工业的“三大”、“三小”们不还是开发不出来一个车型吗?不还是要从汽车生产规模名列世界第六位的韩国引进产品技术吗? 是设备差吗?目前中国重点企业的设备几乎都是世界一流的。 是没有必要吗?三大集团的领导人都在公开场合说必须自主开发。 是缺乏经验吗?这可的确是一大障碍。正如本报告在第二章中所分析的,缺乏经验积累是中国汽车企业在产品开发上的主要瓶颈。 关键时刻往往是一个组织面临危机,或者面对未来需要决定何去何从的时刻。关键决策则是在这种关头做出的符合组织长远利益的决策。企业在市场竞争中,国家在国际体系的竞争中,都会遇到危机。但它们的当权者却不一定能够做出关键决策。 在现实中,这种非关键决策往往采取两种形式:一是 回避风险和挑战 ,只选择短期内最保险、最容易的做法;二是以 不决策代替决策 ,任由组织 随波飘流 ,丧失方向。两者的结果都是使组织的长远利益遭受损失,甚至导致组织的灭亡。 讨论决策层的问题超出了技术人员的水平(别人也许例外),所以不再这里继续引用了。不过对于对手能力的强弱与对手的优势我仍然看到一些材料,可以提供给大家。   这是 Bosch 关于 CAN 的专利,是 1992 年 3 月申请的,按照美国的专利法,已经过了 20 年的有效期了。你无论如何去做,都不会侵权。   如果查查中国有多少人做了 CAN 核的设计,恐怕不下于 10 人,所以人是有的,只是缺机会与缺深度。我国的年轻一代科学家、工程师已经成长,如果要专做一个 CAN 协议那样的项目,我们的人力资源绝对可以超过国外。看看一个大的汽车集团,即使有 5000 个技术人员,分到不同的技术领域后人数就不多了,假定有 100 个人做汽车电子,这个领域又要细分,真正分到 CAN 总线上的又要管产品平台建设、开发、服务等等只有几位,然而要深下去到协议层恐怕凤毛麟角了。我想,国外恐怕也是这样, 当业务多到尖端人才分身乏术时,总会对有些所谓“成熟”技术的忽视,所以也不会有力量的绝对优势。所以只要做得深,做到极致,小人物、小公司也总有出头的机会。
  • 热度 19
    2013-7-2 14:34
    2093 次阅读|
    4 个评论
    国家兴亡匹夫有责,从神九用到CAN总线讲起(16)一块短板与二块短板   我们面临的困难很多,在想到要改进CAN时就有这样的困难:大多数CAN已嵌入到MCU中,而我们能做出满足抗干扰要求的MCU吗?这就是我要说的一块短板与二块短板的问题。 国外公司在汽车电子市场中占的份额有各种统计方法,现在仅就MCU的统计摘录如下Renesas still dominates MCU market     市场与技术、营销有关。从上表看到Freescale在增长,Atmel和Infereon的增长很快,我仅就技术发表点意见。   我听到过有人讲车厂喜欢用Freescale的芯片。后来我也留意了一下。在邵贝贝、宫辉等著的“嵌入式系统中的双核技术”(北京航空航天大学出版社2008)第32页提到了片内容错与纠错技术: 当系统遇到强干扰时,CPU在读取指令或数据时可能出现错误,如果指令或数据仅仅是某一位出现错误,ECC模块会自动纠正这一位的错误,使系统照常运行,如果出现二位或二位以上的错误,则ECC会以中断方式通知CPU,出现了读程序错或读数据错。 该节后面的如何实现我没有查实,但是我查了MC9S12P128.pdf,p19: Up to 128 Kbyte of program flash memory 32 data bits plus 7 syndrome ECC (error correction code) bits allow single bit error correction and double fault detection 4 Kbyte data flash space 16 data bits plus 6 syndrome ECC (error correction code) bits allow single bit error correction and double fault detection 32位程序用7位保护,16位数据用6位保护,为了纠错可能采用了类似BCH码的技术。我觉得要对抗电磁干扰,工艺当然重要,而架构更为重要,有数据与程序的检错是非常重要的。从可信赖性的分析角度,也就是故障的覆盖率问题,缺了这一环就会放过很多错。我在写“MCU需要改进”一文(杨福宇,“MCU需要改进“,《单片机与嵌入式系统应用》,2008,  No.4,p.5-6,36)中提到了51单片机指令有一位变化的后果,(发现此问题是1990年代比较早,写文章时我还不知道Freescale已有这种技术。)   Bit 第一字节 变化后指令 意义    - 1000 0101 85 50 37 MOV 50,37    0 1000 0100 84 50 37 DIV AB; JNC 37    1 1000 0111 87 50 37 MOV 50,@R1; ADDC A,@R1    2 1000 0001 81 50 37 AJMP 0450; …    3 1000 1101 8D 50 37 MOV 50,R5; ADDC A,@R1    4 1001 0101 95 50 37 SUBB A, 50;ADDC A,@R1    5 1010 0101 A5 50 37 ?; JNC 37    6 1100 0101 C5 50 37 XCH A,50; ADDC A,@R1    7 0000 0101 05 50 37 INC 50; ADDC A,@R1  从表可见,一bit的变化完全改变了原来MOV指令的意义,程序流或数据产生不可予测的变化。例如表中(bit 0, 2 或5发生变化)变为跳转指令,可能不转入死循环,不引起watchdog动作,也有可能跳到非正常指令处,直至死循环。表中变为非跳转的其他指令则有可能改变累加器(bit 0, 1, 3, 4,6或7发生变化)、数据RAM(bit 1,3, 6或7发生变化)或状态寄存器(bit 0, 1, 3, 4,6或7发生变化)的变化。如果错误发生在指令的第二或第三字节,数据的源或目的地址就错了。这些都会造成数据错,因此,即使watchdog没动作,不能保证程序运行正常。对8051其它指令作分析可得到类似的结果。   对其它品种的CPU也可以作类似的分析,即使新的ARM机也一样,因为CPU的指令设计总要使同一长度内尽量多地做不同的工作。采用Freescale的纠错方法固然先进,但是代价大。如果只检错会简单得多,发现错产生中断,单次错则指令重执,多次错还可设计其它的应对方法,总之不让错扩散。数据检错已经是通信和数据存储的成熟的技术。我国已经有较多的CPU设计单位,也已经生产了一些CPU,只要加这一块就可以跳一跳,当你看到大多数国外厂商还没有采用Freescale已用的这一技术时,这跳一跳的意义是不言自明了,所以第二块短板也是可以较快地补长的。当别人还没有补CAN的短板时,你再把CAN的改进提上日程,岂不更好?  
  • 热度 24
    2013-6-24 15:14
    2887 次阅读|
    8 个评论
       国家兴亡匹夫有责,从神九用到CAN总线讲起(15)墨菲定律   有时候人们总希望问题的概率很小,不会碰巧遇到,这样大家可以相安无事。可是就如墨菲定律(Murphy's Law)"Anything that can go wrong will go wrong".越怕出事,越会出事。我最多听到的意见是,CAN已经用得着那么多了,从来没听说过有什么问题。不过这次大众DSG召回事件使我有了寻找的理由且也找到了CAN失效的证据。这些频繁的出错证据表明车内环境的恶劣,简接证实我的理论分析的原始假设存在的合理性,也就证实理论分析结论存在的合理性。   根据大众DSG的宣传资料,DSG在收不到选档杆的档位模式信号时,DSG就进入空档。所以如果CAN失效,没了档位模式信号,就会出现报警(‘死亡闪烁’)并失去动力。     下面是一个检测不到选档杆位置信号而“死亡闪烁“的报告: 例1。求助:老迈2.0t DSG行驶中脱档“死亡闪烁”档位杆锁死 ( 在迈坛好像不曾报告的问题)_迈腾论坛_XCAR 爱卡汽车俱乐部       下面是较新的(2012.8版)大众7速双离合变速器资料:Self Study Program 850123 The 7-speed Double-Clutch Transmission 0AM Design and Function(850123.pdf)网上可下载到。下图中E313就是选档杆模块,J119就是仪表板的多功能显示器。从连线上看,造成仪表板上PRNDS不停闪烁(死亡闪烁)的只能是E313,这个信号没有经过CAN。这一闪烁也是E313自己发现了CAN通信失效的后果。     CAN通信失效的报道还有,如: 例2。YU教授,很多DSG车子有TCM通信故障是怎么回事?-斯柯达车友会俱乐部-上海斯柯达车友会     下面是更多的22个例子: 例3.高6升级DSG后出现错误码,报于tcm失去通讯,请问原因_车知道   例4.关于升级DSG后TCM故障的问题_迈腾论坛_XCAR 爱卡汽车俱乐部   例5。【图】DSG软件升级后惊现几个故障码,有升级过的建议5053线检测!!!_速腾论坛_汽车之家论坛   例6。【新帕萨特dsg升级后存在严重安全隐患挂着D档向后跑】_帕萨特论坛_汽车论坛-易车网   例7。【图】DSG升级之后无法清除的故障码。_昊锐论坛_汽车之家论坛   例8。发现不少故障码,那位大神能解释一下啊-斯柯达车友会俱乐部-上海斯柯达车友会   例9。 保定高尔夫6控制单元编码__超越汽车电子,保定配汽车****,保定汽车维修设备,保定汽车电脑维修,保定汽车维修商行,汽车维修设备|保定百特远征,保定汽车维修设备,保定汽车电脑维修,保定汽车维修商行,汽车维修设备     例10。【高尔夫的口碑】 DSG 升级 可能存在 “缺陷”_新浪汽车_新浪网     例11。.DSG升级后的故障码 ,你们有没有?????_高尔夫6论坛_XCAR 爱卡汽车俱乐部      例12。DSG出大问题了, 求安慰,求专家(更新:找到类似故障码了-斯柯达车友会俱乐部-上海斯柯达车友会   例13。DSG升级后的故障码怎么处理 - 已解决 - 搜搜问问   例14。 【图】2011速腾1.4T DSG 升级后出现发动机、网关故障码,恳请高手解惑_速腾论坛_汽车之家论坛   例15。 【图】大家看看,5053扫描结果,几个故障码,究竟是怎么回事_速腾论坛_汽车之家论坛   例16。 所有DSG升级后出现发动机与变速箱TCM失去通信的故障码的卡友注意了!_高尔夫6论坛_XCAR 爱卡汽车俱乐部   例17。 升级完后用5053扫描无故障码(今天6月19日,发现有发动机故障码了!吃屎的大众!)_高尔夫6论坛_XCAR 爱卡汽车俱乐部   例18。 【图】买了个5053 一扫一堆故障码吓一跳 求指点 有xyz_迈腾论坛_汽车之家论坛   例19。 故障码故障码故障码!!!清了还还是一直有!有没人知道原因的!_高尔夫6论坛_XCAR 爱卡汽车俱乐部   例20。 CC故障码求助 求达人帮忙看看...._大众CC论坛_XCAR 爱卡汽车俱乐部   例21。 【图】dsg软件升级后出现故障码_速腾论坛_汽车之家论坛    例22。 升级了发动机和dsg后,果然有故障码!!!!!!!_速腾论坛_XCAR 爱卡汽车俱乐部   例23。 DSG异响,有故障码,请高手诊断下,jasonbora请进_高尔夫6论坛_XCAR 爱卡汽车俱乐部   例24。 DSG升级后,使用5053扫描,经常出现如下故障码,是普遍现象么?_高尔夫6论坛_XCAR 爱卡汽车俱乐部    上面24个例子中有5点要关注: 1。2013年升级后还有问题(例13,2013年4月); 2。通信失效与变速器异响的关联(例23); 3。通信失效传送了假的命令(例6,挂D档向后跑); 4。用户开始怀疑vw会不会假升级(例11,设时限不记录故障,例16,电脑重启); 5。通信失效集中在变速器TCM上。   失去与tcm通信是多大的毛病? http://engine-codes.com/u0101.html   这是通用GMLAN(CAN的一种)OBD标准,由于OBD是统一的,其他厂家应该与这个数据相同,我目前没有找到更多的数据,请知情的朋友指正,这个数据的意思是250ms内没收到该由变速器控制器来的帧。CAN中断250ms通信是很严重的,这就表示变速器不听话1/4秒,在交通路口绿灯时可能被追尾。ESP需要每20ms一次变速器的信号,此时如变速器不听话1/4秒,试想车以100km/s运动时,250ms开了6.9m,你已不知在那个车道了。   每个客观的人都要重视的是: 1。虽然有的tcm通信故障的存在甚至没有引其消费者的感觉,但是这种通信故障确实会引起令人恐惧的功能失效,例如例1中的死亡闪烁,它甚至可能会要了你的命。 2。举出的这些证据可能只是冰山浮出水面的部分。例10就反映了十几辆车的通信出错;例12许多人在通信出错时来不及看清提示;更多的人没有自己查出处代码的设备与技能;例20更多的查到出错码的维修人员不以为有风险或者被告知可以任意抹掉…。