《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 智能装置CAN转以太互连通信方案设计

智能装置CAN转以太互连通信方案设计

2008-06-10
作者:雷闪耀1,梁昭峰1,朱启晨2

  摘 要: 提出了一种基于双处理器的CAN现场总线与以太网络互连解决方案,详细介绍了该通信接口卡的软硬件设计,实现了生产管理层和智能装置之间基于IEC60870-5-101/104通信规约的数据通信。
  关键词: CAN总线 以太网 DSP56F807 Rabbit2000 IEC60870-5-101/104

 

  目前,由于以太网的优势在工业控制现场仍然很难完全发挥出来,而且实时性和抗干扰能力也不能适应工业自动化范围中所有要求,所以最好的解决方案是将以太网同现场总线相结合,充分利用这两种通信技术在各自领域中的优点。具体表现为在生产管理与监控层采用高速以太网技术,而在现场设备层采用现场总线技术。
1 系统结构
  本系统间隔单元设备采用嵌入式工业以太网技术,从而使智能装置真正成为工业以太网上独立的节点,保证了智能单元设备和上位机" title="上位机">上位机系统通信快速、完全、可靠,为远程管理智能装置创造条件。通信接口卡(Master板)与上位机信息交换是建立在TCP/IP" title="TCP/IP">TCP/IP协议上的国际电力行业标准的IEC104规约,采用Server/Client通信服务模式,Master板作服务器可以支持多客户同时登入。系统结构如图1所示。


2 装置内部结构设计
  智能装置内部各功能模块采用高速现场总线CAN网络相连,总线不出装置,功能模块之间的数据交互快速可靠。在组帧上采用HLON规约,并使用CAN 2.0B扩展模式,为了保持协议标准化,在HLON规约的基础上封装了IEC101规约。其内部结构如图2所示。


3 硬件设计
  通信接口卡使用双处理器结构。一部分是使用Motorola公司DSP56F807芯片作为接口卡的CAN通信管理模块;另一部分是使用Rabbit2000核的RCM2100集成卡作嵌入式网关和CAN到ETHERNET规约转换模块。通信接口卡硬件逻辑框图如图3所示。


  通信接口卡采用主从工作方式,即DSP56F807作为主处理器,利用其自带的MSCAN模块负责管理CAN通信。DSP外扩64KBRAM,用于存储数据。RABBIT2000作为从处理器,负责进行CAN到ETHERNET转换,并负责管理装置同后台的以太网通信。RABBIT2000与DSP接口方式采用并行接口。板上还设有RS485、RS232接口,可以用于PC调试或与后台连接。DSP56F807采用3.3V电源供电,RABBIT2000采用5V电源供电,经测试只要输入电压达到2.1V,RABBIT2000即认为高电平,DSP56F807输出高电平在2.1V以上;DSP56F807 I/O可以接受5V信号,所以DSP与RABBIT2000可以直接相连,无须进行电平转换。
  (1)DSP56F807主处理器
  DSP数据总线D0~D15地址总线A0~A15,外扩64KRAM存储数据,连接外扩RAM的读、写允许端,作为外扩RAM 片选信号。DSP的GPIOB口连接从处理器的SD0~SD7,GPIOD0、GPIOD1连接从处理器的SA0、SA1,GPIOD2、GPIOD3连接从处理器的写、读允许端()。一个中断连接从处理器的,作为从处理器中断申请。DSP的PWMB2连接MAX705的WDI作为外部硬件看门狗喂狗信号,PWMB4连接发光二极管作为DSP的运行指示灯。用DSP的两个SCI模块RXD0、TXD0、RXD1、TXD1做成标准RS-232、485接口。引出DSP的JTAG口用于调试,用DSP的MSCAN模块和82C250作为CAN通信端口。通过DSP的SPI口与RABBIT2000同步串口" title="串口">串口B相连,作为另一种接口方式。DSP采用3.3V电源供电。
  (2)RABBIT2000从处理器
  该处理器使用内核为RABBIT2000的RCM2100集成卡。其SD0~SD7连接到DSP的GPIOB0-GPIOB7。SA1、SA0用来选择从处理器接口的四个数据寄存器中的一个,连接到DSP的GPIOD1、GPIOD0。从芯片选择管脚连接到DSP芯片的一个输出端GPIOD4。连接到DSP的GPIOD3,如果为低,这根线被拉低使地址线所选择的寄存器的内容被放置到总线上,连接到DSP的GPIOD2 ,这根线能够将数据总线上的数据锁存进入地址线所选择的寄存器中。连接到DSP的一个中断口,在它变低时向DSP申请中断。如果从处理器写SPD0R寄存器,这根线置为低电平,声明从处理器中有可用的数据;如果主处理器写从处理器状态寄存器,这根线变为高电平。使用串口A作为编程口,串口B及CLKB作为同步串口和DSP的SPI口相连,组成另一种接口方案。使用PC2作为RABBIT2000运行指示灯,以太网模块(RCM2100自带RJ-45接口)引出通信指示灯。PE4、-IN、MAX705组成硬件看门狗电路。RCM2100采用5V供电。使用INT1A作为GPS对时。4 软件功能实现
  系统通信软件可以分成CAN总线接口通信程序、协议转换与以太网通信程序和上位机应用层" title="应用层">应用层TCP客户端" title="客户端">客户端程序设计三个部分。
4.1 CAN总线接口通信程序
  CAN总线接口通信程序运行于DSP56F807上,使用CodeWarrior C/C++集成开发环境。该部分程序的主要目的是将智能装置内各种数据搜集起来,形成一个数据缓冲池,并不断刷新供上位机调取,而来自上位机的数据通过以太网网关被DSP接收到后将被转换为CAN协议数据,下发到装置内部各个插件。主要通信程序模块有: (1)CAN接收中断模块
  CAN网接收的短帧,存入共用发送处理区或者保存区。把CAN接收中断的数据进行分析处理,如果ID标识符的第一个字节的最高位为1,则是多信息帧数据,反之为单信息帧数据。如果是多帧信息,则根据帧序号把每帧数据按顺序压入接收缓存区。如果发现ID标识符寄存器2的最高位为1,则代表结束帧,为0则代表中间数据帧。
  (2)CAN发送程序模块
  当有数据需要发往CAN口时,调用拆帧函数,使之转化为相对应HiLon CAN短帧,每个短帧区分配16字节空间,并分别存入2KB的CanSendBuf发送缓冲区,启动CAN发送中断。
  (3)并口接收中断模块
 在并口中断中,交换数据是相互的,双方均可主动发起数据。在底层并口交换数据程序中开辟了一个256字节的缓冲区,在中断中查询缓冲区是否已接收完;如果接收完,则处理送入1K并口接收缓冲区ParallelRecBuf。当一个数据包接收完,则压入共用发送处理缓冲区。
  (4)并口发送程序模块
  当有数据需向并口发送时,从共用发送处理区或者保存区中取出数据组帧为IEC104信息体,送入1KB的并口发送区中ParallelSendBuf,启动底层并口发送中断。
  DSP主程序结构流程图如图4所示。


4.2 协议转换与以太网通信程序
  嵌入式协议转换程序的设计思路为:当有以太网应用层数据发送到现场智能装置时,Rabbit把TCP数据报文解析出来后即发送给DSP处理,而当来自DSP的装置内部数据要发往以太网应用层时则将其打包成TCP数据报文发送给目标TCP客户端。该程序由Dynamic C开发环境开发。Dynamic C是Z-world 公司为其Rabbit系列产品开发的一种改进C语言开发系统。它提供丰富的函数库,能实现Socket级别的TCP/IP编程,并支持各种网络协议(如Http,Ftp等)。调用“dcrtcp.lib”,定义数据类型为tcp_Socket的变量,建立TCP套接字,利用其特殊的协语句(CoState),可以实现在单一程序中实现多线程,同时建立与处理多个TCP连接,支持多客户端同时登入。
4.3 上位机应用层TCP/IP客户端程序
  后台接口软件具有后台监控软件的中转代理和智能装置定值下载、报文监视,以及PC调试等功能。后台接口软件使用Delphi 6.0快速开发环境(RAD)开发。利用其自带的TClientSocket组件建立TCP客户端,TClientSocket组件封装了Socket套接字,只要将组件Active属性设置为True,那么它就会自动不断尝试连接指定IP地址与端口(IEC60870-5-104指定端口为2404)的TCP服务器。TClientSocket组件自带的TNMUDP组件与其他应用程序(如后台监控软件)通信;开放原代码的tmsAdvstring第三方组件包实现报表的生成与打印。
  本文提出的基于双处理器的CAN总线与以太网互连方案是一种高性能、可靠快捷的互连方案,已经在局地网成功应用于智能装置中,满足水电站、变电站等工业场合的应用要求。该互连方案使智能装置与上位机系统有更深层次的互连,为远程管理智能设备创造条件,具有非常广阔的应用前景。
参考文献
1 邵贝贝,龚光华,薛涛等.Motorola DSP型16位单片机原理与实践.北京航空航天大学出版社,2003
2 DSP56F801/803/805/807 16-Bit Digital Signal Processor User′s Manual,MOTOROLA INC,2001
3 Preliminary Technical Data DSP56F807 16-bit Digital Signal Processor,Rev.6.0,MOTOROLA INC,2001,8

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。