赞
踩
can协议部分
- 逻辑信号和电平信号
先贴上CAN信号在物理信号线上的查分信号表示形式
显性电平: 电压差范围为1.5-2.5v。 对应的逻辑电平是0
隐性电平: 其他 对应的逻辑电平是1
为什么显性电平对应的逻辑电平值为0,而隐性电平对应的逻辑电平是1?
因为在总线上,需要令显性位具有“覆盖”隐性位的能力。
在线与逻辑关系下,0才具有这种能力(1·1·1·……·1·1·0 = 0)。
所以才会将0定义为dominant,而将1定义为recessive。例如总线上10个节点发隐性位而1个节点发显性位的时候,总线上呈现出的是显性位。
电气连接图如下:(显性电平时逻辑电平为0,隐性电平时逻辑电平为1.具备线与的能力)
- 报文协议
CAN的协议报文由上面的逻辑电平组成;(如1111101111011101111101111)
灰色为显性,白色为隐性,浅蓝色表示可以是显性也可以是隐性。
起始帧(SOF) : 起始的一个显性位
仲裁段(Identify SRR IDE RTR):
- 位时序设置
举一个具体的寄存器说明:
需要设置的值有四个:SJW TS2 TS1 BRP
计算方式参考:
SJW必须小于PBS1和PBS2的最小值。
这个寄存器中这些值使用的单位为tq。
brp :波特率分频器
tq=(brp)*tpclk1
baud rate=Fpclk1/((tbs1+tbs2+1)*brp)
=42M/((7+6+1)*3)
=1Mbps
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。