版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机无线通信模块开发与应用五好久没发贴了,这场病病得不轻啊,不过病早好了,这次延误是因为 在北京接了个工程,而且正好是关于这套系统的应用,所以干脆就拖了 一段时间.说正题了 .前面那么多贴子只是一些外围的制作和设计,但没有外 围的建设怎么能做出好东西呢?呵呵,这次给大家发点正经东西,相信 这就是大伙儿最关心的局部-通信协议,其实也不能称其为协议,只能 叫做射频编码,为了便于理解起见才叫它通信协议的,大家心里清楚这 点就行了,免得说我混淆视听.通信协议分成硬件层和软件层,硬件层, 即数据的电信号表示方法,而软件层,指的是数据包的处理.由于软件 层定义很广,且跟应用场合相关,不同的应用可能使用完
2、全不同的协 议,所以这里就只说说如何传输数据包吧.相信大家都有这能力进行下 一步的扩展.我也会在今后的贴子里给出一些应用的实例,以供参考.我看到论坛上有些朋友之前也做过无线模块的应用,却不成功,例 如明浩提过他做的232无线模块,干扰很大,通信不能进行.为什么会 这样呢?要解释这问题,先要说说无线模块的结构和特性:发射:无线模块使用一个三级管进行射频发射,从说明书上可看到, 当连续发送时间高于5毫秒时,发射效率会降低.接收:超再生电路.超再生电路有一个特性,即在没有信号时会收到 大量的白噪声,接收模块已经对该噪声进行了处理,白噪声被大幅度削 弱了,但是,这并不是说噪声就完全消除了 ,事实上,当
3、信号源停止发射 后几毫秒,噪声会再次出现,也就是所谓的零电平干扰,根据说明书的 提示,这段时间大约为5毫秒.别外,说明书上也指出,信号发射的宽度不应小于0.08毫秒,占空 比也不能太大,否那么很容易受到干扰.从上面的资料,我们可以很轻易地分析出干扰来源.根据资料,我们可以得出一个大概的设计原那么:1.占空比有限制,我们人为限制到1:4之内.2.发射时间小于3毫秒.3.两次发射的间隔小于3毫秒.4.正式发射信号前要使用前导信号,以消除零电平干扰.根据上面几点,我参考红外信号算法,写出了发送一字节的算法:1.上下信号电平交替使用,与实际被发送数据的电平值无关,而发 送宽度及两次发送的间隔宽度,与被
4、发送数据的电平值相关,对应关系 在后面作出描述.2.以宽度为0.6毫秒的宽度表示位低电平3.以宽度为1.2毫秒的宽度表示位高电平4.以宽度为1.8毫秒的宽度表示数据正文的发送与结束.以下给出流程:1.从零电平开始,交替发送/停止宽度为0.6毫秒的信号,数量为单 数个,最少要有2个,发送完后信号电平白然回到高电平,这里,我称该 组信号为前导信号,用来去除零电平干扰.前导信号的第一个信号 很可能会丧失,但其设计目的本来就是用来丧失的,所以无须关心接收 方实际收到的数量,该信号在接收方接收时只要收到一个即可.2.发送一个宽脉冲,作为数据引导,指示下一个信号将是数据正文.由于有前导信号保护,该信号不会
5、丧失.3.发送数据正文的各个位,低位在前,从bit0开始,位的值为0时发 送0.6毫秒信号,值为1时发送1.2毫秒脉冲.这里要再次说明,所谓 发送信号,并不等于发送射频信号,关闭射频同样是发送信号.4.发送一个宽脉冲,作为结束信号,表示数据发送完毕,脉冲结束后 射频信号正好白然转为停止发送,即零电平.上面的文字说明有点复杂,下面给出图示,图示中的字节数据值为 十六进制数A6,图中高电平时为发送射频信号:|-|_|-|_|-|-|_|-|_|-|_|-|_|-|A B C DE FA:无关信号,可能为任何电平值.此时数据还未开始发送,不关心 其电平为何值.B:前导信号,交替发送/静默0.6毫秒.
6、C:引导信号,静默1.8毫秒.D:一字节数据正文, 用发送/静默0.6毫秒表示0,发送/静默0.6毫 秒1.2毫秒表示1.E:结束信号,发送射频1.8毫秒.F:无关信号,可能为任何电平值.此时数据已经发送完毕,不关心 其电平为何值.看图是不是清楚多了 ?如果还不懂,那我也没方法了 .接下来是一个写好的例子,发送和接收例程都有,一次发送或接收24个字节定长数据包.程序使用了并行工作机制,发送和接收可同时 进行,但由于发送与接收共用同一个内存块作缓冲区,所以应用时不能 时调用,有兴趣的可以白已改改程序,使用独立的缓冲区,这样就可以 同时发送和接收了,但我个人认为意义不大,因为收到的数据就是白已 发
7、的数据,没什么实际用处.晶振采用22.1184M,串口通信速率115200bps如果使用11.059M,232串口通信速率要改成57600.MCU端源代码下载:/202.103.67.224/shaoshan/mu/mcu/rftest1.rarPC端源代码下载:/202.103.67.224/shaoshan/mu/mcu/scommtest.rarPC端代码默认端口是COM4,白已改改吧,改成你要的就行了,具 体怎么改,去上一讲里面找.由于单片机的内存限制,数据包不能做得太大,同时,长数据包比短 数据包的受干扰机率更大,所以,24字节是一个比拟实用的值.经测试, 发送接收全部不用天线,发射
8、电压为5V时,传输距离5米,如果加上25公分天线,传个几十米不成问题,想要更远那么要提高发射电压了 ,电压 上限为12V,理论上应该有300米,由于我白已的应用场合是家用,所以 没测试过,不知道实际有多远.使用例子的时候注意一下,测试程序main()的发送与接收是用条 件编译分开的,下面的代码中已有说明.发送与接收要单独编译和烧 片,要两套硬件才能完成测试.在正式应用中,应注意一点:收发程序都 并非退出后就有数据的,一定要重复调用,直到满足特定条件.并且,每 两次调用的时间间隔不能超过50微秒, 否那么会丧失数据.为什么要将 程序写成这样?是因为,写成这样子,我们就可以在发送和接发数据的 同时
9、作一些别的事情,例如键盘扫描,红外发送接收,LED数码管驱动等.#if 1测试时,发送方写稍?1接收改成#if 0正式应用的话,请将程序插入你白已的应用中,收发不能同时 执行.调用格式:/ while(w_send_step 6 + W_BUF_LEN * 8)(/ w_send();/这里可写些别的代码,例如键盘扫描,LED驱动等,但时间 不能超过50uS/ / while(w_recv_step = 3 + W_BUF_LEN * 8)/ w_recv();/这里可写些别的代码,例如键盘扫描,LED驱动等,但时间 不能超过50uS/ if(send_over)(for(i=0; iW_BU
10、F_LEN; i+) w_buf = out_data+;START_SEND();w_send();#elsew_recv();if(recv_over)for(i=0; i4; i+)serial_out(w_buf);START_RECV();#endif测试应注意,例子中用到了串口调试,用于显示接收到的数据,所以 得做一个上一节所讲的串口通信线才行,不然看不到效果.再次说明, 晶振采用22.1184M,串口通信速率115200bps如果使用11.059M,232串口通信速率要改成57600.另外,每次接收到的数据只输出了头4个,不要以为是每次只收到 了4个字节,因为输出例程没有使用并行工作机制,一次输出24个字 节的数据会占用大量时间,使射频接收程序错过数据接收时机,造成数 据包丧失.事实上,以程序中用到的115200bps为例,每次最多只能向 串口输出10个左右数据.后面的数据显示出来意义也不大,只要头几 个字节接收正常,后面的数据一般都不会有问题,如果你愿意,可以在 数据包内再加上校验和.例子中的引脚定义原来的设计有些不同, 我原来的设计是P3.5接 接收模块,后来改成P3.2了,大家可以根据白已实际的接法改一下程 序,也可以直接改一下接线,由于程序工作于查询模式而不是中断方 式,所以接哪个脚都可以.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业危害管理制度
- 沥青路面施工合同7篇
- 2024年租赁项目资金筹措计划书代可行性研究报告
- 杞人忧天课件
- 《淘宝客入门教程》课件
- 纪念陈毅诞辰120周年系列活动【策划方案】
- 《品牌和品牌价值》课件
- 2024年新高一语文初升高衔接《修辞手法及辨析》含答案解析
- 桂林山水课件素材
- 《成长在社会》课件
- 留置胃管课件
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- 全册思维导图高中地理人教版
- 2024年贵州省中考化学试卷真题(含答案及解析)
- 2023年广东省普通高中数学学业水平合格性考试真题卷含答案
- 人工智能知识竞赛题库及答案(500题)
- 跨地区经营纳税企业的分支机构年度纳税申报表(2021年版)
- 市政工程资料表格填写范例样本
- 慢性心力衰竭中医诊疗专家共识
- meta分析入门篇课件
- 注塑产品工艺
评论
0/150
提交评论