基于MODBUS无线总线测控系统
图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台分机、采样容量大、可画出各采样点波形曲线图、实时监控分机电池电压等特点。
评论