在短距离无线传书里面,指的是类似433M这样的RF传输,最稳定可靠的是什么传输协议?
这方面有用modbus的吗
共6条
1/1 1 跳转至页
5楼
ASK调制芯片与MCU建立正确的通讯协议要求
由于电磁波在空间的传播速度接近于光速,故发射和接收必须基本上同步进行。如果在发射完毕再进行接收,电磁波在空间已经消失了,就再接收不到信号了。因此,在没有帧结构和曼切斯特编解码时,对应的时序图应该如下:
波特率为:2.4kbit/s
由于无线通信过程需要“握手”单片机和接受模块工作时,通常自己定义传输协议,不论用何种调制方式,所要传递的信息码格式都很重要,它将直接影响到数据的可靠收发。
码组格式推荐方案
前导码+同步码+数据帧 + 死区 + 下一帧前导码+......
前导码长度应大于10ms(433MHz),以避开背景噪声,因为接收模块接收到的数据第一位极易被干扰(即零电平干扰)而引起接收到的数据错误。所以采用CPU编译码可在数据识别位前加一些乱码以抑制零电平干扰。
同步码主要用于区别于前导码及数据,有一定的特征,好让软件能够通过一定的算法鉴别出同步码,同时对接收数据做好准备。
因此最后的格式应该如下:
此图中,Tp部分是前导码,可以为有特征的方波,持续时间大于10ms(433MHz);在315MHz的频率下要把Tp前导码时间加长到20 ms; Td部分是引导码,大于4ms,典型为4ms。
发射部分把这种帧格式的数据发射出去,在接受部分,检测到特征方波时,MCU将其识别为“前导码”,在接下来的时间中,如接收到4ms低电平,则认为是“引导码”,MCU将4ms以后的数据认为是“有用数据”进行接收。有用数据后的持续低电平则认为是数据完毕后的“死区”。
由于SYNOXO射频芯片是一个低功耗的芯片,所以它的DATA端的驱动只有10个UA的CMOS电平,当我们在选择MCU的时候一定要注意电平接口问题,像51内核的MCU( TTL电平)我们的芯片是驱动不了的,要加缓冲。PIC内核的MCU(COMS电平)就不会有问题。
实际应用中,重复发射4次上述码组,有一次正确即认为数据传输成功。
数据部分一般还要进行曼切斯特编解码,可以抑制数据传输的误码率。
13728989126
共6条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
| OK1126B-S开发板下多时段语音提示型电子时钟被打赏¥27元 | |
| OK1126B-S开发板下函数构建及步进电机驱动控制被打赏¥25元 | |
| 【S32K3XX】LPI2C 参数配置说明被打赏¥20元 | |
| OK1126B-S开发板的脚本编程及应用设计被打赏¥27元 | |
| 5v升压8.4v两节锂电池充电芯片,针对同步和异步的IC测试被打赏¥35元 | |
| 【S32K3XX】S32DS LPI2C 配置失败问题解决被打赏¥22元 | |
| 【S32K3XX】FLASH 的 DID 保护机制被打赏¥19元 | |
我要赚赏金
