西西河

主题:【原创】简要的CAN总线学习笔记 -- Ace

共:💬47 🌺147 🌵4 新:
全看树展主题 · 分页 下页
家园 【原创】简要的CAN总线学习笔记

简要的CAN总线学习笔记

ACE

学习完毕我彻底明白了汽车主机厂为什么辣么恐惧互联网行业通过OBD接口的“侵入”,一般人对此不能理解,因为很少有人(包括我)会花时间去仔细看一眼CAN这种日常生活中不常见的“上古神器”。学习之后我对CAN总线的评价是:1、这是一个上古神器,她的目的是低成本组网连接MCS51这样的“低能”单片机。1983年Bosch公司设计她的时候从来就没有考虑过某一天可能有能力超强的计算机会连上去,更没想过互联网这么污的东西可能会接上去;2、这是一个秩序井然、规矩分明的君子们组成的网络“完美世界”。前提是这个网络中的每个节点都是恪守规则的谦谦君子,则一切安好,根本就没有考虑过有一天可能有“捣蛋分子”出现,出现了则无能为力,搞奔溃CAN是很容易的;3、CAN的通信能力极低,低到可笑,40m以内可以做到1mbps,10KM内可以做到5kbps,这还是指总线吞吐能力,而非payload能力,用于纯粹的工业领域简单控制网络是OK的,其他就别指望了,CAN端着一个小锅只能“望洋兴叹”。不要指望H.264或者激光雷达的RAW DATA跑在CAN上,都是根本不可能的。4、始终要牢记,CAN人家原本就是个幼稚园,里面玩耍的是MCS51这样的小盆友们,x86,ARM这些博士后们就不要去捣乱了。

不破不立是现实世界里的黄金定律,够用就好。CAN如果只是用于连接少数数量单片机们用于车控和简单工业控制是够用的。她既不是令牌环网也不是802系列以太网的MACD,她比MACD要原始的多,叫做CSMA/CD –carrier sense multiple access/collision detect,简单说就是一个“官大一级压死人”的军阶系统,每次讲话(占用总线发信息)的时候谁大家就从肩章上最后一颗星星比起,发现有比自己官大就立即闭嘴转入收听模式,一直比出最牛逼的那位,他之后就可以占据总线来一发(发一帧数据)。一切都基于“君子协定”,由于网络中没有“裁判”,万一出现了两个节点的ID级别(故障或者恶意;一个ID编码可以是11bit或者29bit)一样,结果就是两个节点一起发送信息,CAN线上谁也收不到正确的信号。由于缺乏一个控制节点,CAN总线甚至没有网络节点的地址码,理论上信源信宿只有逻辑关系而无法物理区分,这就很要命(我仿佛看到了黑客宿宿们的诡异的蒙娜丽莎微笑)。另外,CAN的标准格式帧只能是44~108bit,扩展格式帧可以是64~128bit,是的,你没有看错,单位是bit,这对MCS51这样的小盆友来说已经是“巨大”且够用了。

小结:在CAN总线上,大家讲的都是言简意赅短小精悍的文言文,因为实在是带宽太小。中国古人用文言文写信也是因为羊皮卷、丝绸、龟壳、竹简太贵太重太麻烦,要是畅所欲言(放上raw data去跑),那真是罄竹难书,大刘的《三体》整一套一大片竹林都得遭殃,出版一万套估计四川的熊猫就得因此全部饿死绝种。CAN总线是美好且原始的共产主义社会,每个人克己奉公,没人有会多吃多占不守规矩,不需要警察也从没考虑防范黑客,如果有了坏分子,也没啥对策。

站在CAN的角度看我们热衷的互联网世界,实在是里面有太多坏粟粟,不仅坏而且说话太快太啰嗦。我们要理解只要汽车的控制权还在车厂手里,只要车厂们自己还没有想清楚怎么协调一致把幼稚园升级到大学级别,OBD盒子的生意必定是不受车厂待见的“Romeo must die”。 ^_^

通宝推:GWA,時千峰,epimetheus,mezhan,明心灵竹,大山猫,夜如何其,桥上,nettman,
家园 大胖子沙发
家园 感谢楼主分享!

把如此专业的知识以简单易懂的方式写出来!

家园 奔驰宝马往车载以太网迁移了

而且是基于光纤的车载以太网。

家园 有错

MACD是股民关心的东西,3g通信用了CDMA技术,CSMA/CD是以太网的技术。

家园 学习了。涨了见识。
家园 他们用的什么协议?

总线时代已经过了高峰期,进入维持阶段。 工业以太网是工控的未来方向,正在快速成长。

家园 印象中obd进入can网络并入容易

obd实际上现在仅仅是车厂释放给外界的一个接口,如果想通过obd进入ECU/VSC等模块,还需要内部协议和对应的权限。obd目前工作在监听模式下要多一些,虽然车厂原装的系统可以通过obd对ecu的参数进行修改,大多数还是在离线模式下。

家园 BMW太鸡贼了

禁止研发人员透露,只许他们提问,不许你问问题。从芯片选择来看,还是传统的百兆以太网, 不过是光线接口,抗干扰能力强,线束重量轻了100公斤。

有错
家园 是MultiAccess

Collision Detection 的意思吧

家园 为什么会轻这么多

而且不是光缆比较脆弱吗?

家园 线束重量减轻主要原因是

低压电压从12V升级为48V,铜导线截面大幅度缩减;

迫于新能源车的(里程)减重需要,各车厂优化布线,升级平台(21以后的车型)

100kg是夸张了,几十公斤还是有的

家园 一个控制网络比通信是不是有点……

不过看得出来很有文采

家园 恩,有些学校搞智能车

就是监听can的信号,记录下来,然后像是破译一样猜

无奈车厂不给资料,说不定车厂还是采购的,只理解部分呢

家园 现在很多公司也是这样的

都是在读天书,通过各种动作揣测内部逻辑。后装市场不容易

全看树展主题 · 分页 下页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河