一种基于CAN总线的FTU通信功能的改造方案

时间:2007-04-29


一种基于CAN总线的FTU通信功能的改造方案
作者:许力琴/孙莹/李之洪

  摘 要:基于CAN总线技术,提出了一种改造馈线终端FTU通信功能的新方案,使改造过的FTU能够具有与现场总线CANbus直接接口的能力,从而为进一步构建通信功能较强的全分散型现场总线网络奠定了基础。文章围绕硬件和软件两方面的设计做了详细的介绍。
  关键词:馈线自动化;FTU;现场总线;CAN总线;控制器;收发器
  1 引言
  电力系统馈线自动化控制方式由初不依赖于通信的重合器方式,发展为依赖于FTU之间点对点通信的就地控制方式,后来又发展为当前普遍采用的远方集中监控方式。目前,将就地方式和集中方式结合起来,互相弥补不足的综合智能控制模式,已成为馈线自动化技术发展的必然趋势。
  然而,当前实现综合馈线控制方式的一个关键问题,就是各FTU之间以及诸FTU与主站之间的通信问题。因为线路上一旦发生故障,多个相关的FTU将同时启动,相互传递信息,综合判断是否出口动作。如果仍然采用传统的CDT或POLLING规约,则不可能达到系统对继电保护快速性的要求。另外就是主站的部分控制功能,如综合信息、故障判断等要下放到现场,要求各单元之间具有相互操作性。解决这些问题的有效途径是采用具有多主功能的现场总线技术。但是,目前国内大多数电力自动化装置仍然停留在早期的通信技术水平上,无法应用现场总线技术来构造总线型通信网络。所以生产和制造基于现场总线技术的远动终端装置,使装置本身具有与现场总线直接连接的能力,是构建全分散型的现场总线网络的基础。
  正是基于上述认识,本文提出了一种运用CAN总线技术改造现有的馈线终端FTU通信功能的新方案。它是在FTU已有的功能的基础上,增加了现场总线接口模块,并提出了通信软件的设计思路。
  2 系统硬件设计
  给出了FTU在配电自动化系统中的位置以及新型FTU的硬件框图。
  



  值得注意的是,在实际组网时,若采用双绞线,应在总线两端各加一定大小的电阻(通常取120Ω),这两个电阻起匹配总线阻抗的作用,忽略掉它们,会使数据通信的抗干扰能力及可靠性大大降低,甚至无法通信。
  


  系统中的新型FTU是一个CAN智能节点,它是在原馈线智能终端FTU的基础上增加了CAN总线接口改造而成的。新型FTU仍然保留原有的常规的监控和保护功能,如数据采集计算、事件记录、继电保护、无功电压控制等。考虑到FTU要实现的任务很多,所以CAN总线接口模块由单独的CPU来控制,两个CPU之间可以双口RAM的形式来交换信息。
  CAN总线接口模块的硬件组成中除了CPU以外,还主要包括CAN控制器、光隔离器、CAN收发器等。是具体的硬件连接图。CAN控制器采用的是PHILIPS公司推出的SJA1000[1],其具有完成高性能通讯协议所要求的全部特性。PCA82C50是目前使用较为广泛的CAN收发器,它与ISO/DIS11898标准完全兼容,不仅能够大大提高系统的驱动能力,而且能够对总线提供保护[2]。另外,为了进一步提高节点系统的抗干扰能力,可以在CAN控制器和收发器之间加光电耦合器光耦两侧应采用DC-DC隔离电源。
  此硬件电路设计中需要注意的几个问题:
  (1)CAN控制器SJA1000的复位引脚不直接与80C51的复位端之间相连,而是与其它的I/O引脚连接,这是为了保证对SJA1000复位控制的独立性。
  (2)在系统中,SJA1000的片选信号由P2.7控制,因此编程时可采用端口控制的方式。
  (3)在TX1脚悬空时,RX1引脚电平必须维持在2.5 V以上,以形成CAN所要求的逻辑电平。图中,用R3和R4两个电阻进行分压来实现。
  (4)R7又称斜率电阻,它的取值决定了82C250的工作方式:或将RS脚直接接地,系统将处于高速工作方式;若RS脚接电阻,系统就处于斜率控制方式,上升和下降的斜率取决于电阻的大小。
  3 软件设计
  CAN接口模块的通信软件主要由三部分组成:
  初始化程序、发送程序和接收程序。由于系统中任意一节点在任意时刻均可主动与其它节点通讯,所以各个节点的通信程序相同。本设计中的程序是运用Keil C51进行编写的。
  3.1 初始化程序
  系统是否能正常地工作,初始化程序的设计是个关键。以下是本设计的初始化程序:(假设SJA1000的首地址是7000h)
  


  


  


  从上面的程序中不难看出,对CAN控制器进行初始化,实际上就是通过对控制段中的某些关键寄存器进行设置,以确定其工作方式等。各寄存器的具体定义可参见文献[1]。需要说明的是:
  (1)只有当控制器CR中的复位请求为高时,对寄存器的读写才被允许。可有三种方式进入初始化程序:一是上电复位;二是硬件复位;三是软件复位,即运行期间通过给CAN控制器发一个复位请求,置复位请求位为1。在完成设置后,要清除CR的复位请求位,以使SJA1000返回到正常运行状态。
  (2)验收滤波器包括ACR验收代码寄存器和AMR验收屏蔽寄存器。当验收代码位〈AC.7~AC.0〉和信息识别码的高8位〈ID.10~ID.3〉相等,且与验收屏蔽位〈AM.7~AM.0〉的相应位相或为1,即满足下列关系式时,信息被接收:[〈ID.10~ID.3〉=AC.7~AC.0]〈AM.7~AM.0〉=11111111。
  (3)波特率及同步跳转宽度的具体计算公式在文献[1]、[2]中均可查到。只有当系统中的所有节点的BTR0和BTR1的内容都相同时,才能通信。
  3.2 发送/接收程序
  CAN通信模块和总线之间的信息发送和接收都是由CAN控制器自动完成的。发送程序只需把要发送的信息帧送到发送缓冲区,然后启动发送命令即可。而接收程序也只需从接收缓冲区直接读取要接收的信息。是中断服务程序流程图,中断寄存器IR相应位的状态表明了中断的类型,通过查看这些位的状态,即可辨识何处需要中断处理,为了易读,建议这部分用switch-case语句编写。、5是发送/接收子程序框图。发送和接收的状态信息包含在状态寄存器SR中,在发送和接收数据时,应查询这些信息,以避免发生冲突。要注意的是,CAN总线不可以被性的100%地加载。对程序的具体设计此处不再多述。
  


  


  


  4 结论
  CAN总线能实现网络节点的多主模式,采用总线仲裁技术,可大大减少信息的等待时间,进一步满足了电力系统对继电保护快速性的要求。带有CAN通信接口的智能节点可通过双绞线接入CAN局域网,这使得CAN的组网和扩展变得容易,并在实际运用中避免了象RS-485总线那样容易瘫痪的问题。本文所提出的FTU通信功能的改造方案在山东许继科华自动化有限公司生产的终端装置WPZD-131中已得以实现。该项目目前在山东聊城电网中实时运行,效果令人满意,已展现出其良好的发展前景。
  参考文献:
  [1] SJA1000 Stand-alone CANcontroller.Philips Data Sheet[S].
  [2] 邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996.
  [3] 杨宪惠.现场总线技术及其应用[M].北京:清华大学出版社,1998.
  [4] 肖海荣,周风余.基于SJA1000的CAN总线系统智能节点设计[J].计算机自动测量与控制,2001,9(2).
  [5] 周宝龙,岳继光,萧蕴诗.基于CAN控制器的对等式单片机多机系统的通信[J].电子技术应用,2001,(2).
  [6] 李华.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1996.
  [7]  SJA1000 datasheet https://www.dzsc.com/datasheet/SJA1000_609075.html.
  [8]  80C51 datasheet https://www.dzsc.com/datasheet/80C51_103447.html.
  [9]  ACR datasheet https://www.dzsc.com/datasheet/ACR_2278911.html.

  


 


上一篇:现代商务型酒店智能弱电系统综述(二)
下一篇:智能建筑工程项目的全面风险管理

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料