CN114298075B - 基于mcu的超高频国标阅读器基带解码方法 - Google Patents
基于mcu的超高频国标阅读器基带解码方法 Download PDFInfo
- Publication number
- CN114298075B CN114298075B CN202111661721.3A CN202111661721A CN114298075B CN 114298075 B CN114298075 B CN 114298075B CN 202111661721 A CN202111661721 A CN 202111661721A CN 114298075 B CN114298075 B CN 114298075B
- Authority
- CN
- China
- Prior art keywords
- data
- mcu
- baseband
- primitive
- symbol
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000001914 filtration Methods 0.000 claims description 16
- 230000001360 synchronised effect Effects 0.000 claims description 14
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000007493 shaping process Methods 0.000 claims description 6
- 238000012827 research and development Methods 0.000 abstract description 7
- 230000002159 abnormal effect Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000005674 electromagnetic induction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Abstract
本发明涉及射频技术领域,公开了基于MCU的超高频国标阅读器基带解码方法,本发明通过MCU的定时器的输入捕获功能和DMA功能,将电子标签发送的射频信号的高低电平的持续时间转换为对应的时钟个数,然后将时钟个数与时钟频率相乘便能得到与射频信号对应的基带波形数据,然后通过本发明的步骤S4对基带波形数据进行分析便可以对射频信号进行解码,降低了超高频国标阅读器对MCU的要求,只需MCU具有定时器的输入捕获功能和DMA功能即可,降低了手持移动式的超高频读写器的研发成本和研发周期。
Description
技术领域
本发明涉及射频技术领域,具体涉及基于MCU的超高频国标阅读器基带解码方法。
背景技术
超高频RFID技术是一项自动识别技术,它利用射频信号的无线通迅来实现目标的自动识别。超高频RFID系统包括阅读器、电子标签和天线三大部分,其工作原理是使用能接收和发射无线电波的电子标签存储信息,电子标签与阅读器之间利用电磁感应藕合能量进行非接触的双向通讯来实现存储信息的识别和数据交换。
GB/T 29768是中国自主知识产权的超高频RFID标准,称之为超高频RFID国标,超高频RFID国标规定的无线电波的工作频率范围为840MHz~845MHZ和920MHz~925MHz。超高频RFID国标阅读器通过天线发射带调制的射频载波信号,并通过天线把电子标签返回的信号接收解码并处理。
超高频RFID国标定义的标签编码方式为FM0编码和Miller(Miller2,Miller4,Miller8)编码。FM0编码定义如图1所示,从图1中可以得到,FM0编码的特点是每比特的结尾都会发生电平跳变,如果在比特中间发生电平跳变表示数据“0”,如果在比特中间不发生电平跳变表示数据“1”。Miller编码如图2所示,从图2中可以得到,MillerM(M=2或4或8)编码特点是每比特包含M个基频信号(基频信号称之为码元),基频信号可能是一个周期为Tpri占空比为50%的单周期PWM信号也可能是一个周期为Tpri的高电平或者低电平信号,如果每比特的前M/2个基频信号和后M/2个基频信号连接处发生电平跳变,则该比特数据表示为“0”,如果每比特的前M/2个基频信号和后M/2个基频信号连接处没有电平跳变,则该比特数据表示为“1”。两个连续相同的比特“0”连接处电平不跳变,两个其他比特数据连接处电平会跳变。
现有超高频RFID阅读器对电子标签返回的基带数据大体有以下三种处理方式:
方式一:使用专用的超高频阅读器SOC芯片,该SOC芯片集成了专门处理读写器发送基带数据以及标签返回基带数据的基带处理单元;而方式一在实际使用时需要设计专门的阅读器集成电路芯片,研发周期较长且投入成本高
方式二:使用FPGA作为基带处理单元进行处理;而方式二在实际使用时会存在FPGA价格高、体积大的特点,尤其是不能满足在移动便携式领域的中的应用;
方式一和方式二对于FM0编码的基带数据或者MillerM编码的基带数据的解码算法基本上都会采用相关算法实现,相关算法大体上是把采样接收到的基带信号数据与理想的码元数据给到一组相关器并根据找到最大相关器输出值的方法判断信号数据;
方法三:通过MCU普通的IO口对基带数据进行高速采样;在实际使用时,由于电子标签回返到读写器发送下一条指令有超时时间要求,如果电子标签返回速率高,会对MCU的IO口的采样时钟频率以及MCU后续的处理能力要求都比较高,需要MCU的处理速度足够高才能处理高返回速率的标签响应数据。
发明内容
鉴于背景技术的不足,本发明是提供了基于MCU的超高频国标阅读器基带解码方法,来降低使用MCU对基带数据进行解码时对MCU的要求。
为解决以上技术问题,第一方面,本发明提供了基于MCU的超高频国标阅读器基带解码方法,包括如下步骤:
S1:对超高频国标阅读器天线从标签获取的射频调制信号依次进行解调、滤波、放大和整形处理,生成数字基带信号,数字基带信号输入到MCU的定时器输入管脚,设置MCU的定时器的时钟频率和定时器输入管脚的工作模式,使MCU能记录下来定时器输入管脚在输入的数字基带信号的相邻两次信号跳变之间所对应的时钟个数,数字基带信号中每相邻两次信号跳变之间所对应的时钟个数为一个基元数据;
S2:当MCU的定时器输入管脚输入FM0编码的数字基带信号时,MCU将输入的数字基带信号的高低电平信号持续时间转换为对应的时钟个数,MCU根据定时器的时钟频率将时钟个数信息转换为基带波形数据;
S3:MCU在基带波形数据中先查找到前导基带数据,然后在前导基带数据之后的基带波形数据中寻找同步头数据;
S4:MCU对同步头数据之后的基带波形数据进行解码,具体过程如下:MCU按照基元数据的产生顺序读取基元数据,MCU读取一个基元数据后计算出该基元数据所对应的脉冲长度;如果基元数据所对应的脉冲长度在第一区间,则MCU将该基元数据解码为数据“1”;如果基元数据所对应的脉冲长度在第二区间,则MCU判断下一个基元数据所对应脉冲宽度是不是也在第二区间,如果是则MCU将该两个基元数据解码为“0”。
在第一方面的某种实施方式中,步骤S3中的前导基带数据所对应的数字基带信号的高电平和低电平等间隔分布,MCU根据所述前导基带数据计算出数字基带信号所对应实时的基带码元周期值,将实时基带码元周期值记为TRpri,第一区间的上限值为(1+A)*TRpri,第一区间的下限值为(1-A)*TRpri,第二区间的上限值为(1+A)*TRpri/2,第二区间的下限值为(1-A)*TRpri/2,A为大于0的小于1的实数。
在第一方面的某种实施方式中,步骤S3和S4中,MCU在读取到基元数据后,对基元数据进行过滤处理,如果基元数据的数值小于滤波阈值,则分析该基元数据前后的基元数据做综合判断并进行合并。
在第一方面的某种实施方式中,步骤S4中,如果两个长度在第一区间的基元数据之间存在奇数个长度在第二区间的基元数据,则认为电子标签返回的射频调制信号不规范,结束步骤S4。
第二方面,本发明针对Miller编码的射频调制信号提供了基于MCU的超高频国标阅读器基带解码方法,包括如下步骤:
S1:对超高频国标阅读器天线从标签获取的射频调制信号依次进行解调、滤波、放大和整形处理,生成数字基带信号,数字基带信号输入到MCU的定时器输入管脚,设置MCU的定时器的时钟频率和定时器输入管脚的工作模式,使MCU能记录下来定时器输入管脚在输入的数字基带信号的相邻两次信号跳变之间所对应的时钟个数,数字基带信号中每相邻两次信号跳变之间所对应的时钟个数为一个基元数据;
S2:当MCU的定时器输入管脚输入Miller编码的数字基带信号时,MCU将输入的数字基带信号的高低电平信号持续时间转换为对应的时钟个数,MCU根据定时器的时钟频率将时钟个数信息转换为基带波形数据;
S3:MCU在基带波形数据中先查找到前导基带数据,然后在前导基带数据之后的基带波形数据中寻找同步头数据;
S4:MCU对同步头数据之后的基带波形数据进行解码,具体过程如下:
S40:MCU按照数字基带信号的接收顺序每次读取M*3个码元时间长度所对应的基元数据,MCU每相邻两次读取的M*3个码元中存在M个码元的交叠区域;
S41:MCU在得到基元数据后,如果新得到的基元数据中有两个码元数据A,则计算两个码元数据A之间是否只有码元数据B,如果是则计算出两个码元数据A之间的码元数据B个数D1,接着判断新得到的基元数据中在先获取的码元数据A之前是否只有码元数据B,如果是则计算新得到的基元数据中在先获取的码元数据A之前的码元数据B的个数D2,根据D1的数值、D2的数值和第一对比模板解码出所述M*3个码元的前M*2个码元所对应的比特数据;如果新得到的基元数据中只有一个码元数据A,则判断新得到的基元数据中在码元数据A是否只有码元数据B,如果是则计算新得到的基元数据中在先获取的码元数据A之前的码元数据B的个数D3,根据D3和第二对比模板解码出所述M*3个码元的前M*2个码元所对应的比特数据;所述第一对比模板和第二对比模板根据Miller编码序列得到。
在第二方面的某种实施方式中,步骤S3中的前导基带数据所对应的数字基带信号的高电平和低电平等间隔分布,MCU根据所述前导基带数据计算出数字基带信号所对应的基带码元周期值,将基带码元周期值记为TRpri—miller,码元数据A的长度在(1-E)*TRpri—miller和(1+E)*TRpri—miller之间,码元数据B的长度在(1-E)*TRpri—miller/2和(1+E)*TRpri—miller/2之间,E为大于0的小于1的实数。
在第二方面的某种实施方式中,步骤S3和S4中,MCU在读取到第一时间长度的基元数据后,对读取到的基元数据进行过滤处理,如果基元数据的数值小于滤波阈值,则分析该基元数据前后的基元数据做综合判断并进行合并。
本发明与现有技术相比所具有的有益效果是:在实际使用时,本发明的基带解码方法对MCU的处理能力要求不高,只需MCU支持定时器输入捕获功能和DMA功能即可,降低了手持移动式的超高频读写器的研发成本和研发周期。
附图说明
图1为FM0编码示意图;
图2为Miller2、Miller4和Miller8的编码示意图;
图3为MCU将射频调制信号的脉冲宽度转换为时钟个数的结构示意图;
图4为本发明第一种实施方式的前导基带数据和同步头数据的示意图;
图5为本发明第一种实施方式中对四个码元解码的示意图;
图6为本发明第二种实施方式种M=2、4和6时的当前导基带数据和同步头数据的示意图;
图7为本发明第二种实施方式对M=2的Miller编码的射频调制信号解码示意图;
图8为本发明的码元“1”、码元“0”和0.5个码元“0”的波形示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
实施例一
基于MCU的超高频国标阅读器基带解码方法,包括如下步骤:
S1:对超高频国标阅读器天线从标签获取的射频调制信号依次进行解调、滤波、放大和整形处理,生成数字基带信号,数字基带信号输入到MCU的定时器输入管脚,设置MCU的定时器的时钟频率和定时器输入管脚的工作模式,使MCU能记录下来定时器输入管脚在输入的数字基带信号的相邻两次信号跳变之间所对应的时钟个数,MCU采集到的数字基带信号中每相邻两次信号跳变之间所对应的时钟个数为一个基元数据;
具体的,本实施例中,MCU能记录下来定时器输入管脚在输入的数字基带信号的相邻两次信号跳变之间所对应的时钟个数是指利用MCU的定时器输入捕获模式功能且还需要该模式支持DMA功能并对定时器输入管脚捕获的数据直接传输到MCU的内存。具体示意图如图3所示,在图3中,基带数据波形是指输入到MCU的定时器输入管脚的信号的波形,MCU在基带数据波形的信号跳变时执行捕获,在每发生一次捕获时通过DMA把时钟个数数据存储起来,将时钟个数乘以时钟频率便得到对应的高电平信号持续时间和低电平信号持续时间;
在实际使用时,定时器的时钟频率根据电子标签的数据发送速度设置,例如当电子标签的数据发送速率范围在60KHz~640KHz之间时,设置MCU的定时器的时钟频率为50MHz,此时MCU的定时器输入管脚的采样精度误差在1.28%~0.128%之间。
S2:当MCU的定时器输入管脚输入FM0编码的数字基带信号时,MCU将输入的数字基带信号的高低电平信号持续时间转换为对应的时钟个数,MCU根据定时器的时钟频率将时钟个数信息转换为基带波形数据;
S3:MCU在基带波形数据中先查找到前导基带数据,然后在前导基带数据之后的基带波形数据中寻找同步头数据;
具体地,本实施例中,步骤S3中的前导基带数据是一段连续的稳定实时码元,具体为前导基带数据所对应的高电平和低电平应当是等间隔分布的,实际可以设置6~12个码元,且码元周期应当与电子标签发送的信号的码元周期一致,MCU根据所述前导基带数据计算出数字基带信号所对应的实时基带码元周期值,将实时基带码元周期值记为TRpri;示例性地,图4中的前导基带数据有12个码元“0”,在图1中,FM0符号中表示“0”和“1”的一段波形为一个码元,半个“0”码元是指FM0符号中表示“0”的波形的半个波形。
当前导基带数据查找完成后,需要在前导基带数据之后的基带波形数据中寻找同步头数据,同步头数据后面的基带波形数据为需要待解码的数据;
示例性地,如图4所示,假设同步头数据为“0V00V”,具体查找流程如下:先找“0V”中的违例码元“1”,然后分析这个违例“1”码元前后分别是不是半个“0”码元,如果是接着分析“0V”后面是不是一个“0”码元,如果是再接着分析“0V0”后面是不是违例“0V”,找到上述的“0V00V”,即找到了标签基带数据的同步头,后续就是解码标签返回的数据。
S4:MCU对同步头数据之后的基带波形的时间脉宽数据进行解码,具体过程如下:MCU按照基元数据的产生顺序读取基元数据,MCU读取一个基元数据后计算出该基元数据所对应的脉冲长度;如果基元数据所对应的脉冲长度在第一区间,则MCU将该基元数据解码为1;如果基元数据所对应的脉冲长度在第二区间,则MCU判断下一个基元数据所对应脉冲宽度是不是也在第二区间,如果是则MCU将该两个基元数据解码为0。
在实际使用时,第一区间的上限值为(1+A)*TRpri,第一区间的下限值为(1-A)*TRpri,第二区间的上限值为(1+A)*TRpri/2,第二区间的下限值为(1-A)*TRpri/2,A为大于0的小于1的实数。
示例性地,以图5为例,步骤S4的解码过程如下:假设MCU的定时器输入管脚输入信号K1,信号K1共有四个码元,分别为Z1、Z2、Z3和Z4,那么MCU共会产生6个基元数据,分别为D1、D2、D3、D4、D5和D6,理想情况下D1、D2、D5和D6的数值相同,对应的脉冲宽度在第二区间,D5和D6的数值相同,对应的脉冲宽度在第一区间,因此MCU在读取到第一基元数据D1时,会判断第一基元数据D1对应的脉冲宽度在第二区间,因此会去读取第二个基元数据D2,第二个基元数据D2对应的脉冲宽度也在第二区间,此时MCU会将第一基元数据D1和第二基元数据D2所对应的码元解码为0,需要注意的是,在FM0编码中,一个码元“0”对应的脉冲波形会产生两个基元数据,一个码元“1”对应的脉冲波形会产生一个基元数据,由于MCU已经读取过第一个码元数据D1和第二个码元数据D2,MCU接着读取第三个基元数据D3,由于第三个基元数据D3的对应的脉冲宽度在第一区间,此时MCU会将第三个基元数据所对应的码元解码为1,同样的,MCU将第四个基元数据D4对应的码元解码为1,MCU将第五个基元数据D5和第六个基元数据D6解码为0。
另外,在实际使用时,有可能会产生干扰信号使MCU的定时器发生误捕获,此时需要把误产生的基元数据过滤出并合并掉,基于此,步骤S3和S4中,MCU在读取到基元数据后,对基元数据进行过滤,如果基元数据的数值小于滤波阈值,则分析该基元数据前后的基元数据做综合判断并进行合并。
具体的处理方法是,如果某个异常基元数据M小于(1-A)*TRpri/2,分析该基元数据的后面的基元数据,异常基元数据M和其后的连续几个基元数据N1~L也都是小于(1-A)*TRpri/2的异常基元数据,并且这些异常基元数据加起来M+N1+…+NL在(1+A)*TRpri/2和(1-A)*TRpri/2之间(半个码元“0”),异常基元数据组(M、N1~L)的前一个或者后一个基元数据在(1+A)*TRpri/2和(1-A)*TRpri/2之间(半个码元“0”),那就把这个异常基元数据组(M、N1~L)合并成半个码元“0”的基元数据,其中L为大于1的正整数,具体大小可以根据过滤需求设置;
如果某个异常基元数据M小于(1-A)*TRpri/2,分析该基元数据的后面的基元数据,异常基元数据M和其后的连续几个基元数据N1~L也是异常基元数据(有的小于(1-A)*TRpri/2,有的大于(1-A)*TRpri/2且小于(1+A)*TRpri),并且这些异常基元数据加起来M+N1+…+NL在(1+A)*TRpri和(1-A)*TRpri之间(1个码元“1”),那就把这个异常基元数据组(M、N1~L)合并成1个码元“1”的基元数据。
实施例二
第二方面,本发明针对Miller编码的射频调制信号提供了基于MCU的超高频国标阅读器基带解码方法,包括如下步骤:
S1:对超高频国标阅读器天线从标签获取的射频调制信号依次进行解调、滤波、放大和整形处理,生成数字基带信号,数字基带信号输入到MCU的定时器输入管脚,设置MCU的定时器的时钟频率和定时器输入管脚的工作模式,使MCU能记录下来定时器输入管脚在输入的数字基带信号的相邻两次信号跳变之间所对应的时钟个数,数字基带信号中每相邻两次信号跳变之间所对应的时钟个数为一个基元数据;
具体的,本实施例中,MCU能记录下来定时器输入管脚在输入的数字基带信号的相邻两次信号跳变之间所对应的时钟个数是指利用MCU的定时器输入捕获模式功能且还需要该模式支持DMA功能并对定时器输入管脚捕获的数据直接传输到MCU内存。具体示意图如图3所示,在图3中,基带数据波形是指输入到MCU的定时器输入管脚的信号的波形,MCU在基带数据波形的信号跳变时执行捕获,在每发生一次捕获时通过DMA把时钟个数数据存储起来,将时钟个数乘以时钟频率便得到对应的高电平信号持续时间和低电平信号持续时间;
在实际使用时,定时器的时钟频率根据电子标签的数据发送速度设置,例如当电子标签的数据发送速率范围在60KHz~640KHz之间时,设置MCU的定时器的时钟频率为50MHz,此时MCU的定时器输入管脚的采样精度误差在1.28%~0.128%之间。
S2:当MCU的定时器输入管脚输入Miller编码的数字基带信号时,MCU将输入的数字基带信号的高低电平信号持续时间转换为对应的时钟个数,MCU根据定时器的时钟频率将时钟个数信息转换为基带波形数据;
S3:MCU在基带波形数据中先查找到前导基带数据,然后在前导基带数据之后的基带波形数据中寻找同步头数据;
具体地,本实施例中,步骤S3中的前导基带数据是一段连续的稳定实时码元,码元具体为前导基带数据所对应的数字基带信号的高电平和低电平应当是等间隔分布的,且码元周期应当与电子标签发送的信号的码元周期一致,MCU根据所述前导基带数据计算出数字基带信号所对应的实时基带码元周期值,将实时基带码元周期值记为TRpri-miller;示例性地,图6中的前导基带数据有16*M个码元“0”,M分别为2、4和8,一个码元为一个基频信号。在图1中,FM0符号中表示“0”和“1”的一段波形为一个码元,表示“1”的一段波形为码元“1”,表示“0”的一段波形为码元“0”,0.5个码元“0”是指FM0符号中表示“0”的波形的半个波形,码元“1”、码元“0”和0.5个码元“0”的具体波形示意图也可参照图7。
当前导基带数据查找完成后,需要在前导基带数据之后的基带波形的时间脉宽数据中寻找同步头数据,同步头数据后面的基带波形的时间脉宽数据为待解码的数据;
示例性地,如图6所示,假设同步头数据为“00111101”,在M=2基带波形的数据中找到同步头数据的流程如下:
在所有的基元数据中,找到六个对应脉冲长度为码元“1”的基元数据,且六个基元数据连续分布,分析六个码元“1”的基元数据中每两个相邻的基元数据之间的基元数据,根据六个码元“1”的基元数据中每两个相邻的基元数据之间的基元数据判断码元“0”的数量,如果六个码元“1”的相邻的基元数据之间每两个相邻的基元数据之间有且仅有码元“0”,对应的码元“0”的数量分别是2、1、1、1和3时,则认为找到了同步头数据;
在M=4基带波形的数据中找到同步头数据的流程如下:
在所有的基元数据中,找到六个对应脉冲长度为码元“1”的基元数据,且六个基元数据连续分布,分析六个码元“1”的基元数据中每两个相邻的基元数据之间的基元数据,根据六个码元“1”的基元数据中每两个相邻的基元数据之间的基元数据判断码元“0”的数量,如果六个码元“1”的相邻的基元数据之间每两个相邻的基元数据之间有且仅有码元“0”,对应的码元“0”的数量分别是5、3、3、3和7时,则认为找到了同步头数据;
在M=8基带波形的数据中找到同步头数据的流程如下:
在所有的基元数据中,找到六个对应脉冲长度为码元“1”的基元数据,且六个基元数据连续分布,分析六个码元“1”的基元数据中每两个相邻的基元数据之间的基元数据,根据六个码元“1”的基元数据中每两个相邻的基元数据之间的基元数据判断码元“0”的数量,如果六个码元“1”相邻的基元数据之间每两个相邻的基元数据之间有且仅有码元“0”,对应的码元“0”的数量分别是11、7、7、7和15时,则认为找到了同步头数据;
S4:MCU对同步头数据之后的基带波形的时间脉宽数据进行解码,具体过程如下:
S40:MCU按照数字基带信号的接收顺序每次读取M*3个码元“1”所对应时间长度的基元数据,MCU每相邻两次读取的M*3个码元存在M个码元的交叠区域;
S41:MCU在得到基元数据后,如果新得到的基元数据中有两个码元数据A,则计算两个码元数据A之间的码元数据B之间的个数D1,接着判断新得到的基元数据中在先获取的码元数据A之前是否只有码元数据B,如果是则计算新得到的基元数据中在先获取的码元数据A之前的码元数据B的个数D2,根据D1的数值、D2的数值和第一对比模板解码出所述M*3个码元的前M*2个码元所对应的比特数据;如果新得到的基元数据中只有一个码元数据A,则判断新得到的基元数据中在码元数据A是否只有码元数据B,如果是则计算新得到的基元数据中在先获取的码元数据A之前的码元数据B的个数D3,根据D3和第二对比模板解码出所述M*3个码元的前M*2个码元所对应的比特数据;所述第一对比模板和第二对比模板根据Miller编码序列得到。
其中M=2时的第一比模板为:Miller2{00:1.5个,1个;00:1.5个,2个;01:2.5个,1个;10:0.5个,2个;10:0.5个,3个;11:0.5个,1个};
M=4时的第一对比模板为:Miller4{00:3.5个,3个;00:3.5个,5个;01:5.5个,3个;10:1.5个,5个;10:1.5个,7个;11:1.5个,3个;}
M=8时的第一对比模板为:Miller8{00:7.5个,7个;00:7.5个,11个;01:11.5个,7个;10:3.5个,11个;10:3.5个,15个;11:3.5个,7个}
第二对比模板为:Miller2{01:2.5个}Miller4{01:5.5个}Miller8{01:11.5个};
以MCU的定时器输入管脚输入M=2的Miller编码的数字基带信号为例,该数字基带信号对应的基带波形数据如图7所示;其中码元数据A为码元“1”码元数据B为码元“0”;码元“1”、码元“0”和0.5个码元“0”的具体波形示意图也可参照图7。
在执行步骤S4中,
MCU先读取前六个码元时间长度对应的一组基元数据出来,共有十个基元数据。基元数据a1对应的是该组基元数据中第一个码元“1”,基元数据a2对应的是该组基元数据中第二个码元“1”,此时这两个码元“1”之间只有码元“0”且有两个,即D1=2,基元数据a1对应的码元“1”前有1.5个码元“0”即D2=1.5,D2和D1刚好和M=2时的第一对比模板中的00对应,此时可以将该组基元数据中的前七个基元数据解码为00。
接着MCU继续读取图7中对应四个码元时间长度的一组基元数据(第11到第16基元数据),并与步骤1中解码后所剩余的基元数据组成一组新的对应六个码元时间长度的基元数据,共有九个基元数据。分析这组新的基元数据,其中基元数据a2、基元数据a3和基元数据a4均为码元“1”,分析基元数据a2和基元数据a3的前后基元数据关系,基元数据a2所对应码元“1”和基元数据a3所对应的码元“1”之间有且只有一个码元“0”,此时D1=1,基元数据a2所对应码元“1”前共有0.5个码元“0”,此时D2=0.5,D1和D2的数值与M=2时的第一对比模板中的11对应,此时可以将这组新基元数据中的前六个基元数据解码为11;
接着MCU继续读取图7中对应四个码元时间长度的一组基元数据(第17到第23基元数据),并与步骤2中解码后所剩余的基元数据组成一组新的对应六个码元时间长度的基元数据,共有十个基元数据。分析这组新的基元数据,其中基元数据a4和基元数据a5均为码元“1”,分析基元数据a4和基元数据a5的前后基元数据关系,基元数据a4所对应码元“1”和基元数据a5所对应的码元“1”之间有且只有一个码元“0”,此时D1=1,基元数据a4所对应码元“1”前有且只有0.5个码元“0”,此时D2=0.5,D1和D2的数值与M=2时的第一对比模板中的11对应,此时可以将这组新基元数据中的前六个基元数据解码为11;
最后MCU读取图7中对应两个码元时间长度的一组基元数据(第24到第26基元数据),并与步骤3中解码后所剩余的基元数据组成一组新的对应四个码元时间长度的基元数据,共有七个基元数据,其中基元数据a6为码元“1”,基元数据a6所对应码元“1”前有且只有2.5个码元“0”,D3=2.5,与Miller2第二对比模板中的01对应,此时可以将这组四个基元数据解码为01;
因此图7中的信号波形最后的解码结果为00111101。
本实施例中,M=4和M=6的具体解码步骤与M=2时的射频调制信号的解码步骤相似,只需更换相应的第一对比模板和第二对比模板即可,在此不做过多描述。
在第二方面的某种实施方式中,步骤S3中的前导基带数据所对应的数字基带信号的高电平和低电平等间隔分布,MCU根据前导基带数据计算出数字基带信号所对应的基带码元周期值,将基带码元周期值记为TRpri—miller,码元数据A的长度在(1-E)*TRpri—miller和(1+E)*TRpri—miller之间,码元数据B的长度在(1-E)*TRpri—miller/2和(1+E)*TRpri—miller/2之间,E为大于0的小于1的实数。
另外,在实际使用时,有可能会产生干扰信号使MCU的定时器发生误捕获,此时需要把误产生的基元数据过滤出并合并掉,基于此,在第二方面的某种实施方式的步骤S3和S4中,MCU在得取到一定时间长度的基元数据后,对基元数据进行过滤处理,如果基元数据的数值小于滤波阈值,则分析该基元数据前后的基元数据做综合判断并进行合并,具体过程如下:
如果某个异常基元数据M小于(1-E)*TRpri—miller/2,分析该基元数据的后面的基元数据,异常基元数据M和其后的连续几个基元数据N1~L也都是小于(1-E)*TRpri—miller/2的异常基元数据,并且这些异常基元数据加起来M+N1+…+NL在(1+E)*TRpri—miller/2和(1-E)*TRpri—miller/2之间(半个码元“0”),异常基元数据组(M、N1~L)的前一个或者后一个基元数据在(1+E)*TRpri—miller/2和(1-E)*TRpri—miller/2之间(半个码元“0”),那就把这个异常基元数据组(M、N1~L)合并成半个码元“0”的基元数据,其中L为大于1的正整数,具体大小可以根据过滤需求设置;
如果某个异常基元数据M小于(1-E)*TRpri—miller/2,分析该基元数据的后面的基元数据,异常基元数据M和其后的连续几个基元数据N1~L也是异常基元数据(有的小于(1-E)*TRpri—miller/2,有的大于(1-E)*TRpri—miller/2且小于(1+E)*TRpri—miller),并且这些异常基元数据加起来M+N1+…+NL在(1+E)*TRpri—miller和(1-E)*TRpri—miller之间(1个码元“1”),那就把这个异常基元数据组(M、N1~L)合并成1个码元“1”的基元数据。
结合实施例一和实施例二,在实际使用时,本发明通过MCU的定时器的输入捕获功能和DMA功能,将电子标签返回的数字基带信号的高低电平的持续时间转换为对应的时钟个数,然后将时钟个数与时钟频率相乘便能得到与数字基带信号对应的基带波形数据,然后通过本发明的步骤S4对基带波形数据进行分析便可以对数字基带信号进行解码,降低了超高频国标阅读器对MCU的要求,只需MCU具有定时器的输入捕获功能和DMA功能即可,降低了手持移动式的超高频读写器的研发成本和研发周期。
上述依据本发明为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (7)
1.基于MCU的超高频国标阅读器基带解码方法,其特征在于,包括如下步骤:
S1:对超高频国标阅读器天线从标签获取的射频调制信号依次进行解调、滤波、放大和整形处理,生成数字基带信号,数字基带信号输入到MCU的定时器输入管脚,设置MCU的定时器的时钟频率和定时器输入管脚的工作模式,使MCU能记录下来定时器输入管脚在输入的数字基带信号的相邻两次信号跳变之间所对应的时钟个数,数字基带信号中每相邻两次信号跳变之间所对应的时钟个数为一个基元数据;
S2:当MCU的定时器输入管脚输入FM0编码的数字基带信号时,MCU将输入的数字基带信号的高低电平信号持续时间转换为对应的时钟个数,MCU根据定时器的时钟频率将时钟个数信息转换为基带波形数据,具体为MCU将时钟个数与时钟频率相乘得到与数字基带信号对应的基带波形数据;
S3:MCU在基带波形数据中先查找到前导基带数据,然后在前导基带数据之后的基带波形数据中寻找同步头数据;
S4:MCU对同步头数据之后的基带波形数据进行解码,具体过程如下:MCU按照基元数据的产生顺序读取基元数据,MCU读取一个基元数据后计算出该基元数据所对应的脉冲长度;如果基元数据所对应的脉冲长度在第一区间,则MCU将该基元数据解码为数据“1”;如果基元数据所对应的脉冲长度在第二区间,则MCU判断下一个基元数据所对应脉冲宽度是不是也在第二区间,如果是则MCU将该两个基元数据解码为“0”。
2.根据权利要求1所述的基于MCU的超高频国标阅读器基带解码方法,其特征在于,步骤S3中的前导基带数据所对应的数字基带信号的高电平和低电平等间隔分布,MCU根据所述前导基带数据计算出数字基带信号所对应实时的基带码元周期值,将实时基带码元周期值记为TRpri,第一区间的上限值为(1+A)*TRpri,第一区间的下限值为(1-A)*TRpri,第二区间的上限值为(1+A)*TRpri/2,第二区间的下限值为(1-A)*TRpri/2,A为大于0的小于1的实数。
3.根据权利要求1所述的基于MCU的超高频国标阅读器基带解码方法,其特征在于,步骤S3和S4中,MCU在读取到基元数据后,对基元数据进行过滤处理,如果基元数据的数值小于滤波阈值,则分析该基元数据前后的基元数据做综合判断并进行合并。
4.根据权利要求1所述的基于MCU的超高频国标阅读器基带解码方法,其特征在于,步骤S4中,如果两个长度在第一区间的基元数据之间存在奇数个长度在第二区间的基元数据,则认为电子标签返回的射频调制信号不规范,结束步骤S4。
5.基于MCU的超高频国标阅读器基带解码方法,其特征在于,包括如下步骤:
S1:对超高频国标阅读器天线从标签获取的射频调制信号依次进行解调、滤波、放大和整形处理,生成数字基带信号,数字基带信号输入到MCU的定时器输入管脚,设置MCU的定时器的时钟频率和定时器输入管脚的工作模式,使MCU能记录下来定时器输入管脚在输入的数字基带信号的相邻两次信号跳变之间所对应的时钟个数,数字基带信号中每相邻两次信号跳变之间所对应的时钟个数为一个基元数据;
S2:当MCU的定时器输入管脚输入Miller编码的数字基带信号时,MCU将输入的数字基带信号的高低电平信号持续时间转换为对应的时钟个数,MCU根据定时器的时钟频率将时钟个数信息转换为基带波形数据,具体为MCU将时钟个数与时钟频率相乘得到与数字基带信号对应的基带波形数据;
S3:MCU在基带波形数据中先查找到前导基带数据,然后在前导基带数据之后的基带波形数据中寻找同步头数据;
S4:MCU对同步头数据之后的基带波形数据进行解码,具体过程如下:
S40:MCU按照数字基带信号的接收顺序每次读取M*3个码元时间长度所对应的基元数据,MCU每相邻两次读取的M*3个码元中存在M个码元的交叠区域;
S41:MCU在得到基元数据后,如果新得到的基元数据中有两个码元数据A,则计算两个码元数据A之间是否只有码元数据B,如果是则计算出两个码元数据A之间的码元数据B个数D1,接着判断新得到的基元数据中在先获取的码元数据A之前是否只有码元数据B,如果是则计算新得到的基元数据中在先获取的码元数据A之前的码元数据B的个数D2,根据D1的数值、D2的数值和第一对比模板解码出所述M*3个码元的前M*2个码元所对应的比特数据;如果新得到的基元数据中只有一个码元数据A,则判断新得到的基元数据中在码元数据A是否只有码元数据B,如果是则计算新得到的基元数据中在先获取的码元数据A之前的码元数据B的个数D3,根据D3和第二对比模板解码出所述M*3个码元的前M*2个码元所对应的比特数据;所述第一对比模板和第二对比模板根据Miller编码序列得到。
6.根据权利要求5所述的基于MCU的超高频国标阅读器基带解码方法,其特征在于,步骤S3中的前导基带数据所对应的数字基带信号的高电平和低电平等间隔分布,MCU根据所述前导基带数据计算出数字基带信号所对应的基带码元周期值,将基带码元周期值记为TRpri-miller,码元数据A的长度在(1-E)*TRpri-miller和(1+E)*TRpri-miller之间,码元数据B的长度在(1-E)*TRpri-miller/2和(1+E)*TRpri-miller/2之间,E为大于0的小于1的实数。
7.根据权利要求5所述的基于MCU的超高频国标阅读器基带解码方法,其特征在于,步骤S3和S4中,MCU在读取到第一时间长度的基元数据后,对读取到的基元数据进行过滤处理,如果基元数据的数值小于滤波阈值,则分析该基元数据前后的基元数据做综合判断并进行合并。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111661721.3A CN114298075B (zh) | 2021-12-30 | 2021-12-30 | 基于mcu的超高频国标阅读器基带解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111661721.3A CN114298075B (zh) | 2021-12-30 | 2021-12-30 | 基于mcu的超高频国标阅读器基带解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114298075A CN114298075A (zh) | 2022-04-08 |
CN114298075B true CN114298075B (zh) | 2024-02-06 |
Family
ID=80973226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111661721.3A Active CN114298075B (zh) | 2021-12-30 | 2021-12-30 | 基于mcu的超高频国标阅读器基带解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114298075B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115499105B (zh) * | 2022-11-18 | 2023-03-24 | 北京智芯微电子科技有限公司 | Miller解码方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101779433A (zh) * | 2007-08-14 | 2010-07-14 | 高通股份有限公司 | 使用共享基带处理器通过不同带宽进行发送和接收的通信系统 |
US9496879B1 (en) * | 2015-09-01 | 2016-11-15 | Qualcomm Incorporated | Multiphase clock data recovery for a 3-phase interface |
CN107483170A (zh) * | 2017-07-14 | 2017-12-15 | 天津大学 | 一种二进制基带信号位同步时钟提取及数显方法 |
CN109283967A (zh) * | 2018-11-20 | 2019-01-29 | 深圳芯邦科技股份有限公司 | 一种微控制单元mcu时钟校准方法及相关设备 |
CN113741217A (zh) * | 2021-09-24 | 2021-12-03 | 江苏集萃智能集成电路设计技术研究所有限公司 | 微控制器的单线仿真装置和编码解码方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10972150B2 (en) * | 2017-12-04 | 2021-04-06 | Superlative Semiconductor, LLC | Low-cost software-defined RFID interrogator with active transmit leakage cancellation |
-
2021
- 2021-12-30 CN CN202111661721.3A patent/CN114298075B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101779433A (zh) * | 2007-08-14 | 2010-07-14 | 高通股份有限公司 | 使用共享基带处理器通过不同带宽进行发送和接收的通信系统 |
US9496879B1 (en) * | 2015-09-01 | 2016-11-15 | Qualcomm Incorporated | Multiphase clock data recovery for a 3-phase interface |
CN107483170A (zh) * | 2017-07-14 | 2017-12-15 | 天津大学 | 一种二进制基带信号位同步时钟提取及数显方法 |
CN109283967A (zh) * | 2018-11-20 | 2019-01-29 | 深圳芯邦科技股份有限公司 | 一种微控制单元mcu时钟校准方法及相关设备 |
CN113741217A (zh) * | 2021-09-24 | 2021-12-03 | 江苏集萃智能集成电路设计技术研究所有限公司 | 微控制器的单线仿真装置和编码解码方法 |
Non-Patent Citations (2)
Title |
---|
一种全新的无源超高频标签芯片架构设计;刘伟峰;庄奕琪;唐龙飞;靳钊;;西安电子科技大学学报(06);第1092-1097页 * |
超高频RFID编解码系统研究与设计;阳璞琼;;南华大学学报(自然科学版)(03);第49-57页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114298075A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4206109B2 (ja) | 無線タグ読取り装置 | |
CN100545882C (zh) | 用于无线遥控接收芯片的自适应解码方法 | |
CN1924609A (zh) | Rfid标签装置、rfid读取器/写入器装置以及距离测量系统 | |
US20130064330A1 (en) | Semiconductor device and communication device | |
CN114298075B (zh) | 基于mcu的超高频国标阅读器基带解码方法 | |
US20090132898A1 (en) | Ic card, information processing device, communication type identification method, and program | |
US20100226461A1 (en) | Communication device, communication method, and program | |
CN105453449A (zh) | 非接触式通信方法确定电路、非接触式通信电路、以及ic卡 | |
CN102129580A (zh) | 基于米勒编码的标签到读写器的数据通信方法 | |
CN103077366A (zh) | 多通道数据接口射频识别装置及数据传输方法 | |
CN101620663B (zh) | 一种在无源射频识别系统中的数据编码方法 | |
CN105743826B (zh) | 一种米勒副载波解码方法 | |
CN107920040A (zh) | 码元同步方法、装置及设备 | |
KR100512182B1 (ko) | 비접촉식 집적 회로 카드의 클럭 신호 생성 및 데이터신호 디코딩 회로 | |
CN115189860A (zh) | 用于网络设备中数据信号传输的方法和装置 | |
CN102043936A (zh) | 射频识别系统中的信息传输方法及系统 | |
CN102129586B (zh) | 信息编码方法、读写器到标签的信息传输方法和装置 | |
CN103795428B (zh) | 射频识别数据通信中解码器 | |
CN104598946B (zh) | 一种基于虚拟仪器的rfid标签最小触发功率的测试方法 | |
US8120466B2 (en) | Decoding scheme for RFID reader | |
CN1862565B (zh) | 被动式射频识别系统的编码方法 | |
CN106374932A (zh) | 一种双模uhf‑rfid读写器的解码器及解码方法 | |
CN101136052A (zh) | 用于射频识别的阅读器到标签的信息传输方法 | |
CN209560575U (zh) | 基于rfid技术的图书馆智能座位检测系统 | |
CN102256018A (zh) | 一种集成rfid功能的手机及其通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |