在 【CAN通讯系列补充篇】- 控制器的硬件组成介绍了控制器的硬件功能,并给出了CAN通讯的硬件组成包括CAN总线,终端电阻,CAN收发器,CAN控制器和微控制器,就之前VCU与MCU通过CAN通讯进行信息交互的例子,它们CAN通讯的硬件组成如下所示:
接下来就对CAN通讯的硬件组成展开详细说明:
1 双绞线
CAN总线的传输介质通常采用的是双绞线,原因是双绞线结构可以有效地减少外部电磁干扰对CAN信号的影响,也可以延长CAN总线的传输距离以及有助于提高CAN总线的传输速率。
2 终端电阻
高速CAN总线中,总线两端需要接1终端电阻,其阻值为120欧姆。
source: 小电阻之大作用——CAN终端电阻
为什么需要接终端电阻?这是因为信号的传输速率很高,信号的上升沿和下降沿非常陡峭。当信号到达总线的末端时,如果没有终端电阻,信号会发生反射并在总线上产生干扰,从而导致信号失真、抖动和干扰,进而影响总线上其他节点的正常通信。
为什么终端电阻阻值为120欧姆?这是因为终端电阻的阻值通常需要与总线特性阻抗匹配,以最大限度地减少信号反射,120欧姆这个阻值与CAN总线的特性阻抗相匹配。需要注意的是,终端电阻的阻值并非绝对固定的,它可能会因具体的CAN总线设计和应用而有所变化。
3 CAN收发器
CAN收发器最主要作用是提供物理层的接口功能和信号转换。当接收报文时,将输入的差分电压转化成逻辑电平(显性/隐性);当发送报文时,将逻辑电平转换成差分电压输出。
而涉及到网络唤醒的话,那么它能够接收、解析和处理唤醒信号,实现对休眠节点的唤醒操作,通常操作是使能电源芯片给微控制器上电的作用。
在硬件层面,CAN收发器常见于2种形式,一种是作为一块独立的芯片,如下图示意;另一种是被集成到某些芯片,比如集成到SBC中。
Source:TLE9252手册
4 CAN控制器
CAN控制器的作用是管理CAN总线上的通讯活动,它负责处理报文的收发,确保报文的正确性、完整性和时序性。CAN控制器通常集成在微控制器或通信芯片中,一个微控制器中常包括多个CAN控制器,这样就可以支持几路CAN总线通讯,如下示意的微控制器芯片:
Source:Infineon TC系列芯片手册
CAN控制器主要功能有:
-
报文传输管理:CAN控制器负责将数据打包成CAN报文并发送到总线上,同时接收并解析来自其他节点的CAN报文。
-
错误检测与处理:CAN控制器监测总线上的错误,检测出发送和接收过程中的错误,并根据CAN协议的错误处理机制进行处理。
-
帧过滤与识别:CAN控制器根据设定的标识符和过滤规则,对接收到的报文进行过滤和识别,只处理特定的报文。
-
时序控制:CAN控制器根据CAN协议的时间要求,控制报文的发送和接收时序,保证数据的同步和实时性。它确保在总线上的节点之间进行数据交换时,遵守CAN协议定义的时间限制和优先级规则。
-
性能优化:CAN控制器提供各种性能优化功能,例如报文缓冲、优先级排序和错误处理机制。
5 微控制器
微控制器主要涉及到CAN报文如何从硬件(CAN控制器)获取,然后根据相应的软件架构,将报文应用于控制软件中,反之也成立。如下就示意一种AutoSAR架构的CAN通讯实现方法。
source: Vector learning
假设VCU发送一条报文给MCU,这条报文包括电机转速请求信号,那对VCU而言,其发送过程是怎样的?而对MCU而言,其接收过程又是怎样的?这就是微控制器需要处理的事情。具体过程可参考我知乎的CAN通讯系列文章。
6 小结
以上就介绍CAN通讯的硬件组成,各个零部件都是用来做什么的,有什么作用。对于CAN通讯的唤醒机制,会涉及到软硬件部分,其中硬件部分通常与CAN收发器有关,一种常见的方式是通过CAN收发器的唤醒引脚或中断功能来触发唤醒信号,然后使用唤醒信号来激活电源芯片,再由电源芯片提供电源给微控制器。如下所示通过CAN收发器的INH引脚使能:
Source:TLE9252手册
这种方式中,当CAN收发器接收到特定的唤醒帧或触发条件时,会通过唤醒引脚INH发送唤醒信号给电源芯片,激活电源芯片以为微控制器提供电源。对于这种方式,后续文章将会详细介绍,另外除了这种方式,还有其他更多的方式,下篇文章我们来了解下更多的唤醒源。
-------------------------------------------------------------------------------------------------------------------------
创作不易,欢迎点赞收藏关注。更多文章可关注 “谦益行公众号”。
汽车研发交流群,有兴趣的朋友可添加群主:prOmiseyes,备注:公司+职务入群。仅限汽车行业从业人员。