新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于CAN总线的智能继电器研究

基于CAN总线的智能继电器研究

作者:时间:2012-05-22来源:网络收藏

摘要:为解决电气系统中控制距离短,开关响应实时性不强,一般节点容易受到外界干扰,系统掉电后数据丢失等一些列问题,结合微电子技术、微处理器的特点,以及的优势,对以AT89C51和SJA1000为控制核心,采用模块化编程设计的进行了结果表明,能更进一步提高系统的控制距离,有效检测系统中的大电流,并及时通断开关,对突发性电源故障能进行可靠检测,并及时保存重要数据,提高了系统的抗干扰性,也可以接入网络,使得对的控制变得更为灵活。

本文引用地址:http://www.eepw.com.cn/article/171425.htm

关键词:CAN总线;;微电子技术;模块化编程

0 引言

过去的几十年里,在很多电气设备中,比如车辆、舰船、飞机等中的电气用电设备,它们一直采用保险丝盒断路器等被动防护装置,致使无法故障预警,故障诊断起来也比较困难,严重影响了设备的整体性能;同时,由于总线类设备能提供信息查询、故障记录、参数保护等功能。因此在一些底层器件中引入总线技术,能更方便用户配置系统,就像设备中多了很多对眼睛,可以很好地把握设备的工作情况。所以研发具有预警和诊断功能的新器件势在必行。

本文中主要是在继电器中引入总线技术,使得继电器具有总线通信功能。通过总线继电器控制模块可以将具有智能化、网络化功能的电器节点模块有机的组合起来,构成一种新的电气负载管理系统,即针对系统发出的指令进行逻辑切换和信息反馈,以实现数据采集、过载保护、状态检测及故障记录等功能,大大提高了系统的可靠性、可维护性、可扩展性。下面将结合总线智能继电器的功能从5个方面来它的软件设计:系统初始化、报文的收发处理、信号的数据采集、看门狗程序的软件设计及数据保护等5部分。

1 系统的初始化

系统的初始化包括2部分:一部分是单片机初始化;另一部分是SJA1000的初始化。

1.1 单片机的初始化

文中使用的单片机是美国Atmel公司生产的AT89C51单片机,该款单片机的特点是低电压、高性能、CMOS工艺、片内含有4 KB可反复擦写只读存储器和128 B的随机存储器,兼容MCS-51指令集,片内还含有8位的CPU和FLASH存储单元,广泛灵活运用于各种控制领域。设计中使用该单片机完成和SJA1000的端口初始化、外部中断设置、定时器设置。其中和SJA1000的端口初始化用来片选SJA1000,外部中断0用来检测电源故障,外部中断1用来读取SJA1000收到的报文,定时器0用来看门狗定期复位,定时器1用来记录继电器触点接通时间。图1是单片机初始化流程图。

a.JPG

1.2 SJA1000的初始化

SJA1000是一款总线控制器,它的作用是为了保证总线控制器局域网络中的网络层次结构中数据链路层和物理层的可靠通信,这一功能的实现主要得益于该芯片上具有可编程的逻辑电路,并且还有和微处理器相连接的接口。它内部由很多寄存器,微控制器通过对这些寄存器控制,可以设置它的工作方式、工作状态、报文的收发格式。

SJA1000的初始化主要是完成一些寄存器的配置。要完成这些配置,该控制器必须处于复位模式下。它进入复位模式的情况通常有3种:上电复位、硬件复位和软件复位。复位后,需要设置的寄存器通常有以下几个:控制寄存器、模式寄存器、时钟分频寄存器、验收滤波器、中断使能寄存器、总线定时器和输出控制器。完成这些寄存器的配置后,就要退出复位模式,进入工作模式。它的初始化流程图如图2所示。

2 报文的收发处理

对SJA1000的操作通常有2种方案,一种是时序模拟模式;另一种便是用扩展RAM的模式来完成。该控制器通常有2种读写模式,一种是Intel模式;另一种是Motorola模式,由于它的管脚设置和普通的RAM管脚设置相似,因此文中采用扩展RAM的模式来实现总线的报文收发。总线继电器的报文的处理包括2部分,即数据的接收处理,报文的发送处理。

2.1 报文的接收

报文的接收是由该控制器自动完成,文中要做的就是要把信息从接收缓存中读出来,然后将读出来的信息存放在数据存储器中。一条数据报文能否被成功地接收由验收滤波器模式控制位、验收代码寄存器、验收代码屏蔽寄存器、报文标识符共同决定。只有通过验收滤波器的过滤的报文才能被接收,否则是不能送到控制器接收缓冲区的。当报文成功通过验收滤波器并被送入接收缓冲中后,会置位接收缓冲区状态位,如果这个时候使能接收中断RIE,就会产生接收中断,使得控制器的INT的电平发生变化,此时中断微控制器。接下来微处理器的任务大致由下面三步分组成,首先要监视控制器的状态,确定一下是否有需要读取的报文;其次便是将接收缓冲区中的数据读出来存放到数据存储器中并需要置位接收处理标志;最后便是处理接收到的报文。需要注意的是处理接收报文的目的主要是为驱动继电器做准备。报文的接收处理流程图如图3所示。

b.JPG

2.2 报文的发送

报文的发送负责将待发数据发到总线上。第一屏蔽相关中断,避免收到的数据对发送的影响;第二要对和报文发送相关的数据寄存器进行设置,确定通信的目标节点,同时准备好要发送的数据;第三在发送之前要对SJA1000发送缓冲区是否有待发送的数据进行检查,如果没有待发送的数据或者正在发送的数据,则可以将准备好的数据发送到控制器发送缓冲区做好发送准备,否则新的报文是不能写入发送缓冲区的;第四就是把要发送的报文写入控制器发送缓冲区,准备发送;第五就是置位发送请求标志位,之后控制器会自动完成报文的发送。信息的发送流程图如图4所示。

c.JPG

继电器相关文章:继电器工作原理


时间继电器相关文章:时间继电器



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭