当前位置: 首页 > 范文大全 > 优秀范文 >

基于ARM的ModBus第三方接口协议模块

发布时间:2022-03-16 08:18:35 | 浏览次数:

摘要:为满足工业现场各种不同类型模块现场总线之间的数据相互传输的要求,设计了基于ARM硬件和软件体系的第三方接口协议模块。该模块由电源电路,CPU电路,逻辑控制电路和电平转换电路构成,并且基于ARM内核构成各个接口数据采集的驱动程序,实现了不同模块和不同协议之间的信息与数据的传输。测试和实际应用表明,该模块具有较高的实用性和可靠性等优点,达到了预期目的。

关键词:ARM;现场总线;ModBus协议;电平转换;驱动程序

中图分类号:TP368.1 文献标识码:A 文章编号:1009-3044(2013)19-4429-04

随着控制、计算机、通信、网络等技术的发展,信息交换沟通的领域正在迅速覆盖从现场设备到控制、管理、驱动、开发的各个层次。而其中的现场总线技术是其主要的组成部分,直接关系到工业控制集成系统性能以及系统的稳定可靠。

现场总线是一种连接智能现场设备和自动化系统的全数字化、双向传输、多分支结构的串行通信网络。现场总线的关键标志是能够支持双向、多节点、总线式的全数字通信。

本设计的主要工作是采用基于ARM7内核的高性能处理器LPC2131作为主控芯片,并使用了专用的总线协议芯片AD2483,实现ModBus现场设备与异构系统之间的数据传输与协议转换。该协议转换模块系统框图如图1所示。

1 协议转换模块介绍

1.1 模块工作原理

协议转换模块的功能是完成现场ModBus设备数据的采集和数字化处理,并将转换后的结果通过异构系统的内部总线传送到上层控制系统。同时实现上层控制系统对现场设备的控制与配置。

该模块采用RS-485电平转换芯片,该芯片自带电气信号隔离,信号调理技术。该模块提供通信检测显示功能,可提供独立隔离的24VDC供电电源输出,用于现场ModBus设备的工作电源。图2为模块系统总体结构框图。

1.2 ModBus通讯规约

在各种不同的系统通信中,ModBus协议是一种在工业领域被广泛应用的、真正开放的、标准的网络通信协议,通过该协议,不同厂家的现场设备可以实现数据通信。

ModBus可编程控制器之间可以相互通讯,也可与不同网络上的其他设备进行通讯。网络信息存取可由控制器内置的端口,网络适配器和网关等设备实现。该协议定义了控制器能识别和使用的信息结构。当在ModBus网络上进行通讯时,协议能使每一台控制器知道它本身的设备地址,并识别对它寻址的数据,决定应起作用的类型,取出包含在信息中的数据和资料等,控制器也可组织回答信息,并使用ModBus协议将此信息传送出去。

在其他网络上使用时,数据包和数据帧中也包含着ModBus协议。网络控制器中有相应的应用程序库和驱动程序,实现嵌入式ModBus协议信息与此网络中用子节点设备间通讯的特殊信息帧的数据转换。

ModBus采用主从方式,若一台控制器作为主机设备发送一个信息,则可从一台从机设备返回一个响应,类似,当一台控制器接受信息时,它就组织一个从机设备的响应信息,并返回至原来发送信息的控制器。

2 硬件电路设计

2.1 电源电路

电源电路模块主要对模块的电源部分进行处理,将工控行业普遍采用的直流24VDC的输入转变为模块CPU需要的5VDC和3.3VDC,同时进行EMC防护。该模块在输入电压出增加了防雷击浪涌电路和支持热插拔电路,使用的主要器件是LT4356-1。电源电路图如图3:

LT4356-1浪涌抑制器可保护负载免遭高电压瞬变的损坏。它能够通过控制一个外部N沟道MOSFET的栅极以在过压过程中调节输出。输出被限制在一个安全的数值上,从而允许负载继续运行。LT4356-1还监视VCC和SNS引脚之间的电压降,以防止遭受过流故障的影响。一个内部放大器用于把电流检测电压限制为50mV。

2.2 主控电路

微控制器电路为ARM控制器的可靠稳定工作提供硬件环境,包括ARM控制器的时钟电路、复位电路等部分。复位电路采用上电复位方式,并且备有按键复位操作,方便用户调试使用。

2.3 电平转换电路

电路完成现场485信号与控制器LPC2131之间的电平转换功能。图4是RS-485转换电路。

RS-485转换电路采用485转换芯片ADM2483。

ADM2483是ADI(Analog device,inc)公司推出的基于其专利iCoupler磁隔离技术的隔离型RS-485收发芯片。内部集成了三通道的数字隔离器、带三态输出的差分驱动器和一个带三态输入的RS485差分接收器。节点数可允许多达256个,最高传输速率可达500Kbps。 iCoupler磁隔离技术是ADI公司的一项专利隔离技术,是一种基于芯片尺寸的变压器隔离技术,它采用了高速CMOS工艺和芯片级的变压器技术。所以,在性能、功耗、体积等各方面都有传统光电隔离器件(光耦)无法比拟的优势。ADM2483采用具有短路电流限制的限摆率驱动器,较低摆率降低了不恰当的终端匹配和接头产生的误码。集成的热关断电路可将驱动器输出置为高阻状态,防止过度的功率损耗。

3 软件程序设计

系统上电后,协议转换模块需要系统初始化,初始化操作主要完成系统各个软件模块的准备工作已经相应接口的驱动程序。之后要进行写入指令和写入数据的步骤。

整个软件结构由几个主要的软件的模块组成,分别是main()函数,get_order()函数和exchange()函数。

3.1 main()函数设计说明

该函数为整个软件架构的主函数,在进入主函数之前,由编译器自动加载了硬件的堆栈和中断向量配置文件。当配置完成后,程序自动跳入主函数开始执行。主函数的代码为顺序执行,模块除数据通信功能的其他所有功能都在主函数中实现,图5是主函数的程序流程图。

3.2 get_order()函数设计说明

get_order()函数作用是将异构系统总线收到的数据转换到ModBus发送缓冲区中准备发送给现场的ModBus设备。在转换时要严格按照标准ModBus-RTU格式进行。图6是该函数的程序流程图。

3.3 exchange()函数设计说明

exchange()函数作用与get_order()函数刚好相反,exchange()函数将现场ModBus设备采集到的数据按照异构系统总线协议方式存入到主控制器中。

4 结论

本文通过基于ARM内核的高速微处理器LPC2131的ModBus协议转换模块进行介绍,在此基础上完成了硬件设计与软件搭建,通过编写控制器软件程序实现了现场ModBus设备与异构系统的数据通信和电平转换。实践结果表明,该设计硬件结构简单,运行稳定可靠,软件开发周期短,满足现场设备数据通信以及协议接口驱动的需要。

参考文献:

[1] 蒲靖荣,杜开勋,朱占青,等.基于网络和ModBus协议的远程监控系统[J].自动化仪表,2009,30(7):52-57.

[2] 马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2007:290-291.

[3] 李海涛,仪维,吴筱坚,等.PIC单片机应用开发典型模块[M].北京:人民邮电出版社,2007.

[4] 卢颖,钟联炯.以太网交换机运行机制及其仿真研究[J].西安工业学院学报,2004,24(1).

[5] 杨武军.现代通信网概论[M].西安:西安电子科技大学出版社,2004.

[6] 程佩青.数字信号处理教程[M].2版.北京:清华大学出版社,2003.

推荐访问: 第三方 模块 接口 协议 ARM
本文标题:基于ARM的ModBus第三方接口协议模块
链接地址:http://www.yzmjgc.com/youxiufanwen/2022/0316/32422.html

版权声明:
1.赢正文档网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《基于ARM的ModBus第三方接口协议模块》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

版权所有:赢正文档网 2010-2024 未经授权禁止复制或建立镜像[赢正文档网]所有资源完全免费共享

Powered by 赢正文档网 © All Rights Reserved.。粤ICP备19088565号