一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 3431|回复: 12
收起左侧

[其他综合] 现在的无线串口模块都不带自动纠错重发功能吗

[复制链接]
发表于 2017-6-3 13:51 | 显示全部楼层 |阅读模式
本帖最后由 gongzhu 于 2017-6-3 13:51 编辑

好多年以前用的433M无线串口透传模块都是用于快速发送的仪表设备中。仪表的数据往往是连续每秒发送两三条,因此偶尔无线被干扰出现乱码影响不大,就算连续一两秒的数据被“污染”都无所谓,接收端做个小纠错,出现乱码就抛弃该条数据。

现在接到的几个无线改造项目并不是像以前的仪表是连续发送型的,而是间隔几十秒偶尔发送一条,但每条都很重要,不能出现任何乱码情况。更为可恶的是没有标志头尾和校验!

首先确定终端设备发出的数据是干净的,然后有线串口接收后使用无线发射,接收端接收后再有线传输给电脑或其他设备。

然后咨询了好几家做无线串口模块的,云里雾里会吹嘘些花样纠错名词。就问他们如何处理空中传输时数据被干扰怎么办,几乎都是说小干扰有纠错机制处理,如果大干扰造成整条数据包乱码就没办法只能抛弃。

因为现在我们的项目都是处理单工通信,一个只发,一个只收。没有握手机制,这样很容易丢失数据,但是对于时效性要求并不需要太高,所以我们探讨出一个临时解决的方案:

前提条件:
1、每次发送数据<1K byte。不管有无标志头和校验。
2、最短发送间隔时间>10s
3、空中无线强每次干扰最多持续2s
4、接收终端实时性可滞后10s5、单工通信,1对1

先用双串口单片机com1有线采集要发送的数据,如果接收中100ms内没有新的数据进来即表示整条数据接收完毕。
将接收到的数据加标志头尾并加校验打包后通过com2无线发送

接收端双串口单片机com2收到数据后校验无误立即无线反馈“OK”给发送端,同时去除标志头尾和校验码,还原出原始数据通过com1发送给终端设备。

如果发送端在发送完毕后1s内未收到“OK”即判断接收端未收到数据,立刻重发,直到收到OK,最多重发10次(如果10次还发送失败说明出现严重故障,只是理论上存在)。

发射端,上次数据发送中有新的数据进来则缓存住等上一条发送成功后接着发射。

00.png

后来一想,难道生产无线模块的厂家就没有想到这种适用于低速通信的简单方案?还真找不到!
发表于 2017-6-3 15:32 | 显示全部楼层
本帖最后由 8055 于 2017-6-3 15:36 编辑

就是重复多发,并尽量减少每次发送的数据量,除了校验,数据串中带个序号,表示是第几次重复发送,根据序号和数据完整程度来判断无线干扰的程度,并给出提示。
发表于 2017-6-3 16:20 | 显示全部楼层
多数是裸传的

把复杂的需求留给单片机
~
发表于 2017-6-4 03:53 | 显示全部楼层
这个是你的项目协议问题,gps信号多少年前的了,人家数据单向发送,带有有校验码,接收端自己判断数据是否有效
发表于 2017-6-4 07:41 | 显示全部楼层
比特率低点抗干扰能力就上去了.

不行的话双频发送,多比特率发送,多次发送.

单向通信也只能这样了.,,

但我看你描述是双向的啊?
 楼主| 发表于 2017-6-4 10:38 | 显示全部楼层
8055 发表于 2017-6-3 15:32
就是重复多发,并尽量减少每次发送的数据量,除了校验,数据串中带个序号,表示是第几次重复发送,根据序号 ...

也就是还得自己加单片机“额外”处理。
因为现成的设备串口通信都是为有线设计的,根本没有考虑干扰问题,有数据需要发送才发送一次。
 楼主| 发表于 2017-6-4 10:44 | 显示全部楼层
狗狗百里游 发表于 2017-6-4 03:53
这个是你的项目协议问题,gps信号多少年前的了,人家数据单向发送,带有有校验码,接收端自己判断数据是否 ...

为什么会被干扰?这涉及到频点问题,因为GPS的频点躲开了大部分应用的频率干扰,其是在1000MHz以上。而现在通行的串口模块433M、915M都容易被生产中的变频器干扰到。


跟协议不协议没有关系。
 楼主| 发表于 2017-6-4 10:51 | 显示全部楼层
本帖最后由 gongzhu 于 2017-6-4 10:52 编辑
junyee 发表于 2017-6-4 07:41
比特率低点抗干扰能力就上去了.

不行的话双频发送,多比特率发送,多次发送.

跟波特率是有关系,但是解决不了根本问题。
我们最开始默认9600,乱码特别多,后逐步改到4800、2400、1200,测试确实都有好转但无法彻底解决,频率降低波长增大。
到1200就不能再小了,再小在传输长数据就出现时间不够分配了。

现在其实就是类似多次发送。

双频、多比特率理论可行,但设备复杂,在运行多套无线传输系统时维护麻烦,实际不可行。

现在有无线串口模块号称应用了调频技术但也不敢保证不丢数据包


两遍终端设备是单工,附加单片机实现的是半双工通信,不然没法保证数据正确性。
 楼主| 发表于 2017-6-4 11:01 | 显示全部楼层
我真正需要的是这样的模块,无需额外加单片机附加处理的:

TB2dbOzhpXXXXXbXpXXXXXXXXXX_!!2102505399.jpg

发表于 2017-6-4 20:58 | 显示全部楼层
一般l来说都是透传,即使是上千元的GPRS模块,这样自己可以掌握底层代码,以便于更方便的查找问题,需要纠错完全靠自己的代码来处理。

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-20 20:37 , Processed in 0.063419 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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