工业无线网接入工业以太网和现场总线的多协议网关及协议转换方法转让专利

申请号 : CN200810201578.8

文献号 : CN101425948B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 费敏锐王海宽王佳承黄丹青马成喜付敬奇

申请人 : 上海大学

摘要 :

本发明涉及一种基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议网关及协议转换方法。本多协议网关包括微处理器、MODBUS/TCP主站、IEEE802.15.4a无线主站、PROFIBUS-DP从站、外扩SDRAM存储器和FLASH存储器、RJ45网口、485物理层接口、USB接口;电路的连接方式是以微处理器为中心,通过MDIO接口外扩DM9161EP以太网物理层接口芯片,通过内部总线连接PROFIBUS-DP协议芯片SPC3,通过SPI总线连接NA1TR8无线协议芯片,外扩USB接口。本多协议网关的协议转换方法是由微处理器控制实现三种网络之间的协议转换。本发明考虑了以当前有线现场总线/工业以太网为主的现状,又兼顾了与无线网络前沿技术的无缝连接,实现一种符合工业实时要求和开放数据通信的有线/无线异构控制网络网关。

权利要求 :

1.一种基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议网关,包括微处理器①、MODBUS/TCP主站、IEEE802.15.4a无线主站、PROFIBUS-DP从站、外扩SDRAM存储器⑦和FLASH存储器⑧、RJ45网口④、485物理层接口⑥、USB接口 其特征在于电路的连接方式是以所述微处理器①为中心,通过MDIO接口⑩连接所述MODBUS/TCP主站的DM9161 EP以太网物理层接口芯片③,通过内部总线⑨连接所述PROFIBUS-DP从站的协议芯片SPC3、所述SDRAM存储器⑦和所述FLASH存储器⑧,通过SPI总线 连接所述IEEE802.15.4a无线主站的NA1TR8协议芯片②,所述微处理器①外扩USB接口 所述微处理器①采用AT91RM9200为核心芯片,所述FLASH内存放程序代码和数据,当任务运行时,程序代码将被复制到所述SDRAM中运行,以提高系统速度。

2.一种基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议转换方法,采用权利要求1所述的基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议网关进行协议转换,其特征在于由IEEE802.15.4a无线主站实现IEEE802.15.4a无线协议,由MODBUS/TCP主站实现MODBUS/TCP协议,由PROFIBUS-DP从站实现PROFIBUS-DP协议,由微处理器控制实现所述三种网络之间的协议转换,其具体步骤如下:

1)微处理器①初始化;

2)将程序代码从FLASH存储器⑧复制到SDRAM存储器⑦中运行;

3)微处理器①通过USB接口读入网络配置参数;

4)MODBUS/TCP主站模块初始化;

5)IEEE802.15.4a无线主站模块初始化;

6)PROFIBUS-DP从站模块初始化;

7)为地址转换开辟结构体数组,根据网络参数,对地址转换映射区初始化

8)MODBUS/TCP主站与IEEE802.15.4a无线主站内数据副本区初始化;

9)MODBUS/TCP主站轮询与协议转换;

10)基于IEEE802.15.4a的无线主站轮询与协议转换;

11)PROFIBUS-DP从站轮询与协议转换;

12)返回步骤9),循环运行。

3.如权利要求2所述的基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议转换方法,其特征在于所述步骤4)的MODBUS/TCP主站模块初始化的步骤为:(1)初始化AT91RM9200微处理器①中的EMAC;

(2)通过微处理器①复位DM9161EP以太网物理层接口芯片③;

(3)通过微处理器①的MDIO接口初始化DM9161EP以太网物理层接口芯片③,配置以太网物理层接口芯片中的模式控制寄存器;

(4)使能EMAC的接收/发送中断;

(5)进入MODBUS/TCP协议入口程序,使MODBUS/TCP主站进入正常运行状态。

4.如权利要求2所述的基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议转换方法,其特征在于所述步骤5)的IEEE802.15.4a无线主站模块初始化的步骤为:(1)初始化AT91RM9200微处理器①中的SPI接口;

(2)通过微处理器①复位NA1TR8协议芯片②;

(3)微处理器①发送同步字,使NA1TR8协议芯片②和微处理器①的数据大小端同步;

(4)通过微处理器①使能NA1TR8协议芯片②内部时钟,配置NA1TR8协议芯片②内寄存器的访问方式,设定数据的重发机制,使能接收/发送中断;

(5)由程序配置IEEE802.15.4a无线主站各参数;

(6)启动NA1TR8协议芯片②,IEEE802.15.4a无线主站进入正常运行状态。

5.如权利要求2所述的基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议转换方法,其特征在于所述步骤6)的PROFIBUS-DP从站模块初始化的步骤为:(1)初始化AT91RM9200微处理器①的内部总线接口⑨;

(2)由程序设置SPC3协议芯片⑤的中断允许,写入从站识别号和地址;

(3)由程序设置SPC3协议芯片⑤的方式寄存器,设置诊断缓冲区、参数缓冲区、配置缓冲区及地址缓冲区的长度;

(4)根据以上初始值得出各个缓冲区的指针和辅助缓冲区的指针;

(5)进入PROFIBUS-DP从站主程序,PROFIBUS-DP从站进入正常运行状态。

6.如权利要求2所述的基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议转换方法,其特征在于所述步骤7)的地址转换映射区初始化的步骤如下:(1)在微处理器内存中开辟一片内存区作为地址转换映射区;

(2)为IEEE802.15.4a无线网络,MODBUS/TCP网络和PROFIBUS-DP网络分别建立一个结构体数组;

(3)微处理器①根据各网络的配置参数,分别初始化结构体数组。

7.如权利要求2所述的基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议转换方法,其特征在于所述步骤9)的MODBUS/TCP主站轮询与协议转换的步骤为:(1)MODBUS/TCP主站收到报文,判断报文的目标地址是否在同一网络中,若是,直接下发报文进行操作;若否,MODBUS/TCP主站则轮询MODBUS/TCP网络子节点,更新数据副本区;

(2)MODBUS/TCP主站轮询IEEE802.15.4a无线主站,若IEEE802.15.4a无线主站未收到报文,则轮询无线子节点,更新数据副本区,转到步骤(5)继续;若IEEE802.15.4a无线主站收到报文,获取网络源地址与目标地址,等待地址转换;

(3)读微处理器中地址转换映射区内的结构体数组,根据数组内容进行对应的转换;

(4)地址转换完成后,MODBUS/TCP主站判断报文性质:

A.若是普通报文:对IEEE802.15.4a无线主站的输入/输出数据副本区进行操作,返回报文响应;在下一个轮询周期内,IEEE802.15.4a无线主站输入区内数据将被写入子节点,IEEE802.15.4a无线主站输出区内数据将被更新;

B.若是紧急报文:IEEE802.15.4a无线主站直接对子节点进行相应操作,返回报文响应;

(5)MODBUS/TCP主站轮询PROFIBUS-DP从站,若PROFIBUS-DP从站未收到报文,不进行任何操作;若PROFIBUS-DP从站收到报文,根据报文内容对双口RAM进行相应操作;双口RAM中的数据将根据PROFIBUS主站对从站的轮询时间进行随时更新;

(6)MODBUS/TCP主站轮询结束,进入无线主站轮询各子节点状态。

8.如权利要求2所述的基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议转换方法,其特征所述步骤10)基于IEEE802.15.4a的无线主站轮询与协议转换的步骤为:(1)IEEE802.15.4a无线主站收到报文,判断报文目标地址是否在同一网络中,若是,直接下发报文进行操作;若否,IEEE802.15.4a无线主站则轮询无线网络子节点,更新数据副本区;

(2)IEEE802.15.4a无线主站轮询MODBUS/TCP主站,若MODBUS/TCP主站未收到报文,轮询MODBUS/TCP子节点,更新数据副本区,转到步骤(5)继续;若MODBUS/TCP主站收到报文,获取网络源地址与目标地址,等待地址转换;

(3)读微处理器中地址转换映射区内的结构体数组,根据数组内容进行对应的转换;

(4)地址转换完成后,IEEE802.15.4a无线主站判断报文性质:A.若是普通报文:对MODBUS/TCP主站的输入/输出数据副本区进行操作,返回报文响应;在下一个轮询周期内,MODBUS/TCP主站输入区内数据将被写入子节点,MODBUS/TCP主站输出区内数据将被更新;

B.若是紧急报文:MODBUS/TCP主站直接对子节点进行相应操作,返回报文响应;

(5)无线主站轮询PROFIBUS-DP从站,若PROFIBUS-DP从站未收到报文,不进行任何操作;若PROFIBUS-DP从站收到报文,根据报文内容对双口RAM进行相应操作;双口RAM中的数据将根据PROFIBUS主站对从站的轮询时间进行随时更新;

(6)IEEE802.15.4a无线主站轮询结束,进入MODBUS/TCP主站轮询各子节点状态。

9.如权利要求2所述的基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议转换方法,其特征在于所述步骤11)的PROFIBUS-DP从站轮询与协议转换的步骤为:(1)若PROFIBUS-DP从站未收到报文,不进行任何操作,转至步骤(4);

(2)若PROFIBUS-DP从站收到报文,根据报文内容对双口RAM进行相应操作;

(3)双口RAM中的数据将根据PROFIBUS主站对从站的轮询时间进行随时更新;

(4)程序返回。

说明书 :

工业无线网接入工业以太网和现场总线的多协议网关及协

议转换方法

技术领域

[0001] 本发明涉及一种将基于IEEE802.15.4a的工业无线网络引入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议网关及协议转换方法,涉及到多种通讯协议的转换,属于现场总线控制技术领域。技术背景
[0002] 现场总线是用于生产制造现场的底层通信网络,它实现了微机化的现场测量控制仪器或设备之间的双向串行多节点数字通信,具有实时性、稳定性高的特点。自从2000年国际电工委员会(IEC)公布通过了IEC61158现场总线标准,现在已有十多种现场总线标准。
[0003] 以太网是商业领域里普遍采用的局域网络,结合TCP/IP协议构成了Internet的基础,成为网络应用中事实上的标准,这也使得现场总线控制系统通过以太网与企业信息网集成实现工厂监控一体化成为大势所趋。
[0004] 当前现场总线、工业以太网技术在工业生产中得到广泛应用,然而流程工业的复杂性,有线网络无法满足恶劣环境下的测控需求,而无线网络技术为此提供了良好的解决途径。所以将无线网络与有线网络的相互融合的异构网络控制系统是解决复杂流程工业测控的必然趋势。
[0005] 工业无线技术的概念由美国能源部在2002年首次提出。工业无线技术是一种新兴的面向设备间信息交互的无线通信技术,适合在恶劣的工业现场环境使用,具有抗干扰能力强、能耗低、通信实时性好等技术特征。
[0006] 目前工业自动化领域运用的无线技术主要集中在WLAN/IEEE802.11、BlueTooth/IEEE802.15.1和ZigBee/IEEE802.15.4三种上。在研究中发现传统的IEEE802.11无线通信网络是面向办公环境而设计的,其物理层的传输机制,如WLAN的DSSS(直接序列扩频)技术传送速率高,适合于高速大数据吞吐量的网络应用,耗能也高,抗干扰性不好,不适于许多工业控制应用节点的使用,必须在物理层、MAC层以及协议模型方面改进,以提供可靠的实时服务。Bluetooth的FSSS(调频扩频)机制对上述问题改进不明显,且每一cell中的节点数量仅为7个,只能适合于某些特殊的工业应用。IEEE 802.15.4技术在短距离、小数据量的无线传感网络应用中具有很好的优势和发展前景,但在苛刻的流程工业环境应用中,网络协议需要作一定改进,以降低空间反射、频率干扰等带来的延迟和丢包问题。
[0007] 目前新一代短距离无线数字传输技术是CSS(Chirp Spread Spectrum,宽带线性调频扩频,又简称为切普扩频),该调制方法综合了FSK、PSK和ASK三种方法的优点,能十分有效地抑制工业环境中各种噪音和多径干扰。其每一位传输所需功耗是IEEE802.11b的1/6,Bluetooth的1/60。其数据传送速率最高可达到2Mbps,室外传播损耗距离达900m,接收灵敏度为-92dBm/Mbps。因此,基于CSS的IEEE802.15.4a已经在2006年10月份经过投票被批准为IEEE的面向工业无线控制的最新的一个国际通信标准(正式颁布定于2007年7月)。简单的说,CSS技术加上IEEE802.15.4的MAC协议和组网规则就构成了改进的IEEE802.15.4a,特别适合在工业自动化现场设备层控制网络使用,具有低成本、高速率、低功耗的优越性。
[0008] 王平等人在2006年提交的实用新型专利“基于EPA标准的无线手持终端”(申请号200620110844.2)结合无线技术和EPA标准,设计了一种基于EPA标准的无线手持终端,将802.11b无线网络引入了工业现场。刘健等人在2008年提交的发明专利“多协议工业以太网适配器”(申请号200710171777.4)提供了一种多协议工业以太网适配器,作为一种独立的接口产品,适用于通讯节点、协议转换器和协议网关方面。但在已公布的专利文献中尚未有涉及到关于将802.15.4a工业无线网络引入到MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的方法和装置。

发明内容

[0009] 本发明的目的在于针对已有技术存在的缺陷,提供一种基于IEEE802.15.4a的工业无线网络引入MODBUS/TCP工业以太网和FROFIBUS-DP现场总线的多协议网关及协议转换方法。
[0010] 本发明既考虑了当前有线现场总线/工业以太网为主的现状,又兼顾了与无线网络前沿技术的无缝连接。旨在实现一种符合工业实时要求和开放数据通信的有线/无线异构控制网络网关,构建具有通用性的协议转换机制,使得现场带有线或无线网络接口的传感器、变送器和执行器等智能设备能够接入统一的系统协议构架内,从而为实现包括最底层实时信息的企业综合自动化奠定基础。
[0011] 本发明涉及的IEEE802.15.4a是一种新型工业无线局域网标准,特性上可以将这种新型无线网络描述为ZigBee和RFID的混合体,属于超宽带无线技术(Ultra Wide Band,UWB)的一种。超宽带无线技术是一种短距离、使用1GHz以上带宽且信号功率谱密度低的最先进的无线通信技术。
[0012] PROFIBUS-DP符合EN50170欧洲标准且符合IEC1158-2标准,专为自动化系统和设备级分散I/O之间的通信而设计,主要用于分布式控制系统的高速数据传输。它采用OSI模型中的物理层,数据链路层包含了ROFIBUS-DP基本功能与行规的用户接口。
[0013] MODBUS/TCP是MODBUS的延伸,协议的物理层和数据链路层是基于以太网和标准TCP/IP协议,而应用层的定义与MODBUS协议家族的其他协议通用。它定义了一个结构简单的、开放和广泛应用的传输协议,用于主从式通信。
[0014] IEEE802.15.4a工业无线网络标准、PROFIBUS-DP现场总线协议和MODBUS/TCP工业以太网协议在物理层采用不同的规范,在数据链路层采用不同的介质访问方式。为了实现在这三种网络之间的互通,多协议网关既要满足三种协议物理层和数据链路层的要求,又能够对不同的应用层定义分别做出解释。
[0015] 为了实现上述目的,本发明的构思是:
[0016] 本发明实现基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议网关及协议转换方法是:它采用AT91RM9200微处理器作为核心控制芯片,该芯片集成了以太网控制器,USB控制器;通过外扩DM9161EP以太网物理层接口芯片,并编写了MODBUS/TCP主站程序,从而实现一个MODBUS/TCP主站模块。微处理器通过内部总线与西门子SPC3协议芯片连接,实现一个PROFIBUS-DP从站模块。SPC3协议芯片集成了PROFIBUS-DP的全部协议,可以极大减轻相连微处理器的负荷。微处理器通过SPI总线与NA1TR8无线芯片连接,并编写了无线主站程序,从而实现一个无线主站模块,顺利将IEEE802.15.4a无线网络接入。并且通过整个系统通过统一协议转换模型,实现“两主一从站”之间的协议转换。
[0017] 在此协议转换模型中,IEEE802.15.4a无线网络和MODBUS/TCP工业以太网各有一个主站,两者同时存在,它们能独立完成相应功能,且两者之间相互对等。每个主站都有自己的轮询周期,系统为各主站建立了一个数据副本区,对于需要转换的从节点的数据信息,都在这个数据副本区中储存并一一对应。各主站在轮询该类站点时,把获取的数据或将写入的数据映射到对应的副本区中。通过数据副本区和地址转换技术,使主站可以访问对方从站的数据,且两主站之间可以互相访问对方的数据。对PROFIBUS从站点,两个主站都可以访问其数据区。
[0018] 为了使系统中的两个主站(A网络与B网络)可以独立地对所有的子节点进行访问,首先需要对报文进行地址转换,即利用网关将B网络中的子节点地址转换成A网络地址。在网关的内存中开辟地址转换映射区,预先储存各子节点与其他网络主站通信时地址的对应关系。当收到需要转换的报文时,在地址转换映射区内比对查找,根据此映射关系将目标地址转换为对应的B网络地址。对于从站(C网络)同样操作。具体步骤如下:
[0019] (1)在微处理内存中开辟一片内存区作为地址转换映射区。
[0020] (2)根据IEEE802.15.4a网络与MODBUS/TCP网络分别建立一个结构体数组。
[0021] (3)根据网络配置参数,初始化结构体数组,建立各个网络之间节点的对应关系。
[0022] (4)根据当前报文的地址,在地址转换映射区内比对查找。
[0023] (5)根据映射关系,重新封装新的目标地址。
[0024] 系统在的主程序流程为:系统上电后微处理器初始化,读入配置参数,对无线主站模块、MODBUS/TCP主站模块和PROFIBUS-DP从站模块初始化,地址转换映射区初始化,数据副本区初始化,进入数据交互与协议转换流程。此后,若不发生异常情况,系统将始终处于数据交互与协议转换状态中。
[0025] 协议转换的流程为:
[0026] 首先主站对MODBUS/TCP网络进行轮询,若报文属于自身网络,则可直接下发报文进行操作。
[0027] 若报文属于无线协议站点,则进行地址转换。若是普通报文转发,分析报文所需执行的操作。若是读操作,则直接读取该协议数据输出副本区内的数据,返回报文响应,子节点将在该协议的轮询周期时更新输出区的数据;若是写操作,则将数据写入数据输入副本区,返回报文相应,该部分数据将在该协议的轮询周期写入到对应子节点中。若是紧急报文转发,在完成地址转换后,对该协议的相应的子节点进行直接操作后返回,并更新该协议的数据副本区。
[0028] 若报文属于PROFIBUS-DP从站,则进行地址转换,直接对从站模块中的双口RAM进行读写操作,其数据更新取决于PROFIBUS主站对其的轮询周期。
[0029] 上述协议转换的流程假定当时为MODBUS/TCP主站轮询其他节点的状态,若是无线主站轮询其他节点的状态,也遵从相对应的流程,只需将两主站的位置对换即可。而PROFIBUS-DP从站只作为上述两主站的从站站点,不做轮询。
[0030] 根据上述发明构思,本发明采用下述技术方案:
[0031] 一种基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议网关,包括微处理器、MODBUS/TCP主站、IEEE802.15.4a无线主站、PROFIBUS-DP从站、外扩SDRAM存储器和FLASH存储器、RJ45网口、485物理层接口、USB接口;其特征在于电路的连接方式是以所述微处理器为中心,通过MDIO接口连接所述MODBUS/TCP主站的DM9161 EP以太网物理层接口芯片,通过内部总线连接所述PROFIBUS-DP从站的协议芯片SPC3、所述SDRAM存储器和所述FLASH存储器,通过SPI总线连接所述IEEE802.15.4a无线主站的NA1TR8协议芯片,外扩USB接口。
[0032] 基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议转换方法,采用上述的基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议网关进行协议转换,由IEEE802.15.4a无线主站实现IEEE802.15.4a无线协议,由MODBUS/TCP主站实现MODBUS/TCP协议,由PROFIBUS-DP从站实现PROFIBUS-DP协议,由微处理器实现所述三种网络之间的协议转换,其具体步骤如下:
[0033] 1)微处理器初始化;
[0034] 2)将程序代码从FLASH存储器复制到SDRAM存储器中运行;
[0035] 3)微处理器通过USB读入网络配置参数;
[0036] 4)MODBUS/TCP主站模块初始化;
[0037] 5)IEEE802.15.4a无线主站模块初始化;
[0038] 6)PROFIBUS-DP从站模块初始化;
[0039] 7)为地址转换开辟结构体数组,根据网络参数的指示,对地址转换映射区初始化;
[0040] 8)MODBUS/TCP主站与无线主站内数据副本区初始化;
[0041] 9)MODBUS/TCP主站轮询与协议转换;
[0042] 10)基于IEEE802.15.4a的无线主站轮询与协议转换;
[0043] 11)PROFIBUS-DP从站轮询与协议转换;
[0044] 12)返回步骤9),循环运行。
[0045] 本发明与现有的技术相比,具有以下的突出特点和显著进步:
[0046] 1.微处理器的SPI接口与NA1TR8协议芯片连接,实现了将IEEE802.15.4a工业无线网络引入到MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的系统结构中。
[0047] 2.系统中存在两个主站,既可以同时作为主站独立并行工作,又可以配置为主从关系,系统在上述两种情况下均能够稳定运行。
[0048] 3.基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议网关基于映射关系实现了地址转换技术,使两主站之间能够对等地访问对方的从节点。附图说明:
[0049] 图1是本发明实施例的硬件平台示意图。
[0050] 图2是本发明实施例的多协议网关主程序流程图。
[0051] 图3是本发明实施例的MODBUS/TCP以太网初始化配置子程序流程图。
[0052] 图4是本发明实施例的无线网络初始化配置子程序流程图。
[0053] 图5是本发明实施例的PROFIBUS-DP初始化配置子程序流程图。
[0054] 图6是本发明实施例的地址转换的结构示意图。
[0055] 图7是本发明实施例的统一报文模型图
[0056] 图8是本发明实施例的MODBUS/TCP主站轮询流程图。
[0057] 图9是本发明实施例的IEEE802.15.4a无线主站轮询流程图。具体实施方式:
[0058] 下面结合附图对本发明的一个优选实施例进行说明:
[0059] 参见图1,本基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议网关,包括微处理器①、MODBUS/TCP主站、IEEE802.15.4a无线主站、PROFIBUS-DP从站、外扩SDRAM存储器⑦和FLASH存储器⑧、RJ45网口④、485物理层接口⑥、USB接口 其电路的连接方式是以微处理器①为中心,通过MDIO接口⑩外扩DM9161 EP以太网物理层接口芯片③,通过内部总线⑨连接PROFIBUS-DP协议芯片SPC35,通过SPI总线 连接NA1TR8无线协议芯片②,外扩USB接口
[0060] 采用AT91RM9200微处理器①作为系统的核心控制芯片。微处理器①通过SPI总线 与NA1TR8无线协议芯片②连接,形成一个无线主站模块,无线网络与无线子节点 互联。无线协议芯片采用了宽带线性调频扩频(Chirp Spread Spectrum)技术作为实现工业无线网络协议IEEE802.15.4a的基准物理层标准。此外,无线协议芯片含有ISM通带滤波器以提高抗干扰性,用户可以在500kbps、1Mbps和2Mbps中选择适合的数据传输率。
[0061] AT91RM9200微处理器①集成了以太网控制器,通过MDIO接口⑩外扩DM9161EP以太网物理层接口芯片③。它的功能包括物理编码子层、物理媒体附件、双绞线物理媒体子层、1OBASE-TX编码/解码器和双绞线媒体访问单元等。接口芯片对外通过RJ45网口④与其他的MODBUS子节点 进行通信,形成一个MODBUS/TCP主站模块。
[0062] AT91RM9200微处理器①通过内部总线⑨与PROFIBUS协议芯片SPC3⑤连接,并加上485物理层接口⑥形成一个PROFIBUS-DP从站模块。SPC3芯片包括全部的DP协议,可独立完成全部通信协议,最高可用于12Mbps总线,微处理器操作SPC3芯片就像操作其内部RAM。
[0063] AT91RM9200微处理器①外扩SDRAM存储器⑦和FLASH存储器⑧,前者存放程序运行的代码,而后者储存现场采集到的数据。当任务运行时,程序代码将从FLASH存储器复制到SDRAM存储器中进行运行,提高系统速度。微处理器①还与USB接口 连接,用于基于PC机的软件配置。
[0064] 参见图2,本基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议转换方法,采用上述的基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议网关进行协议转换,IEEE802.15.4a无线主站实现IEEE802.15.4a无线协议,由MODBUS/TCP主站实现MODBUS/TCP协议,由PROFIBUS-DP从站实现PROFIBUS-DP协议,由微处理器实现所述三种网络之间的协议转换,其具体步骤如下:
[0065] 1)微处理器①初始化;
[0066] 2)将程序代码从FLASH存储器⑧复制到SDRAM存储器⑦中运行;
[0067] 3)微处理器①通过USB接口读入网络配置参数;
[0068] 4)MODBUS/TCP主站模块初始化;
[0069] 5)IEEE802.15.4a无线主站模块初始化;
[0070] 6)PROFIBUS-DP从站模块初始化;
[0071] 7)为地址转换开辟结构体数组,根据网络参数的指示,对地址转换映射区初始化;
[0072] 8)MODBUS/TCP主站与无线主站内数据副本区初始化;
[0073] 9)MODBUS/TCP主站轮询与协议转换;
[0074] 10)基于IEEE802.15.4a的无线主站轮询与协议转换;
[0075] 11)PROFIBUS-DP从站轮询与协议转换;
[0076] 12)返回步骤9),循环运行。
[0077] 参见图3,在MODBUS/TCP以太网主站模块正常工作前,需要对其进行初始化,包括初始化AT91RM9200微处理器①的EMAC接口,然后复位DM9161EP以太网物理接口芯片③。通过AT91RM9200微处理器①的MDIO接口初始化DM9161EP以太网物理接口芯片③,配置模式控制寄存器,使能EMAC的接收/发送中断。最后进入协议主程序,使MODBUS/TCP主站模块正常工作。具体初始化的步骤如下:
[0078] (1)初始化AT91RM9200微处理器①中的EMAC接口;
[0079] (2)通过微处理器①复位DM9161EP以太网物理层接口芯片③;
[0080] (3)通过微处理器①的MDIO接口初始化DM9161EP以太网物理层接口芯片③,配置以太网物理层接口芯片以太网物理层接口芯片中的模式控制寄存器;
[0081] (4)通过微处理器①使能EMAC的接收/发送中断;
[0082] (5)进入MODBUS/TCP协议入口程序,使MODBUS/TCP主站进入正常运行状态。
[0083] 参见图4,在无线主站模块正常工作前,需要对NA1TR8协议芯片②进行初始化,包括初始化AT91RM9200微处理器①的SPI接口,然后复位NA1TR8无线协议芯片②。发送大小端同步字,同时使能芯片内部时钟,配置寄存器的访问方式,设定数据的重发机制,使能接收/发送中断等。最后启动无线芯片,使主站开始正常运行。具体初始化的步骤如下:
[0084] (1)初始化AT91RM9200微处理器①中的SPI接口;
[0085] (2)通过微处理器①复位NA1TR8无线协议芯片②;
[0086] (3)微处理器①发送同步字,使无线协议芯片②和微处理器①的数据大小端同步;
[0087] (4)通过微处理器①使能无线协议芯片内部时钟,配置无线协议芯片内寄存器的访问方式,设定数据的重发机制,使能接收/发送中断等;
[0088] (5)由程序配置无线主站各参数;
[0089] (6)启动NA1TR8无线协议芯片②,无线主站进入正常运行状态。
[0090] 参见图5,PROFIBUS-DP从站接口在上电之后还处于离线状态,不能接收任何报文,为此必须对SPC3协议芯片⑤进行初始化,需要完成从站基本信息及功能相关寄存器的配置,SPC3协议芯片⑤内部数据缓冲区指针的计算以及外部中断相关的各种定义。在通电后,SPC3协议芯片⑤上会获得一个复位脉冲,从而进入复位模式。随后进行初始化,以设置允许中断、写入从站识别号和地址、片内方式寄存器、诊断缓冲区、参数缓冲区、配置缓冲区、地址缓冲区、初始长度,并根据以上初始值求出各个缓冲区的指针及辅助缓冲区的指针,根据传输的数据长度,确定输入/输出缓冲区及指针,开启中断等,然后对SPC3协议芯片⑤发送一个启动命令。具体的初始化步骤如下:
[0091] (1)初始化AT91RM9200微处理器①的内部总线接口;
[0092] (2)由程序设置SPC3协议芯片⑤的中断允许,写入从站识别号和地址;
[0093] (3)由程序设置SPC3协议芯片⑤的方式寄存器,设置诊断缓冲区、参数缓冲区、配置缓冲区、地址缓冲区的长度及其他参数;
[0094] (4)根据以上初始值得出各个缓冲区的指针和辅助缓冲区的指针;
[0095] (5)进入PROFIBUS-DP从站主程序,从站进入正常运行状态。
[0096] 参见图6,为地址转换开辟的结构体数组的具体实现:首先为不同的网络开辟一个结构体数组。其中结构体数组中结构体第一个数据是当前网络的从站地址,第二个数据为一指针,根据网络的配置参数,指向另一网络相应的从站地址的结构体地址,如该网络无对应的从站,就直接指向空。
[0097] 参见图7,本基于IEEE802.15.4a的工业无线网络接入MODBUS/TCP工业以太网和PROFIBUS-DP现场总线的多协议网关的统一报文模型为:首先前两个字节为该报文所涉及的从站地址;第3个字节为该报文的状态,00为普通报文,01为紧急报文;后面为报文,根据报文的不同,字节长度不同,最后两字节为报文结束符,为FE,FD。
[0098] 参见图8,在AT91RM9200微处理器①中写有协议转换程序实现不同网络间的协议转换。整个系统的轮询周期由三部分组成:由MODBUS/TCP主站轮询自身网络中的子节点,然后轮询无线主站,最后轮询PROFIBUS-DP从站。
[0099] 由MODBUS/TCP主站轮询与协议转换步骤为:
[0100] 1.MODBUS/TCP主站收到报文,判断报文的目标地址是否在同一网络中,若是,直接下发报文进行操作;若否,MODBUS/TCP主站则轮询MODBUS/TCP网络子节点,更新数据副本区;
[0101] 2.MODBUS/TCP主站轮询无线主站,若无线主站未收到报文,则轮询无线子节点,更新数据副本区,转到步骤(5)继续;若无线主站收到报文,获取网络源地址与目标地址,等待地址转换;
[0102] 3.读微处理器中地址转换映射区内的结构体数组,根据数组内容进行对应的转换;
[0103] 4.地址转换完成后,MODBUS/TCP主站判断报文性质:
[0104] A.若是普通报文:对无线主站的输入/输出数据副本区进行操作,返回报文响应。在下一个轮询周期内,无线主站输入区内数据将被写入子节点,无线主站输出区内数据将被更新;
[0105] B.若是紧急报文:无线主站直接对子节点进行相应操作,返回报文响应;
[0106] 5.MODBUS/TCP主站轮询PROFIBUS-DP从站,若PROFIBUS-DP从站未收到报文,不进行任何操作;若PROFIBUS-DP从站收到报文,根据报文内容对双口RAM进行相应操作。双口RAM中的数据将根据PROFIBUS主站对从站的轮询时间进行随时更新;
[0107] 6.MODBUS/TCP主站轮询结束,进入无线主站轮询各子节点状态。
[0108] 参见图9,由无线主站轮询与协议转换步骤为:
[0109] (1)无线主站收到报文,判断报文目标地址是否在同一网络中,若是,直接下发报文进行操作;若否,无线主站则轮询无线网络子节点,更新数据副本区;
[0110] (2)无线主站轮询MODBUS/TCP主站,若MODBUS/TCP主站未收到报文,轮询MODBUS/TCP子节点,更新数据副本区,转到步骤(5)继续;若MODBUS/TCP主站收到报文,获取网络源地址与目标地址,等待地址转换;
[0111] (3)读微处理器中地址转换映射区内的结构体数组,根据数组内容进行对应的转换;
[0112] (4)地址转换完成后,无线主站判断报文性质:
[0113] A.若是普通报文:对MODBUS/TCP主站的输入/输出数据副本区进行操作,返回报文响应。在下一个轮询周期内,MODBUS/TCP主站输入区内数据将被写入子节点,MODBUS/TCP主站输出区内数据将被更新;
[0114] B.若是紧急报文:MODBUS/TCP主站直接对子节点进行相应操作,返回报文响应;
[0115] (5)MODBUS/TCP主站轮询PROFIBUS-DP从站,若PROFIBUS-DP从站未收到报文,不进行任何操作;若PROFIBUS-DP从站收到报文,根据报文内容对双口RAM进行相应操作。双口RAM中的数据将根据PROFIBUS主站对从站的轮询时间进行随时更新;
[0116] (6)无线主站轮询结束,进入MODBUS/TCP主站轮询各子节点状态。
[0117] 例如,MODBUS/TCP主站收到如下的报文:
[0118]
[0119] MODBUS/TCP主站在地址转换映射区内查询结构体数组,指针指向无线主站的从站地址,完成地址转换。分析报文内容,其中00 00代表节点编号,03功能号代表读操作,0000代表起始地址,01代表字节长度,报文状态00属于普通报文。直接读取无线从站的副本区的数据。如报文状态为01,为紧急报文,则将把报文重新转换为无线报文:00 04 01 01,
00代表节点编号,04功能号代表读操作,01代表字节长度,01代表起始地址。直接通过无线获取该无线从站的数据,并更新相应的数据副本区。