首页 > 汽车技术 > 正文

车载以太网与CAN总线有什么区别?

2024-04-22 13:57:38·  来源:汽车电控知识  
 

车载以太网是指将传统的工业以太网技术应用在汽车电控领域。


车载以太网与工业以太网一样,都是采用交换机式(SwitchedNetwork)的通信方式,交换机式通信指的是所有的终端节点都要通过交换机才能连接到一起,所有传递的信息都需要通过交换机进行转发。


图片

以太网网络拓扑-交换机式


也就是说每个ECU节点上只有一个以太网端口,交换机有多个以太网端口,每个节点与交换机之间都是通过网线点对点相连,节点与节点之间都不直接相连。


这与CAN网络的总线式拓扑完全不同,CAN网络是所有的节点都通过总线相互直接连接,所以CAN网络可以称为CAN总线,但是以太网只能叫以太网网络。


图片

CAN网络拓扑-线型总线


交换机的主要作用是转发信息,这个功能有点类似于CAN总线中的网关,但是它们的使用原因和场景不同。


网关是由于车内中不同的网络间需要信息交互而使用的,比如LIN与CAN之间,高速CAN与低速CAN之间,网关是根据实际网络状态和功能需求而使用,是用在不同的网络之间,是可选的设备!


而交换机是由于以太网的通信协议自身要求使用的,是在同一个网络中使用的,而且是必须使用的设备!


物理层


车载以太网与CAN总线都是差分信号传输,都有专用的收发器芯片,传输介质也都使用双绞线。


CAN总线的传输速率最大是1Mbps(CANFD是8M);车载以太网的速率要快得多,速率范围为10M-10Gbps,高速率适合数据量大,实时性强的系统应用,比如智能驾驶、车联网、智能座舱、环视、雷达等产品。


工业以太网连接器插头是RJ45,俗称水晶头,RJ45连接器有8个引脚。


图片

RJ45连接器


工业以太网常使用2对或4对双绞线和标准水晶头连接。


图片

工业以太网


但是RJ45的引脚数量多,连接后容易松动,并不适合车辆中的控制器使用。


因此车载以太网的物理层有专用标准和协议,主要目的是为了简化接口,以便能够通过单对双绞线实现全双工通信,使用汽车级接插件,降低系统的复杂度和成本。


图片

车载以太网接口


图片

工业用的RJ45与汽车用的接插件


与CAN的物理层采用统一的标准不同的是,车载以太网根据网速的不同,物理层标准分为10base-T1S、100base-T1、1000base-T1和2.5/5/10Gbase-T1共4个标准。


目前车辆内部主要使用百兆以太网100base-T1和千兆以太网1000base-T1,其中的T表示Twisted pair双绞线,1表示只使用1对双绞线。


图片

车用百兆/千兆以太网


车辆外部可以使用传统的工业以太网标准,比如100base-TX可以用于诊断系统。连接车辆部分常用OBD连接口,连接诊断设备部分常用RJ45连接器。


图片

OBD II接插件中有两对双绞线引脚


CAN的传输距离是40米,车载以太网的传输距离为15米,这是因为在串行通信中,速率越高,能传输的距离越短。


1.1收发器


以太网的收发器接口电路包括共模电感、直流阻断电容(DC)、共模终端网络(CMT)和可选的ESD。


100base-T1收发器接口电路


其中与CAN接口电路的主要差异是终端电路和直流阻断电容。


终端电路的作用是隔离MDI,防止接地回路和驱动器直流偏移,可以改善共模噪声,在保持高抗扰度的同时减少辐射发射。


直流阻断电容用于隔离PHY端和RJ45端直流分量,防止外部干扰。


图片

DC隔离电容


2  协议规范


2.1单播、多播和广播


CAN总线某个节点发送CAN报文时,网络中所有的节点都可以收到,发送方式是一点对多点的关系,这种方式称为广播式通信。其道理类似于村里的广播,发出通知后,每个村民都能听到,听到跟自己相关的事情,就抓紧时间处理。


与CAN总线不同,以太网某个节点发送报文时,网络中只有对应的节点能收到,发送方式是点对点的关系,这种方式称为单播式通信。


CAN报文只有发送地址(ID),而以太网的报文中不仅有发送地址,还要有接收地址。


交换机通过发送地址和接收地址,把对应的两个节点连接起来。


图片

以太网数据流-单播


交换机的内部就像是一个组合开关,ECU1连接到端口1,ECU2连接到端口2,当内部开关把1和2连通后,信息就可以从节点ECU1传输到了节点ECU2。


单播方式就像是某个人(节点1)先打通村里的总机电话(交换机),再按分机号(节点2)打通另一个人的电话。


但是如果有信息需要发给多个节点,怎么办呢?


这时候就需要用到多播,多播实际上就是指以太网发送报文中的接收地址可以覆盖很多个节点,这种地址称为多播地址,交换机会按照多播地址逐个连接。

图片

多播

当多播中的接收地址包括所有的节点时,就变成了广播。交换机会根据广播地址把发送端口和所有的端口连接起来。


图片

广播


多播和广播就像是通过微信群发起电话会议,选择几个人(多播地址)就是多播,选择所有人(广播地址)就是广播。


2.2 帧结构


以太网帧结构


以太网的帧结构中的前同步码、帧开始符、FCS等都是一些数据链路层的数据和校验等格式编码,对我们的实际作用不大。


我们主要使用的是MAC帧中的目标地址、源地址、帧类型和数据这几部分。


2.2.1MAC地址


MAC地址表示媒体存取控制地址,也称为局域网地址,它属于物理地址,与硬件绑定,在以太网的网络中唯一标识一个节点(网卡),MAC地址长度为6个字节,48位数。


目标MAC地址是指需要接收数据的节点地址。


源MAC地址就是当前正在发送数据的节点地址。


比如00-16-EA-AE-3C-40就是一个MAC地址,其中前3个字节表示网络设备制造商编号,后24位表示网络设备的序列号。


2.2.2帧类型


帧类型是2个字节,表示以太网的类型,不同的帧类型值对应了不同的协议。


图片

常见的帧类型


2.2.3 IP数据报


IP协议层的信息叫做IP数据报(IPDatagram),它不是数据链路层,属于网络层协议。


IP数据报中包含了我们最终要使用的应用数据,数据长度为46-1500个字节。


图片

IP数据报


这里要说一下,我们经常看到的IP地址就是这一层,IP地址是逻辑地址,是一个动态分配(不固定)的地址,用于实现跨网络(不同局域网间)的通信和路由。


而MAC地址是物理地址,是在数据链路层中使用的,是固定的地址,不能更改,用于实现局域网内部的寻址和数据传输。


IP地址虽然是动态的(可更改的),但也是用于在互联网上唯一标识一个网络设备。


IP协议目前有两个版本,分别是IPv4和IPv6。其中的IPv4使用32位二进制数来表示一个IP地址,IPV6是128位。


目前最广泛使用的是IPv4,IP地址通常以点分十进制形式来显示,例如192.168.1.1。


一个IPv4地址由两部分组成:网络号和主机号。网络号表示该设备所属的网络,主机号表示该设备在该网络中的编号,网络号和主机号通过子网掩码来区分,其中网络号对应的位为1,与主机号对应的位为0。


比如IP地址为192.168.1.1,子网掩码为255.255.255.0,则网络号是192.168.1,主机号是1。


前面我们提到过单播、多播和广播,这三种不同的发送方式就是通过IP地址来区分的。


单播很容易理解,就是一个固定的目标IP地址,比如192.168.1.1


广播有两种,一种是针对某个局域网络中的所有节点,其格式为某个网络号(Network ID) + 全1的主机号(Host ID):


比如192.168.1.255,就是向192.168.1.网段中所有的节点发送报文。


另一种是针对所有网络中的所有节点,其格式为全1的网络号 + 全1的主机号,比如255.255.255.255,这个很少使用。


多播比较特殊,多播的IP地址不是按网络号和主机号划分,除了前4位的固定位外,只有一个多播组地址,地址范围是224.0.0.0 → 239.255.255.255。


多播IP地址


多播组地址的含义是一个IP地址代表了一组设备。这类地址又进一步细分为三个子类,分别是:约定俗成的、全球通用的和本地自定义的。


比如约定俗成的有:224.0.0.1表示子网上的所有设备(all devices on the subnet);244.0.0.2表示子网上的所有路由器(all routers on the subnet)。


多播IP地址的三个子类


这里要说一下路由器主要是用于连接不同的网络,如局域网(LAN)和广域网(WAN),它使用IP地址进行路由和转发数据包。


而前面提到的交换机是用于局域网(LAN)内部,通过MAC地址转发数据包;


IP地址在某个网络中具有唯一性,但是在全球的范围内,会有重复的现象;而MAC地址在全球范围内都是唯一的。


IP地址是用来实现整个网络上设备间的数据传输,而MAC地址是用来实现局域网的内部设备识别。


MAC协议(数据链路层)负责将IP协议(网络层)打包的数据封装成帧(frame),并根据目标MAC地址进行寻址和传输。也就是当一个主机要发送数据给另一个主机时,它需要知道目标主机的MAC地址,并将其写入帧头部。然后将帧发送出去。


当帧到达目标主机所在的局域网时,局域网内的所有设备都会接收到该帧,并根据帧头部的目标MAC地址判断是否是自己。如果是自己,则接收该帧,并将其解封成数据包,交给网络层处理。


如果不是自己,则丢弃该帧。在这个过程中,每个设备只需要知道与自己直连的设备的MAC地址,并不需要知道目标主机或其他中间节点的逻辑位置或网络连接方式。


如果发送主机不知道目标主机的MAC地址,它会向局域网内广播一个特殊的帧,其中包含了自己的IP地址和MAC地址,以及目标主机的IP地址。该帧的目标MAC地址为广播地址FF-FF-FF-FF-FF-FF,表示所有设备都要接收该帧。


接收节点收到后,发现目标IP地址是自己,就会向发送者单播一个特殊的帧,其中包含了自己的IP地址和MAC地址,也就是把自己的MAC地址告诉对方。


目标IP是最终节点,而目标MAC可能是中间节点,比如路由器。


IP地址就像是快递时填写的收发地址(填写后即明确目的,但必要时可以修改)、而MAC地址像是货物的中转地(路由器),比如一个货物从南京发往上海,整个过程为发送地址-南京转运中心-上海转运中心-接收地址。


整个过程中,收发地址并没有变,但是中间要经过多个转运中心的地址。最终客户(应用工程师)只关心接收地址(ip地址),但是快递人员(路由器)更关心的是下一站的转运地址(MAC地址),每个快递人员的转运地址对了,最后的接收地址自然就会对了。


小结:


车载以太网凭借其快速、成熟、标准化的优势,将从面向车载诊断系统和ECU软件刷新的运用,逐渐扩展到多媒体、驾驶辅助,最终可能会作为车载主干网络,形成一个跨域的汽车网络。


车载以太网与CAN总线从底层的物理层到上层的应用层都有很大的不同,其中底层协议中的主要区别以下表作为一个小结:


分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026917号-25