CN102737208B - 一种超高频电子标签译码mmc型数据的方法 - Google Patents
一种超高频电子标签译码mmc型数据的方法 Download PDFInfo
- Publication number
- CN102737208B CN102737208B CN201110093486.4A CN201110093486A CN102737208B CN 102737208 B CN102737208 B CN 102737208B CN 201110093486 A CN201110093486 A CN 201110093486A CN 102737208 B CN102737208 B CN 102737208B
- Authority
- CN
- China
- Prior art keywords
- data
- state
- decoding
- counter
- mark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明是一种超高频领域电子标签译码MMC型数据码的方法,在超高频领域的应用中超高频阅读器会发送给无源电子标签MMC码型数据,电子标签需要对此类数据进行译码。MMC码型是一种超高频通讯过程中阅读器发送给无源电子标签的数据码型。电子标签接收阅读器发送的信号,并将信号转换为数字信号,之后开始对MMC码进行译码。本译码方法包括:一、设定状态机控制整个译码过程,包括译码、同步及错误识别,该状态机包括了译码MMC的所有正确和错误情况。二、在状态机的控制下,识别有效跳变沿,屏蔽无效跳变沿,在此基础上对译码电路计数器进行同步清零,避免误差积累。三、整个过程是,先从前导码中提取出数据宽度,之后译码电路计数器计数,当达到该宽度时对数据进行识别,然后在状态机控制下计数器清零,再开始下一个数据的识别。
Description
技术领域
本发明提出了一种MMC码型的译码方法,本发明适用于超高频电子标签设计领域。
背景技术
本发明提出了一种MMC码型的译码方法。阅读器与标签通信时,阅读器将发送给标签的数据进行一定格式的编码,再通过空中的载波发送给标签。标签接收到载波后,要对码型进行相应的译码才能获得正确的数据。
在超高频通讯过程中,阅读器对发送给标签数据的编码类型有很多种,MMC码型也是其中一种。如图1A,MMC码型的定义如下:
1、数据0采用数据0编码符号直接编码;
2、数据1的编码有两种情况:
1)单独一个数据1,采用第一种编码形式;
2)连续多个数据1,则两个数据1为一组,每组内第一个数据1采用第一种编码形式,第二个数据1采用第二种编码形式。如果连续奇数个数据1,则最后一个数据1不能形成编码组,此时采用第一种编码形式。
观察数据1和数据0的码型,可以发现它们的最大区别在于每位数据后半周期的值,如果后半周期的值为1,则此位数据为1,如果后半周期的值为0,则此位数据为0。在对每位MMC码型数据进行译码的过程中,如果只对后半周期的值进行判断,那么当出现图1B所示的码型数据时,则无法发现接收到的数据是错误的,所以就会在译码过程出错,从而造成阅读器与电子标签之间的通讯不稳定。
此外,在超高频通信中,一般存在前导码,以标定时间和码形的宽度,如图2所示定界符与定长数据用以校准标签的时钟,之后的数据0,1,违例,1,用以说明阅读器发送给标签数据的宽度,并标识一次轮询的开始。通常的译码过程是从前导码提取出数据宽度,之后用该宽度检查一个数据是否接收完毕,也就是计数到一个数据宽度后认为接收到一个数据,计数器清零,进行下一次计数和下一个数据的接收。在一个数据宽度内对数据进行采样,识别出这个数据是0或者1。但这种做法存在一定问题,通常在通信中数据宽度和码形中低电平宽度(数据0的低电平宽度,数据1码形2的低电平宽度)都会存在一定偏差,不能保证50%的占空比。采用计数器计数时,也存在±1的误差。因此若计数器清零与新数据真正的开始不同步时,会导致计数误差累计。当计数器的时钟较慢,而数据的宽度较小,累计误差效 果就明显,此时再考虑半周期宽度的偏差,就会造成误识别。
下面具体介绍传统方法导致误识别的过程和原因:
1、在对前导码的识别中,得到数据宽度t,对应计数N次。
2、传统译码过程:采用计数宽度t用来区分每个数据是否接收完毕,当计数了第一段t后,认为数据1接收完毕。然后检查本段内的采样点,判断这个数据是0还是1。采样一般分做前半周期采样和后半周期采样,得到前后周期的数值后根据MMC码形规律得到本数据的值,例如前半周期是1,后半周期是0,则认为是数据0。半周期数值的获得方法是:在半个周期内进行若干次采样,取采样数值多的为本半周期数值。如果半周期的一半,即1/4的采样点都采到1,就认为这半周期内的值是1,否则当超过1/4的采样点采到0时,就认为这半周期内的值是0。因此1/4的采样点是否能在真正数据的半周期范围内十分关键。接收并识别完一个数据后,计数器清零后继续计数,再次计数t时间后,认为数据2接收完毕,然后对本段采样点进行分析,识别出数据是0或是1。清零后继续计数,依此进行下去。如图3所示,是上述方法的简单应用,即前后半周期只各进行一次采用,在1/4点和3/4点进行采样,之后根据采样是下列哪个值(2’b00,2’b01,2’b10,2’b11)得到本数据。
3、造成误差累计有三方面原因:一是阅读器发送的数据宽度可能存在偏差,即每次发送的数据宽度不一致,这样如果只用不变的宽度衡量一个数据是否接收完毕并且不将计数的起始点与数据真正的开始点进行同步,就会造成误差累计,如图4A所示,假设阅读器发送的数据每次都比前导发送的数据偏差1%,而译码电路始终按照前导得到的宽度辨识每个数据,那么多个数据会造成误差累计,由图看出译码数据n已经完全不对应实际数据n了,这种情况下,误译码的可能性很大。
4、原因二是阅读器发送的数据占空比不能保证50%,由MMC码形可知,识别一个数据是0或者1的关键就是区分前后半周期的数值,由2.所述的采样过程可知,关键要保证1/4的采样点都落在对应的半周期范围内,才能采到正确的半周期数值,但占空比不是50%会加大这个采样难度。如图4B所示,实际码与理想码相比,占空比变小,假设缩小t_pulse的时间。而误差累计又导致计数器识别的一个数据与实际数据不同步,也就是提前开始衡量,提前结束衡量。如果对理想码进行译码,还可以保证处于后半周期的1/4的采样点落在理想数据的后半周期低电平中,但如果对实际码进行译码,由于低电平宽度变窄,1/4的采样点已经不完全落在低电平范围,使得后半周期大多数的采样值是1而不是0,这个数据就会误译做数据1而不是数据0。若占空比变大,对应为高电平变窄,同理可得到类似情况。
5、原因三是译码电路的计数器在计数时存在±1的误差,具体指译码电路采用译码时钟计数数据的宽度可能多计数一个或者少计数一个,假设实际宽度计数N次,大多数情况不可能正好是N次,则偏差的情况用1/N估算,若译码时钟频率越高,则偏差越小。如图4C所示,数据长度是4.5个时钟,计数情况1恰巧在数据的开始时计数一次,共计数5次,计数情况2计数4次,计数情况3计数5次,偏差实际是4.5-5=-0.5个时钟或4.5-4=0.5个时钟,但由于电路无法分辨出0.5个时钟,所以偏差以1个时钟估算。这样由前导得到的宽度t若只考虑计数偏差,则偏差比例为1/N,以这个宽度进行衡量,也会出现与原因一类似的误差累计。
6、综合上述因素,得到一般的译码机制导致误识别的过程。为了便于说明简化条件,假设实际码的宽度每次都是一致的,只有占空不是50%,假设宽度缩小t_pulse,并且计数器计数带来的误差1/N。如图4D所示,数据1,数据2识别是正确的,但已经逐次累计误差,到数据3时处于后半周期的1/4的采样数据已经采到错误的值,本应该后半周期多数采样值是0,但由于误差累计,且低电平宽度缩小,导致后半周期的多数采样值是1,造成误识别。
7、由上述分析可以得知,若想提高译码正确性,一是译码电路得到的数据宽度尽可能与实际数据宽度接近,二是需要将实际数据与对数据的识别进行同步,避免误差累计。第一方面与采用的时钟频率和具体前导码设定有关,本发明主要针对第二方面。
8、对译码电路进行同步不能只依靠通过数据跳变沿进行,这种机制在面对目前这种新型码MMC码时存在局限性。如图1,在MMC码形中,跳变沿并不能代表一个数据的结束或开始,在数据0中间和数据1码形2中间都存在中间跳变沿。若用该沿对计数器同步清零,使得对1个数据的完整性识别出现问题,或识别更加复杂。在图6A~图6F中,显示了MMC码形下所有数据的连接可能,由图看出,大多数的跳变沿都是无效跳变沿。
9、本发明通过状态机屏蔽掉了无效跳变沿,保留了有效跳变沿,在状态机控制下进行同步,适应更多的译码情况。
发明内容
本发明提出的是一种有效的译码方法避免误识别。
1、在该方法里,先将从空中接收到的阅读器发送的MMC码转换成数字信号。
2、进入译码状态机进行译码。该状态机包括主状态机和相关的状态跳转条件产生电路。状态机如图5A。MMC码规定,并不是任意两个码形可以随意连接,例如数据1的码形1后不能再与数据1码形1相连。状态机根据MMC码形规律给出所有合法的码形转换, 并考虑了所有的错误可能,在出现错误时状态机会跳转到错误状态(ERR)报错,并结束译码过程。这个译码机制有如下功能:
1)可以保证译码符合MMC规定;
2)只有收到一个完整且正确的数据时才进行状态转换,同步清零操作,这样屏蔽了无效的同步信号(跳变沿),保留了有效的同步信号(跳变沿);
3)及时发现阅读器发送的错误码形;
4)可以预防部分由于误差累计得到错误码且恰巧不符合MMC规律的情况。如图5B所示,实际数据为0,1,0,由于误差累计使得译码错误,译码数据为0,1,1,但第二个数据1前半周期和后半周期都是高电平,这属于两个数据1码形1相连的情况,是违法的,这种情况就会触发状态机的错误条件,导致状态机跳转到错误状态,及时停止了错误译码。
3、下面介绍状态机的思路:状态机共有6个状态,分别是IDLE空闲状态,PRE前导状态,S0已识别出数据0状态,S11已识别出数据1码形1状态,S12已识别出数据1码形2状态,ERR错误状态。
1)状态机起始状态为IDLE状态,当识别到前导标志后进入PRE前导状态。
2)前导状态主要用于在MMC的前导码中得到数据宽度t,对应为译码时钟计数N次。前导码状态的跳转情况是,前导码的最后一个码形根据规定可以不同,例如本发明所举例的前导最后一个码形是数据1码形2,根据MMC规定,该码形只能继续连接数据0,即前半周期为1后半周期为0(2’b10),或数据1码形1,即前半周期和后半周期均为1(2’b11),若连接其他码形,包括前后半周期均为0(2’b00)和前半周期为0后半周期为1的(2’b01)都属于违法连接。所以状态机的跳转是,在PRE状态下,接收到数据0(2’b10)则跳转到S0状态,表示已识别到数据0;接收到数据1码形1(2’b11)跳转到S11状态,表示已识别到数据1码形1;接收到其他两种情况连续低电平(2’b00)或数据1码形2(2’b01)则跳转到错误状态ERR。在ERR状态下报错后就跳转到IDLE状态,停止译码。因为前导信号只出现一次,所以大多数情况状态机在剩余的状态中跳转。
3)S0状态表示已识别到数据0,根据MMC规定,该码形可以连接数据0,所以当识别到此码形时(2’b10)仍跳转到本状态,表示又识别到数据0,之后计数器清零,重新计数,开始下一个数据的识别。该码形还可以连接数据1码形1,所以当识别到此码形时(2’b11),跳转到S11状态,表示已识别到数据1码形1。该码形不能连接连续低电平(2’b00)和数据1码形2(2’b01),所以在这两种情况下进 入ERR状态。
4)S11状态表示已识别到数据1码形1,根据MMC规定,该码形可以连接数据0,所以当识别到此码形时(2’b10)跳转到S0状态,表示已识别到数据0。该码形还可以连接数据1码形2,所以当识别到此码形时(2’b01),跳转到S12状态,表示已识别到数据1码形2。该码形不能连接连续低电平(2’b00)和数据1码形1(2’b11),所以在这两种情况下进入ERR状态。
5)S12状态表示已识别到数据1码形2,根据MMC规定,该码形可以连接数据0,所以当识别到此码形时(2’b10)跳转到S0状态,表示已识别到数据0。该码形还可以连接数据1码形1,所以当识别到此码形时(2’b11),跳转到S11状态,表示已识别到数据1码形1。该码形不能连接连续低电平(2’b00)和数据1码形2(2’b01),所以在这两种情况下进入ERR状态。
6)ERR状态表示已识别到错误,在这个状态下报错,并转换到IDLE状态,停止译码。
7)以上任何一个状态在收到结束标志后都会转换到IDLE状态,结束标志根据具体约定而不同。
4、上述状态机保证译码符合MMC规定,并且包括了所有情况的处理。因为对一个数据的识别过程分做前半周期和后半周期进行,即一定得到2bit的数值,共有4种情况(2’b00,2’b01,2’b10,2’b11),状态机在每个状态下对这四种情况都进行了处理。
5、介绍在这个状态机控制下进行的同步处理。
1)在前导状态采样计数器计得1个数据宽度是N,对应时间t。在译码时计数到N则认为1个数据接收完毕,产生标志信号full(full信号为1’b1),同时完成对采样点的分析得到本数据的数值,之后计数器清零,继续累计到N,接收分析下一个数据。状态机的每一个状态,都表示已识别完一个数据,所以上述机制在状态机控制下就是,每遇到一个跳转条件,表示已识别到一个完整且正确的数据,状态机跳转到新的状态,将计数器清零,并重新计数,对新数据进行接收和译码。
2)同步的关键就是计数器的清零时刻要与新数据开始的时刻一致,这样就保证了数据与计数器同步。在数据传输时存在对同步有效的跳变沿和无效的跳变沿,对同步有效的跳变沿是指该跳变沿恰好标识一个数据的开始,而无效的跳变沿则出现在数据中间,不能用来标记新数据的开始。
3)当出现有效跳变沿时,则用该跳变沿对计数器进行清零。包括3个情况,如图5A状态机中箭头标注的状态转换,即带有pos和neg的状态转换条件:
●情况1:数据0连接数据1码形1——即处于S0状态,表示已识别到数据0,再识别到2’b11,表示识别到数据1码形1,但必须等到上升沿(pos信号为高)才标志新数据接收完毕,此时才转换到S11状态,给出清零标志,计数器重新计数,做到与数据的同步。对应图6A,数据0连接数据1码形1,两个数据之间出现上升沿,是有效跳变沿。
●情况2:数据0连接数据0——即处于S0状态,表示已识别到数据0,再识别到2’b10,表示识别到数据0,但必须等到上升沿(pos信号为高)才标志新数据接收完毕,此时虽然不做状态跳转(因为仍是数据0),但给出清零标志,计数器重新计数,做到与数据的同步。对应图6B,数据0连接数据0,两个数据之间出现上升沿,是有效跳变沿。
●情况3:数据1码形1连接数据1码形2——即处于S11状态,表示已识别到数据1码形1,再识别到2’b01,表示识别到数据1码形2,但必须等到下降沿(neg信号为高)才标志这新数据接收完毕,此时才转换到S12状态,给出清零标志,计数器清零后重新计数,做到与数据的同步。对应图6C,数据1码形1连接数据1码形2,两个数据之间出现下降沿,是有效跳变沿。
4)其他的情况下的跳变沿均是无效跳变沿,此时当计满N时,即认为接收完毕一个数据,对计数器进行清零。具体是计满N后产生full信号(full=1’b1),并得到本数据的数值,根据状态机,依据得到的数值做状态跳转,跳转到新状态时,给出清零标志,计数器重新计数。这些状态转换在图5A状态机中箭头标注,即不带有pos和neg的状态转换条件。包括:PRE状态跳转到S11状态,PRE状态跳转到S0状态,S11状态跳转到S0状态,S12状态跳转到S11状态,S12状态跳转到S0状态,和所有状态跳转到ERR状态。
5)上述机制保证当真正可以识别的数据开始(有效跳变沿)到来时,对计数器进行清零,做到同步,其他时候则是计满N后自动清零,屏蔽掉无效跳变沿。
6、以上主要介绍了计数器和同步清零的处理,下面介绍状态机的其他相关部分。
1)数据识别电路。该电路对数据进行采样,N/2前的采样点为前半周期采样点,N/2后的为后半周期采样点,分析每半个周期的若干个采样点,得到本半周期的数值。例如在前半周期采样3个数据,2个数据为0,1个数据1,则认为本半周期为0,这样前后周期可以给出2bit的数,2’b00,2’b01,2’b10,2’b11。本识别电路在计数器清零并重新计数后开始工作,在计数器计满N,给出full信号之前或同时,给出识别的2bit数据,提供状态转换的条件。
2)跳变沿识别电路。该电路用于识别数据的上升沿或下降沿,识别到上升沿令pos信号为高,识别到下降沿令neg信号为高。本电路不是一直工作,因为无效跳变沿是不需要检测的,而有些情况一定不会出现跳变沿,此时关闭本电路避免错误跳变沿的干扰并节省功耗。开启本电路只有两种情况:
●情况1是目前处于S0状态,由图5A状态机图所示,在S0下连接任何一个数据均会出现上升沿。
●情况2是目前处于S11状态,且数据识别电路已识别出前半周期为0,后半周期的至少1/2采样点为1时(即全周期的1/4采样点),开启本电路,也就是在S11状态转换到S12状态。由图5A状态机图所示,当S11转换到S12时必然出现下降沿,而其他转换:S11转换到S0,S11转换到ERR的情况均不出现需要的跳变沿,上述开启情况保证了此点。
3)错误标志,当状态机在ERR状态下,错误标志抬高,标志译码错误。
7、结合条件产生电路,对状态机进行具体介绍:
1)ILDE为状态机的初始状态,当识别到前导标识时进入前导PRE状态,前导标识根据前导码的不同而不同。
2)PRE前导状态主要用于在MMC的前导码中得到数据宽度t,对应为译码时钟计数N次。其状态转换条件根据不同的前导码设定而不同,例如针对本文举例的前导码只有检测如下条件时进行状态转换:
●当检查到full条件且识别电路给出2’b11时,给出计数器清零标志,转换到S11状态;
●当检查到full条件且识别电路给出2’b10,给出计数器清零标志,转换到S0状态;
●当检查到full条件且识别电路给出2’b01或2’b00,给出计数器清零标志,转换到ERR状态。
其中,full条件在计数器计满N时产生(full信号为1’b1)。
3)S11状态表示已识别出数据1码形1状态,在本状态中只有检测如下条件时进行状态转换:
●当检测到full条件且识别电路给出2’b10时,给出计数器清零标志,转换到S0状态;
●当检测到neg条件且识别电路给出2’b01时,给出计数器清零标志,转换到S12状态,注意本转换只有当沿触发条件neg到来时才能进行;
●当检测到full条件且识别电路给出2’b11或2’b00时,给出计数器清零标志,转换到ERR状态。
其中,neg条件为跳变沿识别电路产生。
4)S12状态表示已识别出数据1码形2状态,在本状态中只有检测如下条件时进行状态转换:
●当检测到full条件且识别电路给出2’b10时,给出计数器清零标志,转换到S0状态;
●当检测到full条件且识别电路给出2’bll时,给出计数器清零标志,转换到S11状态;
●当检测到full条件且识别电路给出2’b01或2’b00时,给出计数器清零标志,转换到ERR状态。
5)S0状态表示已识别出数据0状态,在本状态中只有检测如下条件时进行状态转换:
●当检测到pos条件且识别电路给出2’b10时,仍在本态,但给出计数器清零标志;
●当检测到pos条件且识别电路给出2’b11时,给出计数器清零标志,转换到S11状态,注意本转换只有当沿触发条件pos到来时才能进行;
●当检测到full条件且识别电路给出2’b01或2’b00时,给出计数器清零标志,转换到ERR状态。
其中,pos条件为跳变沿识别电路产生。
6)ERR状态表示发现错误码形,报错,之后回到IDLE状态。
7)以上任何一个状态在接收到结束标志后都会转换到IDLE状态,结束译码,结束标志根据具体约定而不同。
8、在本发明控制下的译码流程如图7所示:
1)电子标签接收阅读器发送的信号,并将信号转换为数字信号。
2)从前导码中提取出数据宽度t,对应计数次数N。
3)开始计数。
4)同时开始三方面的工作:
●计数器持续累计,一直到N。
●识别电路识别一个数据为0或为1。
●识别数据0后的上升沿和数据1码形1后连接数据1码形2时的下降沿。
5)根据所处的状态,得到本状态下的清零条件,对计数器进行同步清零,以备下一个数据的识别。
6)一个数据识别完毕,查看是否结束,若不结束返回步骤3,否则结束译码过程。
附图说明
1、图1A MMC码型说明
2、图1B MMC码的一种错误数据
3、图2 MMC码的一种前导码举例
4、图3 数据采样说明
5、图4A 宽度不一致导致误识别
6、图4B 占空比不是50%导致误识别
7、图4C 计数器计数导致误识别
8、图4D 误识别过程
9、图5A 状态机
10、图5B 状态机避免误译码举例
11、图6A 数据0连接数据1码形1
12、图6B 数据0连接数据0
13、图6C 数据1码形1连接数据1码形2
14、图6D 数据1码形2连接数据1码形1
15、图6E 数据1码形1连接数据0
16、图6F 数据1码形2连接数据0
17、图7 译码流程
18、图8 译码电路结构
具体实施方式
为使本发明技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明达到的译码处理流程如图7所示:
1、电子标签接收阅读器发送的信号,并将信号转换为数字信号。
2、从前导码中提取出数据宽度t,对应计数次数N。
3、开始计数。
4、同时开始三方面的工作:
1)计数器持续累计,一直到N。
2)识别电路识别一个数据为0或为1。
3)识别数据0后的上升沿和数据1码形1后连接数据1码形2时的下降沿。
5、根据所处的状态,得到本状态下的清零条件。
6、一个数据识别完毕,查看是否结束,若不结束返回步骤3,否则结束译码过程。
整个过程除了步骤1需要接收模块外,其他步骤都是依靠译码电路实现的,电路模块结构如图8所示,下面对各模块做具体介绍:
1、接收模块:负责接收阅读器发送的空中信号,并将其转换为数字信号。
2、主状态机模块:
1)ILDE为状态机的初始状态,当识别到前导标识时进入前导PRE状态,前导标识根据前导码的不同而不同。
2)PRE前导状态主要用于在MMC的前导码中得到数据宽度t,对应为译码时钟计数N次。其状态转换条件根据不同的前导码设定而不同,例如针对本文举例的前导码只有检测如下条件时进行状态转换:
●当检查到full条件且识别电路给出2’b11时,给出计数器清零标志,转换到S11状态;
●当检查到full条件且识别电路给出2’b10,给出计数器清零标志,转换到S0状态;
●当检查到full条件且识别电路给出2’b01或2’b00,给出计数器清零标志,转换到ERR状态。
其中,full条件在计数器计满N时产生(full信号为1’b1)。
3)S11状态表示已识别出数据1码形1状态,在本状态中只有检测如下条件时进行状态转换:
●当检测到full条件且识别电路给出2’b10时,给出计数器清零标志,转换到S0状态;
●当检测到neg条件且识别电路给出2’b01时,给出计数器清零标志,转换到S12状态,注意本转换只有当沿触发条件neg到来时才能进行;
●当检测到full条件且识别电路给出2’b11或2’b00时,给出计数器清零标志,转换到ERR状态。
其中,neg条件为跳变沿识别电路产生。
4)S12状态表示已识别出数据1码形2状态,在本状态中只有检测如下条件时进行状态转换:
●当检测到full条件且识别电路给出2’b10时,给出计数器清零标志,转换到S0状态;
●当检测到full条件且识别电路给出2’b11时,给出计数器清零标志,转换到S11状态;
●当检测到full条件且识别电路给出2’b01或2’b00时,给出计数器清零标志,转换到ERR状态。
5)S0状态表示已识别出数据0状态,在本状态中只有检测如下条件时进行状态转换:
●当检测到pos条件且识别电路给出2’b10时,仍在本态,但给出计数器清零标志;
●当检测到pos条件且识别电路给出2’b11时,给出计数器清零标志,转换到S11状态,注意本转换只有当沿触发条件pos到来时才能进行;
●当检测到full条件且识别电路给出2’b01或2’b00时,给出计数器清零标志,转换到ERR状态。
其中,pos条件为跳变沿识别电路产生。
6)ERR状态表示发现错误码形,报错,之后回到IDLE状态。
7)以上任何一个状态在接收到结束标志后都会转换到IDLE状态,结束译码,结束标志根据具体约定而不同。
3、bit宽度计数器:
1)收到清零标志后清零;
2)当计满到N时停止累加,并令full信号抬高;
3)其余情况累加。
4、计数器清零标志,当状态机的转换条件满足时,清零标志抬高。状态机的转换条件见主状态机部分。
5、数据识别电路:该电路对数据进行采样,N/2前的采样点为前半周期采样点,N/2后的为后半周期采样点,分析每半个周期的若干个采样点,得到本半周期的数值。例如在前半周期采样3个数据,2个数据为0,1个数据1,则认为本半周期为0,这样前后周期可以给出2bit的数,2’b00,2’b01,2’b10,2’b11。本识别电路在计数器清零并重新计数后开始工作,在计数器计满N,给出full信号之前或同时,给出识别的 2bit数据,提供状态转换的条件。
6、跳变沿识别电路。该电路用于识别数据的上升沿或下降沿,识别到上升沿令pos信号为高,识别到下降沿令neg信号为高。本电路不是一直工作,因为有些跳变沿不是真正数据的开始,例如数据1码形2,在数据中间存在上跳沿,这个沿就不能标志一个完整数据的开始,不用做计数器同步清零的条件,而有些情况一定不会出现跳变沿,此时关闭本电路避免错误跳变沿的干扰。开启本电路只有两种情况:
1)情况1是目前处于S0状态,由图5A状态机图所示,在S0下连接任何一个数据均会出现上升沿。
2)情况2是目前处于S11状态,且数据识别电路已识别出前半周期为0,后半周期的至少1/2采样点为1时(即全周期的1/4采样点为1时),开启本电路。由图5A状态机图所示,当S11转换到S12时必然出现下降沿,而其他转换:S11转换到S0,S11转换到ERR的情况均不出现需要的跳变沿,上述开启情况保证了此点。
Claims (9)
1.一种超高频领域电子标签译码MMC型数据的方法,其特征在于,该方法包括:
1)设定状态机控制整个译码过程,包括译码、同步及错误识别,该状态机包括了译码MMC的所有正确和错误情况;
2)在状态机的控制下,识别有效跳变沿,屏蔽无效跳变沿,在此基础上对译码电路计数器进行同步清零,避免误差积累;
其中译码的整个过程受状态机控制,保证译码的同步处理且符合MMC规定,并能够及时发现错误停止译码;状态机共有6个状态,分别是IDLE空闲状态,PRE前导状态,S0状态,S11状态,S12状态,ERR错误状态;其中:
1)ILDE空闲状态为状态机的初始状态,当识别到前导标识时进入PRE前导状态,前导标识根据前导码的不同而不同;
2)PRE前导状态主要用于在MMC的前导码中得到数据宽度t,对应为译码时钟计数N次,其状态转换条件根据不同的前导码设定而不同;
3)S0状态表示已识别出数据0状态;
4)S11状态表示已识别出数据1码形1状态;
5)S12状态表示已识别出数据1码形2状态;
6)ERR状态表示发现错误码形,报错,之后回到IDLE状态停止译码;
7)其中数据识别状态S0,S11,S12均是识别完毕一个完整的数据后才做状态跳转;
8)任何一个状态在接收到结束标志后都会转换到IDLE状态,结束译码。
2.如权利要求1所述的方法,其特征在于,电子标签接收阅读器发送的信号,并将信号转换为数字信号,在状态机的控制下进行译码,具体步骤如下:
1)从前导码中提取出数据宽度t,对应计数次数N;
2)通过计数器开始计数,计数到N或者出现有效跳变沿时,识别出一个数据的结束;
3)对数据信号进行识别;
4)根据所处的状态,在状态机控制下对计数器进行同步清零,完成一个数据的识别;
5)查看数据是否结束,若不结束返回步骤2,否则结束译码;
6)在上述过程中若发现错误,停止译码。
3.如权利要求1所述的方法,其特征在于PRE前导码状态只有检测到如下条件之一时进行状态转换:
1)当检查到1个数据宽度计满后,且数据为数据1码形1,给出计数器清零标志,转换到S11状态;
2)当检查到1个数据宽度计满后,且数据为数据0,给出计数器清零标志,转换到S0状态;
3)当检查到1个数据宽度计满后,且数据为其他数据码形,给出计数器清零标志,转换到ERR状态。
4.如权利要求1所述的方法,其特征在于S11状态中只有检测到如下条件之一时进行状态转换:
1)当检查到1个数据宽度计满后,且数据为数据0,给出计数器清零标志,转换到S0状态;
2)当检测到下降沿,且数据为数据1码形2,给出计数器清零标志,转换到S12状态,清零标志的给出是检测到跳变沿,而不是数据宽度计满,保证真正数据接收完毕后才清零,对计数器同步;
3)当检查到1个数据宽度计满后,且数据为其他数据码形,给出计数器清零标志,转换到ERR状态。
5.如权利要求1所述的方法,其特征在于S12状态中只有检测到如下条件之一时进行状态转换:
1)当检查到1个数据宽度计满后,且数据为数据0,给出计数器清零标志,转换到S0状态;
2)当检查到1个数据宽度计满后,且数据为数据1码形1,给出计数器清零标志,转换到S11状态;
3)当检查到1个数据宽度计满后,且数据为其他数据码形,给出计数器清零标志,转换到ERR状态。
6.如权利要求1所述的方法,其特征在于S0状态中只有检测到如下条件之一时进行状态转换:
1)当检测到上升沿,且数据为数据0,仍在S0状态,在上升沿到来后给出清零标志,保证了真正数据接收完毕后清零,对计数器同步;
2)当检测到上升沿,且数据为数据1码形1,给出计数器清零标志,清零标志的给出是检测到跳变沿,而不是数据宽度计满,保证了真正数据接收完毕后清零,对计数器同步;
3)当检查到1个数据宽度计满后,且数据为其他数据码形,给出计数器清零标志,转换到ERR状态。
7.如权利要求1或2所述的方法,其特征在于存在对译码电路的同步机制,是在状态机控制下屏蔽了无效的跳变沿,保留有效的跳变沿,且没有进入错误状态时进行清零;清零的两个机制是:
1)机制1:当出现有效的跳变沿时,对计数器进行同步清零;
2)机制2:当没有有效的跳变沿时,符合状态机的转换条件就意味着完整的接收了一个正确数据,此时对计数器进行同步清零。
8.如权利要求1所述的方法,其特征在于:状态机能屏蔽掉无效的跳变沿,保留有效的跳变沿,也就是当跳变沿出现在数据中间时,状态机都不跳转,不对计数器进行清零,而当跳变沿出现在两个数据之间,且符合MMC码规律时,状态机才跳转,进行计数器的清零,其中只有在以下两种情况下识别数据的跳变沿:
1)情况一:目前处于S0状态,在S0下连接任何一个数据均会出现上升沿;
2)情况二:目前处于S11状态,且数据识别电路已识别出前半周期为0,后半周期的至少1/2采样点为1时(即全周期的1/4采样点),也就是S11跳转到S12状态,会出现下降沿。
9.一种超高频电子标签译码MMC型数据的电路,其特征在于包括接收模块、主状态机模块、计数器、数据识别电路、跳变沿识别电路、bit宽度计数器模块;其中:
1)所述接收模块负责接收阅读器发送的空中信号,并将其转换为数字信号;
2)所述主状态机模块负责控制整个译码过程;状态机模块共有6个状态,分别是IDLE空闲状态,PRE前导状态,S0状态,S11状态,S12状态,ERR错误状态;其中:ILDE空闲状态为状态机的初始状态,当识别到前导标识时进入PRE前导状态,前导标识根据前导码的不同而不同;PRE前导状态主要用于在MMC的前导码中得到数据宽度t,对应为译码时钟计数N次,其状态转换条件根据不同的前导码设定而不同;S0状态表示已识别出数据0状态;S11状态表示已识别出数据1码形1状态;S12状态表示已识别出数据1码形2状态;ERR状态表示发现错误码形,报错,之后回到IDLE状态停止译码;其中数据识别状态S0,S11,S12均是识别完毕一个完整的数据后才做状态跳转;任何一个状态在接收到结束标志后都会转换到IDLE状态,结束译码;
3)所述bit宽度计数器模块用于进行宽度计数,并在收到清零标志后清零;
4)所述的计数器清零标志,当状态机的转换条件满足时,清零标志抬高;
5)所述数据识别电路对数字信号进行采样,得到数值;
6)所述跳变沿识别电路用于识别数据的上升沿或下降沿。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110093486.4A CN102737208B (zh) | 2011-04-14 | 2011-04-14 | 一种超高频电子标签译码mmc型数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110093486.4A CN102737208B (zh) | 2011-04-14 | 2011-04-14 | 一种超高频电子标签译码mmc型数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102737208A CN102737208A (zh) | 2012-10-17 |
CN102737208B true CN102737208B (zh) | 2015-04-22 |
Family
ID=46992690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110093486.4A Active CN102737208B (zh) | 2011-04-14 | 2011-04-14 | 一种超高频电子标签译码mmc型数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102737208B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106162B (zh) * | 2013-01-18 | 2015-10-28 | 青岛海信宽带多媒体技术有限公司 | 逻辑器件及其mdio接口通信方法 |
CN105653404B (zh) * | 2014-12-04 | 2018-11-30 | 华邦电子股份有限公司 | 用于检测状态机时脉窜改的设备 |
CN110213023B (zh) * | 2019-07-05 | 2024-04-05 | 绿亚科技(平潭)有限公司 | 用于不同传输速率的双相标志编码的译码方法及译码电路 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408924A (zh) * | 2008-09-09 | 2009-04-15 | 天津大学 | 射频识别标签芯片数据接收同步方法 |
CN101859362A (zh) * | 2009-11-12 | 2010-10-13 | 深圳市安捷信联科技有限公司 | 一种通过射频非接触式读写存储卡的装置及方法 |
CN201607752U (zh) * | 2009-11-12 | 2010-10-13 | 深圳市安捷信联科技有限公司 | 一种通过射频非接触式读写存储卡的装置 |
CN201707679U (zh) * | 2009-12-09 | 2011-01-12 | 国民技术股份有限公司 | 一种射频装置和射频读卡器以及相关通信系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7367503B2 (en) * | 2002-11-13 | 2008-05-06 | Sandisk Corporation | Universal non-volatile memory card used with various different standard cards containing a memory controller |
-
2011
- 2011-04-14 CN CN201110093486.4A patent/CN102737208B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408924A (zh) * | 2008-09-09 | 2009-04-15 | 天津大学 | 射频识别标签芯片数据接收同步方法 |
CN101859362A (zh) * | 2009-11-12 | 2010-10-13 | 深圳市安捷信联科技有限公司 | 一种通过射频非接触式读写存储卡的装置及方法 |
CN201607752U (zh) * | 2009-11-12 | 2010-10-13 | 深圳市安捷信联科技有限公司 | 一种通过射频非接触式读写存储卡的装置 |
CN201707679U (zh) * | 2009-12-09 | 2011-01-12 | 国民技术股份有限公司 | 一种射频装置和射频读卡器以及相关通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102737208A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101738931B (zh) | 一种irig-b码的对时装置及其对时方法 | |
Fang et al. | Design and simulation of UART serial communication module based on VHDL | |
CN104820812B (zh) | 一种副载波调制的米勒码的解码方法及解码装置 | |
CN104008078B (zh) | 一种基于fpga的数据传输板之间进行高速传输的方法 | |
CN102355382A (zh) | 一种控制器局域网总线分析与触发的方法 | |
EP3163777A1 (en) | Multi-channel synchronisation method, synchronisation device and system, and computer storage medium | |
CN105068966A (zh) | 串口自动识别方法 | |
CN102737208B (zh) | 一种超高频电子标签译码mmc型数据的方法 | |
CN114416626B (zh) | 一种基于8b/10b编码的异步串行数据恢复方法 | |
CN103618588A (zh) | 一种自动波特率检测方法及检测模块 | |
CN110910629B (zh) | 基于单片机的红外遥控信号解码方法、系统及计量装置 | |
CN109257367A (zh) | 一种用于工业物联网终端的数据通信协议及实现方法 | |
EP2034657A1 (en) | Communication device | |
CN203574663U (zh) | 一种自动波特率检测模块 | |
CN105955915A (zh) | 一种并行数据去偏斜的方法、装置及系统 | |
CN105610545A (zh) | 一种基于fpga的ft3自适应解码系统及方法 | |
CN101442380B (zh) | 基于高速串行接口编码方式的误码率测试方法与装置 | |
CN103414663A (zh) | 基于回溯法的莫尔斯信号自适应识别方法 | |
CN102355318B (zh) | 时钟基准类型的识别方法及装置 | |
CN109327366A (zh) | 一种高速1553b总线信号解码器设计方法 | |
CN104270155A (zh) | 一种曼彻斯特码流接收抗干扰比特解析方法 | |
CN100444595C (zh) | 一种主从设备通信方法 | |
US20130016762A1 (en) | Data communication system, method of optimizing preamble length, and communication apparatus | |
CN112468253B (zh) | 一种irig-b码的解码方法 | |
CN102508423A (zh) | 采用增强捕捉模块的irig-b对时方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP02 | Change in the address of a patent holder |
Address after: 102209 Beijing, Beiqijia, the future of science and technology in the south area of China electronic network security and information technology industry base C building, Patentee after: Beijing CEC Huada Electronic Design Co., Ltd. Address before: 100102 Beijing City, Chaoyang District Lize two Road No. 2, Wangjing science and Technology Park A block five layer Patentee before: Beijing CEC Huada Electronic Design Co., Ltd. |