CAN总线在变电站高压开关柜在线检测系统中的应用
在其基础上增加了新功能:标准帧数据结构和扩展帧数据结构,并且这两种帧格式都具有单/双接收过滤器;64字节的接收FIFO;可读写访问的错误计数器和错误限制报警以及只听方式等等。 3.1.2CAN收发器 PCA82C250是PHILIPS公司的CAN控制器和物理总线间的接口,可提供对总线的差动发送和接收能力。它有三种不同的工作方式:高速、备用和斜率控制。一般采用斜率控制方式。硬件电路中使用PCA82C250是为了增大通信距离,提高系统的瞬间抗干扰能力,保护总线等作用。 图2CAN总线通信接口卡硬件电路图 3.1.3光电隔离 为了进一步提高系统的抗干扰能力,在控制器SJA1000和收发器PCA82C250之间增加了由高速隔离器件6N137构成的隔离电路。 本装置选用AT89C51作为处理器,AT89C51是ATMEL公司8位单片机,与MCS51完全兼容,内部集成有4Kbps的闪速E2PROM,工作频率最高可达20MHZ. 3.1.5电平转换芯片的选取 在CAN接口电路中,AT89C51芯片使用的是TTL电平,而从计算机串口输出的是RS-232电平,因此要想计算机串口与单片机连接,必须进行电平转换。MAXIM公司生产的MAX202芯片是在缺少±12V电源的情况下进行RS-232/TTL双向电平转换芯片,它的供电电源是单+5V,电平转换的速度的最大值不小于120kbps. 为了使计算机的电源与CAN接口电路的电源互相不受干扰,我们还在MAX202与AT89C51之间采用光电耦合器,以达到电源隔离的目的。 3.1.6数据采集单元电路 采集单元电路一般由微处理器外加显示键盘电路、模拟量输入电路、开关量输入输出电路、CAN总线通讯接口电路、实时时钟电路等组成。具体电路在此不详细介绍了。 4.软件设计 本系统采用C语言开发软件。CAN总线各节点与AT89C51要有效,实时地完成数据通信,软件的设计是关键,也是难点。它主要包括计算机串口通信程序、AT89C51通信程序、CAN节点初始化程序、CAN数据发送、接收程序以及CAN总线出错处理程序等等。CAN控制器SJA1000的内部寄存器作为AT89C51芯片的片外寄存器,AT89C51和SJA1000之间进行状态、控制和数据的交换都是通过SJA1000在复位模式或工作模式下对这些寄存器的读写来完成的。在初始化CAN内部寄存器时,注意使得各节点的位速率必须一致,而且接、发双方必须同步。数据的接收主要有两种方式:中断和查询接收方式。为提高通信的实时性,文中采用中断接收方式,而且这样也可保证接收缓存器不会出现数据溢出现象。下面给出SJA1OOO工作在Basic CAN模式下的初始化流程图、数据接收的源程序。 /*CAN接收中断子程序*/ Void canreceive(void) interrupt 0 { Unsighed char xdata*datap; Unsighed char xdata i, temp[15]; if ((can_sr0x01)==0x01) {/*判断SJA1000接收缓冲器是否有效*/ p=canrxbuff;/*canrxbuff为接收缓冲器首地址*/ for(i=0;i0;i++) { temp[i] =*(p+j);/*将接收缓冲器的数据赋给temp数组*/ } can_cmr=0x04;/*释放接收缓冲区*/ i=can_ir;/*对CAN中断复位*/ } } 本文采用CAN总线技术组成的变电站高压开关柜在线检测系统已在中小型变电站中得到应用,经过实际运行,具有很好的可靠性和抗干扰性,能更好地掌握高压开关柜的运行状态,稳定显示出各参数的波形,从而能及时对设备进行检修,避免了事故的发生,得到变电站维护人员的一致认可。 5.结束语 CAN总线以高可靠性及其卓越的性能越来越受到人们的重视,并被公认为最有前途的总线之一。本文在变电站高压开关柜在线检测系统中应用了这种总线技术,设计了主要硬件电路和软件,并得到实际应用。其硬、软件电路的设计方法同样适合于其他基于CAN总线的分布式控制系统的节点设计。
3.1.4单片机的选取
- Labview基本常见问题解答(连载四)(05-10)
- CAN总线系统测试技术(05-11)
- 基于CAN总线的GaAs光电阴极制备测控系统(07-27)
- 基于LabVIEW的智能开关综合保护装置的数据获取与处理(03-09)
- 基于双层CAN总线的声纳数据通信系统设计(01-23)
- CAN总线网络测试研究(02-10)