CANOpen系列教程03_CAN收发器功能、原理及作用

[复制链接]
查看8807 | 回复0 | 2024-3-15 09:30:10 | 显示全部楼层 |阅读模式
置顶公众号,不错过每一条消息!



    本教程由作者strongerHuang于2018年09月原创发布。

标签:CAN、 CANOpen、 CanFestival

版权所有:禁止商用

申明:该文档仅供个人学习使用,转载请公众号联系作者授权。

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收发器。现在是将前两者集成在一起了(看文章开篇图片)。


3
CAN总线差分信号


CAN总线信号从CAN收发器出来,为「两线」「差分」信号,用隐形代表逻辑1,显性代表逻辑0。



1.CAN收发器两线

芯片引脚CAN_H、CAN_L

2.CAN_H和CAN_L电压

电压的大小根据芯片型号而定,一般常见的CAN收发芯片有3.3V和5V两种芯片。

如上图,为5V CAN收发芯片,在逻辑0和逻辑1时电压情况:

逻辑0时:

显性,CAN_H=3.5V,CAN_L=1.5V;

逻辑1时:

隐性,CAN_H=2.5V,CAN_L=2.5V;

当然,3.3V电压芯片的总线电压原理类似。而实际应用中,总线电压并非绝对的像上面说的3.5V、2.5V、1.5V这种电压,会受到导线电阻、外界干扰等影响。

3.隐性和显性

学过生物都知道,基因有隐性和显性。隐性的基因实际存在,但不会表现出来。有显性的基因就会表现出来。

这里CAN总线隐性信号和显性信号道理一样,当总线两种信号都有时,总线表现出来的就是显性信号。

提示:我们这里说的显性和隐性信号,指的是总线传输的bit位信号。

所以,CAN总线平时空闲表现为隐性状态。如果想要发送的信号为隐性位,那么总线才会呈现出来隐性。否则,只要其它有一个节点发送显性信号,你这个节点发送出来的隐性信号就无效。

4.CAN收发器R引脚

CAN收发器R引脚就是与CAN控制器接收相连的引脚。如下图:



R引脚的信号是表示总线当前的信号,用于控制器实时监测总线信号。主要两个目的:

A.监测其它节点发送出来的信号:别人给它发送数据;

B.监测自身节点发送出去的信号:自己发送是否失败。就像上面说的,自己发送一个隐形信号,结果监测出来是显性信号,那就说明是别人在发送数据。


4
CAN收发器芯片和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控制器认为你发送失败。


5
说明


1.该文档部分文字来自网络,仅供个人学习使用,版权所有,禁止商用。

2.本文由我一个人编辑并整理,难免存在一些错误。

3.本文收录于公众号「strongerHuang」,关注微信公众号回复【CANOpen系列教程】即可查看全系列教程。

6最后

若觉得文章对你有帮助,记得给我点赞、分享。(点赞是作者更新文章的动力)

扫描下面二维码、关注,在底部菜单中查看更多精彩内容!



长按识别图中二维码关注



赞赏是对作者的认可与支持!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则