最近调试了一对无线通讯模块,它的工作频率为315MHz。
外观如图1.1所示
调试这对通讯模块存粹是为了好玩,也没有细究模块内部的工作原理。
这个模块的接收端与红外接收管不同,红外接收管在没有输入信号的情况下其数据端口是维持不变的,而这个模块在没有收到发送信号的情况下它的数据接收端口存在高低电平的变化,这是由于空气中存在各种杂波导致其误接收数据。
如果这对无线通讯模块带一对编解码芯片(PT2262、PT2272)的话使用起来会比较简单,不过目前手头上没有,只好用单片机来实现模块的通讯工作。
由于这对通讯模块本身没有通讯编码,因此需要一个通讯编码,我制定的编码参考了以前调试的遥控器的红外编码。
一帧数据由引导码和数据码组成,其中数据码又由系统码(8位)、系统码(8位)反码、用户码(8位)、用户码(8位)反码组成。
引导码由3.75ms的高电平和7.5ms的低电平组成。
数据码的逻辑“1” 由1.25ms的高电平和2.5ms的低电平组成。
数据码的逻辑“0” 由1.25ms的高电平和1.25ms的低电平组成。
帧与帧之间间隔7ms。
发送数据的流程也比较简单
单片机解码思路如下
检测到下降沿中断,测量低电平的时间如果低电平保持在7.5ms左右则视为接受到引导码。
检测到下降沿中断,测量低电平的时间如果低电平保持在2.5ms左右则视为接受到数据“1”。
检测到下降沿中断,测量低电平的时间如果低电平保持在1.25ms左右则视为接受到数据“0”。
单接收完一帧(32位)之后,开始进行数据校验,数据校验成功则视为数据接收成功,数据校验失败则等待接收下一帧的数据。
联系客服