一种基于Cortex-M处理器的KNX-ModbusTCP协议转换网关的制作方法

文档序号:12376619阅读:986来源:国知局
一种基于Cortex-M处理器的KNX-Modbus TCP协议转换网关的制作方法与工艺

本发明属于楼宇自控技术领域,特别涉及基于KNX和Modbus TCP协议的楼宇自动化控制技术领域。



背景技术:

KNX是Konnex的缩写,1999年5月,欧洲三大总线协议EIB、BatiBus和EHSA合并成立了Konnex协会,推出了KNX协议。该协议以EIB为基础,兼顾了BatiBus和EHSA的物理层规范并吸收了BatiBus和EHSA中配置模式等优点,提供了家庭、楼宇自动化的完整解决方案。KNX是被正式批准的住宅和楼宇控制领域的开放式国际标准,同时KNX在2013年5月成为了中国国家推荐性标准GB/T 20965-2013《控制网络HBES技术规范——住宅和楼宇控制系统》。

Modbus是由施耐德电气公司在1979年发明的,是全球第一个真正用于工业现场的总线协议,Modbus总线协议也是中国国家标准GB/T19582-2008,此协议支持传统的RS-232、RS-422、RS-485和以太网设备,许多工业设备包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准,据不完全统计截止到2007年,Modbus的节点安装数量已经超过了1000万个。Modbus TCP的应用层还是采用Modbus协议(Modbus是OSI模型应用层协议),简单高效,其采用TCP协议和502端口进行通讯,用户使用方便,连接可靠;网络层使用IP,因为因特网使用此协议,因此Modbus TCP不但可以在局域网上使用,还可以在广域网和因特网上使用,而且不使用专用硬件,全部采用标准的以太网硬件,因此得到了大量的使用。

在轨道交通中常使用SCADA系统,轨道交通站点的很多照明系统采用的是KNX系统,而很多设备和集成接口还是以Modbus为主,SCADA系统可以方便的集成Modbus系统和设备,但是KNX系统却无法集成,因此需要一个集成网关,可以把KNX照明系统无缝集成到整个的监控系统中,这样的网关目前在国内尚无厂家开发,本发明着重于满足这一市场需求。



技术实现要素:

为解决背景技术所存在的问题,实现KNX系统和Modbus TCP系统的集成和服务共享,本发明公开了一种基于Cortex-M处理器的易于配置、方便维护、可靠性高的KNX-Modbus TCP协议转换网关。

本发明从功能上划分,主要包括KNX通信模块,网关配置模块,Modbus TCP通信模块,协议转换模块。

本发明的KNX通信模块采用总线供电方式,网关配置模块,Modbus TCP通信模块,协议转换模块通过外部电源供电,支持直流9-30VDC供电或者交流24VAC供电。

本发明的KNX通信模块与网关配置模块、Modbus TCP协议模块、协议转换模块电气隔离。

本发明的网关配置模块接收上位机的配置服务,实现与上位机配置软件的数据传输。

本发明的KNX通信模块支持标准的KNX协议,实现对已配置的KNX设备进行监听和操作,支持的KNX数据类型包括:开关量(Switch,1比特)、驱动控制(Drive control,1比特)、优先级(Priority,2比特)、ASC码字符(8比特)、调光(Dimming,4比特)、百分数(Scaling,8比特)、浮点(Float,16比特)、计数器(Counter,8/16/32比特)。

本发明的Modbus TCP通信模块支持标Modbus TCP协议和TCP/IP协议,支持的功能码包括:读线圈(0x01),读离散量输入(0x02),读保持寄存器(0x03),读输入寄存器(0x04),写单个线圈(0x05),写单个寄存器(0x06),写多线圈(0x0F),写多寄存器(0x10),支持的数据类型是Char(1字节有符号),Unsigned char(1字节无符号),Short(2字节有符号),Unsigned short(2字节无符号),Int(4字节有符号),Unsigned int(4字节无符号),float(4字节浮点),支持两个Modbus TCP客户端的并发连接。

本发明的协议转换模块通过管理映射点的集合数据内存池来管理KNX系统与Modbus TCP系统的映射和双向通信功能。

附图说明:

图1为本发明的功能框架示意图。

图2为本发明的硬件框架示意图。

图3为本发明的Modbus TCP通信模块示意图。

图4为本发明的协议映射模块示意图。

图5为本发明的数据双向交互示意图。

具体实施方式:

参见图1本发明的功能框架示意图,本发明从功能划分,主要包括KNX通信模块,网关配置模块,Modbus TCP通信模块,协议转换模块;其中网关配置模块负责与上位机配置软件通信,定义通信规则、模块参数;KNX通信模块实现了标准的KNX协议,数据报文的接收采用DMA方式,支持最大的KNX设备数取决于本发明自身的内存大小;Modbus TCP通信模块在传统的TCP协议的基础之上封装了Modbus TCP协议报文;网关配置模块通过简洁的共享内存管理和任务调度实现了Modbus TCP与KNX两种协议的设备映射和数据映射;模块中的关键数据与运行信息都可以通过本发明扩展的RS232串口打印输出。

参见图2本发明的硬件架构示意图,本发明需要同时接入两种供电方式,一种是通过KNX的直流30VDC完成对KNX通信模块供电,另外一种是通过直流9-30VDC或者交流24VAC完成对本发明的其它部分供电;外接的直流9-30VDC供电或者交流24VAC供电,依次通过本发明中的整流电路部分(1)、滤波电路部分(2)、转5V电路部分(3)、转3.3V电路部分(4)满足对本发明中不同器件的供电。

进一步,本发明的核心处理器使用ARM架构的Cortex-M处理器(5),通过RMII接口与以太网802.3的PHY芯片连接(7);Cortex-M处理器(5)通过并行的地址与数据总线与外部扩展的SRAM芯片(8)连接;Cortex-M处理器(5)通过SPI接口与外部扩展的EEPROM芯片(9)连接;Cortex-M处理器(5)通过USART接口与RS232电平转换芯片(6)连接;KNX收发电路部分(11)通过磁耦隔离(10)实现与Cortex-M处理器(5)的通信。

进一步,本发明的地设计分为系统地,模拟地,KNX地以及保护地:系统地包括MCU、存储芯片、以太网芯片等系统电源侧的部分;模拟地为以太网物理层芯片使用;KNX地为KNX总线的地,与系统地电气隔离;保护地包括部分连接器的外壳地、TVS管的泄放网络,保护 地通过连接外壳的金属弹片与导轨相连。

本发明的KNX通信模块集成了KNX专有收发芯片,实现了与KNX系统的双向交互,KNX通信模块通过DMA的方式接收报文,并对报文进行解析,得出每条报文的源地址,目的地址、数据类型以及数据值等内容,然后存放到本接收缓冲队列中,等待协议转换模块进行处理;KNX通信模块的发送采用事件驱动的方式,事件的发起和报文的具体内容由协议转换模块控制。

参见图3为本发明的Modbus TCP通信模块示意图,本发明的Modbus TCP通信模块包括Modbus TCP协议栈和TCP/IP协议栈,TCP/IP协议栈经过移植和裁剪,仅支持ARP,ICMP,TCP和UDP协议,Modbus TCP协议栈支持的功能码包括:读线圈(0x01),读离散量输入(0x02),读保持寄存器(0x03),读输入寄存器(0x04),写单个线圈(0x05),写单个寄存器(0x06),写多线圈(0x0F),写多寄存器(0x10);支持的数据类型是char(1字节有符号),unsigned char(1字节无符号),short(2字节有符号),unsigned short(2字节无符号),int(4字节有符号),unsigned int(4字节无符号),float(4字节浮点),支持两个Modbus TCP客户端的并发连接和相应的异常处理。

参见图4本发明的协议转换模块示意图,协议转换模块是一个管理调度模块,管理和调度KNX系统与Modbus系统的映射与交互通信功能,系统映射采用静态映射的方式,映射数据存储在静态的内存空间中。

本发明的协议映射包含两个类别:设备映射和数据映射;设备映射是指KNX与Modbus TCP系统中不同的物理设备之间的映射,对于KNX系统,设备就是其物理地址,按照协议规定由域地址.线地址.设备地址组成,对于Modbus TCP设备需要有IP地址以及端口号,子网掩码、网关地址;数据映射规则是在KNX系统中由组地址、数据类型,是否可读、是否可写,是否变化时传输,是否可更新属性组成,在Modbus系统中由数据区域,数据偏移,数据类型组成,形成一一对应关系。

参见图5本发明的数据双向交互示意图,双向数据交互机制采用事件触发的机制进行管理。

进一步,上行数据处理方式为:当获取到KNX总线报文后由KNX通信模块对报文进行解析并放置到模块自身的缓冲队列链表中,协议转换模块获取缓冲队列,查看组地址是否在配置数据内存池中,若存在,则判断数值是否更新,若值有变化则由Modbus TCP通信模块进行数据编码,通过网关配置模块上传给Modbus系统其它设备,若无变化则不作任何处理。

进一步,下行数据的处理方式为:当Modbus TCP系统对本发明有写操作时,网关配置模块通过TCP/IP协议模块将其收到的原始报文存放到自身缓冲区,Modbus TCP协议模块通过接收报文并对其解码,根据数据区域和数据偏移查找数据内存池,如存在,则协议转换模块根据映射关系把Modbus数据封装为KNX数据报文,通过触发KNX通信模块向KNX总线上发送写数据报文。

进一步,当本发明正常运行中诊断出KNX总线复位,则通过KNX通信模块触发向KNX总线发送读组地址数据报文;当网关复位重启并且配置正常时,也通过KNX通信模块向KNX总线发送读组地址数据报文。

以上是对本发明的软硬件较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可以作出种种的等同变形或替换,这些等同的变形或者替换均包含在本申请权利要求所限的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1