当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]CAN收发器主要分为驱动器和收发器。TX引脚接收MCU的信号然后给驱动器到CANH,CANL引脚,CANH,CANL接收差分信号至接收器到RX引脚到MCU。

CAN收发器主要分为驱动器和收发器。TX引脚接收MCU的信号然后给驱动器到CANH,CANL引脚,CANH,CANL接收差分信号至接收器到RX引脚到MCU。

内部CANH、CANL分别为开漏输出形式。总线显性(0)时,收发器内部Q1、Q2导通(Transceiver发出high low的Q1,Q2的导通电平),CANH、CANL之间产生压差;隐性(1)时,Q1、Q2截止,CANH、CANL处于无源状态,压差为0(单独的CAN H/L 一般为VCC/2)。

CAN协议只有两层:物理层和数据链路层。CAN收发器(也就是协议控制器)的作用就是完成数据链路层组帧和生成物理层比特流,驱动器的作用是吧控制器输出的高低逻辑电平编程CAN总线的差分式电平。协议相关的内容基本都由协议控制器完成,单片机软件上只要配置需要的通信速率、帧ID以及发送的数据内容,然后告知收发器,让它发送就OK。不需要从软件上编写协议。

单片机内部的CAN控制器和外接CAN控制器功能相同,省去了再加外围硬件。单片机对帧格式不用特别关心,但是发送之前至少需要告诉协议控制器你所要发送的数据内容以及帧的ID。

CAN电路介绍:

差分(负载)电阻的作用:

1.在显性状态期间,总线的寄生电容会被充电,而在恢复到隐性状态时,这些电容需要放电。如果CANH、CANL之间没有放置任何阻性负载,电容只能通过收发器内部的差分电阻放电,这个阻抗是比较大的,放电时间就会明显比较长。因此,总线的终端电阻的第一作用是放电。

2.隐性时差分电阻阻值很大,内部的MOS管属于高阻态,外部的干扰只需要极小的能量即可令总线进入显性(一般的收发器显性门限最小电压仅500mV)。这个时候如果有差模干扰过来,总线上就会有明显的波动,而这些波动没有地方能够吸收掉他们,就会在总线上创造一个显性位出来。所以为提升总线隐性时的抗干扰能力,增加一个差分负载电阻,且阻值尽可能小,以杜绝大部分噪声能量的影响。然而,为了避免需要过大的电流总线才能进入显性,阻值也不能过小。

3.阻抗匹配,减小反射

仲裁段:当总线上挂了多个负载的时候,通过仲裁段的电平来确定优先级,ID越小优先级别越高(CAN的线与机制,CAN显性的时候,MOS导通,强驱动。 CAN隐性的时候,MOS关闭,弱驱动。 )

控制段:识别扩展帧和标准帧,以及数据长度编码位

数据段:数据,CAN2.0 8位,CAN FD64位,这就是CAN FD速率更快的原因

校验位:当TX,RX收到的数据不一致进行校验。校验数据传输是否正确,若不正确,应答错误停止发送。

CAN标准:ISO11898(通信速度为 5kbps - 1Mbps 的 CAN 高速通信标准,其中CAN FD(Flexible Data-rate)纳入了ISO 11898-1:2015标准中)和ISO11519(通信速度为 125kbps 以下的 CAN 低速通信标准)。具体标准可以百度,或者私信我。

CAN的电压特性:CAN网络中的物理信号传输基于电压差的传输(差分信号传输)。高速CAN和低速CAN的电压差分电压大于0.9V时为显性电平,对应逻辑“0”,小于0.5V为隐性电平,对应逻辑“1”。以下为ISO11898中的电压标准参考:

CAN通信原理介绍

电信号的传输在物理层面都是靠电压高低区分来实现的,CAN通信也不例外。CAN总线使用双绞线进行差分电压传输,两条信号线被称为CAN高(CAN_H)和CAN低(CAN_L)。

两条线静态时均为2.5V左右,此时状态表示为逻辑1,也被称作隐性。当两条线电压值出现差异时,通常CAN_H=3.5V和CAN_L=1.5V,此时状态表示为逻辑0,也称作显性。即:

差分电压CAN_diff = 0V,表示逻辑“1”,为隐性;

差分电压CAN_diff = 2V,表示逻辑“0”,为显性;

注:实际开发中两条线的电压都会在标准值上下附近波动,这也是用差分传输的好处,减少误差和噪声带来的干扰。

显性电平用逻辑“0”表示,隐性电平用逻辑“1”表示,这里可能有小伙伴会问为什么“0”是显性,感官上不应该这样规定啊?其实这是因为CAN总线采用“线与”规则进行冲突仲裁,即当多个CAN信号同时发送时,有的发1有的发0,而只要有0,当前总线就是0(1&0 = 0),看上去就是1被0覆盖了。另一方面,从电位看,高电位为0,当1和0同时发送时,总线处于高电位,显现出来的是0,所以把0规定为显性。

事件驱动,CAN网络基于多主架构与总线型拓扑的原因是:每个CAN节点都可以发送报文至CAN总线上。CAN报文的传输不遵循任何预定的时间顺序,而是由事件驱动。

当传输信息时,通信通道才会处于繁忙状态,因此CAN节点可以非常快速地访问总线。理论上,由于可以快速响应异步事件且波特率高达1 Mbit/s,因此在CAN网络中完全可以实现毫秒级的实时数据传输。

接收方(receiver)选择寻址(addressing),在CAN网络中,接收方选择寻址防止总线节点之间产生依赖,从而提高配置的灵活性:CAN报文是广播发送的,网络中所有CAN节点都可以接收到所有CAN报文。每个节点中都有过滤器,可以通过报文的标识符(ID)来筛选实际所需的CAN报文。虽然这会增加开销,但却可以在不修改CAN网络的情况下集成其他CAN节点。


声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

随着科技的飞速发展,人工智能已经逐渐走进我们的生活。从智能手机到自动驾驶汽车,人工智能正不断改变着我们的日常体验。然而,这只是科技革命的一个起点。

关键字: 人工智能 AI 自动驾驶

在电子科技领域,集成电路芯片扮演着至关重要的角色。运算放大器作为集成电路的一种,其性能与应用广泛影响着各类电子电路的运行效率与稳定性。LM324N与LM324AD,作为两款备受瞩目的运算放大器,各自具有独特的特点和优势。...

关键字: lm324n lm324AD 运算放大器

随着工业自动化技术的快速发展,PLC(可编程逻辑控制器)在温度控制领域的应用越来越广泛。然而,在实际应用中,有时会出现PLC显示温度不变化的情况,这不仅影响了生产过程的稳定性和效率,还可能对设备造成损害。本文旨在深入探究...

关键字: plc 可编程逻辑控制器

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

随着物联网、嵌入式系统以及微控制器技术的飞速发展,微控制器已成为众多智能设备和系统不可或缺的核心组件。而微控制器的正常工作,离不开烧录器的精准操作。C8051F021烧录器,作为一款高效、稳定、易用的微控制器烧录工具,在...

关键字: c8051f021烧录器 联网 嵌入式系统

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

随着科技的飞速发展,处理器芯片作为电子设备的心脏,其性能与稳定性直接决定了设备的工作效率和用户体验。在当前的处理器市场中,全志科技的A40I和T3两款芯片以其独特的性能和广泛的应用领域受到了市场的广泛关注。本文将对这两款...

关键字: A40I T3

电路分析计算是电子科技领域中的一项重要技术,它涉及电流、电压、功率等物理量的分析和计算,为电路的设计、优化和故障排除提供了理论支持。本文将详细介绍电路分析计算的基本概念、常用方法以及科技应用,帮助读者更深入地了解这一领域...

关键字: 电路分析 支路电流法

运算放大器,简称运放,是一种具有极高电压增益、内部负反馈机制和广泛用途的集成电子电路。自其诞生以来,运算放大器在模拟信号处理、测量、控制、滤波等多个领域发挥了至关重要的作用,它的存在使得许多复杂的电子系统设计变得更为简洁...

关键字: 运算放大器 模拟信号

存储器是计算机系统中的关键组件,负责存储程序指令和数据,是实现计算和信息处理的基础。根据其工作原理、存储容量、访问速度、稳定性以及持久性等诸多特性,存储器可以被细分为多个类别。本篇文章将详细介绍存储器的主要分类,并探讨各...

关键字: 存储器 RAM
关闭