网站 需求分析,山西公司网站开发,网页制作个人介绍模板,wordpress添加账户编辑是什么意思1写在前面前面文章是从大方向介绍了CAN网络#xff0c;让大家对CAN网络有一定的认识。本文将范围缩小#xff0c;讲述整个CAN网络其中的一个CAN收发器。如下图标记出来的部分#xff1a;本文结合众多初学者容易产生的疑问来讲述CAN收发器相关的知识点#xff0c;大概有如下…1写在前面前面文章是从大方向介绍了CAN网络让大家对CAN网络有一定的认识。本文将范围缩小讲述整个CAN网络其中的一个CAN收发器。如下图标记出来的部分本文结合众多初学者容易产生的疑问来讲述CAN收发器相关的知识点大概有如下几点什么是CAN收发器CAN总线差分信号CAN收发器芯片和485芯片差异2什么是CAN收发器CAN收发器在整个CAN网络中所处的位置如上图所示。CAN收发器就是一块类似232或485的转换芯片它的主要功能是将CAN控制器的TTL信号转换成CAN总线的差分信号。2.1什么CAN控制器TTL信号现在的CAN控制器一般都与MCU集成在一起其发送和接收TTL信号就是MCU引脚(高或低)信号。以前还有独立的CAN控制器一个CAN网络节点会包含三块芯片MCU芯片、CAN控制器、CAN收发器。现在是将前两者集成在一起了(看文章开篇图片)。3CAN总线差分信号CAN总线信号从CAN收发器出来为「两线」「差分」信号用隐形代表逻辑1显性代表逻辑0。1.CAN收发器两线芯片引脚CAN_H、CAN_L2.CAN_H和CAN_L电压电压的大小根据芯片型号而定一般常见的CAN收发芯片有3.3V和5V两种芯片。如上图为5VCAN收发芯片在逻辑0和逻辑1时电压情况逻辑0时显性CAN_H3.5VCAN_L1.5V逻辑1时隐性CAN_H2.5VCAN_L2.5V当然3.3V电压芯片的总线电压原理类似。而实际应用中总线电压并非绝对的像上面说的3.5V、2.5V、1.5V这种电压会受到导线电阻、外界干扰等影响。3.隐性和显性学过生物都知道基因有隐性和显性。隐性的基因实际存在但不会表现出来。有显性的基因就会表现出来。这里CAN总线隐性信号和显性信号道理一样当总线两种信号都有时总线表现出来的就是显性信号。提示我们这里说的显性和隐性信号指的是总线传输的bit位信号。所以CAN总线平时空闲表现为隐性状态。如果想要发送的信号为隐性位那么总线才会呈现出来隐性。否则只要其它有一个节点发送显性信号你这个节点发送出来的隐性信号就无效。4.CAN收发器R引脚CAN收发器R引脚就是与CAN控制器接收相连的引脚。如下图R引脚的信号是表示总线当前的信号用于控制器实时监测总线信号。主要两个目的A.监测其它节点发送出来的信号别人给它发送数据B.监测自身节点发送出去的信号自己发送是否失败。就像上面说的自己发送一个隐形信号结果监测出来是显性信号那就说明是别人在发送数据。4CAN收发器芯片和485芯片差异CAN通信和485通信一样属于半双工。但是为什么CAN总线相比485通信不管在速度和稳定性上都具有明显优势呢4.1总线利用率CAN收发器工作原理与485具有较大差异。从上面的差分信号可以看得出来两种芯片同时存在只有显性信号有效而不会影响总线传输。简单来说就是CAN总线具有自动仲裁功能这样就提高了总线的利用率。RS485总线是一种常规的通信总线它不能够做总线的自动仲裁也就是不能够同时发送数据以避免总线竞争所以整个系统的通信效率必然较低数据冗余量较大对于速度要求高的应用场所不适应用RS485总线。提示CAN总线没有被发送出去的隐性信号会由CAN控制器后续发送出去。这里牵涉到CAN总线优先级的问题后续进一步讲述。当然CAN相比485具有明显优势主要原因还是在于CAN控制器。4.2可以不使用CAN收发器吗UART可以直接通过TX连接对方的RX引脚利用TTL信号进行通信那么CAN也可以吗答案单向传输可以双向传输就不行。原因很简单上面说了CAN控制器会实时监测发送出去的信号是否正确。也就是说TX要与RX信号一致才行否则CAN控制器认为你发送失败。