CN114268382B - 一种自动校准ad9361板卡的方法、装置、设备及存储介质 - Google Patents

一种自动校准ad9361板卡的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114268382B
CN114268382B CN202210184519.4A CN202210184519A CN114268382B CN 114268382 B CN114268382 B CN 114268382B CN 202210184519 A CN202210184519 A CN 202210184519A CN 114268382 B CN114268382 B CN 114268382B
Authority
CN
China
Prior art keywords
value
delay
module
configuring
available
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
Application number
CN202210184519.4A
Other languages
English (en)
Other versions
CN114268382A (zh
Inventor
李亚斌
梁山
林杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Hongchuang Electronic Technology Co ltd
Original Assignee
Sichuan Hongchuang Electronic Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Hongchuang Electronic Technology Co ltd filed Critical Sichuan Hongchuang Electronic Technology Co ltd
Priority to CN202210184519.4A priority Critical patent/CN114268382B/zh
Publication of CN114268382A publication Critical patent/CN114268382A/zh
Application granted granted Critical
Publication of CN114268382B publication Critical patent/CN114268382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及电子通信技术领域,公开了一种自动校准AD9361板卡的方法、装置、设备及存储介质,其中的方法是配合FPGA技术,遍历确定出能基于伪随机二进制序列得到校验正确结果的可用值和/或可用延迟值,并从多个可用值和/或多个可用延迟值中选出最佳可用数值来配置内部寄存器0x006/7的值和/或输入/输出延迟单元的延迟值,从而自动化完成对AD9361板卡接收路径及发射路径的校准调整,不但使得FPGA程序无需在每次AD9361板卡生产时都独立地编译,还可极大减少人工操作,避免处理麻烦,快速准确地校准多张AD9361板卡上单个或多个AD9361模块的RX路径,进而利于以后批产时生产人员的操作,大大提高生产效率。

Description

一种自动校准AD9361板卡的方法、装置、设备及存储介质
技术领域
本发明属于电子通信技术领域,具体地涉及一种自动校准AD9361板卡的方法、装置、设备及存储介质。
背景技术
AD9361芯片是ADI公司推出的一款面向3G/4G基站应用的且具有高性能及高集成度的射频捷变收发器,并采用10mm×10mm的144引脚芯片级球栅阵列封装方式进行封装。所述AD9361芯片的工作频率为70MHz~6GHz,涵盖了大部分特许执照和免执照频段,支持可调谐200kHz~56MHz的通道带宽,且具有高度的可编程能力,因此基于所述AD9361芯片的AD9361模块(即由AD9361芯片及其外围电路组成)常与现场可编程逻辑门阵列FPGA(FieldProgrammable Gate Array)模块(即由FPGA芯片、若干外设寄存器及它们的外围电路组成)一起搭配布置在电路板上,构成一张实现信号无线收发功能的AD9361板卡。例如在单系统支持8×8 MIMO(Multiple Input Multiple Output,多进多出技术)的软件无线电系统中,可在一块高速背板上搭载4块所述AD9361板卡,并在每块AD9361板卡上布置一个FPGA模块和四个AD9361模块,其中,所述FPGA模块的主要功能是为所述AD9361模块提供时钟数据接口,并对数据接口上的信号提供时序控制,所述AD9361模块的且用于配置的SPI接口(Serial Peripheral Interface,串行外设接口)都通信连接诸如PowerPC(PerformanceOptimization With Enhanced RISC–Performance Computing,有时简称PPC,是一种精简指令集架构的中央处理器)处理器/DSP(Digital Signal Processing,数字信号处理)处理器等上位机,所述AD9361模块的时钟数据接口都通信连接该FPGA模块。
在AD9361板卡的具体电路结构中,AD9361模块的数据发射端口及数据接收端口都是连接在FPGA模块上,并且对应的发送通道线路和接收通道线路都有时钟信号线(即CLK线)、数据信号线(即DATA线)和用于架构FRAME指示的指示信号线(其也需要调整IODELAY值),而由于这些通道线路存在诸如硬件走线(例如不等长)等原因,将导致在信号接收时各路数字信号到达FPGA模块的时间与期望时间可能不一致和/或在信号发射时各路数字信号到达AD9361模块的时间与期望时间可能不一致(即跟芯片手册要求的时钟/数据信号时序图有差异,比如错位),进而造成接收到的信号出现波形失真和/或发射出的信号出现杂散等问题,因此在使用AD9361板卡前,需要对AD9361板卡的接收路径(也称RX路径)和/或发射路径(也称TX路径)进行校准处理,避免出现前述问题。
目前对AD9361板卡进行校准的方法,主要是采用固定FPGA IODELAY值(即单位时间TAP的数目,以便作为在时间上的延迟值,例如Xilinx 7系列FPGA的IODELAY TAP值范围为0~31,一个TAP的时长为78ps)的模式,即在每块板子中只要是AD9361模块的时钟数据接口通信连接到FPGA模块,都是将用于控制收发时钟、数据和FRAME信号延迟值的输入/输出延迟单元IODELAY的延迟值设置为固定值。详细的,以对RX路径进行校准为例,先通过在FPGA模块的逻辑程序中内置VIO(Virtual Input/Output,即Xilinx FPGA的虚拟输入输出IP核,可以通过开发软件Vivado在线向所述逻辑程序输入数值),并结合AD9361模块内部自己产生的单音源信号及基于ILA(Integrated Logic Analyzer,即Xilinx FPGA的集成逻辑分析仪IP核,可以采集逻辑内部信号并显示在所述开发软件Vivado的界面上)采集的且来自AD9361模块的接收信号波形,不断地手动调整VIO输出的IDELAY TAP数目(例如在0~31的取值范围内进行调整),并使用ILA人工观察采集波形,直至发现波形为平滑的正弦波,并记录下当前可用的IDELAY TAP数目,最后在可用的所有IDELAY TAP数目值中选择一个中间值来作为最佳的IDELAY TAP数目,来对输入延迟单元IDEALY的延时值进行配置。
但是,由于诸如硬件走线等对信号传输速度产生的差异,不同批次的AD9361板卡所选用的最佳IODELAY TAP数目可能完全不一样,使得FPGA程序(即FPGA模块的逻辑程序)不可能在每次AD9361板卡生产时都独立地编译(即在不同AD9361板卡的FPGA程序中设置不同的固定IODELAY TAP数目,相当于更改了程序,必须重新编译),同时处理起来也比较麻烦(即需要针对每张板卡,都手动地应用调试工具VIO和ILA来找出最佳IODELAY TAP数目),不利于以后批产时生产人员的操作,限制了生产效率的提高,因此需要走程序化自动校准的路线,即如何快速准确地校准多张AD9361板卡上单个或多个AD9361模块的RX路径和/或TX路径,是本领域技术人员亟需研究的课题。
发明内容
为了解决现有AD9361板卡校准方法所存在需独立编译FPGA程序、处理麻烦和不利于批产操作的问题,本发明目的在于提供一种自动校准AD9361板卡的方法、装置、计算机设备及计算机可读存储介质,可自动化完成对AD9361板卡接收路径及发射路径的校准调整,不但使得FPGA程序无需在每次AD9361板卡生产时都独立地编译,还可极大减少人工操作,避免处理麻烦,快速准确地校准多张AD9361板卡上单个或多个AD9361模块的RX路径及TX路径,进而利于以后批产时生产人员的操作,大大提高生产效率,便于实际应用和推广。
第一方面,本发明提供了一种自动校准AD9361板卡的方法,适用于通信连接AD9361板卡的计算机设备执行,包括:
配置AD9361模块中的内部寄存器0x3F4的值为0x09,使所述AD9361模块内建产生伪随机二进制序列,并利用接收通道向现场可编程逻辑门阵列FPGA模块的输入端口传送所述伪随机二进制序列,其中,所述AD9361模块和所述FPGA模块分别布置在所述AD9361板卡上并通信相连;
遍历各个第一延迟数组:先将所述AD9361模块中的内部寄存器0x006的值配置为第一数值和/或将所述输入端口中的输入延迟单元的延迟值配置为第二数值,然后读取由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,若所述第一校验结果指示校验正确,则将包含有所述第一数值和/或所述第二数值的第一延迟数组作为第一可用延迟数组;
从遍历所得的多个第一可用延迟数组中确定出第一最佳可用延迟数组,其中,所述第一最佳可用延迟数组位于所述多个第一可用延迟数组中的中心位置;
根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值。
基于上述发明内容,提供了一种配合FPGA技术校准AD9361板卡接收路径的自动化方案,即先配置AD9361模块内建产生伪随机二进制序列,然后针对AD9361模块中的内部寄存器0x006的各个可能值和/或输入延迟单元的各个可能延迟值进行遍历,确定出能基于所述伪随机二进制序列得到校验正确结果的可用值和/或可用延迟值,最后从多个可用值和/或多个可用延迟值中选出最佳可用数值来配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值,从而自动化完成对AD9361板卡接收路径的校准调整,不但使得FPGA程序无需在每次AD9361板卡生产时都独立地编译,还可极大减少人工操作,避免处理麻烦,快速准确地校准多张AD9361板卡上单个或多个AD9361模块的RX路径,进而利于以后批产时生产人员的操作,大大提高生产效率,便于实际应用和推广。
在一个可能的设计中,在配置AD9361模块中的内部寄存器0x3F4的值为0x09之前或同时,所述方法还包括:
将所述FPGA模块中的第一外设寄存器的值配置为第一指示值,以便通过所述第一指示值向所述FPGA模块的逻辑程序指示对由所述输入端口输入的数据进行隐藏处理,不提供给用户接口,直到在根据所述第一最佳可用延迟数组配置所述寄存器0x006的值和/或所述输入延迟单元的延迟值之后进行恢复。
在一个可能的设计中,先将所述AD9361模块中的内部寄存器0x006的值配置为第一数值和/或将所述输入端口中的输入延迟单元的延迟值配置为第二数值,然后读取由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,若所述第一校验结果指示校验正确,则将包含有所述第一数值和/或所述第二数值的第一延迟数组作为第一可用延迟数组,包括:
将所述AD9361模块中的内部寄存器0x006的值配置为第一数值;
将所述FPGA模块中的第二外设寄存器的值配置为第二数值,以便使所述第二数值作为所述输入端口中的输入延迟单元的延迟值;
将所述FPGA模块中的第三外设寄存器的值从无效状态值配置为有效状态值,以便触发所述FPGA模块的逻辑程序读取所述第二外设寄存器的值,使所述第二数值载入到基于所述伪随机二进制序列的逻辑程序校验过程中;
在等待第一时长后,读取所述FPGA模块中的第四外设寄存器的值,以便得到由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,其中,所述第一时长不小于
Figure 344594DEST_PATH_IMAGE001
微秒,
Figure 373730DEST_PATH_IMAGE002
表示所述AD9361模块的采样率且单位为MHz,
Figure 224006DEST_PATH_IMAGE003
表示预设的验证数据目标数;
判断所述第四外设寄存器的值是否为用于指示校验正确的状态值;
若是,则记录所述第一数值和所述第二数值,以便将包含有所述第一数值和所述第二数值的第一延迟数组作为第一可用延迟数组。
在一个可能的设计中,在根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值之后,所述方法还包括:
配置所述AD9361模块中的内部寄存器0x3F5的值为0x81,使所述AD9361模块将发射通道中的数字信号回环至所述接收通道,以便利用所述接收通道向所述FPGA模块的输入端口传送所述数字信号,其中,所述数字信号为由所述FPGA模块的输出端口传出的且仿照所述伪随机二进制序列产生的新序列;
遍历各个第二延迟数组:先将所述AD9361模块中的内部寄存器0x007的值配置为第三数值和/或将所述输出端口中的输出延迟单元的延迟值配置为第四数值,然后读取由所述FPGA模块记录的且基于所述数字信号的第二校验结果,若所述第二校验结果指示校验正确,则将包含有所述第三数值和/或所述第四数值的第二延迟数组作为第二可用延迟数组;
从遍历所得的多个第二可用延迟数组中确定出第二最佳可用延迟数组,其中,所述第二最佳可用延迟数组位于所述多个第二可用延迟数组中的中心位置;
根据所述第二最佳可用延迟数组配置所述内部寄存器0x007的值和/或所述输出延迟单元的延迟值。
基于上述可能设计,还可以在完成AD9361板卡接收路径的校准调整基础上,进一步配合FPGA技术自动化完成对AD9361板卡发射路径的校准调整,快速准确地校准多张AD9361板卡上单个或多个AD9361模块的TX路径,进一步利于以后批产时生产人员的操作和提高生产效率。
在一个可能的设计中,在配置所述AD9361模块中的内部寄存器0x3F5的值为0x81之前或同时,所述方法还包括:
将所述FPGA模块中的第五外设寄存器的值配置为第二指示值,以便通过所述第二指示值向所述FPGA模块的逻辑程序指示对由所述输入端口输入的数据进行隐藏处理,不提供给用户接口,直到在根据所述第二最佳可用延迟数组配置所述内部寄存器0x007的值和/或所述输出延迟单元的延迟值之后进行恢复。
在一个可能的设计中,先将所述AD9361模块中的内部寄存器0x007的值配置为第三数值和/或将所述输出端口中的输出延迟单元的延迟值配置为第四数值,然后读取由所述FPGA模块记录的且基于所述数字信号的第二校验结果,若所述第二校验结果指示校验正确,则将包含有所述第三数值和/或所述第四数值的第二延迟数组作为第二可用延迟数组,包括:
将所述AD9361模块中的内部寄存器0x007的值配置为第三数值;
将所述FPGA模块中的第六外设寄存器的值配置为第四数值,以便使所述第四数值作为所述输出端口中的输出延迟单元的延迟值;
将所述FPGA模块中的第七外设寄存器的值从无效状态值配置为有效状态值,以便触发所述FPGA模块的逻辑程序读取所述第七外设寄存器的值,使所述第四数值载入到基于所述数字信号的逻辑程序校验过程中;
在等待第二时长后,读取所述FPGA模块中的第八外设寄存器的值,以便得到由所述FPGA模块记录的且基于所述数字信号的第二校验结果,其中,所述第二时长不小于
Figure 971382DEST_PATH_IMAGE004
微秒,
Figure 385046DEST_PATH_IMAGE005
表示所述AD9361模块的采样率且单位为MHz,
Figure 282070DEST_PATH_IMAGE006
表示预设的验证数据目标数;
判断所述第八外设寄存器的值是否为用于指示校验正确的状态值;
若是,则记录所述第三数值和所述第四数值,以便将包含有所述第三数值和所述第四数值的第二延迟数组作为第二可用延迟数组。
第二方面,本发明提供了一种自动校准AD9361板卡的装置,布置于通信连接AD9361板卡的计算机设备中,包括有依次通信连接的第一参数配置模块、序列校验遍历模块、最佳配置确定模块和第二参数配置模块;
所述第一参数配置模块,用于配置AD9361模块中的内部寄存器0x3F4的值为0x09,使所述AD9361模块内建产生伪随机二进制序列,并利用接收通道向现场可编程逻辑门阵列FPGA模块的输入端口传送所述伪随机二进制序列,其中,所述AD9361模块和所述FPGA模块分别布置在所述AD9361板卡上并通信相连;
所述序列校验遍历模块,用于遍历各个第一延迟数组:先将所述AD9361模块中的内部寄存器0x006的值配置为第一数值和/或将所述输入端口中的输入延迟单元的延迟值配置为第二数值,然后读取由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,若所述第一校验结果指示校验正确,则将包含有所述第一数值和/或所述第二数值的第一延迟数组作为第一可用延迟数组;
所述最佳配置确定模块,用于从遍历所得的多个第一可用延迟数组中确定出第一最佳可用延迟数组,其中,所述第一最佳可用延迟数组位于所述多个第一可用延迟数组中的中心位置;
所述第二参数配置模块,用于根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值。
在一种可能设计中,所述第一参数配置模块还通信连接所述第二参数配置模块,还用于在根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值之后,配置所述AD9361模块中的内部寄存器0x3F5的值为0x81,使所述AD9361模块将发射通道中的数字信号回环至所述接收通道,以便利用所述接收通道向所述FPGA模块的输入端口传送所述数字信号,其中,所述数字信号为由所述FPGA模块的输出端口传出的且仿照所述伪随机二进制序列产生的新序列;
所述序列校验遍历模块,还用于遍历各个第二延迟数组:先将所述AD9361模块中的内部寄存器0x007的值配置为第三数值和/或将所述输出端口中的输出延迟单元的延迟值配置为第四数值,然后读取由所述FPGA模块记录的且基于所述数字信号的第二校验结果,若所述第二校验结果指示校验正确,则将包含有所述第三数值和/或所述第四数值的第二延迟数组作为第二可用延迟数组;
所述最佳配置确定模块,还用于从遍历所得的多个第二可用延迟数组中确定出第二最佳可用延迟数组,其中,所述第二最佳可用延迟数组位于所述多个第二可用延迟数组中的中心位置;
所述第二参数配置模块,还用于根据所述第二最佳可用延迟数组配置所述内部寄存器0x007的值和/或所述输出延迟单元的延迟值。
第三方面,本发明提供了一种计算机设备,包括有依次通信连接的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发信息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意可能设计所述的方法。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如上第一方面或第一方面中任意可能设计所述的方法。
第五方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如上第一方面或第一方面中任意可能设计所述的方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的自动校准AD9361板卡的方法流程示意图。
图2是本发明提供的计算机设备与AD9361板卡的通信连接关系示意图。
图3是本发明提供的伪随机二进制序列及仿照所述伪随机二进制序列产生的新序列的波形示例图,其中,图3(a)示出了伪随机二进制序列的波形,图3(b)示出了新序列的波形。
图4是本发明提供的自动校准AD9361板卡的装置结构示意图。
图5是本发明提供的计算机设备的结构示意图。
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明示例的实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,尽管本文可能使用术语第一和第二等等来描述各种对象,但是这些对象不应当受到这些术语的限制。这些术语仅用于区分一个对象和另一个对象。例如可以将第一对象称作第二对象,并且类似地可以将第二对象称作第一对象,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A、单独存在B或者同时存在A和B等三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A或者同时存在A和B等两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
如图1~3所示,本实施例第一方面提供的所述自动校准AD9361板卡的方法,可以但不限于由通信连接AD9361板卡的且具有一定计算资源的计算机设备执行,例如由PowerPC(Performance Optimization With Enhanced RISC – Performance Computing,有时简称PPC,是一种精简指令集架构的中央处理器,其基本的设计源自IBM的POWER架构)处理器、DSP(Digital Signal Process,数字信号处理器)处理器、个人计算机(PersonalComputer,PC,指一种大小、价格和性能适用于个人使用的多用途计算机;台式机、笔记本电脑到小型笔记本电脑和平板电脑以及超级本等都属于个人计算机)、智能手机、个人数字助理(Personal digital assistant,PAD)或可穿戴设备或等电子设备执行,以便自动化完成对AD9361板卡接收路径的校准调整,不但使得FPGA程序无需在每次AD9361板卡生产时都独立地编译,还可极大减少人工操作,避免处理麻烦,快速准确地校准多张AD9361板卡上单个或多个AD9361模块的RX路径,进而利于以后批产时生产人员的操作,大大提高生产效率,便于实际应用和推广。如图1所示,所述自动校准AD9361板卡的方法,适用于先对AD9361板卡的接收路径进行校准处理,可以但不限于包括有如下步骤S1~S4。
S1.配置AD9361模块中的内部寄存器0x3F4的值为0x09,使所述AD9361模块内建产生伪随机二进制序列,并利用接收通道向现场可编程逻辑门阵列FPGA模块的输入端口传送所述伪随机二进制序列,其中,所述AD9361模块和所述FPGA模块分别布置在所述AD9361板卡上并通信相连。
在所述步骤S1中,如图2所示,所述计算机设备用于作为通信连接所述AD9361板卡的上位机,具体可以但不限于通过第一SPI接口通信连接所述AD9361板卡上的所述FPGA模块,以便实现所述计算机设备与所述FPGA模块的控制通信;同时所述FPGA模块可以但不限于通过第二SPI接口通信连接所述AD9361模块,以便实现所述FPGA模块与所述AD9361模块的控制通信。所述内部寄存器0x3F4为在所述AD9361模块中位于AD9361芯片内的且命名为0x3F4的现有寄存器,根据所述AD9361芯片的芯片手册可知,当所述内部寄存器0x3F4的值为0x09时,可使所述AD9361模块内建产生伪随机二进制序列(Pseudo-Random BinarySequence,简称PRBS);具体配置方式可以但不限于为:由所述计算机设备生成第一配置指令,然后将所述第一配置指令传送至所述FPGA模块,最后由所述FPGA模块执行所述第一配置指令,将所述内部寄存器0x3F4的值配置为0x09。此外,所述FPGA模块与所述AD9361模块可以是一对多的对应关系,即在单张AD9361板卡上布置有多个AD9361模块,以便分别对与各个AD9361模块对应的RX路径进行校准。
在所述步骤S1中,考虑在对所述AD9361板卡的接收路径进行校准过程中,所述接收通道上的数据没有意义,因此可以向所述FPGA模块的逻辑程序告知当前处于接收路径校准过程中,可将从所述接收通道上获取的数据隐藏掉,直到校准完成,即在配置AD9361模块中的内部寄存器0x3F4的值为0x09之前或同时,所述方法还包括:将所述FPGA模块中的第一外设寄存器的值配置为第一指示值,以便通过所述第一指示值向所述FPGA模块的逻辑程序指示对由所述输入端口输入的数据进行隐藏处理,不提供给用户接口。如图2所示,所述第一外设寄存器为在所述FPGA模块中位于FPGA芯片外的且根据逻辑程序设计需要而配置的寄存器,举例的,所述第一外设寄存器可以为命名AD_CAL_EN的1位寄存器,进而通过配置为1(即所述第一指示值)来向所述FPGA模块的逻辑程序指示当前处于接收路径校准过程中,需对由所述输入端口输入的数据进行隐藏处理,并通过配置为0(即在配置所述第一指示值前的初始指示值)来向所述FPGA模块的逻辑程序指示当前校准完成,可将由所述输入端口输入的数据提供给用户接口;具体配置方式可以但不限于为:由所述计算机设备生成第一控制指令,并执行所述第一控制指令,将所述第一外设寄存器的值配置为所述第一指示值。此外,若所述FPGA模块与所述AD9361模块是一对多的对应关系,则所述第一外设寄存器需设置为多个并与多个所述AD9361模块一一对应,以便指示对应的RX路径是否处于校准过程中。
S2.遍历各个第一延迟数组:先将所述AD9361模块中的内部寄存器0x006的值配置为第一数值和/或将所述输入端口中的输入延迟单元的延迟值配置为第二数值,然后读取由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,若所述第一校验结果指示校验正确,则将包含有所述第一数值和/或所述第二数值的第一延迟数组作为第一可用延迟数组。
在所述步骤S2中,所述第一延迟数组用于配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值,可以为仅包含有所述内部寄存器0x006的可能值的二维坐标值(其两坐标值分别对应时钟信号延迟处理和数据信号延迟处理,并且它们的可能值范围均为0~15,即所述第一延迟数组有16×16个,可分别用于配置所述内部寄存器0x006的值)、仅包含有所述输入延迟单元的可能延迟值的一维坐标值(例如可能延迟值范围为0~31,即所述第一延迟数组有32个,可分别用于配置所述输入延迟单元的延迟值)或包括有所述内部寄存器0x006的所有可能值和所述输入延迟单元的所有可能延迟值的三维坐标值(即所述第一延迟数组有16×16×32个,可分别用于配置所述内部寄存器0x006的值和所述输入延迟单元的延迟值)。所述遍历各个第一延迟数组具体是指针对各个二维坐标值、各个一维坐标值或各个三维坐标值,分别按照如下方式处理一次:先将所述AD9361模块中的内部寄存器0x006的值配置为第一数值(即某个二维坐标值)和/或将所述输入端口中的输入延迟单元的延迟值配置为第二数值(即某个一维坐标值),然后读取由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,若所述第一校验结果指示校验正确,则将包含有所述第一数值和/或所述第二数值的第一延迟数组作为第一可用延迟数组。
在所述步骤S2中,所述内部寄存器0x006为在所述AD9361模块中位于AD9361芯片内的且命名为0x006的现有寄存器,根据所述AD9361芯片的芯片手册可知,所述内部寄存器0x006为8位寄存器,其中,4位用于在时钟信号延迟处理时实现在0~15范围内的取值,另有4位用于在数据信号延迟处理上实现在0~15范围内的取值;具体配置方式可以但不限于为:由所述计算机设备生成第二配置指令,然后将所述第二配置指令传送至所述FPGA模块,最后由所述FPGA模块执行所述第二配置指令,将所述内部寄存器0x006的值配置为所述第一数值(例如Ox0102,其中,前4位可用于时钟信号延迟处理,后4位可用于数据信号延迟处理)。所述输入延迟单元为在所述FPGA模块内FPGA芯片中的所述输入端口中的现有单元,用于可编程地设置IDELAY TAP数目(即在0~31范围内取值),实现时间延迟目的;具体配置方式可以但不限于为:由所述计算机设备生成第二控制指令,并执行所述第二控制指令,将所述输入延迟单元的延迟值配置为第二数值(例如Ox101=17)。基于所述伪随机二进制序列的第一校验结果是由所述FPGA模块的逻辑程序通过判断AD9361官方驱动代码输出的adc_pn_oos信号和adc_pn_err信号在一定时间内是否都不为0的方式来得到,即当两信号在一定时间内都不为0,则判定校验结果正确,反映RX校准在一定时间内能自动完成,表示当前配置的第一数值和/或第二数值可用,构成所述第一可用延迟数组。
在所述步骤S2中,具体的,当所述第一延迟数组为三维坐标值时,先将所述AD9361模块中的内部寄存器0x006的值配置为第一数值和/或将所述输入端口中的输入延迟单元的延迟值配置为第二数值,然后读取由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,若所述第一校验结果指示校验正确,则将包含有所述第一数值和/或所述第二数值的第一延迟数组作为第一可用延迟数组,包括但不限于有如下步骤S21~S26。
S21.将所述AD9361模块中的内部寄存器0x006的值配置为第一数值。
S22.将所述FPGA模块中的第二外设寄存器的值配置为第二数值,以便使所述第二数值作为所述输入端口中的输入延迟单元的延迟值。
在所述步骤S22中,所述第二外设寄存器为在所述FPGA模块中位于FPGA芯片外的且根据逻辑程序设计需要而配置的寄存器,用于存储为所述输出延迟单元配置的IDELAYTAP数目,以便载入FPGA模块的逻辑程序中。举例的,所述第二外设寄存器可以为命名AD_IDELAY_TAP的5位寄存器,以便实现在0~31范围内的取值。
S23.将所述FPGA模块中的第三外设寄存器的值从无效状态值配置为有效状态值,以便触发所述FPGA模块的逻辑程序读取所述第二外设寄存器的值,使所述第二数值载入到基于所述伪随机二进制序列的逻辑程序校验过程中。
在所述步骤S23中,所述第三外设寄存器为在所述FPGA模块中位于FPGA芯片外的且根据逻辑程序设计需要而配置的寄存器,用于触发将所述第二外设寄存器的值载入逻辑程序中。举例的,所述第三外设寄存器可以为命名IDELAY_TAP_LD_CTRL的1位寄存器,同时考虑逻辑程序是检测IDELAY_TAP_LD_CTRL寄存器的比特位上升沿再进行触发操作,因此所述无效状态值可为0,所述有效状态值可为1,并在将所述FPGA模块中的第二外设寄存器的值配置为第二数值之前,需先将所述FPGA模块中的第三外设寄存器的值配置为无效状态值。此外,若所述FPGA模块与所述AD9361模块是一对多的对应关系,则所述第三外设寄存器需设置为多个并与多个所述AD9361模块一一对应,以便分别触发将所述第二外设寄存器的值载入到对应RX路径的逻辑程序校验过程中。
S24.在等待第一时长后,读取所述FPGA模块中的第四外设寄存器的值,以便得到由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,其中,所述第一时长不小于
Figure 755777DEST_PATH_IMAGE004
微秒,
Figure 990449DEST_PATH_IMAGE007
表示所述AD9361模块的采样率且单位为MHz,
Figure 942224DEST_PATH_IMAGE006
表示预设的验证数据目标数。
在所述步骤S24中,所述第四外设寄存器为在所述FPGA模块中位于FPGA芯片外的且根据逻辑程序设计需要而配置的寄存器,用于记录所述第一校验结果。举例的,所述第四外设寄存器可以为命名AD_CAL_RESULT的1位寄存器,并用状态值1指示校验正确,用状态值0指示校验不正确。由于所述AD9361模块的采样率是由所述计算机设备通过所述FPGA模块进行配置的,因此可以提前确定所述第一时长,例如当所述采样率为60MHz且所述验证数据目标数预设为2000时,所述第一时长需要不小于8.33微秒。考虑在所述FPGA模块中基于所述伪随机二进制序列进行逻辑程序校验需要一定的时间,若等待时间过短将可能存在adc_pn_oos信号或adc_pn_err信号一直都为零的情况,因此需在触发载入后等待所述第一时长才读取所述第四外设寄存器的值。此外,若所述FPGA模块与所述AD9361模块是一对多的对应关系,则所述第四外设寄存器需设置为多个并与多个所述AD9361模块一一对应,以便分别记录对应RX路径的逻辑程序校验结果。
S25.判断所述第四外设寄存器的值是否为用于指示校验正确的状态值。
在所述步骤S25中,具体是判断所述第四外设寄存器的值是否为1,若为1则表明在RX路径上的逻辑程序校验正确,此时的所述第一数值可用于配置所述寄存器0x006的值,以及此时的所述第二数值可用于配置所述输入延迟单元的延迟值,反之则不行。
S26.若是,则记录所述第一数值和所述第二数值,以便将包含有所述第一数值和所述第二数值的第一延迟数组作为第一可用延迟数组。
在所述步骤S26之后,若针对所述第一数值未遍历完所述输入延迟单元的所有可能延迟值,则需针对另一个可能延迟值,重新返回执行步骤S22~S26,否则,需针对所述寄存器0x006的另一个可能值,重新返回执行步骤S21~S26,直到遍历完所述寄存器0x006的所有可能值。此外,在遍历过程中各个可能数值的顺序可以有序的(例如从0递增到31),也可以是无序的,并无限定。
在所述步骤S2中,参照前述步骤S21~S26,还可以在所述第一延迟数组为二维坐标值时,得到对应的遍历过程,即:先将所述AD9361模块中的内部寄存器0x006的值配置为第一数值;然后将所述FPGA模块中的第三外设寄存器的值从无效状态值配置为有效状态值,以便触发所述FPGA模块的逻辑程序读取所述第二外设寄存器的值,使固定不变的某个可能延迟值(例如17)载入到基于所述伪随机二进制序列的逻辑程序校验过程中;在等待所述第一时长后,读取所述FPGA模块中的第四外设寄存器的值,以便得到由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果;最后判断所述第四外设寄存器的值是否为用于指示校验正确的状态值,若是,则记录所述第一数值,以便将包含有所述第一数值的第一延迟数组作为第一可用延迟数组。
在所述步骤S2中,同样参照前述步骤S21~S26,还可以在所述第一延迟数组为一维坐标值时,得到对应的遍历过程,即:先将所述FPGA模块中的第二外设寄存器的值配置为第二数值,以便使所述第二数值作为所述输入端口中的输入延迟单元的延迟值(此时所述内部寄存器0x006的值为一个固定不变的可能值);将所述FPGA模块中的第三外设寄存器的值从无效状态值配置为有效状态值,以便触发所述FPGA模块的逻辑程序读取所述第二外设寄存器的值,使所述第二数值载入到基于所述伪随机二进制序列的逻辑程序校验过程中;在等待所述第一时长后,读取所述FPGA模块中的第四外设寄存器的值,以便得到由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果;最后判断所述第四外设寄存器的值是否为用于指示校验正确的状态值,若是,则记录所述第二数值,以便将包含有所述第二数值的第一延迟数组作为第一可用延迟数组。
S3.从遍历所得的多个第一可用延迟数组中确定出第一最佳可用延迟数组,其中,所述第一最佳可用延迟数组位于所述多个第一可用延迟数组中的中心位置。
在所述步骤S3中,由于所述内部寄存器0x006的可用值和/或所述输入延迟单元的可用延迟值会具有连续性,因此所述多个第一可用延迟数组在一维空间、二维空间或三维空间中具有连通特点,进而可将位于连通区域中心的第一可用延迟数组确定为所述第一最佳可用延迟数组。例如当所述多个第一可用延迟数组中的多个二维坐标值分别为(3,7)、(4,7)、(5,7)、(3,8)、(4,8)、(5,8)、(3,9)、(4,9)和(5,9)时,可将(5,8)作为第一最佳数值,和/或当所述多个第一可用延迟数组中的多个一维坐标值分别为2、3、4、5、6、7和8时,可将5作为第二最佳数值,得到所述第一最佳可用延迟数组。
S4.根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值。
在所述步骤S4中,具体的,当所述第一最佳可用延迟数组仅包含有为二维坐标值的第一最佳数值时,可通过所述FPGA模块将所述AD9361模块中的内部寄存器0x006的值配置为该第一最佳数值;当所述第一最佳可用延迟数组仅包含有为一维坐标值的第二最佳数值时,可将所述输入端口中的输入延迟单元的延迟值配置为该第二最佳数值;当所述第一最佳可用延迟数组包含有为二维坐标值的第一最佳数值和为一维坐标值的第二最佳数值时,可通过所述FPGA模块将所述AD9361模块中的内部寄存器0x006的值配置为该第一最佳数值,并将所述输入端口中的输入延迟单元的延迟值配置为该第二最佳数值。此外,发明人通过多次试验发现,为所述内部寄存器0x006配置最佳可能值所带来的且避免接收信号出现波形失真的效果,要明显优于为所述输入延迟单元配置最佳可能延迟值所带来的对应效果,因此可优选考虑根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值。
在所述步骤S4之后,由于在前已通过所述第一外设寄存器向所述FPGA模块的逻辑程序指示对由所述输入端口输入的数据进行隐藏处理,不提供给用户接口,出于恢复和指示RX路径校准调整完成的目的,可将所述第一外设寄存器的值配置为另一指示值(例如0),以便向所述逻辑程序指示对由所述输入端口输入的数据不进行隐藏处理,可提供给用户接口。此外,还可以将所述多个第一可用延迟数组保存在所述FPGA模块的其他外设寄存器,以便供内部调试用。
由此基于前述步骤S1~S4所描述的自动校准AD9361板卡的方法,提供了一种配合FPGA技术校准AD9361板卡接收路径的自动化方案,即先配置AD9361模块内建产生伪随机二进制序列,然后针对AD9361模块中的内部寄存器0x006的各个可能值和/或输入延迟单元的各个可能延迟值进行遍历,确定出能基于所述伪随机二进制序列得到校验正确结果的可用值和/或可用延迟值,最后从多个可用值和/或多个可用延迟值中选出最佳可用数值来配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值,从而自动化完成对AD9361板卡接收路径的校准调整,不但使得FPGA程序无需在每次AD9361板卡生产时都独立地编译,还可极大减少人工操作,避免处理麻烦,快速准确地校准多张AD9361板卡上单个或多个AD9361模块的RX路径,进而利于以后批产时生产人员的操作,大大提高生产效率,便于实际应用和推广。
本实施例在前述第一方面的技术方案基础上,还提供了一种如何配合FPGA技术校准AD9361板卡发射路径的可能设计一,即如图1所示,在根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值之后,所述方法还包括但不限于有如下步骤S5~S8。
S5.配置所述AD9361模块中的内部寄存器0x3F5的值为0x81,使所述AD9361模块将发射通道中的数字信号回环至所述接收通道,以便利用所述接收通道向所述FPGA模块的输入端口传送所述数字信号,其中,所述数字信号为由所述FPGA模块的输出端口传出的且仿照所述伪随机二进制序列产生的新序列。
在所述步骤S5中,所述内部寄存器0x3F5为在所述AD9361模块中位于AD9361芯片内的且命名为0x3F5的现有寄存器,根据所述AD9361芯片的芯片手册可知,当所述内部寄存器0x3F5的值为0x81时,可使所述AD9361模块将发射通道中的数字信号回环至所述接收通道中;具体配置方式可以但不限于为:由所述计算机设备生成第三配置指令,然后将所述第三配置指令传送至所述FPGA模块,最后由所述FPGA模块执行所述第三配置指令,将所述内部寄存器0x3F5的值配置为0x81。此外,所述新序列需在遍历前产生,具体产生方式可通过查阅相关资料和仿真代码,找到AD9361芯片内建PRBS的逻辑生成方式,然后基于该逻辑生成方式进行仿真恢复;如图3(a)示出的伪随机二进制序列的波形和图3(b)示出得新序列的波形,可见两波形的部分序列完全一致,足以用于与所述伪随机二进制序列进行一样的逻辑程序校验。
在所述步骤S5中,同样考虑在对所述AD9361板卡的发射路径进行校准过程中,所述接收通道上的数据(即所述数字信号和所述伪随机二进制序列)还是没有意义,因此同样可以向所述FPGA模块的逻辑程序告知当前处于发射路径校准过程中,可将从所述接收通道上获取的数据隐藏掉,直到校准完成,即在配置所述AD9361模块中的内部寄存器0x3F5的值为0x81之前或同时,所述方法还包括:将所述FPGA模块中的第五外设寄存器的值配置为第二指示值,以便通过所述第二指示值向所述FPGA模块的逻辑程序指示对由所述输入端口输入的数据(例如DDS数据,其中,DDS为直接数字频率合成Direct Digital Synthesis的英文缩写)进行隐藏处理,不提供给用户接口。如图2所示,所述第五外设寄存器为在所述FPGA模块中位于FPGA芯片外的且根据逻辑程序设计需要而配置的寄存器,举例的,所述第五外设寄存器可以为命名DA_CAL_EN的1位寄存器,进而通过配置为1(即所述第二指示值)来向所述FPGA模块的逻辑程序指示当前处于发射路径校准过程中,需对由所述输入端口输入的数据进行隐藏处理,并通过配置为0(即在配置所述第二指示值前的初始指示值)来向所述FPGA模块的逻辑程序指示当前校准完成,可将由所述输入端口输入的数据提供给用户接口;具体配置方式可以但不限于为:由所述计算机设备生成第三控制指令,并执行所述第三控制指令,将所述第五外设寄存器的值配置为所述第二指示值。此外,若所述FPGA模块与所述AD9361模块是一对多的对应关系,则所述第五外设寄存器需设置为多个并与多个所述AD9361模块一一对应,以便指示对应的TX路径是否处于校准过程中。
S6.遍历各个第二延迟数组:先将所述AD9361模块中的内部寄存器0x007的值配置为第三数值和/或将所述输出端口中的输出延迟单元的延迟值配置为第四数值,然后读取由所述FPGA模块记录的且基于所述数字信号的第二校验结果,若所述第二校验结果指示校验正确,则将包含有所述第三数值和/或所述第四数值的第二延迟数组作为第二可用延迟数组。
在所述步骤S6中,所述第二延迟数组用于配置所述内部寄存器0x007的值和/或所述输出延迟单元的延迟值,可以为仅包含有所述内部寄存器0x007的可能值的二维坐标值(其两坐标值分别对应时钟信号延迟处理和数据信号延迟处理,并且它们的可能值范围均为0~15,即所述第二延迟数组有16×16个,可分别用于配置所述内部寄存器0x007的值)、仅包含有所述输出延迟单元的可能延迟值的一维坐标值(例如可能延迟值范围为0~31,即所述第二延迟数组有32个,可分别用于配置所述输出延迟单元的延迟值)或包括有所述内部寄存器0x007的所有可能值和所述输出延迟单元的所有可能延迟值的三维坐标值(即所述第二延迟数组有16×16×32个,可分别用于配置所述内部寄存器0x007的值和所述输出延迟单元的延迟值)。所述遍历各个第二延迟数组具体是指针对各个二维坐标值、各个一维坐标值或各个三维坐标值,分别按照如下方式处理一次:先将所述AD9361模块中的内部寄存器0x007的值配置为第三数值(即某个二维坐标值)和/或将所述输出端口中的输出延迟单元的延迟值配置为第四数值(即某个一维坐标值),然后读取由所述FPGA模块记录的且基于所述数字信号的第二校验结果,若所述第二校验结果指示校验正确,则将包含有所述第三数值和/或所述第四数值的第二延迟数组作为第二可用延迟数组。
在所述步骤S6中,所述内部寄存器0x007为在所述AD9361模块中位于AD9361芯片内的且命名为0x007的现有寄存器,根据所述AD9361芯片的芯片手册可知,所述内部寄存器0x007为8位寄存器,其中,4位用于在时钟信号延迟处理时实现在0~15范围内的取值,另有4位用于在数据信号延迟处理上实现在0~15范围内的取值;具体配置方式可以但不限于为:由所述计算机设备生成第四配置指令,然后将所述第四配置指令传送至所述FPGA模块,最后由所述FPGA模块执行所述第四配置指令,将所述内部寄存器0x007的值配置为所述第三数值(例如Ox0102,其中,前4位可用于时钟信号延迟处理,后4位可用于数据信号延迟处理)。所述输出延迟单元为在所述FPGA模块内FPGA芯片中的所述输出端口中的现有单元,用于可编程地设置ODELAY TAP数目(即在0~31范围内取值),实现时间延迟目的;具体配置方式可以但不限于为:由所述计算机设备生成第四控制指令,并执行所述第四控制指令,将所述输出延迟单元的延迟值配置为第四数值(例如Ox101=17)。由于所述AD9361板卡的接收路径已在前完成校准调整,因此通过将所述新序列由所述输出端口传出至所述发射通道并回环至所述接收通道,使得可用回收的新序列进行与所述伪随机二进制序列一样的逻辑程序校验,来反映所述AD9361板卡的发射路径是否能得到正确的校验结果,即反映TX校准在一定时间内能自动完成。此外,同样基于所述新序列的第二校验结果是由所述FPGA模块的逻辑程序通过判断AD9361官方驱动代码输出的adc_pn_oos信号和adc_pn_err信号在一定时间内是否都不为0的方式来得到,即当两信号在一定时间内都不为0,则判定校验结果正确,表示当前配置的第三数值和/或第四数值可用,构成所述第二可用延迟数组。
在所述步骤S6中,具体的,当所述第二延迟数组为三维坐标值时,先将所述AD9361模块中的内部寄存器0x007的值配置为第三数值和/或将所述输出端口中的输出延迟单元的延迟值配置为第四数值,然后读取由所述FPGA模块记录的且基于所述数字信号的第二校验结果,若所述第二校验结果指示校验正确,则将包含有所述第三数值和/或所述第四数值的第二延迟数组作为第二可用延迟数组,包括但不限于有如下步骤S61~S66。
S61.将所述AD9361模块中的内部寄存器0x007的值配置为第三数值。
S62.将所述FPGA模块中的第六外设寄存器的值配置为第四数值,以便使所述第四数值作为所述输出端口中的输出延迟单元的延迟值。
S63.将所述FPGA模块中的第七外设寄存器的值从无效状态值配置为有效状态值,以便触发所述FPGA模块的逻辑程序读取所述第七外设寄存器的值,使所述第四数值载入到基于所述数字信号的逻辑程序校验过程中。
S64.在等待第二时长后,读取所述FPGA模块中的第八外设寄存器的值,以便得到由所述FPGA模块记录的且基于所述数字信号的第二校验结果,其中,所述第二时长不小于
Figure 696685DEST_PATH_IMAGE004
微秒,
Figure 341293DEST_PATH_IMAGE005
表示所述AD9361模块的采样率且单位为MHz,
Figure 797682DEST_PATH_IMAGE006
表示预设的验证数据目标数。
S65.判断所述第八外设寄存器的值是否为用于指示校准正确的状态值。
S66.若是,则记录所述第三数值和所述第四数值,以便将包含有所述第三数值和所述第四数值的第二延迟数组作为第二可用延迟数组。
所述步骤S61~S66的技术细节可参见前述步骤S21~S26,并通过常规方式推导得到,于此不再赘述。同样的,在所述步骤S66之后,若针对所述第三数值未遍历完所述输出延迟单元的所有可能延迟值,则需针对另一个可能延迟值,重新返回执行步骤S62~S66,否则,需针对所述寄存器0x007的另一个可能值,重新返回执行步骤S61~S66,直到遍历完所述寄存器0x007的所有可能值。此外,在遍历过程中各个可能数值的顺序可以有序的(例如从0递增到31),也可以是无序的,并无限定。
在所述步骤S6中,参照前述步骤S61~S66,还可以在所述第二延迟数组为二维坐标值时,得到对应的遍历过程,即:先将所述AD9361模块中的内部寄存器0x007的值配置为第三数值;然后将所述FPGA模块中的第七外设寄存器的值从无效状态值配置为有效状态值,以便触发所述FPGA模块的逻辑程序读取所述第七外设寄存器的值,使固定不变的某个可能延迟值(例如17)载入到基于所述数字信号的逻辑程序校验过程中;在等待所述第二时长后,读取所述FPGA模块中的第八外设寄存器的值,以便得到由所述FPGA模块记录的且基于所述数字信号的第二校验结果;最后判断所述第八外设寄存器的值是否为用于指示校验正确的状态值,若是,则记录所述第三数值,以便将包含有所述第三数值的第二延迟数组作为第二可用延迟数组。
在所述步骤S6中,同样参照前述步骤S61~S66,还可以在所述第二延迟数组为一维坐标值时,得到对应的遍历过程,即:先将所述FPGA模块中的第六外设寄存器的值配置为第四数值,以便使所述第四数值作为所述输出端口中的输出延迟单元的延迟值(此时所述内部寄存器0x007的值为一个固定不变的可能值);将所述FPGA模块中的第七外设寄存器的值从无效状态值配置为有效状态值,以便触发所述FPGA模块的逻辑程序读取所述第七外设寄存器的值,使所述第四数值载入到基于所述数字信号的逻辑程序校验过程中;在等待所述第二时长后,读取所述FPGA模块中的第八外设寄存器的值,以便得到由所述FPGA模块记录的且基于所述数字信号的第二校验结果;最后判断所述第八外设寄存器的值是否为用于指示校验正确的状态值,若是,则记录所述第四数值,以便将包含有所述第四数值的第二延迟数组作为第二可用延迟数组。
S7.从遍历所得的多个第二可用延迟数组中确定出第二最佳可用延迟数组,其中,所述第二最佳可用延迟数组位于所述多个第二可用延迟数组中的中心位置。
在所述步骤S7中,由于所述内部寄存器0x007的可用值和/或所述输出延迟单元的可用延迟值会具有连续性,因此所述多个第二可用延迟数组在一维空间、二维空间或三维空间中具有连通特点,进而可将位于连通区域中心的第二可用延迟数组确定为所述第二最佳可用延迟数组。例如当所述多个第二可用延迟数组中的多个二维坐标值分别为(11,9)、(12,9)、(13,9)、(11,10)、(12,10)、(13,10)、(11,11)、(12,11)和(13,11)时,可将(12,10)作为第三最佳数值,和/或当所述多个第二可用延迟数组中的多个一维坐标值分别为9、10、11、12和13时,可将11作为第四最佳数值,得到所述第二最佳可用延迟数组。
S8.根据所述第二最佳可用延迟数组配置所述内部寄存器0x007的值和/或所述输出延迟单元的延迟值。
在所述步骤S8中,具体的,当所述第二最佳可用延迟数组仅包含有为二维坐标值的第三最佳数值时,可通过所述FPGA模块将所述AD9361模块中的内部寄存器0x007的值配置为该第三最佳数值;当所述第二最佳可用延迟数组仅包含有为一维坐标值的第四最佳数值时,可将所述输出端口中的输出延迟单元的延迟值配置为该第四最佳数值;当所述第二最佳可用延迟数组包含有为二维坐标值的第三最佳数值和为一维坐标值的第四最佳数值时,可通过所述FPGA模块将所述AD9361模块中的内部寄存器0x007的值配置为该第三最佳数值,并将所述输出端口中的输出延迟单元的延迟值配置为该第四最佳数值。此外,发明人通过多次试验发现,为所述内部寄存器0x007配置最佳可能值所带来的且避免发射信号出现杂散的效果,要明显优于为所述输出延迟单元配置最佳可能延迟值所带来的对应效果,因此可优选考虑根据所述第二最佳可用延迟数组配置所述内部寄存器0x007的值。
在所述步骤S8之后,由于在前已通过所述第五外设寄存器向所述FPGA模块的逻辑程序指示对由所述输入端口输入的数据进行隐藏处理,不提供给用户接口,出于恢复和指示TX路径校准调整完成的目的,可将所述第五外设寄存器的值配置为另一指示值(例如0),以便向所述逻辑程序指示对由所述输入端口输入的数据不进行隐藏处理,可提供给用户接口。此外,还可以将所述多个第二可用延迟数组保存在所述FPGA模块的其他外设寄存器,以便供内部调试用。
由此基于前述步骤S5~S8所描述的可能设计一,还可以在完成AD9361板卡接收路径的校准调整基础上,进一步配合FPGA技术自动化完成对AD9361板卡发射路径的校准调整,快速准确地校准多张AD9361板卡上单个或多个AD9361模块的TX路径,进一步利于以后批产时生产人员的操作和提高生产效率。
如图4所示,本实施例第二方面提供了一种实现第一方面或第一方面中任一可能设计所述的方法的虚拟装置,布置于通信连接AD9361板卡的计算机设备中,包括有依次通信连接的第一参数配置模块、序列校验遍历模块、最佳配置确定模块和第二参数配置模块;
所述第一参数配置模块,用于配置AD9361模块中的内部寄存器0x3F4的值为0x09,使所述AD9361模块内建产生伪随机二进制序列,并利用接收通道向现场可编程逻辑门阵列FPGA模块的输入端口传送所述伪随机二进制序列,其中,所述AD9361模块和所述FPGA模块分别布置在所述AD9361板卡上并通信相连;
所述序列校验遍历模块,用于遍历各个第一延迟数组:先将所述AD9361模块中的内部寄存器0x006的值配置为第一数值和/或将所述输入端口中的输入延迟单元的延迟值配置为第二数值,然后读取由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,若所述第一校验结果指示校验正确,则将包含有所述第一数值和/或所述第二数值的第一延迟数组作为第一可用延迟数组;
所述最佳配置确定模块,用于从遍历所得的多个第一可用延迟数组中确定出第一最佳可用延迟数组,其中,所述第一最佳可用延迟数组位于所述多个第一可用延迟数组中的中心位置;
所述第二参数配置模块,用于根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值。
在一种可能设计中,所述第一参数配置模块还通信连接所述第二参数配置模块,还用于在根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值之后,配置所述AD9361模块中的内部寄存器0x3F5的值为0x81,使所述AD9361模块将发射通道中的数字信号回环至所述接收通道,以便利用所述接收通道向所述FPGA模块的输入端口传送所述数字信号,其中,所述数字信号为由所述FPGA模块的输出端口传出的且仿照所述伪随机二进制序列产生的新序列;
所述序列校验遍历模块,还用于遍历各个第二延迟数组:先将所述AD9361模块中的内部寄存器0x007的值配置为第三数值和/或将所述输出端口中的输出延迟单元的延迟值配置为第四数值,然后读取由所述FPGA模块记录的且基于所述数字信号的第二校验结果,若所述第二校验结果指示校验正确,则将包含有所述第三数值和/或所述第四数值的第二延迟数组作为第二可用延迟数组;
所述最佳配置确定模块,还用于从遍历所得的多个第二可用延迟数组中确定出第二最佳可用延迟数组,其中,所述第二最佳可用延迟数组位于所述多个第二可用延迟数组中的中心位置;
所述第二参数配置模块,还用于根据所述第二最佳可用延迟数组配置所述内部寄存器0x007的值和/或所述输出延迟单元的延迟值。
本实施例第二方面提供的前述装置的工作过程、工作细节和技术效果,可以参见第一方面或第一方面中任一可能设计所述的方法,于此不再赘述。
如图5所示,本实施例第三方面提供了一种执行第一方面或第一方面中任一可能设计所述方法的计算机设备,包括有依次通信连接的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发信息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任一可能设计所述的方法。具体举例的,所述存储器可以但不限于包括随机存取存储器(Random-Access Memory,RAM)、只读存储器(Read-OnlyMemory,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First Input Last Output,FILO)等等;所述处理器可以但不限于采用型号为STM32F105系列的微处理器。此外,所述计算机设备还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例第三方面提供的前述计算机设备的工作过程、工作细节和技术效果,可以参见第一方面或第一方面中任一可能设计所述的方法,于此不再赘述。
本实施例第四方面提供了一种存储包含第一方面或第一方面中任一可能设计所述方法的指令的计算机可读存储介质,即所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任一可能设计所述的方法。其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等计算机可读存储介质,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例第四方面提供的前述计算机可读存储介质的工作过程、工作细节和技术效果,可以参见第一方面或第一方面中任一可能设计所述的方法,于此不再赘述。
本实施例第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任一可能设计所述的方法。其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
最后应说明的是,本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。

Claims (10)

1.一种自动校准AD9361板卡的方法,其特征在于,适用于通信连接AD9361板卡的计算机设备执行,包括:
配置AD9361模块中的内部寄存器0x3F4的值为0x09,使所述AD9361模块内建产生伪随机二进制序列,并利用接收通道向现场可编程逻辑门阵列FPGA模块的输入端口传送所述伪随机二进制序列,其中,所述AD9361模块和所述FPGA模块分别布置在所述AD9361板卡上并通信相连;
遍历各个第一延迟数组:先将所述AD9361模块中的内部寄存器0x006的值配置为第一数值和/或将所述输入端口中的输入延迟单元的延迟值配置为第二数值,然后读取由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,若所述第一校验结果指示校验正确,则将包含有所述第一数值和/或所述第二数值的第一延迟数组作为第一可用延迟数组;
从遍历所得的多个第一可用延迟数组中确定出第一最佳可用延迟数组,其中,所述第一最佳可用延迟数组位于所述多个第一可用延迟数组中的中心位置;
根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值。
2.如权利要求1所述的方法,其特征在于,在配置AD9361模块中的内部寄存器0x3F4的值为0x09之前或同时,所述方法还包括:
将所述FPGA模块中的第一外设寄存器的值配置为第一指示值,以便通过所述第一指示值向所述FPGA模块的逻辑程序指示对由所述输入端口输入的数据进行隐藏处理,不提供给用户接口,直到在根据所述第一最佳可用延迟数组配置所述寄存器0x006的值和/或所述输入延迟单元的延迟值之后进行恢复。
3.如权利要求1所述的方法,其特征在于,先将所述AD9361模块中的内部寄存器0x006的值配置为第一数值和/或将所述输入端口中的输入延迟单元的延迟值配置为第二数值,然后读取由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,若所述第一校验结果指示校验正确,则将包含有所述第一数值和/或所述第二数值的第一延迟数组作为第一可用延迟数组,包括:
将所述AD9361模块中的内部寄存器0x006的值配置为第一数值;
将所述FPGA模块中的第二外设寄存器的值配置为第二数值,以便使所述第二数值作为所述输入端口中的输入延迟单元的延迟值;
将所述FPGA模块中的第三外设寄存器的值从无效状态值配置为有效状态值,以便触发所述FPGA模块的逻辑程序读取所述第二外设寄存器的值,使所述第二数值载入到基于所述伪随机二进制序列的逻辑程序校验过程中;
在等待第一时长后,读取所述FPGA模块中的第四外设寄存器的值,以便得到由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,其中,所述第一时长不小于
Figure 896483DEST_PATH_IMAGE001
微秒,
Figure 669267DEST_PATH_IMAGE002
表示所述AD9361模块的采样率且单位为MHz,
Figure 475549DEST_PATH_IMAGE003
表示预设的验证数据目标数;
判断所述第四外设寄存器的值是否为用于指示校验正确的状态值;
若是,则记录所述第一数值和所述第二数值,以便将包含有所述第一数值和所述第二数值的第一延迟数组作为第一可用延迟数组。
4.如权利要求1所述的方法,其特征在于,在根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值之后,所述方法还包括:
配置所述AD9361模块中的内部寄存器0x3F5的值为0x81,使所述AD9361模块将发射通道中的数字信号回环至所述接收通道,以便利用所述接收通道向所述FPGA模块的输入端口传送所述数字信号,其中,所述数字信号为由所述FPGA模块的输出端口传出的且仿照所述伪随机二进制序列产生的新序列;
遍历各个第二延迟数组:先将所述AD9361模块中的内部寄存器0x007的值配置为第三数值和/或将所述输出端口中的输出延迟单元的延迟值配置为第四数值,然后读取由所述FPGA模块记录的且基于所述数字信号的第二校验结果,若所述第二校验结果指示校验正确,则将包含有所述第三数值和/或所述第四数值的第二延迟数组作为第二可用延迟数组;
从遍历所得的多个第二可用延迟数组中确定出第二最佳可用延迟数组,其中,所述第二最佳可用延迟数组位于所述多个第二可用延迟数组中的中心位置;
根据所述第二最佳可用延迟数组配置所述内部寄存器0x007的值和/或所述输出延迟单元的延迟值。
5.如权利要求4所述的方法,其特征在于,在配置所述AD9361模块中的内部寄存器0x3F5的值为0x81之前或同时,所述方法还包括:
将所述FPGA模块中的第五外设寄存器的值配置为第二指示值,以便通过所述第二指示值向所述FPGA模块的逻辑程序指示对由所述输入端口输入的数据进行隐藏处理,不提供给用户接口,直到在根据所述第二最佳可用延迟数组配置所述内部寄存器0x007的值和/或所述输出延迟单元的延迟值之后进行恢复。
6.如权利要求4所述的方法,其特征在于,先将所述AD9361模块中的内部寄存器0x007的值配置为第三数值和/或将所述输出端口中的输出延迟单元的延迟值配置为第四数值,然后读取由所述FPGA模块记录的且基于所述数字信号的第二校验结果,若所述第二校验结果指示校验正确,则将包含有所述第三数值和/或所述第四数值的第二延迟数组作为第二可用延迟数组,包括:
将所述AD9361模块中的内部寄存器0x007的值配置为第三数值;
将所述FPGA模块中的第六外设寄存器的值配置为第四数值,以便使所述第四数值作为所述输出端口中的输出延迟单元的延迟值;
将所述FPGA模块中的第七外设寄存器的值从无效状态值配置为有效状态值,以便触发所述FPGA模块的逻辑程序读取所述第七外设寄存器的值,使所述第四数值载入到基于所述数字信号的逻辑程序校验过程中;
在等待第二时长后,读取所述FPGA模块中的第八外设寄存器的值,以便得到由所述FPGA模块记录的且基于所述数字信号的第二校验结果,其中,所述第二时长不小于
Figure 853440DEST_PATH_IMAGE001
微秒,
Figure 470498DEST_PATH_IMAGE004
表示所述AD9361模块的采样率且单位为MHz,
Figure 730578DEST_PATH_IMAGE003
表示预设的验证数据目标数;
判断所述第八外设寄存器的值是否为用于指示校验正确的状态值;
若是,则记录所述第三数值和所述第四数值,以便将包含有所述第三数值和所述第四数值的第二延迟数组作为第二可用延迟数组。
7.一种自动校准AD9361板卡的装置,其特征在于,布置于通信连接AD9361板卡的计算机设备中,包括有依次通信连接的第一参数配置模块、序列校验遍历模块、最佳配置确定模块和第二参数配置模块;
所述第一参数配置模块,用于配置AD9361模块中的内部寄存器0x3F4的值为0x09,使所述AD9361模块内建产生伪随机二进制序列,并利用接收通道向现场可编程逻辑门阵列FPGA模块的输入端口传送所述伪随机二进制序列,其中,所述AD9361模块和所述FPGA模块分别布置在所述AD9361板卡上并通信相连;
所述序列校验遍历模块,用于遍历各个第一延迟数组:先将所述AD9361模块中的内部寄存器0x006的值配置为第一数值和/或将所述输入端口中的输入延迟单元的延迟值配置为第二数值,然后读取由所述FPGA模块记录的且基于所述伪随机二进制序列的第一校验结果,若所述第一校验结果指示校验正确,则将包含有所述第一数值和/或所述第二数值的第一延迟数组作为第一可用延迟数组;
所述最佳配置确定模块,用于从遍历所得的多个第一可用延迟数组中确定出第一最佳可用延迟数组,其中,所述第一最佳可用延迟数组位于所述多个第一可用延迟数组中的中心位置;
所述第二参数配置模块,用于根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值。
8.如权利要求7所述的装置,其特征在于,所述第一参数配置模块还通信连接所述第二参数配置模块,还用于在根据所述第一最佳可用延迟数组配置所述内部寄存器0x006的值和/或所述输入延迟单元的延迟值之后,配置所述AD9361模块中的内部寄存器0x3F5的值为0x81,使所述AD9361模块将发射通道中的数字信号回环至所述接收通道,以便利用所述接收通道向所述FPGA模块的输入端口传送所述数字信号,其中,所述数字信号为由所述FPGA模块的输出端口传出的且仿照所述伪随机二进制序列产生的新序列;
所述序列校验遍历模块,还用于遍历各个第二延迟数组:先将所述AD9361模块中的内部寄存器0x007的值配置为第三数值和/或将所述输出端口中的输出延迟单元的延迟值配置为第四数值,然后读取由所述FPGA模块记录的且基于所述数字信号的第二校验结果,若所述第二校验结果指示校验正确,则将包含有所述第三数值和/或所述第四数值的第二延迟数组作为第二可用延迟数组;
所述最佳配置确定模块,还用于从遍历所得的多个第二可用延迟数组中确定出第二最佳可用延迟数组,其中,所述第二最佳可用延迟数组位于所述多个第二可用延迟数组中的中心位置;
所述第二参数配置模块,还用于根据所述第二最佳可用延迟数组配置所述内部寄存器0x007的值和/或所述输出延迟单元的延迟值。
9.一种计算机设备,其特征在于,包括有依次通信连接的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发信息,所述处理器用于读取所述计算机程序,执行如权利要求1~6中任意一项所述的自动校准AD9361板卡的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如权利要求1~6中任意一项所述的自动校准AD9361板卡的方法。
CN202210184519.4A 2022-02-28 2022-02-28 一种自动校准ad9361板卡的方法、装置、设备及存储介质 Active CN114268382B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210184519.4A CN114268382B (zh) 2022-02-28 2022-02-28 一种自动校准ad9361板卡的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210184519.4A CN114268382B (zh) 2022-02-28 2022-02-28 一种自动校准ad9361板卡的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114268382A CN114268382A (zh) 2022-04-01
CN114268382B true CN114268382B (zh) 2022-05-13

Family

ID=80833724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210184519.4A Active CN114268382B (zh) 2022-02-28 2022-02-28 一种自动校准ad9361板卡的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114268382B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357295A (zh) * 2016-10-17 2017-01-25 天津光电通信技术有限公司 采用rf捷变收发器ad9361的船舶自动识别系统和实现方法
CN107395218A (zh) * 2017-07-10 2017-11-24 西安电子科技大学 基于fpga和射频捷变收发器的收发装置及设计方法
EP3300267A1 (en) * 2016-09-21 2018-03-28 Intel IP Corporation Method for increasing an accuracy of a transceiver loopback calibration and transceiver circuit
CN109462460A (zh) * 2018-11-23 2019-03-12 中国电子科技集团公司第三十八研究所 一种自带ad9361芯片的系统的多通道测试方法及装置
CN110289920A (zh) * 2019-03-22 2019-09-27 北京理工雷科电子信息技术有限公司 一种多通道宽带收发系统的相位校准方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102360495B1 (ko) * 2017-05-31 2022-02-09 삼성전자주식회사 캘리브레이션을 위한 방법 및 그 전자 장치
WO2020232171A1 (en) * 2019-05-14 2020-11-19 Space Exploration Technologies Corp. Over-the-air calibration of antenna system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3300267A1 (en) * 2016-09-21 2018-03-28 Intel IP Corporation Method for increasing an accuracy of a transceiver loopback calibration and transceiver circuit
CN106357295A (zh) * 2016-10-17 2017-01-25 天津光电通信技术有限公司 采用rf捷变收发器ad9361的船舶自动识别系统和实现方法
CN107395218A (zh) * 2017-07-10 2017-11-24 西安电子科技大学 基于fpga和射频捷变收发器的收发装置及设计方法
CN109462460A (zh) * 2018-11-23 2019-03-12 中国电子科技集团公司第三十八研究所 一种自带ad9361芯片的系统的多通道测试方法及装置
CN110289920A (zh) * 2019-03-22 2019-09-27 北京理工雷科电子信息技术有限公司 一种多通道宽带收发系统的相位校准方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AD9361 Initialization and Factory Calibration Guide;ANALOG DEVICES;《百度文库》;20180816;全文 *
Multi-channel RF signal acquisition system design based on AD9361;Ce Wang等;《2019 IEEE International Conference on Signal, Information and Data Processing (ICSIDP)》;20200821;1-4 *
基于AD9361的二次雷达接收机解调模块设计;魏经纬;《中国优秀硕士学位论文全文数据库(工程科技Ⅱ辑)》;20220115;全文 *

Also Published As

Publication number Publication date
CN114268382A (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
EP3014429B1 (en) Method and apparatus for asynchronous processor removal of meta-stability
US8212593B2 (en) Systems and methods for providing a clock signal
US8286025B1 (en) Selection of port adapters for clock crossing boundaries
CN102004219B (zh) 一种红外焦平面阵列探测器模拟装置及模拟方法
JP2004257898A (ja) 半導体集積回路の試験装置およびそれを用いた半導体集積回路の製造方法
CN111366841B (zh) 一种fpga可编程逻辑单元测试设备及使用方法
EP3837562B1 (en) Correlation of device-under-test orientations and radio frequency measurements
CN102981116B (zh) 一种验证专用集成电路的装置和方法
CN116680220B (zh) 一种信号收发机及信号收发系统
EP0755016B1 (en) Emulation system having multiple emulated clock cycles per emulator clock cycle and improved signal routing
CN201878182U (zh) 一种基于fpga的总线型通信系统
CN102904550A (zh) 基于ad9959的多通道同步波形发生器
US7624209B1 (en) Method of and circuit for enabling variable latency data transfers
CN114268382B (zh) 一种自动校准ad9361板卡的方法、装置、设备及存储介质
KR20210003618A (ko) 메모리 장치 및 이의 동작 방법
US7365566B2 (en) Programmable logic circuit
CN115577725B (zh) 一种多协议uhf rfid读写器基带信号处理soc芯片
CN108459876B (zh) 用于缩减面积的控制寄存器电路的方法与装置
US8015531B1 (en) Deferred parameterization
CN111722670B (zh) 一种eMMC时序调整方法、系统及eMMC主控芯片
CN102929330A (zh) 用于产生usb外设时钟的电路及方法
Semba et al. Conversion from synchronous RTL models to asynchronous RTL models
JP2011010178A (ja) 通信装置
CN116955258B (zh) 一种可灵活连接的触发连接器、信号采集控制设备及系统
CN116151187B (zh) 处理触发条件的方法、装置和存储介质

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