本发明涉及一种灵活可配的射频硬件解码器。适用于工业控制领域,特别涉及无线遥控、无线报警器。
背景技术:
在生活中,越来越多的设备、电器、车辆等的采用了远程控制的方式,为人们的生活提供了极大地便利。其中,射频通信方式因为其无方向性、传输距离远、穿透力强等特点,被广泛应用于工业控制等领域。
射频是通过无线信号进行信息传递的方式控制设备,射频信号被接收后,可以指令或驱动相应的设备完成各种操作。常用射频控制系统包括发射器和接收器两部分。发射器一般为遥控,将控制信息按特定格式编码、调制发送。接收器则需要接收解调、解码。
目前,发射器所使用的编码格式各不相同,这造成的一个接收器很难适配各种编码格式。现有接收器解决方案多只适用于特定的编码格式,无法解析不同格式的控制信息,并且多采用软件解码的方式,造成了接收器存在适用范围小、应对不同编码格式更换成本高、解码速度慢、功耗高的缺点。同时遥控器、报警器使用环境多样,需要较高的稳定性。
技术实现要素:
本发明要解决的技术问题是:针对上述存在的问题,提供一种适用于多种编码格式、能快速切换不同编码格式、解码速度快的灵活可配的射频硬件解码器。
本发明所采用的技术方案是:一种灵活可配的射频硬件解码器,其特征在于,
包括:
滤波模块,用于根据所配置的高、低电平毛刺宽度阈值对输入信号进行滤波;
计数模块,用于在时钟信号驱动下分别对经所述滤波模块滤波后信号高、低电平的持续周期进行计数,获取高、低电平计数值;
比特解码模块,用于根据所配置的解码所需参数ⅰ及从所述计数模块获取的高、低电平计数值进行比特解码,并对解码数据进行判决,得到同步头、比特0及比特1;
命令移位寄存器,用于获取所述比特解码模块解码后的结果并作为命令进行存储;
命令解码/中断产生模块,根据所配置的解码所需参数ⅱ对命令移位寄存器中的命令进行解码,当为合法命令时将命令存入寄存器模块并产生中断;
寄存器模块,用于存储由cpu写入的所述高、低电平毛刺宽度阈值参数和解码所需参数ⅰ、ⅱ。
所述滤波模块,用于:
通过内部时钟对输入信号的高电平进行计数,在输入信号上升沿开始计数,当计数大于所述高电平毛刺宽度阈值时则输出为高电平,在输入信号下降沿后高电平仍保持所述高电平毛刺宽度后输出变为低电平;
对输入信号滤除高电平毛刺后,通过内部时钟对信号的低电平进行计数,在信号下降沿开始计数,当计数大于所述低电平毛刺宽度阈值时则输出为低电平,在信号上升沿后低电平仍保持所述低电平毛刺宽度后输出变为高电平。
所述计数模块,用于:
对经滤波的输入信号进行取反;在时钟驱动下延迟两拍,在第一拍延迟信号的低电平下,低电平计数器累加计数,延迟信号高电平时,低电平计数器进行清零;在第二拍延迟信号的高电平下,高电平计数器累加计数,在第二拍延迟信号为低且第一拍延迟信号为高时,对高电平计数器进行清零。
所述解码所需参数ⅰ包括识别0最高倍数、识别0最低倍数、识别1最高倍数、识别1最低倍数、同步最高倍数和同步最低倍数。
所述比特解码模块,用于:
分别计算高电平计数值与同步最高倍数和同步最低倍数的乘积;比较低电平计数值与上述两个乘积的大小关系;若低电平计数值的大小介于两乘积之间,则产生同步指示信号;
分别计算低电平计数值与识别1最高倍数和识别1最低倍数的乘积;比较高电平计数值与上述两个乘积的大小关系;若高电平计数值的大小介于两乘积之间,则产生比特1指示信号;
分别计算高电平计数值与识别0最高倍数和识别0最低倍数的乘积;比较低电平计数值与上述两个乘积的大小关系;若低电平计数值的大小介于两乘积之间,则产生比特0指示信号;
在时钟驱动下,在输入信号的上升沿时刻,将有效比特数据存入移位寄存器。
所述解码所需参数ⅱ包括报警器编码和报警器编码有效位。
本发明的有益效果是:本发明通过滤波模块、计数模块、比特解码模块、命令解码/中断产生模块等相互配合实现可以配置、稳定、快速、低功耗的射频硬件解码。
附图说明
图1为实施例的结构示意图。
图2为实施例中滤波模块的结构示意图。
图3为实施例中计数模块的结构示意图。
图4为实施例中比特解码模块的结构示意图。
图5为实施例中寄存器模块的结构示意图。
具体实施方式
本实施例为一种灵活可配的射频硬件解码器,包括:滤波模块、计数模块、比特解码模块、命令移位寄存器、命令解码/中断产生模块和寄存器模块等。
本实施例中滤波模块包括高电平毛刺滤除模块和低电平毛刺滤除模块,用于根据所配置的高、低电平毛刺宽度阈值对输入信号进行滤波。
本例中高电平毛刺滤除模块通过内部时钟对输入信号的高电平进行计数,在输入信号上升沿开始计数,当计数大于高电平毛刺宽度阈值时则输出为高电平,在输入信号下降沿后高电平仍保持高电平毛刺宽度后输出变为低电平。
本例中低电平毛刺滤除模块用于在输入信号经高电平毛刺滤除模块滤除高电平毛刺后信号,通过内部时钟对信号的低电平进行计数,在信号下降沿开始计数,当计数大于低电平毛刺宽度阈值时则输出为低电平,在信号上升沿后低电平仍保持低电平毛刺宽度后输出变为高电平。
本实施例中计数模块包括高电平计数模块和低电平计数模块,用于在时钟信号驱动下分别对经滤波模块滤波后信号高、低电平的持续周期进行计数,获取高、低电平计数值。
本例中计数模块对输入信号进行取反;然后在时钟驱动下延迟两拍;在第一拍延迟信号的低电平下,低电平计数模块累加计数,延迟信号高电平时,低电平计数模块进行清零;在第二拍延迟信号的高电平下,高电平计数模块累加计数,在第二拍延迟信号为低且第一拍延迟信号为高时,对高电平计数模块进行清零。
本实施例中比特解码模块用于根据所配置的解码所需参数ⅰ及从所述计数模块获取的高、低电平计数值进行比特解码,并对解码数据进行判决,得到同步头、比特0及比特1。
本例中比特解码模块包括高电平计数值与“同步头”上限倍数的乘积模块、高电平计数值与“同步头”下限倍数的乘积模块、数值比较模块和同步指示信号产生模块,通过高电平计数值与“同步头”上、下限倍数的乘积模块分别计算高电平计数值与同步最高倍数和同步最低倍数的乘积;通过数值比较模块比较低电平计数值与上述两个乘积的大小关系;若低电平计数值的大小介于两乘积之间,则通过同步指示信号产生模块产生同步指示信号。
本实施例中比特解码模块还包括低电平计数值与bit“1”上限倍数的乘积模块、低电平计数值与bit“1”下限倍数的乘积模块、数值比较模块和bit“1”指示信号产生模块,通过低电平计数值与bit“1”上、下限倍数的乘积模块分别计算低电平计数值与识别1最高倍数和识别1最低倍数的乘积;通过数值比较模块比较高电平计数值与上述两个乘积的大小关系;若高电平计数值的大小介于两乘积之间,则通过bit“1”指示信号产生模块产生比特1指示信号。
本实施例中比特解码模块还包括高电平计数值与bit“0”上限倍数的乘积模块、高电平计数值与bit“0”下限倍数的乘积模块、数值比较模块和bit“0”指示信号产生模块,通过高电平计数值与bit“0”上、下限倍数的乘积模块分别计算高电平计数值与识别0最高倍数和识别0最低倍数的乘积;通过数值比较模块比较低电平计数值与上述两个乘积的大小关系;若低电平计数值的大小介于两乘积之间,则通过bit“0”指示信号产生模块产生比特0指示信号。
本例中比特解码模块当识别有效比特数据0,1后存入命令移位寄存器,当识别到同步比特后,将命令移位寄存器数据存入寄存器模块。
本实施例中命令解码/中断产生模块根据所配置的参数(报警器编码和报警器编码有效位)对命令移位寄存器的命令进行解码,当为配置的合法命令时将命令存入寄存器模块并产生中断。
寄存器模块,存有滤波模块、比特解码模块和命令解码/中断产生模块等解码所需的配置参数(高电平毛刺宽度,低电平毛刺宽度,识别0最高倍数,识别0最低倍数,识别1最高倍数,识别1最低倍数,同步最高倍数,同步最低倍数,报警器编码,报警器编码有效位等)和解码得到的命令。由cpu通过apb总线进行读写,具体实现方法包含以下步骤:apb接口模块根据ambaapb总线协议对apb总线进行处理,产生读写使能信号,并将地址及数据信号传送至译码模块;译码模块解析出各项配置数据,并且接收射频接收数据,待cpu读取。
1.一种灵活可配的射频硬件解码器,其特征在于,包括:
滤波模块,用于根据所配置的高、低电平毛刺宽度阈值对输入信号进行滤波;
计数模块,用于在时钟信号驱动下分别对经所述滤波模块滤波后信号高、低电平的持续周期进行计数,获取高、低电平计数值;
比特解码模块,用于根据所配置的解码所需参数ⅰ及从所述计数模块获取的高、低电平计数值进行比特解码,并对解码数据进行判决,得到同步头、比特0及比特1;
命令移位寄存器,用于获取所述比特解码模块解码后的结果并作为命令进行存储;
命令解码/中断产生模块,根据所配置的解码所需参数ⅱ对命令移位寄存器中的命令进行解码,当为合法命令时将命令存入寄存器模块并产生中断;
寄存器模块,用于存储由cpu写入的所述高、低电平毛刺宽度阈值参数和解码所需参数ⅰ、ⅱ。
2.根据权利要求1所述的灵活可配的射频硬件解码器,其特征在于,所述滤波模块,用于:
通过内部时钟对输入信号的高电平进行计数,在输入信号上升沿开始计数,当计数大于所述高电平毛刺宽度阈值时则输出为高电平,在输入信号下降沿后高电平仍保持所述高电平毛刺宽度后输出变为低电平;
对输入信号滤除高电平毛刺后,通过内部时钟对信号的低电平进行计数,在信号下降沿开始计数,当计数大于所述低电平毛刺宽度阈值时则输出为低电平,在信号上升沿后低电平仍保持所述低电平毛刺宽度后输出变为高电平。
3.根据权利要求1所述的灵活可配的射频硬件解码器,其特征在于,所述计数模块,用于:
对经滤波的输入信号进行取反;在时钟驱动下延迟两拍,在第一拍延迟信号的低电平下,低电平计数器累加计数,延迟信号高电平时,低电平计数器进行清零;在第二拍延迟信号的高电平下,高电平计数器累加计数,在第二拍延迟信号为低且第一拍延迟信号为高时,对高电平计数器进行清零。
4.根据权利要求1所述的灵活可配的射频硬件解码器,其特征在于,所述解码所需参数ⅰ包括识别0最高倍数、识别0最低倍数、识别1最高倍数、识别1最低倍数、同步最高倍数和同步最低倍数。
5.根据权利要求4所述的灵活可配的射频硬件解码器,其特征在于,所述比特解码模块,用于:
分别计算高电平计数值与同步最高倍数和同步最低倍数的乘积;比较低电平计数值与上述两个乘积的大小关系;若低电平计数值的大小介于两乘积之间,则产生同步指示信号;
分别计算低电平计数值与识别1最高倍数和识别1最低倍数的乘积;比较高电平计数值与上述两个乘积的大小关系;若高电平计数值的大小介于两乘积之间,则产生比特1指示信号;
分别计算高电平计数值与识别0最高倍数和识别0最低倍数的乘积;比较低电平计数值与上述两个乘积的大小关系;若低电平计数值的大小介于两乘积之间,则产生比特0指示信号;
在时钟驱动下,在输入信号的上升沿时刻,将有效比特数据存入移位寄存器。
6.根据权利要求1所述的灵活可配的射频硬件解码器,其特征在于,所述解码所需参数ⅱ包括报警器编码和报警器编码有效位。
技术总结