一种工业无线网关装置及其协议转换方法

文档序号:10578057阅读:472来源:国知局
一种工业无线网关装置及其协议转换方法
【专利摘要】本发明涉及一种工业无线网关装置及其协议转换方法,包括双CPU微处理器模块、Profibus-DP总线通信模块、ZigBee通信模块和电源管理模块;所述双CPU微处理器模块由CPU1微处理器、CPU2微处理器和双口RAM存储器组成,所述Profibus-DP总线通信模块由SPC3协议芯片、光耦隔离电路和RS485驱动器组成,所述ZigBee通信模块由CC2530芯片和相关外围电路组成;本发明很好的实现了ZigBee无线网络和有线工业网络技术的相互结合;简化了软件编程的复杂程度,大大提高了系统的工作效率;有效的解决了因Profibus-DP网络与ZigBee网络速率不匹配而产生数据丢失、通信中断等问题。
【专利说明】
一种工业无线网关装置及其协议转换方法
技术领域
[0001]本发明涉及工业通信技术领域,尤其涉及一种工业无线网关装置及其协议转换方法。
【背景技术】
[0002]随着工业自动化的飞速发展,现场总线技术在工业通信领域发挥着举足轻重的作用,特别是Profibus现场总线以其实时性好、稳定性高等优点在我国成为发展速度最快的现场总线之一。但当工业环境恶劣或现场终端设备过于分散时,布线困难成为现场总线技术中不可避免的问题。近年来,物联网技术快速发展,与此相关的无线传感器网络ZigBee技术也得到了飞速发展,ZigBee技术以其可靠性高、低成本、低功耗、布局灵活等众多优势,越来越受到工业通信领域的重视。如果将ZigBee无线终端节点代替传统的执行器或传感器,接入Profibus现场总线网络组成可移动的混合网络,便可以解决上述现场总线布线困难等问题。因此为了解决这种兼容性,研究Prof ibus现场总线与ZigBee之间协议转换的工业无线网关是非常有必要的。现有技术中,如专利为“PR0FIBUS-DP工业现场总线与无线ZIGBEE之间的协议转换装置和方法”和论文“Prof ibus总线的无线网关设计”都介绍了 Prof ibus-DP现场总线与ZigBee无线传感器网络之间的协议转换方法,但这些技术研究都采用单CPU的硬件结构,单个CHJ不仅要完成对两种通信网络的控制,还要完成两种网络的数据交换及协议转换,使得CPU负担过重,软件嵌套复杂,这样必然影响网关协议转换的速率,不能满足现场总线的实时性要求。
[0003]

【发明内容】

[0004]本发明的目的是为了克服现有技术的不足,提供了一种工业无线网关装置及其协议转换方法,该装置内置两个CPU微处理器,分别对Prof ibus-Dp现场总线网络和ZigBee无现场感器网络的数据进行控制与处理,并通过双口 RAM连接,实现数据的共享和交换。本发明可靠性高、实时性强、软件编程简单,很好的实现了无线网络和有线工业网络技术的相互融合。
[0005]本发明是通过以下技术方案实现:
一种工业无线网关装置及其协议转换方法,包括双CPU微处理器模块、Prof ibus-DP总线通信模块、ZigBee通信模块和电源管理模块;所述双CPU微处理器模块由CPUl微处理器、CPU2微处理器和双口 RAM存储器组成,所述Profibus-DP总线通信模块由SPC3协议芯片、光耦隔离电路和RS485驱动器组成,所述ZigBee通信模块由CC2530芯片和相关外围电路组成。
[0006]进一步地,所述双CPU微处理器模块为中心,所述双CPU微处理器模块两端分别与Prof ibus-DP总线通信模块和ZigBee通信模块连接;所述CPUl微处理器通过数据/地址总线及读写控制总线与SPC3协议芯片连接;所述SPC3协议芯片通过光耦隔离电路与RS485驱动器连接,所述RS485驱动器与Prof ibus_DP现场总线网络连接,所述Prof ibus_DP总线通信模块作为Prof ibus网络的DP从站,可以与Prof ibus_DP主站进行通信;所述CPU2微处理器通过UART串口与CC2530芯片连接,所述ZigBee通信模块作为ZigBee无线传感器网络的协调器,负责组建ZigBee网络,可以与ZigBee路由器节点或终端节点进行无线通信,所述CPUl微处理器与CPU2微处理器通过各自的数据/地址总线及读写控制总线与双口 RAM存储器的两端连接,实现两种网络的数据交换和协议转换;所述电源管理模块分别与双CHJ处理器模块、Profibus-DP总线通信模块和ZigBee通信模块连接,为三个模块提供所需的工作电源。
[0007]进一步地,该网关在Prof ibus-DP网络一侧作为DP从站,在ZigBee网络一侧作为协调器,其工作原理是CPUl微处理器和CPU2微处理器并行工作,分别对Profibus-DP总线通信模块和ZigBee通信模块的数据进行控制与处理,并通过双口 RAM连接,实现两种网络的数据交换和协议转换。
[0008]进一步地,所述双口RAM被划分为数据发送缓冲区和数据接收缓冲区,所述数据发送缓冲区存放的是Profibus-DP网络向ZigBee网络发送的数据,所述数据接收缓冲区存放的是ZigBee网络向Prof ibus-DP网络发送的数据;所述CPUl微处理器只能对双口 RAM的数据发送缓冲区进行写操作,对数据接收缓冲区进行读操作,所述CPU2微处理器只能对双口 RAM的数据发送缓冲区进行读操作,对数据接收缓冲区进行写操作,因此数据发送缓冲区和接收缓冲区都是单输入单输出的缓冲区,这样把双口RAM划分成为不同的数据区域可以避免双方存取数据时发生冲突。
[0009]进一步地,所述双口RAM—般通过硬件仲裁或中断仲裁方式来避免数据冒险问题,为了保证系统的实时性,本发明采用双口 RAM的中断仲裁方式来通知对方CPU进行数据交换和协议转换,具体工作步骤如下:
步骤一:对CPUl微处理器和CPU2微处理器进行初始化,并对Profibus-DP总线通信模块和ZigBee通信模块进行初始化。
[0010]步骤二:CPU2微处理器内建立地址映射表。在Prof ibus通信中,主站是通过地址信息与从站进行通信,ZigBee网络中也是用网络地址来区分不同的设备,因此可以通过Prof ibus-DP设备地址与ZigBee节点网络地址的绑定来实现主从站之间的地址定向。其实现方式是:ZigBee协调器建立网络并允许ZigBee节点加入网络后,协调器会根据网络拓扑结构为每一个ZigBee节点分配网络地址,ZigBee节点在被分配网络地址后将其发送给协调器,再通过串口发送给CPU2微处理器,这样就可以在CPU2微处理器内建立一张ZigBee节点网络地址和Prof ibus-DP设备地址相对应的地址映射表,当发生设备断电导致网络地址改变时,只需要及时更新地址映射表就可以保证设备的正常通信。
[0011]步骤三:SPC3协议芯片等待Profibus-DP主站对其进行参数设置、组态设置,新地址设置等。SPC3根据接受到的不同的报文,通过中断的方式通知CPUl微处理器进行以上事件处理,当这些工作全部完成后,主站就可以循环的与从站交换用户数据。
[0012]步骤四:进入数据交换阶段。首先CPUl微处理器查询是否收到Profibus-DP主站发送来的数据,如果是,则将Profibus-DP数据帧放入双口 RAM的发送缓冲区,并对双口 RAM的右端中断信箱进行写操作,向CPU2微处理器发/INTR中断。同时CPU2微处理器查询是否收到ZigBee通信模块发送来的数据,如果收到数据,则查询ZigBee网络与Prof ibus-DP网络对应的地址映射表,并对ZigBee数据帧进行分析并重新打包成符合Prof ibus_DP协议的数据包,存入双口 RAM的接收缓冲区。
[0013]步骤五:若CPU2微处理器收到中断事件,响应/INTR中断,读出双口 RAM发送缓冲区的Prof ibus-DP数据帧后,对Prof ibus-DP数据帧进行分析并重新打包成符合ZigBee协议的数据包,并查询Prof ibus-DP网络与ZigBee网络对应的地址映射表,发送给ZigBee网络里地址相对应的ZigBee节点,最后对双口RAM的右端中断信箱进行读操作,清除中断。同时对双口 RAM的左端中断信箱进行写操作,向CPUl微处理器发/INTL中断。
[0014]步骤六:若CPUl微处理器收到中断事件,响应/INTL中断,读出双口RAM接收缓冲区内已经打包好的数据帧后,发送给Prof ibus-DP主站,最后对双口 RAM的左端中断信箱进行读操作,清除中断。这样该系统就完成了一次完整的数据交换和协议转换过程,之后再返回步骤四,进入下一轮的数据交换。
[0015]本发明与现有技术相比,具有以下突出特点和显著进步:
1、面对现场总线技术因工业现场环境恶劣而无法布线时,引入了ZigBee无线传感器技术,很好的实现了 ZigBee无线网络和有线工业网络技术的相互结合。
2、本发明采用双CPU的硬件结构,使得两个CPU并行工作,互不干扰,既减轻了CPU的工作负担,也简化了软件编程的复杂程度,大大提高了系统的工作效率。
[0016]3、通过双口 RAM的中断冲裁方式实现两个CPU的高速通信,有效的解决了因Prof ibus-DP网络与ZigBee网络速率不匹配而产生数据丢失、通信中断等问题。
[0017]
【附图说明】
[0018]图1是本发明一种工业无线网关装置的硬件结构图。
[0019]图2是图1中Profibus-DP总线通信模块的电路连接图。
[0020]图3是图1中双CPU微处理器模块和ZigBee通信接口模块的电路连接图。
[0021]图4是本发明一种工业无线网关装置及其协议转换方法流程图。
[0022]图5是CPUl微处理器4与CPU2微处理6通过双口 RAM实现数据交换的工作时序图。
[0023]图中:1、RS485驱动器,2、光耦隔离电路,3、SPC3协议芯片,4、CPU1微处理器,5、双口RAM存储器,6、CHJ2,7、ZigBee通信模块,8、双CPU微处理器模块,9、电源管理模块,10、Prof ibus-DP总线通信模块。
[0024]
【具体实施方式】
[0025]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0026]请参阅图1-5,图1是本发明一种工业无线网关装置的硬件结构图;图2是图1中Prof ibus-DP总线通信模块的电路连接图;图3是图1中双CPU微处理器模块和ZigBee通信接口模块的电路连接图;图4是本发明一种工业无线网关装置及其协议转换方法流程图;图5是CPUl微处理器4与CPU2微处理6通过双口 RAM实现数据交换的工作时序图。
[0027]一种工业无线网关装置及其协议转换方法,包括双CPU微处理器模块8、Prof ibus-DP总线通信模块10、ZigBee通信模块7和电源管理模块9。其中,双CPU微处理器模块8由CPUl微处理器4、CPU2微处理器6和双口 RAM存储器5组成,Prof ibus-DP总线通信模块10由SPC3协议芯片3、光耦隔离电路2和RS485驱动器I组成,ZigBee通信模块7由CC2530芯片和相关外围电路组成。
[0028]所述CPU微处理器模块8为中心,两端分别与Prof ibus-DP总线通信模块10和ZigBee通信模块7连接。CPUl微处理器4通过数据/地址总线及读写控制总线与SPC3协议芯片3连接,SPC3协议芯片3通过光耦隔离电路2与RS485驱动器I连接,RS485驱动器I与Prof ibus-DP现场总线网络连接,Prof ibus-DP总线通信模块10作为Prof ibus网络的DP从站,可以与Prof ibus-DP主站进行通信。CPU2微处理器6通过UART串口与CC2530芯片连接,ZigBee通信模块7作为ZigBee无线传感器网络的协调器,负责组建ZigBee网络,可以与ZigBee路由器节点或终端节点进行无线通信。CPUl微处理器4与CPU2微处理器6通过各自的数据/地址总线及读写控制总线与双口 RAM存储器5的两端连接,实现两种网络的数据交换和协议转换。电源管理模块9分别与双CHJ处理器模块8、Profibus-DP总线通信模块10和ZigBee通信模块7连接,为三个模块提供所需的工作电源。
[0029]所述CPUl微处理器与CPU2微处理器为SOC单片机C8051F021,这种单片机与标准的8051结构相比,指令执行速度有很大的提高。标准的8051单片机执行一个单周期指令需要12个系统时钟周期,而C8051F021执行一个单周期指令只需要一个系统时钟周期。
[0030]所述双口 RAM存储器5选用高速1K*8双口静态RAM的IDT7130芯片,SPC3协议芯片3是西门子公司生产的Prof ibus-DP协议芯片,CC2530芯片是TI公司生产的支持ZigBee协议栈的片上系统芯片(SOC)。
[0031]所述Pofi bus-DP总线通信接口模块1的电路连接如图2所示,由SPC3协议芯片3、光耦隔离电路2和RS485驱动器I组成。SPC3协议芯片3的8位数据/低8位地址端DB[7…0]、高8位地址端AB[7…O]和中断信号端X/INT与CPUl微处理器4相对应的8位数据/低8位地址端?3[7‘"0]、高8位地址端?2化"0]和中断信号端/1阶0连接,3?03协议芯片3的读信号端父1?、写信号端XWR和地址锁存信号端ALE与CPUl微处理器4相对应的读信号端/RD、写信号端/WR和地址锁存信号端ALE连接,SPC3协议芯片的串行发送端TXD、接收端RXD和请求发送端RTS与光耦隔离电路2相对应的串行接收端RXD、发送端TXD和请求发送端RTS连接;光耦隔离电路2的串行发送端TXDl、接收端RXDl和请求发送端RTSl和RS485驱动器I的相对应的串行接收端RXDl、发送端TXDl和请求发送端RTSl连接;RS485驱动器I与Profibus-DP现场总线网络连接。
[0032]所述双CPU微处理器模块8的电路连接如图3所示,由CPUl微处理器4、CPU2微处理器6和双口 RAM存储器5组成。CPUl微处理器4的8位数据端P3 [ 7…O ]与双口 RAM存储器5相对应的8位数据端D7L-D0L连接,CPUl微处理器4的低8位地址端P3[7…O]通过锁存器与双口RAM存储器5相对应的低8位地址端A7L-A0L连接,CPUl微处理器4的高2位地址端P2[ I…O]与双口 RAM存储器5相对应的高2位地址端A9L-A8L连接,CPUl微处理器4的读信号端/RD、写信号端/WR、中断信号端/INTl、1/0口P2.2端与双口RAM存储器5相对应的输出使能端/0EL、读写使能端R/WL、中断信号端/INTL和/CEL片选端连接;CPU2微处理器6的8位数据端P0[7…O]与双口 RAM存储器5相对应的8位数据端D7R-D0R连接,CPU2微处理器6的低8位地址端P3[7…O ]通过锁存器与双口 RAM存储器5相对应的低8位地址端A7R-A0R连接,CPU2微处理器6的高2位地址端P2[卜_0]与双口RAM存储器5相对应的高2位地址端A9R-A8R连接,CPU2微处理器6的读信号端/RD、写信号端/WR、中断信号端/INTO、I/O口P2.2端与双口RAM存储器5相对应的的输出使能端/OER、读写使能端R/WR、中断信号端/INTR和/CER片选端连接。
[0033]所述ZigBee通信接口模块7的电路连接如图3所示,由CC2530芯片和相关外围电路组成。CC2530芯片的接收端RXD、发送端TXD连接与CPU2微处理器6相对应的发送端TXD、接收端RXD连接。该网关在Profibus-DP网络一侧作为DP从站,在ZigBee网络一侧作为协调器,其工作原理是CPUl微处理器4和CPU2微处理器6并行工作,分别对Profibus-DP总线通信模块10和ZigBee通信模块7的数据进行控制与处理,并通过双口 RAM存储器5连接,实现两种网络的数据交换和协议转换。其中,双口RAM存储器5被划分为两个区域,包括数据发送缓冲区和数据接收缓冲区,数据发送缓冲区存放的是Profibus-DP网络向ZigBee网络发送的数据,数据接收缓冲区存放的是ZigBee网络向Profibus-DP网络发送的数据。CPUl微处理器4只能对双口 RAM存储器5的数据发送缓冲区进行写操作,对数据接收缓冲区进行读操作,而CPU2微处理器6只能对双口 RAM存储器5的数据发送缓冲区进行读操作,对数据接收缓冲区进行写操作,因此数据发送缓冲区和接收缓冲区都是单输入单输出的缓冲区,这样把双口RAM存储器5划分成为不同的数据区域可以避免双方存取数据时发生冲突。
[0034]作为本似乎用新型一个较佳的实施例,双口RAM—般通过硬件仲裁或中断仲裁方式来避免数据冒险问题,为了保证系统的实时性,本发明采用双口 RAM的中断仲裁方式来通知对方CPU进行数据交换和协议转换,具体工作步骤参阅图2所示:
步骤一:对CPUl微处理器4和CPU2微处理器6进行初始化,并对Profibus-DP总线通信模块10和ZigBee通信模块7进行初始化。
[0035]1)CPU1微处理器4和CPU2微处理器6的初始化主要包括看门狗、I/O口、中断寄存器和一些变量的初始化,CPU2微处理器6还需要初始化UART串口。
[0036]2)Profibus-DP总线通信模块10的初始化主要指SPC3协议芯片3的初始化,包括配置需要的寄存器,设置协议芯片的中断允许,写入从站识别ID号的地址,设置SPC3方式寄存器,设置诊断缓冲器、参数缓冲区、配置缓冲区、地址缓冲区、初始化长度,并根据以上初始化值得到给个缓冲区的指针和辅助缓冲区的指针,根据传输的数据长度,确定输出缓冲区、输入缓冲区及指针。
[0037]3)ZigBee通信模块7的初始化主要指ZigBee协调器CC2530的初始化,包括系统时钟、I/o 口、定时器等硬件模块的初始化和操作系统的初始化。
[0038]步骤二:CPU2微处理器6内建立地址映射表。在Profibus通信中,主站是通过地址信息与从站进行通信,ZigBee网络中也是用网络地址来区分不同的设备,因此可以通过Prof ibus-DP设备地址与ZigBee节点网络地址的绑定来实现主从站之间的地址定向。其实现方式是:ZigBee协调器建立网络并允许ZigBee节点加入网络后,协调器会根据网络拓扑结构为每一个ZigBee节点分配网络地址,ZigBee节点在被分配网络地址后将其发送给协调器,再通过串口发送给CPU2微处理器6,这样就可以在CPU2微处理器6内建立一张ZigBee节点网络地址和Prof ibus-DP设备地址相对应的地址映射表,当发生设备断电导致网络地址改变时,只需要及时更新地址映射表就可以保证设备的正常通信。
[0039]步骤三:SPC3协议芯片3等待Prof ibus-DP主站对其进行参数设置、组态设置,新地址设置等。SPC3协议芯片3根据接受到的不同的报文,通过中断的方式通知CPUl微处理器4进行以上事件处理,当这些工作全部完成后,主站就可以循环的与从站交换用户数据。
[0040]I)参数设置。包括从站类型、从站标识号、参数数据长度、参数数据、从站地址等,这些必须与网关的设备数据库文件(GSD)里描述的一致。当CPUl微处理器4接收到新的参数报文时,会与SPC3协议芯片3初始化设置的实际参数进行比较,如果相同时DP从站才接收此报文。
[0041]2)组态设置。包括从站的输入/输出数据的格式及长度,如果与SPC3协议芯片3初始化时设置的实际通信接口配置一致,网关会给主站发送应答报文,主站再请求网关的诊断数据,以查明网关是否准备好进行用户数据交换。由于ZigBee终端节点数据类型比较多,为每种节点类型配置一次输入/输出数据的格式及长度会比较麻烦,在这里需要定义每个ZigBee节点的数据结构相同。
[0042]3)新地址设置。考虑到Prof ibus-DP总线上可能挂多个无线网关装置,网关地址的从站地址需设置成允许用户修改的模式。
[0043]步骤四:进入数据交换阶段。首先CPUl微处理器4查询是否收到Prof ibus-DP主站发送来的数据,如果是,则将Prof ibus-DP数据帧放入双口 RAM存储器5的发送缓冲区,并对双口 RAM存储器5的03FF单元进行写操作,向CPU2微处理器6发/INTR中断。同时CPU2微处理器6查询是否收到ZigBee通信模块7发送来的数据,如果收到数据,则查询ZigBee网络与Prof ibus-DP网络对应的地址映射表,并对ZigBee数据帧进行分析并重新打包成符合Prof ibus-DP协议的数据包,存入双口 RAM存储器5的接收缓冲区。
[0044]本实施例中选用的IDT7130双口RAM的容量为1K,因此两个最高存储单元03FE和03FF被用作双口RAM中断工作时的中断信箱,其中03FE为左端口中断信箱,03FF为右端口中断信箱,此处并不限于双口 RAM的容量大小,可以选择存储容量更大的双口 RAM。
[0045]步骤五:若CPU2微处理器6收到中断事件,响应/INTR中断,读出双口 RAM存储器5发送缓冲区的Prof ibus-DP数据帧后,对Prof ibus-DP数据帧进行分析并重新打包成符合ZigBee协议的数据包,并查询Prof ibus-DP网络与ZigBee网络对应的地址映射表,发送给ZigBee网络里地址相对应的ZigBee节点,最后对双口 RAM存储器5的03FF单元进行读操作,清除中断。同时对双口 RAM存储器5的03FE单元进行写操作,向CPUl微处理器4发/INTL中断。
[0046]步骤六:若CPUl微处理器4收到中断事件,响应/INTL中断,读出双口 RAM存储器5接收缓冲区内已经打包好的数据帧后,发送给Prof ibus-DP主站,最后对双口 RAM的03FE单元进行读操作,清除中断。这样该系统就完成了一次完整的数据交换和协议转换过程,之后再返回步骤四,进入下一轮的数据交换。
[0047]CPUl微处理器4与CPU2微处理器6通过双口 RAM存储器5实现数据交换的时序图如图3所示,时序图的波形只是示意性的,具体时间长度与两个CPU微处理器的速度,Profibus-DP总线和ZigBee网络的数据传输速率、数据传输长度,以及ZigBee节点个数和节点数据采集频率等特性有关。
[0048]在步骤三的组态设置里规定,为了方便主站对网关的通信接口配置,定义每个ZigBee节点的输入/输出数据的格式及长度完全相同。本实施例假定ZigBee网络里有三种不同传感器(温度、压力、湿度)的ZigBee终端节点准备与Profibus-DP主站进行通信,因此设计每个ZigBee节点的数据长度为8字节输入和2字节输出,其组态数据为0X17和0X21。
[0049]输入数据是ZigBee节点发送给Profibus-DP主站的数据,长度为8个字节。定义第一个字节为节点类型,节点类型指ZigBee节点是路由器节点或终端节点;第二字节到第三字节为ZigBee节点的网络地址;第四字节代表传感器类型,传感器类型指是温度传感器、压力传感器或湿度传感器;第五字节为传感器测量的数据长度;第六字节到第七字节为传感器测量的数据;第八字节为Profibus-DP设备地址。当ZigBee节点发送数据给网关时,实际上只发送前面七个字节,而网关在接收到ZigBee节点发送来的数据后,会根据地址映射表查询到相应的Profibus-DP设备地址,并写入第八个字节发送给Profibus-DP主站,这样主站就知道是哪个ZigBee节点发送的数据。
[0050]输出数据是Profibus-DP主站发送给ZigBee节点的数据,长度为2个字节,也就是主站发送命令给网关,需要读取哪个ZigBee节点的数据。定义第一字节为Prof ibus-DP设备地址;第二字节为传感器类型。当Prof ibus-DP主站发送命令给网关后,同样会根据地址映射表查询到相应的ZigBee网络地址,并把网络地址写入第三个字节后发送给ZigBee协调器,协调器再发送给地址指向的ZigBee节点,这样主站就可以准确无误的发送命令给指定的ZigBee节点。
[0051]本实施例中并不限于规定输入\输出数据的长度和数据包的结构,用户可以根据自己的需求定义输入\输出数据的长度及数据包含义。
[0052]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种工业无线网关装置及其协议转换方法,其特征在于:包括双CHJ微处理器模块、Profibus-DP总线通信模块、ZigBee通信模块和电源管理模块;所述双CPU微处理器模块由CPUl微处理器、CHJ2微处理器和双口 RAM存储器组成,所述Profibus-DP总线通信模块由SPC3协议芯片、光耦隔离电路和RS485驱动器组成,所述ZigBee通信模块由CC2530芯片和相关外围电路组成。2.根据权利要求1所述的一种工业无线网关装置及其协议转换方法,其特征在于:所述双CPU微处理器模块为中心,所述双CPU微处理器模块两端分别与Profibus-DP总线通信模块和ZigBee通信模块连接;所述CPUl微处理器通过数据/地址总线及读写控制总线与SPC3协议芯片连接,所述SPC3协议芯片通过光耦隔离电路与RS485驱动器连接,所述RS485驱动器与Prof ibus-DP现场总线网络连接,所述Prof ibus-DP总线通信模块作为Prof ibus网络的DP从站,可以与Profibus-DP主站进行通信;所述CPU2微处理器通过UART串口与CC2530芯片连接,所述ZigBee通信模块作为ZigBee无线传感器网络的协调器,负责组建ZigBee网络,可以与ZigBee路由器节点或终端节点进行无线通信;所述CPUl微处理器与CPU2微处理器通过各自的数据/地址总线及读写控制总线与双口RAM存储器的两端连接,实现两种网络的数据交换和协议转换;所述电源管理模块分别与双CPU处理器模块、Profibus-DP总线通信模块和ZigBee通信模块连接,为三个模块提供所需的工作电源。3.根据权利要求1所述的一种工业无线网关装置及其协议转换方法,其特征在于:所述的CPUl微处理器与CPU2微处理器为SOC单片机C8051F021。4.根据权利要求1所述的一种工业无线网关装置及其协议转换方法,其特征在于:所述的双口 RAM存储器选用高速1K*8双口静态RAM的IDT7130芯片,所述SPC3协议芯片是西门子公司生产的Prof ibus-DP协议芯片,所述CC2530芯片是TI公司生产的支持ZigBee协议栈的片上系统芯片。5.根据权利要求1所述的一种工业无线网关装置及其协议转换方法,其特征在于:所述ZigBee通信接口模块由CC2530芯片和相关外围电路组成;所述CC2530芯片的接收端RXD、发送端TXD连接与CPU2微处理器相对应的发送端TXD、接收端RXD连接。6.根据权利要求1所述的一种工业无线网关装置及其协议转换方法,其特征在于:所述CPUl微处理器和CPU2微处理器并行工作,分别对Profibus-DP总线通信模块和ZigBee通信模块的数据进行控制与处理,并通过双口 RAM存储器连接,实现两种网络的数据交换和协议转换。7.根据权利要求1所述的一种工业无线网关装置及其协议转换方法,其特征在于:所述双口 RAM存储器被划分为数据发送缓冲区和数据接收缓冲区,所述数据发送缓冲区存放的是Prof ibus-DP网络向ZigBee网络发送的数据,所述数据接收缓冲区存放的是ZigBee网络向Prof ibus-DP网络发送的数据;所述CPUl微处理器只能对双口 RAM存储器的数据发送缓冲区进行写操作,对数据接收缓冲区进行读操作,所述CPU2微处理器只能对双口 RAM存储器的数据发送缓冲区进行读操作,对数据接收缓冲区进行写操作。8.根据权利要求1所述的一种工业无线网关装置及其协议转换方法,其特征在于:采用双口 RAM的中断仲裁方式来通知对方CPU进行数据交换和协议转换,具体工作步骤如下: 步骤一:对CPUl微处理器和CPU2微处理器进行初始化,并对Profibus-DP总线通信模块和ZigBee通信模块进行初始化; 1)CPU1微处理器和CPU2微处理器的初始化主要包括看门狗、I/O口、中断寄存器和一些变量的初始化,CPU2微处理器还需要初始化UART串口 ; 2)Profibus-DP总线通信模块的初始化主要指SPC3协议芯片的初始化,包括配置需要的寄存器,设置协议芯片的中断允许,写入从站识别ID号的地址,设置SPC3方式寄存器,设置诊断缓冲器、参数缓冲区、配置缓冲区、地址缓冲区、初始化长度,并根据以上初始化值得到给个缓冲区的指针和辅助缓冲区的指针,根据传输的数据长度,确定输出缓冲区、输入缓冲区及指针; 3)ZigBee通信模块的初始化主要指ZigBee协调器CC2530的初始化,包括系统时钟、I/O口、定时器等硬件模块的初始化和操作系统的初始化; 步骤二: CPU2微处理器内建立地址映射表,在Prof ibus通信中,主站是通过地址信息与从站进行通信,ZigBee网络中也是用网络地址来区分不同的设备,因此可以通过Profibus-DP设备地址与ZigBee节点网络地址的绑定来实现主从站之间的地址定向;其实现方式是:ZigBee协调器建立网络并允许ZigBee节点加入网络后,协调器会根据网络拓扑结构为每一个ZigBee节点分配网络地址,ZigBee节点在被分配网络地址后将其发送给协调器,再通过串口发送给CPU2微处理器,这样就可以在CPU2微处理器内建立一张ZigBee节点网络地址和Prof ibus-DP设备地址相对应的地址映射表,当发生设备断电导致网络地址改变时,只需要及时更新地址映射表就可以保证设备的正常通信; 步骤三:SPC3协议芯片3等待Profibus-DP主站对其进行参数设置、组态设置,新地址设置等;SPC3协议芯片根据接受到的不同的报文,通过中断的方式通知CPUl微处理器进行以上事件处理,当这些工作全部完成后,主站就可以循环的与从站交换用户数据; 1)参数设置,包括从站类型、从站标识号、参数数据长度、参数数据、从站地址等,这些必须与网关的设备数据库文件(GSD)里描述的一致;当CPUl微处理器接收到新的参数报文时,会与SPC3协议芯片3初始化设置的实际参数进行比较,如果相同时DP从站才接收此报文; 2)组态设置,包括从站的输入/输出数据的格式及长度,如果与SPC3协议芯片初始化时设置的实际通信接口配置一致,网关会给主站发送应答报文,主站再请求网关的诊断数据,以查明网关是否准备好进行用户数据交换; 由于ZigBee终端节点数据类型比较多,为每种节点类型配置一次输入/输出数据的格式及长度会比较麻烦,在这里需要定义每个ZigBee节点的数据结构相同; 3)新地址设置,考虑到Profibus-DP总线上可能挂多个无线网关装置,网关地址的从站地址需设置成允许用户修改的模式; 步骤四:进入数据交换阶段,首先CPUl微处理器查询是否收到Profibus-DP主站发送来的数据,如果是,则将Prof ibus-DP数据帧放入双口 RAM的发送缓冲区,并对双口 RAM的右端中断信箱进行写操作,向CPU2微处理器发/INTR中断;同时CPU2微处理器查询是否收到ZigBee通信模块发送来的数据,如果收到数据,则查询ZigBee网络与Prof ibus-DP网络对应的地址映射表,并对ZigBee数据帧进行分析并重新打包成符合Prof ibus-DP协议的数据包,存入双口RAM的接收缓冲区; 步骤五:若CPU2微处理器收到中断事件,响应/INTR中断,读出双口 RAM发送缓冲区的Prof ibus-DP数据帧后,对Profibus-DP数据帧进行分析并重新打包成符合ZigBee协议的数据包,并查询Prof ibus-DP网络与ZigBee网络对应的地址映射表,发送给ZigBee网络里地址相对应的的ZigBee节点,最后对双口 RAM的右端中断信箱进行读操作,清除中断;同时对双口RAM的左端中断信箱进行写操作,向CPUl微处理器发/INTL中断; 步骤六:若CPUl微处理器收到中断事件,响应/INTL中断,读出双口RAM接收缓冲区内已经打包好的数据帧后,发送给Profibus-DP主站,最后对双口 RAM的左端中断信箱进行读操作,清除中断;这样该系统就完成了一次完整的数据交换和协议转换过程,之后再返回步骤四,进入下一轮的数据交换。9.根据权利要求8—种工业无线网关装置及其协议转换方法,所述的CPUl微处理器与CPU2微处理器通过双口 RAM存储器实现数据交换的时序图的具体时间长度与两个CPU微处理器的速度,Prof ibus-DP总线和ZigBee网络的数据传输速率、数据传输长度,以及ZigBee节点个数和节点数据采集频率等特性有关。10.根据权利要求8—种工业无线网关装置及其协议转换方法,所述的步骤三中组态设置里规定,为了方便主站对网关的通信接口配置,定义每个ZigBee节点的输入/输出数据的格式及长度完全相同。
【文档编号】H04L29/06GK105939253SQ201610229743
【公开日】2016年9月14日
【申请日】2016年4月14日
【发明人】叶杨婷, 谭翠兰, 王莉, 吴向成
【申请人】江汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1