微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 新型电动汽车锂电池管理系统的研究与实现 — CAN 总线设计

新型电动汽车锂电池管理系统的研究与实现 — CAN 总线设计

时间:02-02 来源:3721RD 点击:

出中断通知CPU数据溢出。当本节点与其它节点总线竞争失败丢失仲裁权时,SJA1000将会立即产生一个仲裁丢失中断,并且当前丢失仲裁的具体位号将被捕捉进仲裁丢失捕捉寄存器,这样便于我们分析总线竞争的情况。

当发送或接收数据时,发生任何一种错误,比如位错、格式错、填充错等情况,SJA1000将会立即产生总线错误中断,同时当前错误的位置被捕捉入错误代码捕捉寄存器,通过读取寄存器值并查表可知道当前错误发生的情况。SJA1000还定义了发送错误计数器和接收错误计数器,当错误产生时,根据不同类型错误的严重性,计数器加相应的值。根据错误计数器的值,定义了错误的三种状态:当错误计数器的值在0-127之间为错误激活状态;当计数器的值在127-255之间为错误消极状态;当计数器的值高于255则处于总线关闭状态。同时SJA1000定义一个错误报警限额寄存器,默认为96,当上述任意两个计数器的值超过限额寄存器的值时,SJA1000状态寄存器的错误状态位将置位;当计数器的值超过255时,状态寄存器的总线状态位将置位,总线关闭,本节点模块自动脱离CAN总线。当错误状态位或总线状态位发生变化时,SJA1000将立即产生错误警告中断,以便CPU采取相应的处理措施。当CAN控制器在错误消极状态处变化则产生错误消极中断。这种做法是合理的,因为一个节点模块如果经常出错,就应该自动脱离总线,免得干扰其它节点的正常通信,这也是CAN总线的一个突出优点。

在节点处于总线关闭状态脱离总线时,SJA1000将置位复位请求位进入复位状态,如果没有CPU的干预来清除复位请求位,则节点将一直处于总线关闭状态。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top