微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 智能装置CAN转以太互连通信方案设计

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

时间:10-27 来源:互联网 点击:
目前,由于以太网的优势在工业控制现场仍然很难完全发挥出来,而且实时性和抗干扰能力也不能适应工业自动化范围中所有要求,所以最好的解决方案是将以太网同现场总线相结合,充分利用这两种通信技术在各自领域中的优点。具体表现为在生产管理与监控层采用高速以太网技术,而在现场设备层采用现场总线技术。
1 系统结构
  本系统间隔单元设备采用嵌入式工业以太网技术,从而使智能装置真正成为工业以太网上独立的节点,保证了智能单元设备和上位机系统通信快速、完全、可靠,为远程管理智能装置创造条件。通信接口卡(Master板)与上位机信息交换是建立在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同步串口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、

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/I

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top