单片机短距无线通信抗干扰简易编码方法

文档序号:7923866阅读:198来源:国知局
专利名称:单片机短距无线通信抗干扰简易编码方法
技术领域
本发明涉及一种单片机短距无线通信抗干扰简易编码方法,尤其适用于对 通信设备功能要求不高的场合。
背景技术
单片机的无线串行通信以其灵活性和低成本在生产生活及工业控制领域有着广泛的应用前景。通常采用单片机的串行1/0 口来完成数据通信,串口检测数据的一般方法是从数据中间部分采样三次。只有当三次采样值中至少出现两次 相同的值时,数据就被确认。然而,这种数据检测方法的抗干扰能力是很差的。 由于空间中各种电磁干扰信号的存在,接收机接收到的数据在采样点极有可能 已发生过畸变,从而增加单片机误判数据的可能性。 发明内容为了消除由于数据衰减和畸变导致单片机对数据的误判,本发明提供了一 种新型的通信编码方法,能有效克服单片机串口通信抗干扰能力差的缺点,保 证了单片机无线数据通信的有效性和可靠性。按照本发明提供的技术方案, 一种单片机短距无线通信抗干扰简易编码方法,包括数据编码方法和数据解码方法所述数据编码方法,用高低电平持续时间相等的矩形波表示数据帧的开始 位;数据帧的截止位和待发送数据位的最后一位相同;用高电平持续时间短, 低电平持续时间长的矩形波表示数据位'l';用高电平持续时间长,低电平持续 时间短的矩形波表示数据位'O';发送端单片机通过软件程序将待发送数据帧用 矩形波表示;所述数据解码方法,接收端单片机通过软件程序设定一个固定的采样时间 间隔,记录每个数据位周期内采样到的高、低电平次数,根据采样到的高、低 电平出现次数判断接收的数据位是'O'、 'l,或开始位信号。所述数据位周期为发送每一数据位所需的时间,所述数据位周期除以采样 时间间隔,即每一数据位的采样次数在100到400之间。例如,数据位周期 906us二9.06xl0-3s,采样周期3.6us=3.6xl(T5s,则采样次数为251次或252次。通过调整所述数据位周期,调整数据传输速率。本发明克服了利用串口进行数据通信时,对每个数据位仅采样三次而易出 现错判的缺点。因为它不是通过简单的采样三次就判定接收到的数据位是'0,、'1, 或是开始位,而是要采样数百次,这样就大大避免了因数据传输过程中窜入干 扰信号而使数据判错的可能性。本发明的有益效果是,利用简单的数据编码方法实现了单片机短距无线通 信的抗干扰。相对于其它的编码方法,本设计编程后所占用的存储空间极小, 为单片机节省了大量的存储空间,这对于存储容量本来就小的单片机来说是非常重要的。


图1是本发明的数据位表示方法。图2是本发明的发送端的程序流程图。 图3是本发明的接收端的程序流程图。
具体实施方式
图l中l.开始位的表示方法,2.数据位'1'的表示方法,3.数据位'0'的表示方法。下面结合附图和具体实施过程对本发明进一步说明。以发送端采用AT89c2051单片机,接收端采用PIC16F73为例说明本发明的 设计思想。若采用其它型号单片机,方法类似。例如数据帧内容为(数据帧的形式可以是其它的类型,但各数据位的表示 形式类似)开始位(1位)+数据位(8位)+截止位(1位)如图1所示,本发明用高低电平持续时间相等的矩形波表示开始位(1);用高电平持续时间短,低电平持续时间长的矩形波表示数据位'r (2);用高电平持续时间长,低电平持续时间短的矩形波表示数据位'O' (3);截止位根据发送的8位数据位的最后一位确定,也就是说,如果数据位的最后一位为'r,则 截止位也为l,数据位的最后一位为'o',则截止位就为'o'。在接收端,软件程序使接收端的单片机以固定的时间间隔(如3.6us)对接 收到的数据逐位进行采样,并记录每个数据位周期(906us)中检测到的高低电 平次数,最后通过判别高低电平的出现次数而确定接收的数据位是'O', 'l,或开 始位。采样间隔时间以及数据位周期是可以改变的,从而达到调整数据传输速 率的目的。通过采样数百次,大大避免了因数据传输过程中窜入干扰信号而使 数据判错的可能性。如图2所示发送端首先发送开始位,表示一帧信息的开始。同时对一些 需要用到的寄存器,标志位赋初值。数据的发送是采用带进位的循环右移来实 现,这样只要读取进位标志位的值,就可以从低位到高位依次读取8位数据, 方便了数据位的读取,便于后面的操作。所要发送的数据位位数事先存入寄存 器R6,通过执行8次带进位的循环右移操作来实现8位数据位的发送操作。最 后通过判别发送数据的最后一位来决定截止位是'0,或'1',并将其发送,标志一 帧数据的结束。如图3所示通过预先设定的采样时间,以及数据位和开始位中高低电平 的持续时间,事先计算好正常情况下数据位'O'、 'l'和开始位应该出现的高、低 电平次数并给其一定的裕度。防止因干扰使接收端单片机对数据误判。接收端 同样利用带进位的循环右移来实现对数据的接收操作。对接收到的数据,以固 定的时间间隔逐位进行检测,并记录每个数据位周期中检测到的高低电平次数, 将其分别存于变量i和j中。通过判断i和j中的值是落入开始位的高、低电平出现次数所确定的区域,还是落入数据位'r的高、低电平出现次数所确定的区域,或是数据位'0'的高、低电平出现次数所确定的区域而确定接收到的数据位是'0'、 'l'或是开始位信号。若是开始信号则对计数单元rumi(接收的数据位数) 赋初值8,并开始执行8次带进位的循环右移操作,实现对数据位的存储操作。 在每次进行循环右移前需f!j用同上的方法对数据位进行检测并判别,判别结果 通过对标志位STATUS进行操作实现。标志位STSTUS是PIC单片机中STATUS 寄存器的第0位STATUSO:进位与借位标志。它控制着循环右移操作的进位标 志位的值是'0'或'1'。
权利要求
1、一种单片机短距无线通信抗干扰简易编码方法,包括数据编码方法和数据解码方法,其特征是所述数据编码方法,用高低电平持续时间相等的矩形波表示数据帧的开始位;数据帧的截止位和待发送数据位的最后一位相同;用高电平持续时间短,低电平持续时间长的矩形波表示数据位‘1’;用高电平持续时间长,低电平持续时间短的矩形波表示数据位‘0’;发送端单片机通过软件程序将待发送数据帧用矩形波表示;所述数据解码方法,接收端单片机通过软件程序设定一个固定的采样时间间隔,记录每个数据位周期内采样到的高、低电平次数,根据采样到的高、低电平出现次数判断接收的数据位是‘0’、‘1’或开始位信号。
2、 如权利要求1所述的单片机短距无线通信抗干扰简易编码方法,其特征 是所述数据位周期为发送每一数据位所需的时间,所述数据位周期除以采样 时间间隔,即每一数据位的采样次数在100到400之间。
3、 如权利要求1或2所述的单片机短距无线通信抗干扰简易编码方法,其 特征是通过调整所述数据位周期,调整数据传输速率。
全文摘要
本发明涉及一种单片机短距无线通信抗干扰简易编码方法,尤其适用于对通信设备功能要求不高的场合。在发送端用高低电平持续时间相等的矩形波表示数据帧的开始位;用高电平持续时间短,低电平持续时间长的矩形波表示数据位‘1’;用高电平持续时间长,低电平持续时间短的矩形波表示数据位‘0’;在接收端设定固定的采样时间对接收到的数据波形进行采样;最后依据采样到的高低电平次数判别数据位。本发明利用简单的数据编码方法实现了单片机短距无线通信的抗干扰,大大避免了因数据传输过程中窜入干扰信号而使数据判错的可能性,编程后所占用存储空间极小,为单片机节省了大量的存储空间。
文档编号H04L1/00GK101404559SQ20081019491
公开日2009年4月8日 申请日期2008年10月27日 优先权日2008年10月27日
发明者周达左, 杨慧中, 潘国锋, 石晨曦, 刚 陈, 陈定三 申请人:江南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1