无线射频中软件解码功能的实现

无线射频中软件解码功能的实现
苍利民;王献会;杨柯;卢宏文
【摘 要】在消费电子领城中,遥控射频控制一般是由硬件完成的,知PT2262和PT2272的配对使用.这种控制方法固化了其对应关系,对遥控设备要求严格配对使用,无法灵活扩展及参与组网控制.为解决这种控制方式带来的问题,采用MicroChip公司的低功耗自身带有E2PROM的PIC12F675单片机,利用C语言完成软件解码及对码程序的编制.其程序在QL200开发板上调试成功.利用此解码程序的解码产品,具有外围电路简单,抗干扰性强,解码速度快,成本低,代码具有可移植性,可以完全替代硬件解码,弥补了硬件解码的缺陷,适用于任何具有PT2262编码格式的遥控器,可直接参与控制等特点.%In consumer electronics field, RF remote control is usually done by hardware, such as the paired use of PT2262 and PT2272. This control method solidifies the correspondence and needs severely paired use of the remote control device, so it can't be expanded flexibly or participated in the networking control. In order to solve the problems caused by it, the lowpower MCU PIC12F675 produced by MICROCHIP Company with E2 PPROM is introduced.  This kind of MCU is debugged successfully by Q
L200 development board, which uses C language to decode and accomplish the coding of the procedure.Compared with the hardware decoding, it is applicable to any remote control with the format of PT2262 and can completely replace bardware decoding. In addition to this, it has some other properties, such as powerful portability, high decoding speed and lower cost. It can 'oe directly involved in the control and so on.
【期刊名称】《现代电子技术》
【年(卷),期】2011(034)014
空气质量流量【总页数】4页(P31-34)
牌位架【关键词】PIC12F675;PT2262;解码;对码
【作 者】苍利民;王献会;杨柯;卢宏文
【作者单位】河南安彩高科股份有限公司,河南,安阳,455000;河南安彩高科股份有限公司,河南,安阳,455000;河南安彩高科股份有限公司,河南,安阳,455000;河南安彩高科股份有限公司,河南,安阳,455000
顾婷婷是什么梗【正文语种】中 文
【中图分类】TN919-34
0 引 言
在消费电子领域中,红外遥控拥有众多优点而得到广泛应用,但也有不少缺点,如它对方向性要求高,穿透性差,被物体遮挡后无法接收,同时在遥控距离、角度方面受大了较大限制。目前红外遥控在许多领域正被射频遥控所代替,出现了专用于这类射频遥控控制的芯片,用硬件解码的方式实现射频遥控。硬件解码应用相对较为方便,但成本高,需要对硬件的地址码与数据码进行定义,控制设备与遥控设备存在一对一的对应关系,在多台同种设备共同使用时,存在资源浪费等问题。为此探索一种利用软解码方式来替代硬件解码功能的方法是解决硬件解码不足的手段之一。它能降低系统的应用成本,提高上市产品竞争性能。本文利用带有E2 PROM 的 MCU PIC12F675 的模拟功能,利用 C 语言根据解码信号关系进行编程,在Q L200 开发板上调试成功。它具有适用性广,对全系统射频遥控器都可以使用,可以适合全地址的解码,同时在编程过程中采取独特的处理方法,可以减少M CU 的利用率,加快解码速度。本文首先对相关的遥控射频编码进行了系统的分析,并给出了编程思路与流程图,在关键的接收代
码与解码方面给出了相关程序代码,并分析了系统在应用过程中可能出现干扰问题的处理方法。本文为类似应用中的软件编码、解码方向提供了相关思路,同时对于以降低成本来实现射频遥控控制和方案,具有现实的应用意义。
1 PT2262 的编码协议
PT2262/2272 是台湾普诚公司生产的一种CMOS工艺制造的低功耗、低价位通用编解码电路[ 1] ,是目前在无线通信电路中作地址编码识别最常用的芯片之一。PT2262/2272 最多可有 12 位(A0 ~ A11)三态地址端管脚(悬空,接高电平,接低电平), 任意组合可提供531441 组地址码 ,PT2262 最多可有 6 位(D0 ~ D5)数据端管脚,设定的地址码和数据码从17 脚串行输出[2] 。PT2262/2272 必须用相同地址码配对使用, 在增加一个通信设备时,要对地址编码进行重新配对调整,调整时要对硬件电路进行处理,这对一般的用户来说是不容易实现的。这种严格的配对规则严重制约其使用,但通过M CU 的模拟功能,用软件方法实现解码,可以摆脱这种受地址影响方式的束缚,同时也增加了应用的灵活性,加上用E2 PROM 来实现自动对码,则更能弥补上述配对使用的制约。目前市场上这种方式已经被认可,且在广泛使用中。
本文利用单片机的模拟功能实现模拟解码,它有着硬件解码无法比拟的优越性。这种软件解
码方法基于PT2262 编码格式。2262 每次至少发送 4 组字码,每组字码之间由同步码隔开。在每帧数据的前面有一组帧前码和同步码,如图2 所示。编码规则为两个不同电平的脉冲宽度作为1 位地址或数据的 0 与 1。“11”表示“1” ,“00”表示“0”,“01”表示“f”,如表 1 所示。
增益控制表1 码位对应关系码段一 码段二 真实译码数据0 0 0 0无效码1 0 f 1 1 1 1
PT2262 发射的波形如图1 所示,为用单片机模拟的PT2262 的波形。
图1 PT2262 波形图编码方式
PT2262 从17 脚发射无线编码,是一组一组进行发射的,每次至少发射4 组,在每组之间有一个引导码,后跟一个同步码,紧随同步码的是12 位地址数据加8 位数据地址,每2 位组成1 个编码,地址码与数据码之间依据不同的脉冲宽度来定义该数据的值,具体一点就是:用2 个周期的占空比为1 ∶3(即高电平宽度为1,低电平宽度为2,周期为3)的波形来表示0,用2 个周期的占空比为2 ∶3(即高电平宽度为2,低电平宽度为1,周期为3)的波形来表示1,用1 个周期的占空比为1 ∶3的波形紧跟 1 个周期的占空比为2 ∶3 的波形来表示开路[ 4] 。此脉冲宽度是由接在振荡脚的振荡电阻所决定的,不同的振荡电阻对应不同的脉冲宽度。振荡频率计算方法[ 5] 如下:
式中:R 为振荡电阻,单位为k Ω;频率 f 的单位为kHz。
图1、图 2 中基于 4.7 M Hz 振荡电阻,同步码为14 ms,帧前码为450 μs。同步码头波形如图2 所示。
瓷管电阻器图2 同步码及帧前码
2 软件编码
软件解码是通过对发送波形的分析,由计算机来进行解码,软件解码的优点是能对发射端的多种编码进行解码,配置灵活,不受发射端地址的影响,缺点是速度较慢,需100 ms 左右的时间[ 5] 。
解码思想:利用单片机内部定时器TM R0[6] 来测量宽窄脉冲的宽度,依据不同宽度,计算出实际码值。实验中发现,当发射模块不工作时,接收模块仍然会接收到一系列由尖脉冲组成的白噪声[ 7] ,不编码时干扰也很大,需要对依次接收到的高低电平进行宽度计算。
具体步骤:循环扫描同步码, 得到同步码后, 在第1 次上升沿到来时,清零 TM R0,同时记录
高电平脉冲宽度。同样原理,记录下一个低电平的脉冲宽度,依次记录24 位连续高低电平宽度。依据相临高低电平的宽度差异,判定此位数据为“1”或“0”。同时移位进行存储。如果是对码,进入相应的对码子程序,把得到的数据存储于E2PROM 里,无对码请求时,转入对应其他程序,其编程流程图如图3 所示。
图3 模拟解码软件流程图
在解码过程中,每组数据之间有一个帧前码与同步码,其长度分别为4a 与124a,前者为一个窄脉冲的宽度,且两者有着严格的31 倍关系。我们在检测码头时,可利用这种关系直接去判断,而不用去检测码头脉冲实际宽度。该方法具有通用性,适合任何阻值的振荡电阻。更可以在检测到码头后,记录码头、宽窄脉冲的宽度,并以此计算出振荡电阻的阻值。
3d缝纫机器人每组码间有帧前码和同步码,如图2 所示,在软件解码时,为防止干扰而出现误解码(依据为:确认帧前码之前是否存在一个时长为14 000 μs 的低电平,如果有则不是干扰码),一般需要解出2 组以上,并且组与组之间数据必须严格一致。因此,合理处理相邻组之间的帧前码,是成功解码的关键。通过分析PT2262 波形,结合实际的设计结果,可以利用两组码之间的同步码的一个低电平,通过一个简单的延时,跨过帧前码的宽度,直接处理下一个24 位脉冲的数据,效
果相当理想,解码数据正确且可以提高M CU 的工作效率。本程序直接采用delay(10)实现两组数据的编程简化。码头检测的实现方法有多种,可以检测码头的宽度,也可以用计数的方式来获得,这里码头检测实现的代码[ 8] 以计数方式实现。

本文发布于:2024-09-23 22:27:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/307204.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:解码   宽度   遥控   编码   脉冲
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议