1 引言
变电站综合自动化系统,即利用单台或多台微型计算机和大规模集成电路组成的自动化系统,代替常规的测量和监视仪表,代替常规控制屏、中央信号系统和远动屏,用微机保护代替常规的继电保护屏,改变常规的继电保护装置不能与外界通信的缺陷。变电站综合自动化系统按分层(级)分布式多CPU的体系结构如图1。
整个变电站内部各单元之间以及变电站与远方调度中心之间的通信都可以通过通信管理机来处理。目前,在变电站综合自动化系统中,微机保护、微机监控和其他微机型的自控装置间的通信,大多数应用RS-422/RS-485通讯接口,虽然可实现多个节点(设备)间的互连,但连接的节点数一般不超过32个;其次,采用RS-422/485通信接口,其通信方式多为循检方式,实时性不高;再者,使用RS-422/485通信接口,只能使用主从通信方式,节点太多时,主节点会出现瓶颈现象,以及另外对RS-422/485接口的通信规约缺乏统一标准,使不同厂家生产的设备很难互连,给用户带来不便。
2 CAN总线概述
CAN总线是德国Bosch公司在80代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信总线,它是一种多主总线系统,总线上最多可连110个节点,通信速率可达1Mbps。CAN协议废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位(CAN2.0 A协议)或29位(CAN2.0B协议)二进制数组成,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN总线的这些极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,CAN总线在工业界的应用越来越广。
3 系统硬件设计
变电站综合自动化系统中通信管理机的主要任务是实现变电站内部的变电站子层和单元子层间的通信以及本地的变电站系统和远程调度中心的通信,系统的结构框图如图2所示。变电站系统内部的通信基于CAN总线,包含两层通信网络,站级CAN网络用于实现上位机监控主机和通信管理机之间的通信;现场级CAN网络用于实现通信管理机和监控保护单元之间的信息传送。变电站和远程调度中心的信息传输基于公用电话网,通过终端的modem实现数字信号和公用电话网上的模拟信号之间的转换。通讯管理机的外围设备包括键盘输入、液晶显示、程序存储器EPROM、实时时钟RAM以及备用RS-232串口。
3.1 微处理器系统
根据变电站数据通信的要求,这里选用了DALLAS公司的8位高性能嵌入式微处理器DS80C320作为通信管理机的CPU。首先,DS80C320的执行速度快,允许的最大晶振频率是33 MHz,采用了单循环周期指令,相同的晶振下,执行速度一般为MCS51的2.5倍,完全可以满足通信管理机的要求;CAN总线上数据收发以及键盘操作都采用中断的方式,DS80C320提供了14个中断,其中6个外部中断,能够满足中断的需求,同时提高了通信管理机的实时性;DS80C320提供了2个串口,一个串口通过Max232提供备用的RS-232串行通讯口,另一个串口通过工业modem连到公用电话网上实现远程控制。
3.2 CAN总线接口模块
通信管理机的CPU通过CAN控制器SJA1000及CAN收发器82C250连接到CAN总线上,接口电路如图3。
CAN控制器SJA1000芯片主要由实现CAN总线协议部分和与微处理器接口部分电路组成,可完成CAN总线协议的物理层和数据链路层的功能,支持CAN2.0A协议及CAN2.0B协议,具有BasicCan以及PeliCan两种工作模式;SJA1000内部提供了128个寄存器,CPU通过8位地址线访问SJA1000内部的寄存器;接受缓冲区提供了64字节的FIFO,CAN总线上通过接受过滤器的数据首先被放到接受缓冲区中,接受寄存器作为接受缓冲区的映射寄存器,当接受寄存器中为空时,接受缓冲区中的数据会填充到接受寄存器中;为了增强错误处理功能内部提供了特殊功能寄存器,仲裁丢失捕捉寄存器存有关于丢失仲裁位的位置信息,出错码捕捉寄存器存储总线上出现错误的类型和位置信息。
CAN收发器82C50是CAN协议控制器和物理总线的接口,提供了对总线的差动发送能力和对CAN控制器的差动接收能力。
3.3 CAN总线上滤波器的设置
SJA1000至多可提供4字节验收码以及4字节屏蔽码,验收码和屏蔽码组成的滤波器相当于确定了该节点的地址,数据帧中的标识符相当于该数据帧的目标地址,有滤波器来确认是否接受总线上的数据。
SJA1000在扩展模式下滤波器可以设置为单滤波器模式或双滤波器模式。在双滤波器模式下,CAN总线上的数据帧通过其中任一个滤波器,就可以被该节点接收,利用这一特性可以实现一种特殊的广播方式。在CAN总线上,我们规定广播节点(比如用于校时的GPS接受节点)发送的数据帧标滤器中的一个设定为只接受标识符为FFH节点来的数据帧,这样当广播节点把数据发送到总线上时,总线上各节点就可接受来自该广播节点的数据。通过把双滤波器中的一个滤波器专用于接受总线上的广播数据,可以避免了单过滤器下为了支持广播方式必须改变滤波器的设置。
4 系统软件设计
在设计通信管理机的软件时,我们采用了模块化的设计思想,有利于软件系统的升级及维护,软件系统的主要模块有主程序模块、中断模块(比如键盘模块、接受CAN总线数据模块等)以及各子模块(比如显示模块、远程通讯模块等)。
4.1 主程序模块
主程序主要有初始化模块、自检模块以及总线上设备诊断模块组成。
初始化子模块主要完成对内部堆栈、中断、定时器以及包含CAN控制器在内的外围接口的初始化设置。自检模块主要完成对处理器、EEPROM、RAM、时钟电路、CAN控制器、工业MODEM等的自检,这是保证装置不带病运行的重要措施。
管理机通过定时循检的方式监督总线上通讯是否正常以及各个节点的工作状态。通信管理机定时的以广播方式发送查询报文到总线上,总线上节点在收到查询报文后,回送该节点工作状态报文到管理机,管理机在n秒(定时多少根据总线上所挂的节点数量以及报文的数量来决定)内没有接受某一节点的回送报文,确认该节点发生故障,并通过LCD反映出来。
4.2 通讯规约的制定
CAN控制器SJA1000向用户提供了数据链接层的逻辑链接子层(LLC),在此基础上用户可以定义自己的应用层。工作在PeliCan模式下的扩展数据帧结构包括5字节的描述符和8字节的数据如表1所示。FF位区别用于标准帧结构和扩展帧结构,RTR位用于区别远程帧以及数据帧,X为未用位,DLC定义了数据的长度(0-8),ID.28-ID.0为数据帧提供了29位识别码用来参与滤波以确定数据是否被接受。在实际应用中,变电站综合自动化系统中同一通信网络的节点数目一般是不会超过255个的,因此只需29位标识符中的8位作为发送数据的标识地址参与接收节点的报文滤波,其余的标识位用来存储报文信息(表1括号内)。当报文为多帧时,数据区内的第一个字节作为数据帧的索引。这样提高了数据帧的利用率以及通信的效率。
4.3 报文传输
为了增加实时性,CAN总线上各节点报文的接受以及发送都采用中断方式。CAN总线上的节点成功接受到报文后,回送确认报文,发送节点如果在规定的时间内(定时多少根据总线上所挂的节点数量以及总线上的报文数量来决定)没有接受到确认报文,重发报文,确保通信成功。
5 结论
通过单帧报文通信试验以及多帧报文通信试验,试验结果表明CAN总线在变电站综合自动化管理机的应用大大的提高了电站综合自动化系统的实时性、可靠性、灵活性,使变电站综合自动化系统在各智能单元根据功能划分的基础上,更好的实现各自的功能。
参考文献
1 黄益庄.变电站自动化技术.北京:中国电力出版社,2000
2 邬宽明.CAN总线原理和应用系统设计.北京:北京航空航天大学出版社,1996
3 Philips Semiconductors.CAN Specification Version 2.0.1992
4 Philips Semiconductors.SJA1000 Data Sheet.2000
5 Philips Semiconductors.PCA82C250 Data Sheet.2000
6 Dallas Semiconductors.DS80C320/DS80C323.1999