can通信接口(CAN通信接口电平)

can通信接口(CAN通信接口电平)Controller Area Network 是 ISO 国际标准化的串行通信协议 为了满足汽车产业的 减少线束的数量 通过多个 LAN 进行大量数据的 高速通信 的需求 低速 CAN 通信协议 10 125kbps 总线长度可达 1000 米 高速 CAN 通信速率 125kbps 1Mbps 总线长度 lt 40m nbsp nbsp 高速 CAN 是经典 CAN CAN FD 通信速率可达 5Mbps 并且兼容经典 CAN 遵循 ISO



Controller Area Network,是ISO国际标准化的串行通信协议,为了满足汽车产业的“减少线束的数量”,通过多个LAN,进行大量数据的“高速通信”的需求。

低速CAN,通信协议10~125kbps,总线长度可达1000米

高速CAN,通信速率125kbps~1Mbps,总线长度<=40m.   高速CAN是经典CAN

CAN FD通信速率可达5Mbps,并且兼容经典CAN,遵循ISO 

CAN总线由两根总线(CANL和CANH)组成,,stm32芯片有CAN外设的,CAN和RS485类似,也是用两根线进行传输,CAN也是使用差分传输,低速CAN是开环总线,高速CAN是闭环总线,允许挂载多个设备节点(低速CAN20个和高速CAN30个),实际看CAN收发器芯片支持多少个

1.多主控制        每个设备都可以主动发送数据

2,没有类似地址的信息,添加设备不改变原来总线的状态

3.通信速度,速度快,距离远

4.错误检测和错误通知和错误恢复功能

5,故障封闭      判断故障类型,并且进行隔离

6,连接节点多,速度与数量找个平衡  

        CAN总线协议已经广泛应用在汽车电子,工业自动化,船舶,医疗设备,工业设备等方面

        CAN使用差分信号进行数据传输,根据CAN_H和CAN_L上的电位差来判断总线电平。总线电平分为显性电平(逻辑0)和隐形电平(逻辑1),二者必居其一。

显性电平具有优先权。发送方通过使总线电平发送变化,将消息发送给接收方。

如高速CAN,显性电平(逻辑0)和隐形电平(逻辑1),二者必居其一。

显性电平(0)  Ucan_h - Ucan_l = 2V      隐形电平(1)Ucan_h - Ucan_l = 0V

CAN收发芯片TJA1050

CANH和CANL之间的电阻用于阻抗匹配,减少回波反射

D引脚:CAN TX   R引脚:CAN RX    RS引脚:高速/静音模式选择(低电平为高速)

CANH:高电位CAN输入输出端        CANL:低电位CAN电压输入输出端

        can总线以“帧”形式通信,CAN协议定义了5种类型的帧:“数据帧”,“遥控帧”,“错误帧”,

“过载帧”,“间隔帧”,其中数据帧最为常用

数据帧和遥控帧最常用

数据帧分为标准帧(CAN2.0A)和扩展帧(CAN2.0B),主要体现在仲裁段和控制段

数据帧由7段组成,数据帧又分为标准帧(CAN2.0A)和扩展帧(CAN2.0B),主要体现在仲裁段和控制段

显性信号为0,隐形信号为1

2.CAN位时序介绍

        CAN总线以“位同步”机制,实现对电平的正确采样。位数据都由四段组成:

同步段(SS),一个Tq

传播时间段(PTS),两个Tq

相位缓冲段1(PBS1)三个Tq

相位缓冲段2(PBS2),三个Tq

每段又由多个时序Tq组成,(Tq可以理解为单位长度)

节点检测到总线信号跳变在SS(同步段),表示节点与总线的时序是同步的,此时采样点的电平就是该位的电平

数据同步过程

硬件同步

再同步

利用普通数据位的边沿信号

再同步补偿宽度,通过SS和帧起始信号边沿信号的差距,通过调节PSB1和PSB2来达到SS和边沿信号同步

CAN总线处于空闲状态,最先开始发送消息的单元获得发送权。

多个单元同时开始发送时,从仲裁段(报文ID)的第一位开始进行仲裁。连续输出显性电平(逻辑0)最多的单元可继续发送,就是首先出现隐形电平的单元失去对总线的占有权变为接收

报文ID越小的报文

STM32 CAN控制器(bxCAN属于STM32F1,F4,F7的控制器),H7属于FDCAN,可以当成一个经典CAN来用,支持CAN 2.0A和CAN2.0B Active脚本协议

bxCAN主要特点:

        波特率最高可达1Mbps(和CAN通信电路有关,CAN通信电路支持的话,才能到达这么高的波特率)

        支持时间触发通信((CAN的硬件内部定时器可以在TX/RX的帧起始位的采样点位置生成时间戳))只要配置好就行

有三种模式:初始化模式正常模式睡眠模式

1.复位后进入睡眠模式(好处是降低功耗)没有数据发送,降低功耗进入睡眠模式

2,当需要对寄存器进行配置需要进入到初始化模式

3,初始化完成后,肯定是要进行CAN通信,你就要得进入正常模式,在CAN总线同步后,就可以开始接收和发送数据了,HAL库函数内部已经进行了寄存器的配置

.CAN控制器的测试模式有三种:静默模式,环回模式和环回静默模式

这三种模式在初始化模式下进行配置对CAN测试模式

3,CAN控制器框图

4,CAN控制器位时序

编程小号
上一篇 2025-03-28 15:40
下一篇 2025-03-22 17:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/40198.html