CAN通信(四)

目录

六、常用工具

1.CANoe

2.CANalyst

 3.ETAS INCA

4.KAVASER

七、数据采集/分析过程

八、重要意义总结

1.CAN控制器

2.CAN收发器

3.CAN报文发送过程

4.CAN报文接收过程

5.终端电阻

6.CAN位时序

7.CAN采样点

8.CAN波特率

其他CAN通信文章:

每日鸡汤:


六、常用工具

1.CANoe

        CANoe全称叫CAN open environment,即”CAN开发环境“,它是由德国Vector公司出品的一款总线开发工具,主要用于汽车总线的开发,虽然叫CANoe,但是它也支持对其他的汽车总线进行测试开发,常见的比如LIN、Ethernet、FlexRay、MOST等网络,CANoe都能较好的支持。

2.CANalyst

        CANalyst又称为CAN分析仪,是USB CAN转换设备中性能较好的产品,包含其他USBCAN产品的所有功能,性价比较高。有Windows和linux版本。

 3.ETAS INCA

        ETAS 公司的INCA(Integrated Calibration and ApplicationPlatform)是一款功能强大的汽车电子控制单元(ECU)校准和应用平台,INCA 具有高度可靠的数据采集和测量功能,能够精确记录和分析 ECU的运行数据。它支持多种接口和通信协议,可以与不同类型的 ECU 进行通信,并实时读取和记录数据。

4.KAVASER

        瑞典 Kvaser 公司是一家世界专业的 CAN 总线测试、开发仿真和控制的公司,在系统设计和系统整合领域为工程师提供先进的 CAN 解决方案。例如卡车公交、使用柴油驱动或电驱动的车、工业自动化、航空电子、工程设备、楼宇自动化、家用电器、海运、医疗、军工、轨道交通、电信、纺织等领域。

七、数据采集/分析过程

八、重要意义总结

1.CAN控制器

          CAN 控制器是 CAN 总线系统中的核心组件,用于实现 CAN 协议的各种功能和操作。它能够解析接收到的 CAN 消息,并将其转换为处理器或其他驱动设备能够理解的语言进行处理。同时,CAN 控制器也负责发送CAN消息到总线上,与其他节点进行通信。CAN 控制器在 CAN 总线通信中起到了协议解析、数据交互和控制的功能。

2.CAN收发器

        CAN 收发器是 CAN 总线系统中的物理层组件,主要负责将 CAN 控制器发送的数字信号转化为电流或电压信号,并通过物理介质传输到网络中。同时,CAN 收发器也负责接收物理介质传来的信号,并将其转化为数字信号供 CAN 控制器处理。因此,CAN 收发器在 CAN 总线通信中起到了信号转换和传输的作用。

3.CAN报文发送过程

CAN 控制器将 CPU 发送的数据信号转换为逻辑电平(逻辑0显性/逻辑1隐性);
CAN 收发器将逻辑电平转换为差分电平发送给CAN 总线上。

示例:

1.节点A准备要发送的数据报文,并将报文的ID设为0x100。

2.节点A开始仲裁过程,同时检测总线状态。

3.如果没有其他节点发送更高优先级的报文,节点A成功获得总线访问权。

4.节点A按照时序规则发送报文,其他节点接收并在ACK字段发送显性位确认接收。

5.如果出现错误(如CRC校验失败),节点A将重新发送报文。

4.CAN报文接收过程

CAN 收发器将 CANH和 CANL线上传来的差分电平转换为逻辑电平输出到 CAN 控制器
CAN 控制器再把该逻辑电平转换为相应的信号发送给 CPU。

5.终端电阻

        CAN 一般会在首尾增加 120Ω匹配电阻,主要是有以下几个作用:

①为改善由于阻抗突变导致的信号质量恶化问题,提高信号质量;

②可以使得总线上的寄生电容得到快速泄放,快速恢复到隐性状态

③当总线没有负载时,隐性时差分电阻阻值大,外部干扰容易使得总线进入显性,因此使用终端电阻可以吸收干扰,提升抗干扰能力;

6.CAN位时序

        CAN 总线9通讯协议的每一帧可以看作一连串的电平信号,每一个电平信号代表一位(一个字节8位的位)所以一帧中包含了很多个位,由发送单元在非同步的情况下发送的每秒钟的位数称为位速率。一位又分为4段,同步段(SS)、传播时间段(PTS)、相位缓冲段1(PBS1)、相位缓冲段2(PBS2)一位可以当作一条水平的时间轴,不同的段在整个时间轴的占比不一样,每一段又由若干个最小时间单元 Time Quantum(简称 Tq)构成位由多少个 Tq 构成、每个段又由多少个 Tq 构成等,可以任意设定位时序;
通过设定位时序,多个单元可同时采样,也可任意设定采样点。1个位的构成如下图所示:

7.CAN采样点

        所谓采样点是读取总线电平,并将读到的电平作为位值的点。位置如图所示处。所以从一个位的开始到采样点的时间占一个完整位的总时间的百分比就是所求的值

sample=(1+CAN_BS1)/(1+CAN_BS1+CAN_BS2)

8.CAN波特率

波特率:1秒发送的二进制数据位数;

位时间:发送一位需要的时间;

Tq 等于一个 CAN 时钟周期,一般求波特率先求 Tq;

CAN 时钟频率 =1/Tq=1/CAN 时钟周期

位时间 =就那几个段的时间相加

波特率 =(CAN 时钟频率÷位时间)÷波特率分频系数

假设一个 CAN 控制器有如下参数:

Fclk=16 MHZ
Prescaler=8
Sync Seg = 1 TQ

Prop Seg = 2 TQ

Phase Seg1 = 3 TQ

Phase Seg2 = 2 TQ

Bit Time=1+2+3+2=8TQ

则波特率为:
cpp 波特率 =16 MHz/(8*8TQ)=16,000,000/64=250,000 bps(或 250 kbps)。

其他CAN通信文章:

CAN通信(一)(了解)-CSDN博客

CAN通信(二)(熟悉)-CSDN博客

CAN通信(三)-CSDN博客

CAN通信(五)(CANFD介绍)-CSDN博客

每日鸡汤:

  • 32
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值