基于modbus协议的通讯系统(编辑修改稿)内容摘要:
RC 值的流程为: ⑴ 预置一个 16 位寄存器为 0FFFFH( 全 1),称之为 CRC 寄存器。 ⑵ 把数据帧中的第一个 8 位字节与 CRC 寄存器中的低字节进行异或运算,结果存回 CRC 寄存器。 ⑶ 将 CRC 寄存器向右移一位,最高位填以 0,最低位移出并检测。 ⑷ 如果最低位为 0:重复第三步(下一次移位); 如果最低位为 1:将 CRC 寄存器与一个预设的固定值( 0A001H)进行异或运算。 ⑸ 重复第 3 步和第 4 步直到 8 次移位,这样处理完了一个完整的八位。 ⑹ 重复第 2 步到第 5 步来处理下一个八位,直到所有的字节处理结束。 ⑺ 最终 CRC 寄存器的值就是 CRC 的值。 RS485 接口简介 RS485 标准理想地用于多分支( multidrop )应用和远程接口中。 它允许在一条数据线 上连接 32 个发送器和接收器,非常适合于多分支应用。 由于允许使用 4000 英尺长的电缆, RS485 收发器可以使用一个宽(- 7V~ +12V)共模方式范围来调整零电位偏差。 因为 RS485 是一个差分接口,所以传输数据时完全可以抑制来自发送线的干扰。 图 31 RS485 引脚说明 8 NRF24L01 无线模块内 容简介 无线收发单元采用 单片高速 2Mbps 无线收发芯片 nRF24L01, nRF2401 是挪威 NoRDIC SEMICONDUCTOR 公司的产品,它把射频收发电路集成在一块芯片上,可以用 MCU 模拟 SPI 通信协议实现数字传输。 通过编程, nRF2401 芯片的射频工作频率和输出信号的功率等参量可以非常方便地调节。 无线收发芯片 nRF2401 具有以下功能: ⑴ 125 个工作频道,工作频道之间的转换时间小于 200us ⑵ 无线通信数据具有地址检测和循环冗余检查。 ⑶ 信号的调制方式为频移键控 (FSK) ⑷ 最大数据传输速率 1Mbps ⑸ 最大输出功率 0dB ⑹ 独特的 Shock Burst TM 射频信号发射模式。 该模式降低平均发射功率,降低对微控制器数据传输速率的要求。 ⑺ 接收灵敏度 — 93dBm。 ⑻ 独特的 DuoCeiverT 模式。 该模式支持两个不同工作频道的信号同时接收。 ⑼ 工作电压范围: 一 ;具有正常、旁路和掉电 3 种供电模式。 SPI 接口: SPI 接口是标准的 SPI 接口,其最大的数据传输率为 10Mbps。 大多数寄存器是可读的。 SPI 指令设置 : SPI 接口可能用到的指令在 下面有所说明。 CSN 为低后 SPI 接口等待执行指令。 每一条指令的执行都必须通过一次 CSN 由高到低的变化。 表 33 SPI指令格式 指令名称 指令格式 操作 R_REGISTER 000A AAAA 读配置寄存器。 AAAAA 指出读操作的寄存器地址 W_REGISTER 001A AAAA 写配置寄存器。 AAAAA 指出写操作的寄存器地址 只有在掉电模式和待机模式下可操作。 R_RX_PAYLOAD 0110 0001 读 RX 有效数据: 132 字节。 读操作全部从字节 0 开始。 当读 RX 有效数据完成后, FIFO 寄存器中有效数据被清除。 应用于接收模式下。 W_RX_PAYLOAD 1010 0000 写 TX 有效数据: 132 字节。 写操作从字节 0 开始。 应用于发射模式下 FLUSH_TX 1110 0001 清除 TX FIFO 寄存器,应用于发射模式下。 FLUSH_RX 1110 0010 清除 RX FIFO 寄存器,应用于接收模式下在传输应答信号过程中不应执行此指令。 也就是说,若传输应答信号过程中执行此指令的话将使得应答信号不能被完整的传输。 REUSE_TX_PL 1110 0011 重新使用上一包有效数据。 当 CE 为高过程中,数据包被不断的重新发射。 在发射数据包过程中必须禁止数据包重利用功能。 NOP 1111 1111 空操作。 可以用来读状态寄存器。 R_REGISTER 和 W_REGISTER 寄存器可能操作单字节或多字节寄存器。 当访问多字节寄存器时首先 要读 /写的是最低字节的高位。 在所有多字节寄存器被写完之前可以 9 结束写 SPI 操作,在这种情况下没有写完的高字节保持原有内容不变。 例如:RX_ADDR_P0 寄存器的最低字节可以通过写一个字节给寄存 器 RX_ADDR_P0 来改变。 在CSN 状态由高变低后可以通过 MISO 来读取状态寄存器的内容。 中断: NRF24L01 的中断引脚( IRQ)为低电平触发,当状态寄存器中 TX_DS、 RX_DR 或MAX_RT 为高时 触发中断。 当 MCU 给中断源写‘ 1’时,中断引脚被禁止。 可屏蔽中断可以被 IRQ中断屏蔽。 通过设置可屏蔽中断位为高,则中断响应被禁止。 默认状态下所有的中断源是被禁止的。 本章小结 本章介绍了 modbus 通讯协议、 RS485 接口、 NRF24L01 通讯模块的具体内容 , 为硬件、软件设计铺平道路。 10 第4 章 通讯系统实现的硬件设计 硬件系统结构 该硬件系统主要包括电源模块、单片机最小系统模块、按键、温度采集、数码管和液晶显示模块、 RS232 转 RS485 接口模块、 NRF24L01 无线通讯模块,结构方框图如图所示, 单片机最小系统 模块 主控 MCU 如图 41 所示, A、 B 都采用 STC89C52 为主控 MCU,晶振频率为 ,C3( 10uf), R1( 10K)组成上电复位电路。 图 41 最小系统 温度采 集、独立按键、液晶和数码管显示模块 ⑴ 液晶显示模块如图 42 所示,采用字符型液晶 1602,其具有操作简单显示字符多特点,并接 R0( 104)进行对比度调节, P0 为数据接口, , , 为控制线。 11 图 42液晶 图 43数码管 图 44按键 ⑵ 数码管显示单元 如图 43 所示,数码管采用四位一体的共阴数码管,由于单片机的 I/O 输出电流较小,故采用三极管进行放大驱动,当位选为高 时三极管饱和导通,对应位的数码管选中。 ⑶ 独立按键单元 如图 44,独立按键用来对系统工作控制,例如调时间,发命令等作用。 ⑷ 温度采集单元 温度采集单元采用达拉斯公司生产的数字温度传感器 DS18B20 进行数据采集,其采用单总线数据传输,具有硬件简单的优势,而且数据采集周期短,精度高,量程大,可以达到室温计的要求,其数据总线与 相接。 无线收发单元 模块 如图 45 所示, 在设计 NRF24L01 无线通讯模块中要注意的是该芯片低工作电压在 (~ ),而普通 5v 电压会降低芯片寿命甚至将其烧坏,所 以需要对其电平转换,在本设计中采用 三端稳压管,该芯片输出电压稳定 在 NRF24L01 的工作电压范围内 、输出电流 800mA 满足无线通讯芯片供应电源。 图 45 NRF24L01 RS232 转 RS485 通讯 接口模块 如图 46 所示: RS232485 转换器主要包括了电源、 232 电平转换、 485 电路三部分。 本电路的 232 电平转换电路采用 MAX232 集成电路, 485 电路采用了 MAX485 集成电路。 为了使用方便,电源部分设计成无源方式,整个电路的供电直接从 PC机的 RS232 12 接口 中的 DTR( 4 脚)和 RTS( 7 脚)窃取。 PC 串口每根线可以提供大约 9mA 的电流,因此两根线提供的电流足够供给这个电路使用了。 经实验,本电路只使用其中一条线也能够正常工作。 使用本电路需注意 PC 程序必须使串口的 DTR 和 RTS 输出高电平,经过 D3 稳压后得到 VCC,经过实际测试, VCC 电压大约在 左右。 因此,电路中要说 D3 起的作用是稳压还不如说是限压功能。 MAX485 是通过两个引脚 RE( 2 脚)和 DE( 3脚)来控制数据的输入和输出。 当 RE为低电平时, MAX485 数据输入有效;当 DE 为高电平时, MAX485 数据 输出有效。 在半双工使用中,通常可以将这两个脚直接相连,然后由 PC 或者单片机输出的高低电平就可以让 MAX485 在接收和发送状态之间转换了。 由于本电路 DTR 和 RTS 都用于了电路供电,因此使用 TX 线和 MAX232 的另外一个通道及 Q1 来控制 MAX485 的状态切换。 平时 MAX232 的 9 脚输出高电平,经 Q1 倒相后,使 MAX485 的 RE和 DE 为低电平而处于数据接收状态。 当 PC 机发送数据时, MAX232 的 9 脚输出低电平,经 Q1 倒相后,使 MAX485 的 RE 和 DE 为高电平而处于数据发送状态。 图 46 RS232485 本章小结 本章主要包括电源模块、单片机最小系统模块、按键、温度采集、数码管和液晶显示模块、 RS232 转 RS485 接口模块、 NRF24L01 无线通讯模块的硬件设计 ,介绍了设计的基本原理和一些注意事项。 13 第5 章 通讯系统实现的软件设计 本设计要实现无线通讯系统对温度的实 时采集与显示功能,除硬件外,还需要软件来控制。 本章主要介绍 报文处理的软件实现 , 并简要介绍 整体 A 机 时钟 和 B 机 温度信号无线交换 的软件流程图。 基于 MODBUS 协议 处理 报文 的软件设计: 主机发送数据包和 从机响应数据包 具体格式: B 机作为从机在本 次设计中需要读出 从 机的温度 、从机的小时和分钟信号 所以采用读模拟寄存器 (即 03) 这个功能。 ⑴ 计算机发送 的数据包 : [设备地址 ] [命令号 03] [起始寄存器地址低 8 位 ] [高 8位 ] [读取的寄存器数 低 8 位 ] [高 8 位 ] [CRC 校验的低 8 位 ] [CRC 校验的高 8 位 ] 即 : [01][03][01][00][01][00][CRC 低 ][CRC 高 ] 注释:读从机温度 [01][03][02][00][01][00][CRC 低 ][CRC 高 ] 注释: 读从机时钟的小时 [01][03][03][00][01][00][CRC 低 ][CRC 高 ] 注释:读从机时钟的分钟 具体 意义如下: : 本次设计中设备地址为 0x01。 :读模拟量的命令号固定为 03。 低 8 位、 高 8 位:表示想读取的模拟量的 逻辑 地址 ,本次设计 中的 温度 逻辑地址 为 0x01;小时的逻辑地址为 0x02。 分钟的逻辑地址为 0x03。 低 8 位、 高 8 位:表示从起始地址开始读多少个模拟量 (即逻辑地址长度 )。 本次设计中 每个逻辑地址 只需读出一 个模拟量。 ( 在返 回的信息中一个模拟量需要返回两个字节 )。 16 位为 CRC 校验。 ⑵ 从机响应回主机的数据包 : [设备地址 ] [命令号 03] [返回的字节个数 ][数据 1][数据 2]...[数据 n][CRC 校验的低 8 位 ] [CRC 校验的高 8 位 ] 即 : [01][03][02][00][AC][CRC 低 ][CRC 高 ] 注释:温度值 回 应给主机( ℃)[01][03][02][00][0B][CRC 低 ][CRC 高 ] 注释:小时值 回 应给主机( 11 小时) [01][03][02][00][24][CRC 低 ][CRC 高 ] 注释:分钟值 回 应给主机( 36 分钟) 具体 意义如下:。 :表示数据的字节个数,也就是数据 1, 2...n 中的 n 的值。 设计中返回了 1 个模拟量的数据,因为一个模拟量需要 2 个字节所以共 2 个字节。 1...n:其中 [数据 1][数据 2]分别是第 1 个模拟量的高 8 位和低 8 位, [数据3][数据 4]是第 2个模拟量的高 8位和低 8位,以此类推。 设计中只返回了 [数据 1][数据 2],本次设计 中 若第一个 返回的值 是 [AC]转化为十进制为 172 即 176。 C ;第二个值 [0B]表示 11 小时;第三个值 [24]表示 36 分钟。 校验同上。 主机发送报文和从机响应报文 软件具体实现 ⑴ 提高通讯稳定性的程序设计: Modbus 通信协议 设计 中为了预防干扰,提高系统稳定性,防止系统程序跑飞而造成不可预测的错误(虽然概率比较低,一旦出现 将 会出现很大的问题),所。基于modbus协议的通讯系统(编辑修改稿)
相关推荐
格构柱安装检查记录表 工程名称 商业 C0 C0 C04 基坑围护 验收部位 LZ32 号桩 图 号 08 验收日期 2020 年 5 月 19 日 桩号或位置 柱顶标高 ( m) 坐 标 插入砼 深度 ( cm) 垂直度 ( %) 备 注 X Y LZ32 设计值 (m) 900 % 实测值( m) 901 % 差值 ( mm) 3 10 % 设计值 (m) 实测值( m) 差值 ( mm)
压缩性土) 砌体承重结构基础的局部倾斜 工民建柱间沉降缝 ( 1)框架结构 ( 2)砖石墙填充的边排柱 高层建筑物结构地基变形允许值 ( H 为建筑物高度,单位:米) 表 变 形 特 征 地基变形允许值(中、低压缩性土) H≤ 24 24H≤ 60 19 64H≤ 100 H100 对周边地表沉陷的变形控制值应小于 2cm 监控报警值 围护结构的水平位移: 3‰ H; 围护结构的垂直沉降: 1‰
: 口管脚 备选功能 RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。
三、系统设计 设计思路 压力传感器( 1210— 030G— 3S)测量气缸中的 压力( 0~207kPa)输出电流信号( 75~150mA),经 A/D 模数转换(结果为 00000000~11111111 即 0~255)后给单片机,单片机进行算法处理将传感器的输出信号和测量的压力对应起来并实时显示在 LED 上,当所测压力大于 176kPa 时,放气阀打开进行放气,当所测压力小于
识、技能、态度等诸 多 方面有所改进, 以 达到企业对人才的需求。 培门内训是企业培训中重要一环对于企业发展起着举足轻重要作用。 (内训课程以专业技能类为主 ,讲师由各部门主管级以上级别领导和部门内训来担当 ) 工作 流程图 : 人力资源部制定年度全员培训计划表( HRPXB004) 全员培训课程试讲,培训组辅助进行课程的完善 培训组挑选更适合的课程进行全员推广
品卫生知识简介 急救常识 1课时 九 形体训练 表情 站姿 坐姿 走姿 1课时 十 考试 2课时 十一 各部门专业 服务技能 中英文打字 酒店常用电话号码 100个 中式铺床 整理房间 托盘 斟酒 摆台 折叠巾花 上菜 派菜 1点钞、假币识别 1信用卡、支票结算 1上饮品(茶、酒水) 各部门 组织 总课时 16课时 备注: 1课时为 50分钟。 山庄 新招收的临时工应确保一、二、三、 七