采用模块化编程设计的基于CAN总线的智能继电器研究

发布者:binggege最新更新时间:2018-03-23 来源: eefocus关键字:模块化编程  CAN总线  智能继电器 手机看文章 扫描二维码
随时随地手机看文章

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


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

    本文中主要是在继电器中引入总线技术,使得继电器具有总线通信功能。通过总线继电器控制模块可以将具有智能化、网络化功能的电器节点模块有机的组合起来,构成一种新的电气负载管理系统,即针对系统发出的指令进行逻辑切换和信息反馈,以实现数据采集、过载保护、状态检测及故障记录等功能,大大提高了系统的可靠性、可维护性、可扩展性。下面将结合总线智能继电器的功能从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

    3 电流信号的数据采集

    系统电流信号的采集,文中采用的是美国国家半导体生产的8位分辨率、双通道A/D转换芯片。文中之所以使用该款芯片,主要是考虑到它的体积较小、兼容性强、性价比高,更为重要的是它的数据是串行输出,节约了单片机的管脚资源。

    一般情况下,和单片通信的管脚由以下4个:片选端CS、时钟输入端CLK、数据输出端DO、模式选择输入端DI。通过对时序图的分析发现,DI和DO不是始终同时有效,因此在设计电路时,可以将此二管脚并接到一起作为一个管脚连接到单片机上。ADC转换流程大致如下。首先是使能选中芯片,即要拉低片选CS,并且要保持该电平到转换完毕,因为当CS置位的时候,该芯片是不能使用的;其次是要发送一个起始信号,这就需要在第一个时钟的下降沿到来之前拉高DI;再次是要输入通道选择控制字进行转换通道选择,通道控制的选择需要在接下来第2、3个脉冲下降沿来临之前输入两位数据文中先后对DI输入1,0;最后是从DO端输出AD转换结果,即在先在第4时钟下降沿到第11个时钟下降沿之间的每一个下降沿都会输出A/D转换结果,高位在前,共8位,接下来在从第11个时钟下降沿到第19个时钟下降沿的每个时钟下降沿又一次

    输出和之前相反的数据,也是8位,只是这个时候是低位在前;最后便是拉高CS,禁止使能A/D转换,对该2个8位数据进行比对,将转换结果送到数据寄存器中。图5是ADC转换的流程图。

    4 看门狗MAX813L

    在单片机构成的系统当中,单片机的工作往往会受到来自外界干扰,导致程序陷入死循环,进而使得单片机无法正常工作,单片机的手动复位又有其局限性,为此文中采用专门监测单片机运行状态的芯片MAX813L。该芯片不仅能实现系统复位,还可以监测电源状态,当出现掉电或者低压等情况时保护重要数据。

    4.1 系统复位

    当系统受到某些干扰的影响,使得系统程序跑飞,当该芯片的看门狗信号输入端WDI在超过1.6 s时间内得不到清除定时器的脉冲时,看门狗输出管脚WDO将由高电平变为低电平,根据图6会发现,复位输入端MR会被拉低成低电平,当这个低电平保持时间在140 ms以上时,复位信号输出端RST会复位信号,从而复位CPU。根据前面分析,系统的正常运行需要最多以1.6 s的时间间隔给看门狗输入端输入脉冲。文中使用定时器0的工作方式1每隔50 ms给看门狗芯片一个清定时器脉冲。喂狗的实现代码如图7所示。

   d.JPG

    4.2 电源监视

    当电源故障输入管脚的电位低于1.25 V时,电源故障输出端的电平会由高变低,导致微处理器P32管脚的电平发生变化,进而触发外部中断0,执行中断服务程序,即冻结寄存器的内容,保存RAM中的数据,激活掉电模式,进入掉电工作状态。要想退出掉电模式,系统必须复位。电源监视的部分代码如图8所示。

   e.JPG

       5 状态参数保护

    智能继电器在信号处理的过程中,有很多参数需要存储,而且需要在外部供电掉电的情况下,能够继续保持到下次外部供电恢复。一般的参数存储方法是使用静态RAM外加铬镍电池及外加辅助电路,但是该种方法存在很多弊端。因此,文中采用AT24C02来实现数据保护。这主要得益于它体积小、使用灵活,而且不会因为系统掉电、干扰等原因丢失数据,有效地保存各种参数。图8的参考代码可以实现根据负载电流的过流情况发送不同的控制指令并及时保存保存此时的负载电流。

    6 结语

    本文设计的CAN总线智能继电器除了具备普通继电器的接通和关断功能以外,还具有如下功能:现场总线通信功能,即改变传统系统中点对点控制方式,通过总线指令实现继电器的通断,减轻设备总量;负载电流检测功能,即实时监测继电器负载电流状况,并且是可查询的;负载电流过载保护和短路跳闸功能,并且跳闸阈值可以离线设置;继电器的触点通断状态实时监测功能,即可有效防止异常通断的发生;历史工作记录查询功能,即可以查询诸如过载电流、短路情况、触点状态、触点接通时间等状态参数,并且掉电后,不丢失这些数据。


关键字:模块化编程  CAN总线  智能继电器 引用地址:采用模块化编程设计的基于CAN总线的智能继电器研究

上一篇:基于单片机的红外微电脑自动泵业器设计
下一篇:采用AT89C51单片机控制的量程自切换频率计

推荐阅读最新更新时间:2024-03-16 15:58

基于CAN总线的网络控制系统调度研究
1 引言     网络控制系统" title="网络控制系统" 网络控制系统(NCS)又称网络化的控制系统,即在网络环境下实现的控制系统。对网络控制系统来说,由于系统中的信息源较多,信息的传送要分时占用网络通信线路,而网络的承载能力和通信带宽有限,从而使得信息在传输过程中不可避免地存在时延,并且该时延可能是固定的、时变的,甚至是随机的。从控制的角度来看,这种时延会使系统的分析与设计变得更加复杂。解决网络延时问题有两种途径:一是设计控制算法时充分考虑网络延时的影响,这是控制器设计问题;二是在不考虑延时的情况下设计控制器,依靠改进调度算法保证信息传输的实时性,确保控制系统的稳定和性能,这属于信息调度问题。     本文以CAN
[嵌入式]
基于CAN总线的送经卷取的系统设计
纺织业是我国一大传统行业,随着国际棉纺织技术向优质、高产、自动化、连续化方向的迅速发展,提高我国纺织产业的机电一体化水平,实现工艺参数的智能化是各纺织企业的工作重点。 电子送经卷取系统是纺织工艺流程的一个重要环节,其控制性能的优劣直接影响着工艺过程及织机的效率。然而,通信又是该系统的关键技术,使得电子送经卷取系统通信的设计受到国内外纺织公司(德国的百格拉,意大利的舒美特等公司)的高度重视,提出了多种设计方案。然而,中国用户仍然面临着剑杆织机送经和卷取系统的价格昂贵、操作复杂,数据传输效率低等问题。 CAN(控制器局域网)总线是一种有效支持分布式控制和实时控制的串行通信网络,与其它通讯相比,其数据通信具有突出的灵活性和可靠性
[单片机]
基于<font color='red'>CAN总线</font>的送经卷取的系统设计
CAN总线工程师常见问题及解答
一、定位干扰原因 当总线有干扰时,有经验的工程师能够迅速定位,但是对于新手来说却很麻烦。造成总线干扰的原因有很多,比如通过电磁辐射耦合到通讯电缆中、屏蔽线接地没处理好、隔离了通讯没有隔离电源等。通过下图我们可以推导出,现场的干扰不是通过电磁辐射进来,整车的网络也没有干扰,基本可以断定干扰就是电机驱动器的CAN通讯没隔离好。 图1 定位干扰原因 二、消除延时误差的方法 为了减小延时,增加通讯距离和降低通讯错误率,我们可以采取以下措施: 采用磁隔离的CTM1051方案设计接口收发电路; 用较粗的导线代替细导线,标准为1.5线缆(延迟为5ns/m); 使用镀金或镀银的线缆; 增加网桥中继设备CANBr
[汽车电子]
<font color='red'>CAN总线</font>工程师常见问题及解答
基于车载CAN总线故障诊断仪设计方案
本文提出了一种基于车载CAN总线故障诊断仪设计方案。本方案成本低廉,携带方便,具有很强的灵活性与适应性。 1 方案设计 系统总体设计框图如图l所示。系统分为发射端和接收端两部分。   由于采用射频技术,使汽车CAN总线数据采集部分和CAN总线数据诊断部分得以分离,无需连线,不受空间场地限制,安装携带方便。按照ISO有关标准, CAN总线传输速率最高可达1 Mbps;但由于汽车内部特殊环境,车载CAN总线速率一般在250 kbps。本系统中射频速率最高可达l Mbps,可以很好地满足数据传输要求。   发射端采用USB作为接收模块和PC接口。USB与RS232或PCI接口相比,具有用户使用方便,设备自
[汽车电子]
基于车载<font color='red'>CAN总线</font>故障诊断仪设计方案
什么是汽车CAN总线?
    现代汽车中所使用的电子控制系统和通讯系统越来越多,如发动机电控系统、 自动变速器控制系统、防抱死制动系统(ABS)、自动巡航系统(ACC)和车载多媒体系统等,这些系统之间。系统和汽车的显示仪表之间,系统和汽车故障诊断系统之间均需要进行数据交换,如此巨大的数据交换量,如仍然采用传统数据交换的方法,即用导线进行点对点的连接的传输方式将是难以想象的,据统计,如采用普通线索,一个中级轿车就需要线索插头300个左右,插针总数将达到2000个左右,线索总长超过1. 6Km,不但装配复杂而且故障率会很高。因此,用串行数据传输系统取而代之就成为必然的选择。       数据在串联总线上可以一个接一个的传送,所有参加CAN总线的分系统都可
[嵌入式]
基于CAN总线和PCC的多电机消隙天线控制系统
1引言 在高精度天线控制系统中(如跟踪卫星通信天线),精密跟踪和方位控制对天线的传动系统精度提出了极高的要求。但是由于存在机械加工误差、机械磨损和传动齿轮之间存在一定的间隙,既影响天线控制系统的跟踪精度,又影响天线控制系统的稳定性。因此必须消除传动齿轮之间的间隙,提高传动精度。 为解决这一问题,人们想了很多方法。传统的方法是对机械的传动结构进行改进。但从已知的消除齿轮间隙的方法看,它们总存在这样或那样的不足,如结构复杂、尺寸大、承载能力差等。因此在高精度天线控制系统中传统的消隙方法无法使用。本控制系统采用多电机来消除传动机构中的齿轮间隙,从而提高传动精度。 基于以上分析,该系统采用基于可编程计算机控制器(Programmable
[嵌入式]
基于C8051F040的CAN总线智能节点设计
引言 “X型火控系统”根据实际需要采用了CAN总线方式来实现其内部单体间的通信。CAN总线是一种用于各种设备检测及控制的现场总线,它是一种多主总线,在高速网络和低成本的节点系统中应用都很广泛。CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性。其特点如下: *可以多主方式工作。 *CAN节点只需对报文的标识符滤波即可实现点对点、一点对多点及全局广播方式发送和接收数据。 *CAN总线通信格式采用短帧格式。 *采用非破坏性总线仲裁技术。 *直接通信距离最大可达10km (速率5kb/s以下),最高通信速率可达1Mb/s (此时距离最长为40m),节点数可达110个,通信介质可以是双绞线、同轴电缆或光导纤维。
[工业控制]
一种基于DSP的直流电源供电系统的设计
摘要:为了提高系统电源供电的可靠性和智能化,提出了一种以TI高性能数字信号处理器TMS320F2812为控制器且基于CAN总线的直流电源供电系统的设计方法。同时详细讨论了基于CAN总线的系统软件流程设计和调试方法。 关键词:DSP;直流电源;CAN总线;参数采集 O 引言     电源在系统中可靠、安全的运行离不开对它的实时临测和控制。为了提高系统供电电源的可靠性,本文以集成有eCAN模块和ADC采集模块 的TMS320F2812数字信号处理器作为核心控制器,提出一种直流电源供电系统的设计方法。该系统可通过对系统电压、电流参数的实时监控和 对过流、欠压保护的快速响应来实现系统直流供电的智能化。 1 系统总体设计     实
[电源管理]
一种基于DSP的直流电源供电系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved