当前位置:首页 > Bosch_CAN用户手册中文版.
5. C_CAN用户手册5 编程模式Programmer’s Model
C_CAN模块分配256位地址空间。这些寄存器组织成16位寄存器,高字节存放在奇数地址和低字节存放在偶数地址空间。
双接口寄存器(IF1和IF2)控制处理器(CPU)访问消息目标对象RAM,它们用于缓冲发送数据和从消息对象RAM读对数据。避免处理器(CPU)访问消息目标对象RAM和消息接收或发送之间冲突。
5.1硬件复位描述Hardware Reset Description
硬件复位以后(各寄存器的复位值依上表),除了总线关闭状态被复位(0),
输出引脚CAN_TX复位为隐性(1)。软件初始化时CAN控制寄存器值为0x0001(Init = 1)。C_CAN对CAN总线不会产生影响,直到处理器复位Init为0。
在硬件复位,存储在消息对象RAM中的数据不会受到影响。上电,消
息目标对象RAM的内容依情况而定。
CAN控制相关寄存器 CAN Protocol Related Registers
在CAN内核中有涉及到CAN控制器的寄存器。它们控制CAN的工作
模式、CAN位定时器的配置和提供消息状态。
1、CAN控制寄存器(地址0x01 & 0x00) CAN Control Register (addresses 0x01 & 0x00)
Test 测试模式使能 1 测试模式 0 正常模式 CCE
配置更改使能
1 处理器(CPU)写存储到位定时器有效(当Init = 1) 0 处理器(CPU)不写存储位定时寄存器
DAR 取消自动重传使能 1 自动重传取消
0 错误消息(报文)自动重传 EIE
错误中断使能
1 使能 在状态寄存器中的Boff或Ewarn发生变化将发生中断 0 取消 不会产生错误状态中断
SIE 中断状态改变使能
1 使能 当消传送成功或监测CAN总线错误将产生一个中断 0 取消 不产生状态中断 IE
模块中断使能
1 使能 中断使IRQ_B为低,IRQ_B依然为低直到所以中断被处理 0 取消 模块中断IRQ_B总是为高 Init
初始化模式
1 初始化开始 0 正常模式 注意:
总线的关闭状态不受Init的置位或复位而改变,总线关闭,CAN总线自检测置位Init位,停止所以总线活动。一旦处理顺(CPU)清除Init位,总线将等待产生129个总线空闲状态(129*11个隐性位),在恢复正常运行之前。总线恢复正常结束后,错误管理计数器将清零。
在每次对Init位重新复位以后,将会等侍监听连续11隐性位的时间,Bit0Eraor代码将写到状态寄存器。使能处理器(CPU)检测总线正接受显性位或连续干拢并监听总线关闭状态。
提示:
C8051系列单片机中的CAN总线也是采用BOSCH CAN协议。其操作
过程一样,但是在CAN寄存器中加多了一位。
位4: CANIF:CAN 中断标志。写 = 忽略。 0:未发生CAN 中断。 1:发生了CAN 中断。
CANIF 由CAN 控制器控制,当CAN 控制器中所有的中断条件都被清除后,该标志被清‘0’
2、状态寄存器(地址 0x03 & 0x02) Status Register (addresses 0x03 & 0x02)
BOff 总线关闭状态
共分享92篇相关文档