历史上的今天
今天是:2025年03月01日(星期六)
2018年03月01日 | 什么以太网无法取代CAN?
2018-03-01 来源:ZLG致远电子
目前网络上充斥着这样一种声音“以太网将取代CAN总线成为汽车唯一总线”相关的文章在搜索引擎上可以很容易的被搜到。这是不是真的呢?

首先在文章的开头先告诉大家答案:
就人类目前的技术来看,在车辆中以太网只能作为CAN总线的配合,暂时不存在取代CAN总线的可能性。
如果您并不满足只知道结论,知其然并知其所以然,那么请阅读接下来的文章。这可能会消耗您3分钟的时间,但却能告诉您得出这个答案的原因。

如大家所知,作为一种标准开放式的网络以太网传输信号相较于CAN总线有着传输速率高、传输距离长等优势在。而且技术已相当成熟,掌握的人也比较多。可目前就算是已经用于汽车上了却仅仅是用于传输雷达、视频等高速信号。为什么不能制造一辆全用以太网总线通信的汽车呢?其主要原因如下:
1、 CAN网络的安全性
从网络的连接来看,CAN总线通过物理信号来进行连接,而以太网则是交换机连接。在以太网连接中交换机是必要的,一旦交换机有所差池整个网络都将崩溃。将整个网络的安危交一台太脆弱的交换机来承担实在是太过于儿戏,而若是设置冗余备用又要增加许多成本。相比之下CAN总线的结构非常简单,仅需拉两条线而已,简洁而稳定。对于安全第一的汽车来讲,无疑是CAN总线更为适合。而且以太网采取超时重发机制,单个节点的故障很容易扩散到整个网络,相较于CAN总线的分级仲裁制度也是逊色了不少。

2、CAN的成本决定
在安全性上我们提到了交换机。是的,一个以太网的网络交换机的存在必不可少,而现代汽车网络的节点之多令人乍舌,若是全采用以太网来进行通讯势必需要一个或几个超多接口的交换机。而且作为汽车这样对安全性极为看重的产品,其交换机的稳定性和质量的要求也必定极高,这样考虑下来成本的增加可不是一星半点。不断增加的成本可不是汽车工厂的老板们愿意看到的。

3、软件稳定性
如果您看过电影《速度与激情8》相信您一定还记得其中“僵尸车”的情节。反派通过黑客技术控制了纽约市大量的具有‘’自动驾驶‘’功能的汽车冲上街头来围攻持有重要文件的俄罗斯大使。虽然娱乐电影的剧情经不起推敲,但能进行联网控制的汽车确实可能被黑客趁虚而入。以太网作为一种标准开放式的网络系统兼容性和互操作性好,资源共享的能力强,可以很容易的完成信息和资源的共享操作。无疑是降低了不法分子作案成本,提高了可操作性。相对而言CAN总线是一个专用的现场总线,黑客是很难进入的。

最后让我们来用表格进行下归纳:

这样看来,用以太网来替代CAN总线,已经成为不可能完成的任务。可是CAN总线传输速度慢、传输距离有限的缺陷是实实在在存在着的,是否有合适的方案可以升级一下呢?就目前的技术而言,车载以太网为主干,CANFD作为子系统的通讯方式可谓是“万千宠爱于一身”的集大成之作了。既保留了CAN实时、安全的特性,又能够提升通讯速度与传输距离,同时还保证了成本的控制,是“鱼和熊掌拼盘”的最佳选择。
CAN-FD对数据场的长度作了很大的扩充,DLC最大支持64个字节,在DLC小于等于8时与原CAN总线是一样的,大于8时有一个非线性的增长,所以最大的数据场长度可达64字节。

ZLG致远电子目前可以提供USBCANFD-200U接口卡,可以提供完整的CANFD的技术支持和设备方案,并有着丰富的现场应用经验,致力为工业用户提供适合的解决方案。

史海拾趣
|
遥控器用的红外LED,因为红外LED发出的光不完全是红外光,也包含部分的可见光(红色)成分,所以肉眼能看到少许光。遥控器使用的LED,一般发射角度是30度左右,用户即使没有完全对准目标,也能有效操作。在没有外界红外线干扰的时候,遥控距离可以 ...… 查看全部问答> |
|
最近我刚买一块2440的开发板,跑wince5.0,按照PC机设置wince,连上网线后不能上网!不知道是什么原因。PC机可以通过网线与ARM板通信。ftp和fttp都正常。那我应该怎么样设置或还需要哪些工作才能实现我这块开发板与网络的连接呢。… 查看全部问答> |
|
在wince 6.0中我有一个客户端程序,先后两次调用InitializeSecurityContext用于和google服务器端进行安全认证,第一次调用返回的是SEC_I_CONTINUE_NEEDED,第二次返回的是SEC_E_WRONG_PRINCIPAL,请问怎么解决啊?是不是和证书有关系?相同程序在wi ...… 查看全部问答> |
|
【招聘】汇编语言入门图书兼职作者 本公司是业内知名IT图书策划出版公司,正在运作一本汇编语言入门相关图书。想征求关于汇编语言的设计高手参与编写。有意者请将个人介绍和联系方式(QQ或MSN)发到本人邮箱macuilhy@sina.cn。… 查看全部问答> |
|
u8 sd_raw_get_info(struct sd_raw_info* info)中struct怎么理解 u8 sd_raw_get_info(struct sd_raw_info* info) { …… } 这个子程序怎么用啊,像u8 mmcWrite(u32 sector, u8* buffer)这种,我在主程序中只要定义unsigned char SD_Write1[]={\"0123456789\"}; 就可以用了mmcWrite(SD_Write1); 但是这个定义 ...… 查看全部问答> |
|
欢迎来到电源设计小贴士!随着现在对更高效、更低成本电源解决方案需求的强调,我们创建了该专栏,就各种电源管理课题提出一些对您有帮助的小技巧。该专栏面向各级设计工程师。无论您是从事电源业务多年还是刚刚步入电源领域,您都可以在这里找到一 ...… 查看全部问答> |




