微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于CAN总线的高压开关柜状态监测单元通讯模块

基于CAN总线的高压开关柜状态监测单元通讯模块

时间:08-03 来源:互联网 点击:


  6.CAN控制器异常情况的处理
  SJA1000控制器在长期工作中,由于内在及外在的因素不可避免的会产生错误,从而使控制器不能正常工作。为了控制器能够长期正常工作,使控制器从错误中恢复过来。控制器提供了相应的寄存器来进行错误的分析和诊断,这包括接收(发送)错误计数器、错误报警限制寄存器、错误代码捕捉寄存器、仲裁丢失捕捉寄存器以及状态寄存器的几位。同时中断寄存器的几位用来报告产生的错误,由程序对错误进行处理。这些寄存器具体的定义可参阅相关文献。
  在实际应用时主要有两种从错误状态恢复到正常工作状态的方法。
  (1)有错误发生时,在中断服务程序里根据中断寄存器(中断方式,中断使能寄存器除唤醒和接收中断外均打开)的各位的状态,再结合相应的寄存器即可以进行分析和诊断了。例如出现应答通道故障时则会产生总线错误中断,检查错误代码捕捉寄存器,就可知道是产生了应答通道故障。该方法的优点是知道错误具体是什么而采取对应的措施,缺点是编程比较麻烦,对协议和控制器都要十分熟悉。
  (2)控制器一有错误发生就重新初始化(中断方式,中断使能寄存器除唤醒和接收中断外均打开),让控制器重新正常运行,该方法优点是简单易行,缺点是没有考虑到错误发生的原因,不能作进一步的分析和诊断。
  为了简化设计,笔者采取的是后一种方案。
  
  7.结语
  (1)CAN作为一种有效支持分布式通信的现场总线,具有高的可靠性和实时性,同时又有简单、易用以及性价比高的优点,因此选择CAN作为监测单元通讯模块的解决方案。
  (2)在研究分析CAN协议的基础上,根据实际情况对CAN的标识符作了定义,且制定了应用层的协议,并给出了软硬件的设计思路以及异常情况的处理方法。
  (3)在实验室的调试运行表明,采用CAN总线作为高压开关柜监测单元通讯模块的解决方案取得了良好的效果。

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

网站地图

Top