多个pt2262做发射端,一个超再生接收模块(不用pt2272),用单片机对超再生模块接收到得信号进行解码?

多个pt2262做发射端,一个超再生接收模块(不用pt2272),用单片机对超再生模块接收到得信号进行解码?,第1张

我建议你不要用单片机解码,我刚刚搞的,编码芯片是EV1527,我已经用逻辑分析仪分解出信号调制发射之前的原始信号,就是同步码加地址码之类的,很纯的。但用逻辑分析仪分析超再生接收模块的输出口信号时,干扰信号不断,单片机即使能解码也需要灰常灰常强的编程。

单片机解码还有个问题,即使解码了,还得把地址码存EEPROM,以后接收信号以对比,我都准备换TDH6300芯片解码了,还带学习功能的。

今晚回去把超再生接收模块的供电电源屏蔽下,看是否是电源干扰。有点可确定的,工业上有用单片机解码的,我的超再生接收模块就是从家里坏了的报警器主机上拆的,上面就没用解码芯片直接用的是单片机口,此单片机伟STC抗干扰系列的。但我逻辑分析仪测试的时候没用单片机供电,用的一个独立电源供电的,照理不是单片机影响的,此模块也是上面拆的,照理也不会有问题。

最后说下:如果保证信号相对较纯的时候,我有个想法(未证实),用单片机检测高低电平脉冲宽度大致比例,接近芯片手册上的介绍,然后将各位地址存入EEPROM,下次与新收到的地址态梁比较

**********************************************************************************************************************

最新实践已经成功学习并识别不同的PT2262,EV1527即将可以修改即可,EV1527和PT2262脉冲数一样,EV1527是24+1个脉冲,PT2262是12*2+1个脉冲,以下是程序核心原理:根据同步码的低电平时间,在任何一个下降沿开外部中断,并定时(时间为同步码低电平时间一半再少点),定时器中断产生时,查看这段时间里下降沿次数,如大于0证明不是同步码低电平,为0继续,假设进入同步码低电平时间段(因为有杂波存在低电平时间较长),在第一个高脉冲下降沿的时候开定时,定时时间取全部脉冲时间+同步码低电平时间弊碰一半,定时中断结束时查看这段时间里的脉冲个数,如果为上面提到的25则进入正式阶段。利用定时器查看每两个高脉冲的宽度,取定时器TH0里面的值,一般宽脉冲为3或4,低脉冲为1,通过除法比值确定前后两个脉冲的比值(此法容错高)。因为一个程序要识别PT2262即EV1527,所以中间要先加识别脉冲是PT2262还是EV1527的,PT2262前8个信号即8*2个脉冲不会出现先宽后窄的脉冲的,如出现即为EV1527,PT2262最后4个信号即4*2个脉冲里每两个是相等,如不等即为EV1527,当然如都相等也不一定是PT2262(EV1527四个按键全部没按情况下也是一样,但一般不出现此情况,忽略掉)。里面经常要用到某个地址作为标示,如30H内存处,某种情况值为0,另一种情况为1,然后再程序通过检测该值,决定走那种程序,好了以上全部是自己查阅各种资料及实践所得的经验,为了帮助广大的学友少走弯路,或许有其他的好办法,就靠大家的悟性了,我因为有虚拟逻辑分析仪,所以信号容易分析。

*********************************************************************************************************

最新已经帆卜运解码成功,单片机是STC89C52,我用单片机可以同时解码EV1527和PT2262芯片,也把代码单独分开成两个独立的,带学习功能,代码里注释的很清楚,代码已完整,根据自己的硬件更改相应的IO设置就可以直接使用,新浪共享网站可以查询PT2262.TXT,EV1527.TXT,CODE.TXT都能搜到

1、关于315M无线模块,一般是一个串行的DATA口,超再生接收模块也是这样一个DATA数据口,不过两者对通信数据(理解为通信波形)不是轮散一致的,像你直接使用串行口的话很难或者说基本不可能做到,数据的一致。也就是你串口设置不会让发送的数据解调出来。说白了,你调制与解调不可能都用串口那种很死的通信码来实现。调制和解调不是一摸一样的规则,不知道这样说你明不明白。

2、建议使用专业的编码与解码芯片,或者采用MCU的普通口实现模拟的编码解码,不过这个很难做到良好的通信信道,也就是说会有干扰。而硬件的就不会,推荐PT2262和PT2272。

3、此款芯片腊肢氏也有他的不足,最大只能做到6位的数据通信,对于正常饥神的8位通信有些麻烦,却也不影响什么。举个例子来说此芯片编解码:你发送00100000(0x20)那边也是00100000(0x20。然而你需要发送10000000就不能直接搞了你应该懂的,所以说你传输的数据是00-0x3F。

4、如果只是想告知对方由一个状态切换至另一个状态,或者通信量在00-0x3F之间就完全可以采用硬件编解码的方法。软件的方法也是可以实现的,需要很好的理解,同时也需要反复调试,我可以给你AVR的例子。

解码芯片内必有程序而且只针对特定的编码进行学习,槐配其学习程序编写失当就很容易在学习完毕后无法进行铅宴指实际的遥控解码。再者接收模块的保真度欠佳时更加困难。依你目前状况是两个接收模块的保真度(还原度)相差太大,而原先厂商是针对原模块的特性去编写程序的。一般这种超再生接收的还原度都很差,尤其在近距离一两公尺以内其失真祥孝更大,要不你先将学习过的内容全部清除后,距离拉远一些再试试。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12483236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存