×
接口总线驱动 > 总线 > 详情

基于MODBUS无线总线测控系统

发布时间:2020-05-20 发布时间:
|

引言

    目前无线通讯不但在通讯行业得到广泛的应用,而且在检测与控制领域也正在不断地得到应用与推广。工业现场总线作为现代工业控制系统的主流通讯网络,其通讯介质为光纤或通讯电缆。针对很多检测点和控制装置分布较为分散或距离较远,且应用通讯电缆连接成本高的场所,目前可以采用点对点的无线通讯方式,且各公司生产的测控系统所采用的通讯标准不尽相同,不同公司的测控装置不能够相互通讯,甚至同一公司的测控装置也可能不能够相互通讯。为了使得测控装置系统既满足无线通讯的要求,又达到总线测控的目的,在测控装置系统中将工业现场总线通讯标准引入到无线通讯中。本文将ModBus通讯标准引入到nRF无线通讯技术中,组成ModBus无线总线测控系统,对系统电路的结构和无线收发电路的原理,ModBus协议的RTU模式,ARM与nRF905的接口及软件设计进行了论述。

1 总体方案设计

    针对很多检测点和控制装置分布较为分散或距离较远,且应用通讯电缆连接成本高,这些装置的数据可以每天定时通过人工进行数据采集和传输相应的设置和控制命令,或者是距离较近但经常需要移动的装置,比如各种蓄电池的检测等,所以需要一种能够满足室外100米和室内50米左右的无线通信距离的系统,且又满足工业控制总线通讯标准的系统。

    1)系统总体方案设计与论证

    目前新兴的短距离无线传输技术主要有三种,分别是:红外线传输IrDA,蓝牙科技BLUETOOTH,nRF技术。由于红外线传输IrDA距离太短,抗干扰能力差,传输速度慢,而蓝牙发射接收处理、基带处理由多个芯片组成,接口、编程及硬件都较复杂,通讯速率较慢,所以采用nRF方案,本系统选定nRF905芯片作为系统无线收发模块的核心。

    2)系统电路组成

    基于无线ModBus的测控系统框图如图1所示,系统分为三大部分:主机、分机以及无线ModBus总线传输通道。系统采用主从结构方式,一台主机,若干个分机。分机主要由传感器、信号调理电路、带有A/D转换的嵌入式ARM结构的LPC2132芯片、无线收发模块nRF905等组成;主机主要由人机界面、嵌入式ARM结构的LPC2132芯片、无线收发模块nRF905等组成。无线总线系统主机、分机编程设计通讯协议控制器,实现按照ModBus总线的协议标准打包发送信息,主机通过nRF905芯片发送ModBus(RTU)控制命令控制各前端数据采集装置(分机)工作,并对采集数据的实时处理和显示,画出各采样点的波形;分机则不断监测和采集信息,接收主机发送ModBus(RTU)命令,完成相应的功能(如完成数据采集和数据传输控制)。主机和分机的信息交换以射频无线(nRF技术)和ModBus总线协议的方式实现。

图1 基于无线ModBus的测控系统框图

2 NRF905的工作模式以及与ARM的接口

    nRF905的工作模式如表1所示,通过设置TRX_CE、TX_EN、PWR_UP来决定nRF905工作模式。

表1工作模式

    1)节电模式。

    掉电模式。nRF905被禁止,电流消耗最小,典型值低于2.5uA。nRF905配,置字的内容保持不变。在本系统中未使用这种模式。

    Standby模式。Standby模式在保持电流消耗最小的同时保证ShockBurst RX,ShockBurstTX的最短启动时间。当进入这种模式时,晶体振荡器是活动的。在此模式中配置字的内容保持不变,可对NRF905进行SPI编程操作。[page]

图2 ARM与外围器件连接图

    2)活动模式

    ShockBurst RX模式。数据接收模式。

    ShockBurst TX模式。数据发送模式。

    nRF905与ARM之间端口可以直接连接,如图2所示。

3 软件设计

    1)MODBUS总线通讯协议的设计

    ModBus协议是目前主流现场总线协议之一。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格式和内容的公共格式。当在ModBus网络上通信时,此协议决定了每个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用ModBus协议发出。

    控制器通信使用主一从技术,本系统主设备:主机;从设备:分机。主机可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。ModBus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。从设备回应消息也由ModBus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。

    ModBus有两种传输模式:ASCII模式,RTU模式。ASCII或RTU模式仅适用于标准的ModBus网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。本系统则使用RTU模式,采用这种模式的特点是在同样的波特率下,可比ASCII方式传送更多的数据。

    2)nRF905的接口及软件设计

    nRF905所有的配置都是通过SPI口进行的,菲利蒲的ARM芯片系列具有一个硬件SPI(SerialPeripheral Interface)口,它是一个同步、全双工串行接口,最大数据位速率为时钟速率的1/8。SPI的设置必须要符合NRF905的SPI时序要求,否则会出现不可预测的错误。通过分析nRF905的SPI读写时序图,可知SPI数据和时钟的相位关系是:SCK高电平有效,第一个数据在第一个SCK上升沿之前被驱动,在SCK下降沿驱动下一个数据,数据在SCK上升沿被采样。

    为了能让NRF905正常工作,则必须要对它的RF状态寄存器进行配置,并且主机与分机收发模块的RF状态寄存器中的配置需一致,这样两者之间才能正常建立通信。

    3)主机软件设计

    主机的功能是:通过发送ModBus命令控制各前端数据采集装置(分机)工作,并对采集回的数据进行计算和显示,在点阵液晶显示屏上绘出各采样点的波形。

    主机程序使用的是任务不可剥夺的任务循环检测机制。初始化完成后,程序进入主循环(消息环),循环检测不同的事件标志位。如有事件触发,执行相应的任务,完成后返回主循环,等待下一次的事件触发。

    4)分机软件设计

    分机的主要功能为:接收主机命令并响应(主要为AID采样,结束后按要求发送数据回主机)。分机系统是一个伪多任务操作系统,可以自定义消息和任务流程,实现特定的功能,但要注意该结构的使用中,消息处理函数一定要清晰。作为分机,所有无线接收到的数据均作为一组命令来看待。

4 结束语

    本文设计的基于Moaaus无线总线数据采集分析系统,具备低功耗、抗干扰能力强、采集数据容量大、数据传输安全可靠、友好的人机界面、每台主机最多可控制255台分机、采样容量大、可画出各采样点波形曲线图、实时监控分机电池电压等特点。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
USB设备控制器端点缓冲区的优化技术设计