发明内容
本发明实施例提供一种数据解码电路及数据解码方法,以增大解码电路的容限范围。
本发明实施例提供了一种数据解码电路,包括:
第一计数器,用于对接收到的具有停顿周期的射频信号为高电平时进行计数,将计数结果输出给停顿周期处理电路;
第二计数器,用于对所述射频信号为低电平时进行计数,将计数结果输出给所述停顿周期处理电路;
上升沿检测电路,用于对所述射频信号和接收到的第一载波时钟进行处理,获取停顿周期上升沿信号和滤除所述停顿周期间载波时钟后的第二载波时钟;
所述停顿周期处理电路,用于根据所述射频信号的速率选择所述第一计数器或所述第二计数器的计数结果,根据所选的计数结果和对应速率的停顿周期的指定值生成调整参数;
数据同步时钟生成电路,用于根据所述停顿周期上升沿信号和所述第一载波时钟生成数据同步时钟信号,将所述数据同步时钟信号输出给数据生成电路;
帧起始结束检测电路,用于根据所述停顿周期上升沿信号和所述第二载波时钟检测帧起始结束信号,将所述帧起始结束信号输出给所述数据生成电路;
所述数据生成电路,用于根据所述数据同步时钟信号和所述帧起始结束信号采样待解码的数据。
可选地,上述数据解码电路还包括:
所述第一载波时钟为13.56MHz。
可选地,上述数据解码电路还包括:
所述停顿周期处理电路,根据所述射频信号的速率选择所述第一计数器或所述第二计数器的计数结果包括:若所述射频信号的速率为106kbps或212kbps,则选择所述第一计数器的计数结果;若所述射频信号的速率为424kbps或848kbps,则选择所述第二计数器的计数结果。
可选地,上述数据解码电路还包括:
上升沿检测电路,对所述射频信号和接收到的第一载波时钟进行处理,获取停顿周期上升沿信号和滤除所述停顿周期间载波时钟后的第二载波时钟包括:对所述射频信号进行采样得到第一级数据信号,再对所述第一级数据信号进行采样得到第二级数据信号,将所述第二级数据信号取反然后和所述第一级数据信号进行与操作得到所述停顿周期上升沿信号;将所述第一载波时钟和所述第一级数据信号进行与操作得到所述第二载波时钟。
可选地,上述数据解码电路还包括:
所述数据同步时钟生成电路,根据所述停顿周期上升沿信号和所述第一载波时钟生成数据同步时钟信号包括:检测到所述停顿周期上升沿信号时变化所述数据同步时钟的电平,在所述停顿周期间高电平从0开始计数,计到第一指定基本时间单位时清零,同时变化所述数据同步时钟的电平,然后循环计数。
可选地,上述数据解码电路还包括:
所述帧起始结束检测电路,用于根据所述停顿周期上升沿信号和所述第二载波时钟检测帧起始结束信号包括:检测到每一个停顿周期上升沿信号时,将所述帧起始结束信号置位为接收使能,在所述停顿周期间高电平从0开始计数,所述停顿周期为低电平时计数清零,当计数值大于第二指定基本时间单位时,将所述帧起始结束信号置位为接收结束。
本发明实施例还提供了一种数据解码的方法,应用于上述的数据解码电路,包括:
接收具有停顿周期的射频信号;
根据所述射频信号的速率采用对应的方式对所述停顿周期进行计数,根据计数结果生成调整参数;
根据所述调整参数对所述射频信号进行解码。
综上,本发明实施例提供一种数据解码电路及数据解码方法,通过不同的方式对基本速率和增强速率的pause进行计数,根据pause的宽度动态调整解码电路的参数,使得解码电路的容错范围远超协议规定的范围,有效降低误码率。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在数据交互过程中,pause的宽度会可能被压缩或扩展,pause的变化可能导致数据解码错误。在106、212kbps速率下,因为pause期间时钟不稳定,通过比较pause间高电平时间与理论值的差异,调节下一高电平数据同步时钟的翻转点;在424、848kbps速率下,通过比较pause持续时间与理论值的差异,调节本次高电平数据同步时钟的翻转点。通过该方法可达到间接调节pause宽度的效果。
在数据同步时钟生成电路中,需要根据数据传输速率生成以一比特数据传输时间(即1etu)为周期的数据同步时钟。数据同步时钟的翻转点是指数据时钟的跳变位置,如在106kbps速率时,翻转点为计数器计到64个载波周期时;在212kbps速率时,翻转点为计数器计到32个载波周期时;在424kbps速率时,翻转点为计数器计到16个载波周期时;在848kbps速率时,翻转点为计数器计到8个载波周期时。因为pause被压缩或者扩展,pause间的高电平也随之变化,这种变化太大的话会影响高电平间数据时钟翻转的次数,所以需要调节时钟的翻转点来消除pause变化的影响。
本实施例的解码电路包括:高电平计数器101、低电平计数器102、上升沿检测模块103、pause状态判决及调整电路104、数据同步时钟生成电路105、数据生成电路106、帧起始结束检测电路107,总体结构如图1所示。
高电平计数器101,包括一个8比特的计数器,在rf_data(具有停顿周期的射频信号)为高电平时计数,检测到rf_data的上升沿(rise_pul)时清0,该计数结果输入pause判决及调整电路。
低电平计数器102,包括一个4比特的计数器,在rf_data为低电平时计数,检测到rise_pul时清0,该计数结果输入pause判决及调整电路。
上升沿检测电路103,首先对rf_data做两级同步采样得到第一级数据信号rf_data_d1和第二级数据信号rf_data_d2,将rf_data_d2取反然后和rf_data_d1做与操作得到pause_pul(pause上升沿)信号;将接收到的第一载波时钟rf_clk和rf_data_d1做与操作得到第二载波时钟rf_clk_d(可以称之为被门控后的载波时钟)信号,第二载波时钟为滤除pause间载波时钟后的载波时钟。因为在pause期间载波时钟不稳定,在此期间不期望有时钟,rf_clk与rf_data_d1做与操作的结果是rf_data_d1为0时,即pause期间rf_clk为0,rf_data_d1为1时,rf_clk保持。
本实施例中,对rf_data做两级同步采样的具体方法是:寄存器对rf_data信号采样两级,第一级采样的输入为rf_data结果为rf_data_d1,第二级采样的输入为rf_data_d1结果为rf_data_d2。
其中,rf_clk是由模拟电路从接收到的载波信号中还原出来的载波时钟(13.56MHz)。
低速率判决电路及调整参数生成如下:
pause判决及调整电路104,在106kbps和212kbps时,采用高电平计数器的计数值,作为pause判决及调节的标准。理想情况下,pause间高电平的时间具有一定的规律,如表1所示,表1表示低速率时pause间高电平时间。
不同的速率指的是传输1比特所需的时间(即etu)不同。如106kbps时1etu=128rf_clk;212kbps时1etu=64rf_clk;424kbps时1etu=32rf_clk;848kbps时1etu=16rf_clk;
表1
距离/etu |
106kbps/clk |
212kbps/clk |
0.75etu |
96 |
48 |
1.25etu |
160 |
80 |
1.75etu |
224 |
112 |
因为在低速率下pause期间的时钟不稳定,只能通过对高电平进行计数,判别pause是否被展宽。该电路判断pause状态的标准如表2、表3所示,表2表示pause展宽时高电平时间,表3表示pause压缩时高电平时间。
表2
been_extend(被展宽) |
106kbps/clk/etu |
212kbps/clk/etu |
0.75etu |
<95(<0.75) |
<47(<0.75) |
1.25etu |
112~159(0.875~1.25) |
56~79(0.875~1.25) |
1.75etu |
176~223(1.375~1.75) |
88~111(1.375~1.75) |
表3
been_compress(被压缩) |
106kbps |
212kbps4 --> |
0.75etu |
96~111 |
48~55 |
1.25etu |
160~175 |
80~87 |
1.75etu |
>224 |
>112 |
在理论情况下,pause间高电平待续的时间分为以下7种,pause状态判定条件为:
高电平小于0.75etu时,pause展宽;
高电平在[0.75etu,0.875etu)之间时,认为pause被压缩;
高电平在[0.875etu,1.25etu)之间时,认为pause被扩展;
高电平在[1.25etu,1.375etu)之间时,认为pause被压缩;
高电平在[1.375etu,1.75etu)之间时,认为pause被扩展;
高电平在[1.75etu,2etu)之间时,认为pause被压缩;
高电平大于2etu时,数据结束。
在实际应用中,pause被扩展的概率大于被压缩的概率,所以在pause状态判别时,更倾向于pause扩展的情况,表现为pause判为被压缩状态的时间范围比较小。根据pause的状态和高电平持续时间,生成调整参数reshape0~reshape8,如表4、表5所示,表4为106kbps时参数调整表,表5为212kbps时参数调整表。
麦4
第一列为pause间高电平的计数值,以8个clk为单位进行分类,第2~9列为pause的调整值,此调整值以7个clk为单位。
表4中第1行,第10~12行,第19~21行,第28行为保护时间,该时间范围有可能是因为pause的轻微压缩或者剧烈扩展造成的,如0.75etu对应的pause轻微压缩,以及1.25etu对应的pause剧烈展宽都能造成(96,111)的时间范围,在该时间范围内,更倾向于是pause压缩的结果,所以不进行调整;表4中2-9行为pause间高电平为0.75etu时pause被展宽的情况;表4中13-18行为pause间高电平为1.25etu时pause被展宽的情况;表4中22-27行为pause间高电平为1.75etu时pause被展宽的情况。每展宽超过则调整7个clk。可支持的pause范围为[17,78]clk。
表5
第一列为pause间高电平的计数值,以4个clk为单位进行分类,第2~9列为pause的调整值,此调整值以3个clk为单位。
表5中第1、2行,第11~13行,第20~22行,第29行为保护时间,该时间范围有可能是因为pause的轻微压缩或者剧烈扩展造成的,如0.75etu对应的pause轻微压缩,以及1.25etu对应的pause剧烈展宽都能造成(48,55)的时间范围,在该时间范围内,更倾向于是pause压缩的结果,所以不进行调整;表5中第3-10行为pause间高电平为0.75etu时pause被展宽的情况;表5中第14-19行为pause间高电平为1.25etu时pause被展宽的情况;表5中第23-28行为pause间高电平为1.75etu时pause被展宽的情况。每展宽超过则调整3个clk。可支持的pause范围为[8,39]clk。
高速率判决电路及调整参数生成如下:
pause判决电路及调整电路,在424kbps和848kbps时,采用低电平计数器的计数值,作为判断pause状态的标准,如表6、表7所示,表6为pause被展宽情况表,表7为pause被压缩情况表。
表5
been_extend |
距离/clk |
424kbps |
>8 |
848kbps |
>4 |
表6
been_compress |
距离/clk |
424kbps |
<8 |
848kbps |
<4 |
参数调整方法如表8、表9所示,表8为424kbps时参数调整表,表9为848kbps时参数调整表。
表7
表8中的第1-7clk代表着pause被压缩,表8中的第9-22clk代表着pause被扩展。最大支持的pause宽度为[1,22]clk。因为解码电路在被压缩情况时,最小能支持1clk,所以只需考虑pause被展宽的情况。
表8
表9中1-3clk代表着pause被压缩,表9中5-11clk代表着pause被扩展。最大支持的pause宽度为[1,11]载波周期。因为解码电路在被压缩情况时,最小能支持1clk,所以只需考虑pause被展宽的情况。
数据同步时钟生成电路105,生成数据同步时钟,然后将数据同步时钟输出给数据生成电路。生成数据同步时钟的方法是:
(1)在检测到pause上升沿pause_pul时同步时钟翻转,即变化同步时钟信号的电平;
(2)6比特clk_cnt计数器在pause间高电平从0开始计数,计到0.5etu时清0,然后循环计数。根据pause的状态和调整参数reshape0~reshape14,调整数据时钟的翻转点。
如106kbps时,been_extend=1,reshape2=1,则时钟翻转点为clk_cnt=6’h31,提前14clk翻转,间接压缩了14clk。
数据生成电路106,生成数据的方法是:
(1)在pause_pul上升沿时将数据指示寄存器data_out_flag拉高,持续2个载波时钟rf_clk_d将data_out_flag拉低,本实施例中,数据的生成的方法是使用数据同步时钟的下降沿采样data_out_flag,将它持续2个rf_clk_d是为了更好的采样该信号;
(2)使用数据同步时钟的下降沿采样data_out_flag即得到最终解码数据data_out。这是因为pause间高电平持续时间满足一定规律,同理数据时钟的翻转次数也满足一定规律,如表10所示,表10为数据时钟翻转规律表。
数据生成电路接收帧起始结束信号in_en,该in_en信号是数据接收结束的指示信号,该信号拉低后用于将解码电路还原到接收状态。
表9
只要调节参数使得数据时钟的翻转次数满足表10的规律,就能保证数据“X”的pause上升沿出现在数据时钟的下降沿,数据“Z”的pause上升沿出现在数据时钟的上升沿,保障解码正确。
帧起始结束检测电路107,用于检测帧起始结束信号,将帧起始结束信号输出给数据生成电路,帧起始结束的检测方法为:
(1)在检测到每一个pause上升沿时,将接收指示信号in_en拉高,表示接收使能;
(2)7比特计数器在pause间高电平从0开始计数,pause为低时计数器清0,计数值大于2etu时,将in_en拉低,表示接收到结束位。
以106kbps为例,介绍解码电路的时序,如图2所示:
(1)high_level_cnt(高电平计数器)对pause间高电平进行计数,pause判决及调整电路104在pause_pul(上升沿)时将计数值与标准值做比较,生成been_compress(被压缩)、been_extend(被展宽)、reshape(调整参数)信号,并且将high_level_cnt清0,准备下一次的计数。
(2)数据同步时钟生成电路105根据been_compress、been_extend、reshape信号,生成ck128_en(数据同步时钟信号(即ck128)翻转的指示信号)。图2中,第一个pause为正常宽度,所以been_extend和been_compress均为0,reshape0=1,因此第二个高电平阶段ck128(数据同步时钟)计数满64才翻转;第二个pause为展宽情况,所以been_extend=1,reshape2=1,因此第三个高电平阶段ck128计数到50就翻转;第三个pause为压缩所以been_compress=1,reshape1=1,因此第四个高电平阶段ck128计数满64才翻转;第四个pause为扩展情况,所以been_extend=1,reshape3=1,因此第五个高电平阶段ck128计数到43就翻转。
以848kbps为例,介绍解码电路的时序,如图3所示。
(1)low_level_cnt(低电平计数器)对pause进行计数,pause判决及调整电路104在pause_pul时将计数值与pause宽度的标准值做比较,生成been_compress、been_extend、reshape0~7信号,并且将low_level_cnt清0,准备下一次的计数。
(2)数据同步时钟生成电路105根据been_compress、been_extend、reshape0~7信号,生成ck128_en。图3中extend1表示pause扩展了2个clk,所以ck128_en计数到6就翻转;extend2标志pause扩展了3个clk,所以ck128_en计数到5就翻转;compress1表示pause压缩了1个clk,因为对pause压缩的适应能力为4个clk,所以压缩时仍然保持计数到8翻转。
ISO/IEC14443-2协议要求的pause范围与此电路支持的pause范围对比如表11所示,表11为pause宽度容限范围对比表。
表10
|
协议要求范围/clk |
此电路支持范围/clk |
106kbps |
[28,42] |
[17,78] |
212kbps |
[16,20] |
[8,39] |
424kbps |
[8,10] |
[1,22] |
848kbps |
[4,5] |
[1,11] |
如表11所示,此解码电路的pause容限范围远远大于协议要求,能很好的适应pause展宽和压缩的情况。
在基础速率下,pause间没有载波时钟,不能直接对pause计数衡量pause的宽度,使用对pause间高电平计数的方法间接衡量pause的宽度。在增强速率下,对pause直接计数衡量pause的宽度。
根据pause的宽度调节数据同步时钟生成电路的参数,保证pause间数据同步时钟翻转的数量满足要求,增大解码电路的容限范围。
本发明实施例能支持106、212、424、848kbps四种速率,根据pause宽度,调整解码电路的参数,使得解码电路容错范围更大。
在106kbps时,支持的pause宽度为[17,78]载波周期;
在212kbps时,支持的pause宽度为[8,39]载波周期;
在424kbps时,支持的pause宽度为[1,22]载波周期;
在848kbps时,支持的pause宽度为[1,11]载波周期。
本发明实施例提供一种数据解码的方法,该方法是利用上述的数据解码电路进行数据解码的,如图4所示,包括以下步骤:
S11、接收具有停顿周期的射频信号;
S12、根据所述射频信号的速率采用对应的方式对所述停顿周期进行计数;根据计数结果生成调整参数;
S13、根据所述调整参数对所述射频信号进行解码。
本发明实施例的解码电路及方法,通过不同的方式对基本速率和增强速率的pause进行计数,根据pause的宽度动态调整解码电路的参数,使得解码电路的容错范围远超协议规定的范围,可以有效降低误码率。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。