EDN首页   博客首页

日志档案

发表于 2007-6-21 15:55:22

2

标签: 曼彻斯特  滚动码  

无线遥控的曼彻斯特编码的接收

无线遥控的曼彻斯特编码的接收

市场上多用22621527做发射,它们的发射格式如下:

点击看大图

                  图1

通常它们都是传送的24位数据,包括按键代码。在2262中只有12个输入端,它们是8个地址码加4个按键码,但由于地址码是3态输入的,每一位要用2个脉冲来表示,所以实际上它与152724位数据是一样的接收。

由于在普通接收模块的传输速率不能做得很高,所以数据编码中脉冲宽度大都在300500us左右,即上图中的a的宽度。它们要发射1串完整的数据就要128a38.4ms64ms)的时间。这还只是发送24位数据,如果用这种方式来发送64位乃至更多位数据时就得需要更多的时间。

所以在MICROCHIP(美国微芯)的滚动码系列芯片中较为普遍的采用了另外的一种格式:

点击看大图

                               图2

这种方式较图1的发射效率又要高一点。每位数据都要紧骤1a。它发射1串完整的滚动码数据需要225aa的宽度是100400us,所以整串数据的时间是27108ms。事实上发射时间越短对接收模块的指标要求越高。这也是采用滚动码发射时接收一般都用超外差接收,而不能用廉价的超再生接收的原因,因为这样的话容易丢码!

在低传输速率的无线数据传送中较少有用曼彻斯特编码方式的,个中原因笔者不敢妄测。由于笔者在新的加解密算法中要传送72位数据,在接收上仍然使用了较廉价的超再生接收电路,为了尽可能的减少丢码等接收不全的现像,发送方面采用了较宽的脉冲宽度(300us),编码方式采用的曼彻斯特编码方式。在网上没有找到相关的接收资料,于是对曼彻斯特编码的接收作了仔细分析,遂采用以下方法:

 

1 同步头的改变  由于数据的前半部份有可能是数字低电平,于是在同步头的后面加了一个脉冲。

点击看大图

                 图3

2 启用MCU的端口电平变化中断  在每一个电平发生变化后产生中断以实时对接收数据进行处理。

具体程序如下:

rar

以上程序经过测试,是完全可以对曼彻斯特编码作完整接收的。

有必要对以上程序作个说明:

1         以上程序的仿真是用的MPLAB IDE7.40

2         中断初值为0,即最长时间中断。

3         时钟为4M

4         仿真波形定义的脉冲宽度为300us

 

 

系统分类: 单片机   |   用户分类: 无分类   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(1697)    回复(2)  

投一票您将和博主都有获奖机会!

  • Mark

    2008-1-31 9:50:29

    好东西!!!!!!!!!!!!!!!!!!!!!

  • wi

    2008-3-29 15:40:49