找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 485|回复: 0
收起左侧

高波特率高抗干扰modbus-rtu,DS18B20,数码管扫描共存的modbus温度计

[复制链接]
ID:688692 发表于 2024-5-9 09:28 | 显示全部楼层 |阅读模式
高波特率=230400bps。
高抗干扰=满带宽发送干扰垃圾数据到串口,协议不死,继续能正常响应。
共存=满带宽垃圾数据的情况下,数码管扫描匀称不闪烁,DS18B20数据采集不中断。

经常有人说串口数据不好处理,没办法及时很好响应串口数据。

本人也在网上购买别人的传感器、模块、LED控制卡等,这些商品化的产品,数据接口确实不能让我满意
1.抗错性不行,有一个LED控制卡,只要发一包不完整的数据过去,接口就死掉了,得重启,我是用无线传过去的,根本没法用。
2.不能很好兼容其他协议的设备,如买了一个雨量传感器,自有协议的,但是总线上还想挂其他的MODBUS协议的传感器,问这两个厂家,恢复均是不同协议的不能混用。当然这不能怪人家,因为一般公认就是不同协议的设备不能挂在一起。
3.抗干扰性差(抗乱码差),一些传感器接口如果不小心发了点其他数据过去,就会丢掉后面一帧正常的数据,造成丢帧。

于是,我就想,这个小接口,为什么不写得足够强大和健壮?只要你有正常的数据帧过来,我随时保持响应,这样不行吗?
5年前有点小空,于是就慢慢码一下,结果实现了我的目标。

主要实现的不同于一般的modbus的地方
系统构成:STC12C5A60S2,DS18B20,四位普通数码管模块(需要动态扫描)
注意:请留意你的DS18B20来源,我的手里三颗DS18B20,一颗不回应数据,一颗上电默认9位分辨率,一颗上电默认12位分辨率(这才正常)。

电路图:IO:
DS18B20,P3.7。
数码管字笔段:P1,低电平有效。数码管位选:P2低四位,低电平有效。

程序占用:
程序编译:data:62.1(RAM),code:1969(ROM)


效果:
1.23400bps波特率,11.0592MHz晶振频率下能达到的最高波特率,已超出modscan软件的范围,后续用游戏修改器强制修改modscan到230400bps测试。
2.正常帧绝对响应-这个不用说
3.数据断流正常响应,一帧数据,你可以任意长的时间内发送过来,比如8字节的帧,连续发7字节,过一年再发最后一个字节,100%响应。
4.混帧、叠帧正常响应,比如两个8字节的帧,前面一个帧后4个字节和后面一个帧前四个字节混叠,后一帧正常响应。相当于你前一帧发了4个字节,发了一半,你不发了,发下一帧正常帧,下一帧正常帧正常响应。
混帧叠帧.jpg

5.连帧正常响应,连续发几帧查询帧,我通通响应数据给你,不需要3.5字节的空闲,反正数据我给回你了,你能不能处理是你的事情了。
6.无限垃圾数据通吃,23400bps波特率下,你扔再多的垃圾数据给我,我也不会死掉。
7.无限长度垃圾数据里面插入正常帧、混帧、叠帧、连帧,230400bps波特率下连续发送,全部正常响应。
8.所有过程,数码管扫描正常,不闪烁。18B20温度采集正常,不中断。


视频1:23400bps正常帧混帧叠帧连帧响应测试视频
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1

视频2:23400bps连续大数据乱码不出错LED扫描温度采集正常
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1


视频3:在1MB乱码数据中插入正常帧叠帧连帧(数据编辑过程)
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1

视频4:23400bps码率发送含有正常帧的乱码数据全部正常响应,乱码中的正常帧全部得到响应
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1


modscan 230400bps
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1
modscan 数据核对
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1


S_modbus_rtu_node hex.rar (2.42 KB, 下载次数: 2)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表