[APM32F1] APM32F103RCT6的CAN接口设计

[复制链接]
1224|2
 楼主| 逍遥鱼321 发表于 2023-8-30 19:52 | 显示全部楼层 |阅读模式
本帖最后由 逍遥鱼321 于 2023-8-30 10:46 编辑

前言:
       最近比较频繁的涉及到CAN接口的设计,特查阅资料并总结下CAN相关的硬件设计,当给自己做个笔记。此次设计的CAN接口电路控制器为极海的APM32F103RCT6内置的CAN控制器,收发器ICNXPTJA1042T/3


一、简介:
   CAN是控制器局域网络 controller Area Network的缩写,是ISO国际标准化的串行通信协议,能实现分布式实时控制的半双工通信,广泛应用于汽车行业。1983年由德国博世公司开发,并于1986年正式发布。1993年ISO发布CAN总线标准。

二、CAN总线协议介绍:
    CAN总线协议有CAN1.0、CAN2.0,其中CAN2.0相对于CAN1.0来说,主要增加了CAN的扩展帧定义,现在我们说的CAN通信通常是指CAN2.0。CAN-FD协议在原有的CAN协议基础上,增加了可变波特率、扩大数据场、提升校验算法安全性等改进。

三、CAN的物理通信形式:
通过两条通信线(双绞线)产生的电压差传输数据,一个CAN网络里的所有节点都挂在这两条通信线上,使用差分信号半双工通信。
(1)CAN的物理连接方式:
CAN物理连接.png

注:CAN总线理论上可以连接110个节点,但是限于总线的带宽,连接的设备数目要根据实际使用而定,当连接的数目过多时,总线带宽不足会使设备之间的通信延迟,从而影响整个系统的响应速度。

(2)CAN的通信电平单片机的串行信号经过CAN收发器芯片可以转换为差分信号,CAN 使用称为 CANH / CANL 的通信线路执行传输和接收。当CANH和CANL的压差为0V时表示为隐性信号,代表逻辑1;当CANH和CANL的压差为2V时表示为显性信号,代表逻辑0。如果通信总线上发生显性和隐性冲突,则显性优先。总线空闲时保持隐性。
信号传输时的物理层电平如图:
高速传输物理层1.jpg

(3)CAN的帧格式:CAN协议中的帧格式由数据帧、遥控帧、错误帧、过载帧和帧间隔组成。其中数据帧和遥控帧有标准格式和扩展格式两种,标准格式有 11 位标识符(ID),扩展格式有 29个标识符(ID)。帧的作用如表格所示:
CAN数据帧.png

四、接口电路设计
APM32F103RCT6内置一个CAN,兼容2.0A和2.0B规范,通信速率最高可达1Mbit/s。它可接受和发送11位标识符的标准帧,也可以接收和发送29位标识符的扩展帧,具有3个发送邮箱和2个接收FIFO,3级14个可调节的滤波器。
硬件的接口设计如下:
接口电路.png




forgot 发表于 2023-8-31 08:19 | 显示全部楼层
汽车总线上CAN用的比较多
wangpe 发表于 2023-8-31 19:29 | 显示全部楼层
不光汽车用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部