STM32 CAN通讯的基本知识及硬件设计

一、简介

● 支持 2.0 A 及 2.0 B Active 版本 CAN 协议
● 比特率高达 1 Mb/s
● 支持时间触发通信方案
发送
● 三个发送邮箱
● 可配置的发送优先级
● SOF 发送时间戳
接收
● 两个具有三级深度的接收 FIFO
● 可调整的筛选器组:
                             — CAN1 和 CAN2 之间共享 28 个筛选器组
● 标识符列表功能
● 可配置的 FIFO 上溢
● SOF 接收时间戳
时间触发通信方案
● 禁止自动重发送模式
● 16 位自由运行定时器
● 在最后两个数据字节发送时间戳
管理
● 可屏蔽中断
● 在唯一地址空间通过软件实现高效的邮箱映射
双 CAN
● CAN1:主 bxCAN,用于管理 bxCAN 与 512 字节 SRAM 存储器之间的通信。
● CAN2:从 bxCAN,无法直接访问 SRAM 存储器。
● 两个 bxCAN 单元共享 512 字节 SRAM 存储器。

二、硬件电路

CAN 收发芯片不隔离的 TJA1050    

CAN 收发芯片隔离芯片   ISO1050 (附带隔离电源电路)

CAN网络拓扑结构
图一   CAN网络拓扑结构

       CAN物理层的形式主要分为闭环总线及开环总线网络两种,一个适合于高速通讯,一个适合于远距离通讯。CAN闭环通讯网络是一种遵循ISO11898标准的高速、短距离网络,它的总线最大长度为40m,通信速度最高为1Mbps,总线的两端各要求有一个
120欧”的电阻。来做阻抗匹配,以减少回波反射
 

图二  闭环总线网络

        CAN开环总线网络是遵循ISO11519-2标准的低速、远距离网络,它的最大传输距离为1km,最高通讯速率为125kbps,两根总线是独立的、不形成闭环,要求每根总线上各串联有一个“2.2千欧”的电阻

图三  开环总线网络
图四  ISO11898 物理层特性

       从图四特性可以看出,显性电平对应逻辑 0,CAN_H 和 CAN_L 之差为 2.5V 左右。而隐性电平对应逻辑 1,CAN_H 和 CAN_L 之差为 0V。在总线上显性电平具有优先权,只要有一个单元输出显性电平,总线上即为显性电平。而隐形电平则具有包容的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平(显性电平比隐性电平更强)。 

猜你喜欢

转载自blog.csdn.net/qq_27747359/article/details/89680880
今日推荐