M无线模块数据传输_第1页
M无线模块数据传输_第2页
M无线模块数据传输_第3页
M无线模块数据传输_第4页
M无线模块数据传输_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、315 M 无 线模 块 数 据常用的近距离无线传输有很多种方式:1) CC1100/NRF905433MH无线收发模块;2) NRF24012.4GHZ无线收发模块;3)蓝牙模块;4) Zigbee系列套加起来要一百多无线模块;以上1/2/3模块,一个大概要几十块钱, 块,4就更贵了,单个就要上百块钱。而常用的315M遥控模块就便宜很多了,收发一套淘宝上才卖8块钱。这种模块用途极其广泛,例如遥控开关/汽车/门禁/防盗等,大部分是配合 2262/2272编解码芯片实现开关的功能。如果能够利用315M模块实现数据传输,透明传输串口数据,那将是无线数据传输最廉价的方式。就是这种模块,不带编码解码芯

2、片的,淘宝价一套8块钱:发送电路图,使用声表,工作稳定:接收电路图,超外差接收,用了一片LM358:试验一:单片机串口发送端TX直接接315M发送模块的 TXD另外一个串口的接收端RX直接接315M接收模块的DATE俞出端:结果如上图所示,串口发送单字节0x50的时候,串口 TX端的波形如上图上半部分所示,一个开始位,一个停止位,8个数据位(低位在前高位在后)。F半部分是通过 315 M模块无线传输之后,在串口接收端RX收到的波形。接收下来之后,发现数据传输错误,发送0x50,收到的是0x05 ,发0x40收到0x01,发送0x41收到0x50 ,发送0x42收到0x28。传输错误的原因:在有

3、数据时候,波形是正确的。但是串口TX端在空闲的时候,是高电平状态,而通过 315 M无线传输之后,空闲时候却是低电平状态!结果就是接收电路读出的数据错开了一位,数据传输错误。试验二:串口TX经过反相后,再通过 315M模块传输,接收端再反相一下,电路图如下:这次数据传输成功了! 1)在 1200bps 和 2400bps 速率下,在数据传输期 间,数据是正确的,但是数据发送完成后,接收端会收到一大堆的乱码;2)在 4800bps 速率下,首字节丢失,其他字节传输正常,发送完成后仍分割线总结:1)通过315M无线模块透明传输串口数据是可行的,但是传输之前和接收之后要加一个三极管反相; 2)在 1

4、200bps 和 2400bps 速率下 数据稳定传输;在 4800bps 速率下,首字节丢失,其他字节传输正常; 3)数据发送完成后,接收端会收到一大堆的乱码,所以在软件上要加上帧校 验,否则可能会引起误触发。例如我的遥控小车,遥控器发送给小车的控 制命令只需要单字节,我在软件上使用 3 个字节作为一个命令帧,格式为AT+命令字,只有连续收到 A和T两个字符之后,后面收到的一个字符才认为是有效的命令,否则认为是乱码,丢弃之。4)传输距离:发送端和接收端都采用5V供电,天线使用一小段线圈的情况下,直线5米稳定传输。更长的距离没有测试过,以后有空测试一下再补充。/础篇在这里:用廉价的 315 M

5、遥控模块实现数据传输实验一:链路层协议友情提醒:如果你没有过通信调试的经验,看以下文字可能会觉得晕晕乎乎的,请跳过本小节直接从第二节开始)用示波器查看315 M接收模块的输出波形,发现有以下规律: 1)平时没信号的时候输出杂波(串口直接收到乱码) ;2)有信号的时候,输出发送模块送来的波形,但是最开始的一个字节数据会有干扰; 3)信号发送结束后,输出端会有100ms 左右的寂静期(输出低电平) ,然后重新输出杂波; 4)数据发送期间,刚开始的数据的输出波形比较干净, 信号持续的时间越长, 越容易出现干扰 (串口接收数据出现 1-2bit 的误码)。根据以上特点,确定 315M模块发送的帧结构如

6、下:弓I导码+间隔15ms+帧头+数据 +校验位,解释如下: 1)引导码的作用:从没信号到有信号的开始阶段,数据会有干扰,所以先发送几个字节的引导码。这样即使其中的 1-2 个引导码因为干扰而丢掉 也没有关系。接收端收到引导码不保存,自动忽略。我的盖革计数器协议,引导码为4个字节的字符 A。2)引导码+间隔15ms:保证从帧头开始,输出信号的波形非常干净; 3)帧头:告诉接收端一个帧的开始。我的盖革计数器协议中,帧头为两个字符“ AT'。帧头第一个字节跟引导码相同,这样在接收端处理接收数据时可以自动忽略重复收到的字符'A。4)校验:因为315M无线传输极易出现干扰,所以必须加上

7、帧校验,避免将干扰信号误认为是有效数据。我的盖革计数器协议中,采用异 或和的校验方式,具体为:将数据所有字节进行异或计算,取得一个异或 和作为校验位。 5 )检验的改进:经过大量测试发现,经常出现以下情况: 数据的某一个 bit 受到干扰,例如 0变成 1,而恰巧校验和的同一个 bit也同样因为干扰而由 0变成 1,这样事实上收到了一位错误的数据,但是检验却刚好正确,接收端误认为是正确的数据。为了避免以上的情况,将校验和改为:异或和取反,即将数据所有字节进行异或计算,取得一个异或和,再取反作为校验位。6)帧长:由于上面观察到的规律 4,发送长帧的时候容易出现误码,而发送短帧的时候正确率接近10

8、0%。我的盖革计数器协议中, 本来采用长度为 12 字节的帧一次将一分钟 /5 分钟/1 小时 /1 天 测量平均值发送给 PC机,后来改为长度为 6字节的短帧,分4次发送4个测量平均值。帧结构为:AAAA-15ms-AT-数据类型-数据高字节-数据低字节-校验和。实验二:天线在网上查询了资料,关于315M模块的天线,有以下3种说法:1)弹簧天线,用1mm勺铜线绕成弹簧形状,弹簧直径6mm绕23圈。淘宝上卖的模块有部分是不焊天线的,如果有天线,就是这样的弹簧天线。2)用25cm的长导线,竖起来。3) 315M模块用39cm的导线,433M模块用23cm测试条件:速率1200bps。接收模块采用

9、稳压静态5V供电,发送模块采用未经稳压的11V供电。发送模块的工作电流: 3.7mA,发送数据时4-11mA(发送第一帧的时候 4mA第二帧5mA第三帧 6mA如此逐次上升,到 11mA再逐次下降到4mA不知道为什么会变化)发送连帧头 +数据 +校验位共 6 个字节的短帧。测试结果: 1)弹簧天线:13直线距离大于8米开始出现误码帧;2)25cm导线:书房到客厅,距离 米,隔一堵墙,开始出现误码帧;3)39cm导线:书房到阳台,距离15米, 隔 2 堵墙一道门,正确率 100%。如果改为发送 12 字节的长帧,开始出现 误码,误码帧30%正确70%结论:采用39cm的导线效果最好。 实验三:

10、采用归零码在网上查阅了一些资料,称数据通信最好不要采用非归零码, 尤其是不能出现长 1 或者长 0,否则容易受到干扰。建议采用归零码,例如曼切斯特码或者 P0 CSA码等。所谓的归零码就是发送的所有数据中,出现高电平和低电平的时间总和刚好是50%-50%。例如曼切斯特码,不再用高电平 / 低电平表示 1 和 0,而是用电平跳变表示 1 和 0,例如低电平变成高电平(上升沿)为 1 ,下降沿为 0,这样无论发送任何数据,都保证高电平和低电平的时间刚好是50%-50%。用示波器观察接收波形,跟资料描述的一致。我发送的数据帧为: AT-00-01-02- 校验和,其中有大量的长0,很容易受到干扰将

11、00 变成 01 ,或者 40 之类, 其实只有一个 bit 出错, 由于校验失败,整个帧就要丢弃。如果是 12 字节的长帧,出现误码帧的 概率更大, 一共 96 个 bit ,只要任何一个 bit 受到干扰出错, 整个帧就要 丢弃。原来的长帧结构为:AAAA-15ms-AT-10-00-01-02-03-04-05-06-07-XOR ,现在改成归零码:0x5a-0x5a-0x5a-0x5a-15ms-0x5a-0xa5-99-55-56-59-5a-65-66-69-6a-XOR(原来的引导码和帧头 AT不符合归零码规则,改为0x5a-0xa5 )。效果 超好!从书房到阳台(距离 15 米,隔 2 堵墙一道门)正确率 100%。发送在 13 楼,接收走到 10 楼,仍然保持正确率 100%。走到 9 楼(隔 4 层楼) 开始出现误码帧。走到 8 楼(隔 5 层楼)只能偶尔收到一帧。这个效果已 经超过我在TB上买的成品CC1100数传模块,单个模块 60块钱,带SMA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论