CAN配置常用的两个配置项
CAN控制器和CAN邮箱
controllers 控制器配置
配置CAN控制器地址以及时钟。
波特率的配置
我们常说的采样点,就位于相位缓冲段2开始的地方,同步段SS固定1tq(同步段+传播时间段+相位缓冲段1) /(同步段+传播时间段+相位缓冲段1+相位缓冲段2) = 14/20 = 70%
CAN邮箱 CanHardwareObjects
Can邮箱,顾名思义,收到制定的报文,才会放到邮箱,并触发中断,来处理报文数据,所以可以通过邮箱接收的方式,接收制定报文ID才进入中断,避免频繁进入中断,增加CPU的负载。邮箱有分full和basic.
FULL:只能存放一个ID的报文。
BASIC:可以存放多个ID的报文,依赖硬件滤波器CanFilterMasks。
CAN硬件滤波器 CanFilterMasks
当CAN邮箱配置成BASIC时,需要配置硬件滤波器。
滤波器规则:假设该邮箱直接收0x600和0x601.
MASK = ~(0x600^0x601) = 0x7FE.
CODE = 0x600&0x601 = 0x600
当接收报文ID,CAN硬件过滤器receiverID & MASK == CODE&MASK 进行对比。
CAN报文类型
