车规级芯片的ASIC毫米波雷达算法测试方法、装置、介质
文献发布时间:2024-04-18 20:00:50
技术领域
本申请涉及但不限于芯片测试技术领域,尤其涉及一种车规级芯片的ASIC毫米波雷达算法测试方法、装置、介质。
背景技术
在现有消费类芯片的设计基础上,使用双核备份的方法,是业内车规级芯片设计的常用方法,该方法利用两份相同的逻辑单元对同一数据进行处理,并将计算结果进行相互备份检验,以确认运算过程中的正确性,从而实现对功能安全的保障,但是该方法需要通过两份相同的算法逻辑电路实现,即所有功能单元都需要多出一倍的逻辑资源,虽然满足车规级芯片对功能安全的需求,但是大大增加了车规级芯片的生产成本和测试成本。
发明内容
本申请实施例提供了一种车规级芯片的ASIC毫米波雷达算法测试方法、装置、介质,能够在保证车规级芯片对功能安全的需求的情况下,有效降低车规级芯片的生产和测试成本。
第一方面,本申请实施例提供了一种车规级芯片的ASIC毫米波雷达算法测试方法,应用于ASIC毫米波雷达算法测试装置,所述ASIC毫米波雷达算法测试装置包括SOC芯片和主控制器,所述SOC芯片包括ADC数据采集模块、ASIC算法处理模块、内存控制器和SOC控制器,所述ASIC算法处理模块预置有毫米波雷达算法,所述SOC控制器通过所述主控制器与个人电脑PC通信连接,所述PC部署有应用程序,所述应用程序预置有所述毫米波雷达算法,所述ASIC算法处理模块的输入端设置有伪随机数产生器,所述ASIC算法处理模块的输出端设置有硬件比较器,所述硬件比较器存储有所述应用程序根据第一伪随机数计算得到的第一计算结果,所述方法包括:
所述伪随机数产生器根据预设ADC时序生成第二伪随机数,并将所述第二伪随机数输入至所述ASIC算法处理模块进行处理,得到第二计算结果,其中,所述第二伪随机数与所第一伪随机数相同;
所述ASIC算法处理模块将所述第二计算结果输入至所述硬件比较器,所述硬件比较器根据所述第一计算结果和所述第二计算结果确定第一算法测试结果;
当所述第一算法测试结果表征所述ASIC算法处理模块测试通过,所述ADC数据采集模块向所述ASIC算法处理模块发送ADC数据,所述ASIC算法处理模块对所述ADC数据进行处理得到第三计算结果,并将所述第三计算结果保存至所述内存控制器;
在所述ASIC算法处理模块将所述第三计算结果保存至所述内存控制器之后,所述伪随机数产生器重新生成所述第二伪随机数,并将所述第二伪随机数输入至所述ASIC算法处理模块进行处理,得到第四计算结果;
所述ASIC算法处理模块将所述第四计算结果输入至所述硬件比较器,所述硬件比较器根据所述第一计算结果和所述第四计算结果确定第二算法测试结果;
当所述第二算法测试结果表征所述ASIC算法处理模块测试通过,所述内存控制器将所述第三计算结果通过所述SOC控制器发送至所述主控制器。
在一些实施例中,所述将所述第二伪随机数输入至所述ASIC算法处理模块进行处理,得到第二计算结果之前,所述方法还包括:
所述PC通过所述主控制器向所述SOC控制器发送寄存器值,所述寄存器值指向所述应用程序当前的算法模式;
当所述SOC控制器接收到所述寄存器值,所述SOC控制器将所述寄存器值写入所述ASIC算法处理模块,以使所述ASIC算法处理模块与所述应用程序处于相同的算法模式。
在一些实施例中,所述ASIC毫米波雷达算法测试装置还包括FLASH模块,所述方法还包括:
所述SOC控制器根据所述ASIC算法处理模块的算法需求信息从所述FLASH模块读取伪随机数产生器种子和硬件比较器标准数据;
所述SOC控制器确定第一存储地址和第二存储地址,并将所述伪随机数产生器种子写入所述第一存储地址对应的地址空间,将所述硬件比较器标准数据写入所述第二存储地址对应的地址空间,其中,所述第一存储地址为所述伪随机数产生器在所述ASIC算法处理模块中的存储地址,所述第二存储地址为所述硬件比较器在所述ASIC算法处理模块中的存储地址。
在一些实施例中,所述第一伪随机数和所述第二伪随机数均具有多个伪随机数帧,所述硬件比较器存储有多个所述第一计算结果,不同的所述第一计算结果对应所述第一伪随机数的不同所述伪随机数帧,所述方法还包括:
所述伪随机数产生器将所述第二伪随机数的全部的所述伪随机数帧逐帧输入至所述ASIC算法处理模块,所述ASIC算法处理模块依次对输入的所述伪随机数帧逐帧进行处理,依次得到所述第二伪随机数的所述伪随机数帧对应的所述第二计算结果;
所述ASIC算法处理模块依次将各个所述第二计算结果输入至所述硬件比较器,所述硬件比较器依次对各个所述伪随机数帧对应的所述第一计算结果和所述第二计算结果确定第一算法测试结果。
在一些实施例中,ASIC算法处理模块包括多个算法模块,各个所述算法模块的输入端均设置有所述伪随机数产生器,各个所述算法模块的输出端均设置有所述硬件比较器,所述方法还包括:
全部的所述伪随机数产生器同时生成所述第二伪随机数,并将所述第二伪随机数输入对应的所述算法模块,所述算法模块根据所述第二伪随机数进行处理,得到对应的所述第二计算结果;
各个所述算法模块将所述第二计算结果输入至对应的各个所述硬件比较器,各个所述硬件比较器根据所述第一计算结果和所述第二计算结果确定所述第一算法测试结果。
在一些实施例中,所述硬件比较器根据所述第一计算结果和所述第二计算结果确定第一算法测试结果,包括:
将所述第二计算结果的全部字段与所述第二计算结果的全部字段进行数值比较,并统计比较错误字段数量;
当所述比较错误字段数量大于或等于预设阈值,所述第一算法测试结果表征所述ASIC算法处理模块测试不通过;
当所述比较错误字段数量小于所述预设阈值,所述第一算法测试结果表征所述ASIC算法处理模块测试通过。
在一些实施例中,所述方法还包括:
在所述第一算法测试结果表征所述ASIC算法处理模块测试不通过的情况下,根据所述比较错误字段数量和所述第二计算结果中的比较错误字段生成告警信息;
所述ASIC算法处理模块通过所述SOC控制器将所述告警信息发送至所述主控制器。
第二方面,本申请实施例提供了一种控制器,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如第一方面所述的车规级芯片的ASIC毫米波雷达算法测试方法。
第三方面,本申请实施例还提供了一种ASIC毫米波雷达算法测试装置,包括第二方面实施例的控制器。
第四方面,本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如第一方面所述的车规级芯片的ASIC毫米波雷达算法测试方法。
本申请实施例包括:所述伪随机数产生器根据预设ADC时序生成第二伪随机数,并将所述第二伪随机数输入至所述ASIC算法处理模块进行处理,得到第二计算结果,其中,所述第二伪随机数与所第一伪随机数相同;所述ASIC算法处理模块将所述第二计算结果输入至所述硬件比较器,以使所述硬件比较器根据所述第一计算结果和所述第二计算结果确定第一算法测试结果;当所述第一算法测试结果表征所述ASIC算法处理模块测试通过,所述ADC数据采集模块向所述ASIC算法处理模块发送ADC数据,以使所述ASIC算法处理模块对所述ADC数据进行处理得到第三计算结果,并将所述第三计算结果保存至所述内存控制器;在所述ASIC算法处理模块将所述第三计算结果保存至所述内存控制器之后,所述伪随机数产生器重新生成所述第二伪随机数,并将所述第二伪随机数输入至所述ASIC算法处理模块进行处理,得到第四计算结果;所述ASIC算法处理模块将所述第四计算结果输入至所述硬件比较器,以使所述硬件比较器根据所述第一计算结果和所述第四计算结果确定第二算法测试结果;当所述第二算法测试结果表征所述ASIC算法处理模块测试通过,所述内存控制器将所述第三计算结果通过所述SOC控制器发送至所述主控制器。根据本申请实施例提供的方案,仅在已有的ASIC算法处理模块上增加逻辑资源小的伪随机数产生器和硬件比较器,就能实现满足车规级芯片的ASIC毫米波雷达算法测试,相较于现有技术中使用两份相同的逻辑单元对同一数据进行处理以及测试的方案,有效降低车规级芯片的测试成本。
附图说明
图1是本申请一个实施例提供的车规级芯片的ASIC毫米波雷达算法测试方法的步骤流程图;
图2是本申请另一个实施例提供的控制PC的应用程序与ASIC算法处理模块均处于相同的算法模式的步骤流程图;
图3是本申请另一个实施例提供的初始化伪随机数产生器以及硬件比较器的步骤流程图;
图4是本申请另一个实施例提供的在伪随机数包括多帧数据的情况下,确定第一算法测试结果的步骤流程图;
图5是本申请另一个实施例提供的ASIC算法处理模块包括多个算法模块的情况下,确定第一算法测试结果的步骤流程图;
图6是本申请另一个实施例提供的确定第一算法测试结果的步骤流程图;
图7是本申请另一个实施例提供的ASIC算法处理模块测试告警的步骤流程图;
图8是本申请另一个实施例提供的控制器的结构图;
图9是本申请另一个实施例提供的ASIC毫米波雷达算法测试装置的模块示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
可以理解的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在现有消费类芯片的设计基础上,使用双核备份的方法,是业内车规级芯片设计的常用方法,该方法利用两份相同的逻辑单元对同一数据进行处理,并将计算结果进行相互备份检验,以确认运算过程中的正确性,从而实现对功能安全的保障,但是该方法需要通过两份相同的算法逻辑电路实现,即所有功能单元都需要多出一倍的逻辑资源,虽然满足车规级芯片对功能安全的需求,但是大大增加了车规级芯片的生产成本和测试成本。
为解决上述存在的问题,本申请实施例提供了一种车规级芯片的ASIC毫米波雷达算法测试方法、装置、介质,方法应用于ASIC毫米波雷达算法测试装置,所述ASIC毫米波雷达算法测试装置包括SOC芯片和主控制器,所述SOC芯片包括ADC数据采集模块、ASIC算法处理模块、内存控制器和SOC控制器,所述ASIC算法处理模块预置有毫米波雷达算法,所述SOC控制器通过所述主控制器与个人电脑PC通信连接,所述PC部署有应用程序,所述应用程序预置有与所述毫米波雷达算法,所述ASIC算法处理模块的输入端设置有伪随机数产生器,所述ASIC算法处理模块的输出端设置有硬件比较器,所述硬件比较器存储有所述应用程序根据第一伪随机数计算得到的第一计算结果,方法包括:所述伪随机数产生器根据预设ADC时序生成第二伪随机数,并将所述第二伪随机数输入至所述ASIC算法处理模块进行处理,得到第二计算结果,其中,所述第二伪随机数与所第一伪随机数相同;所述ASIC算法处理模块将所述第二计算结果输入至所述硬件比较器,以使所述硬件比较器根据所述第一计算结果和所述第二计算结果确定第一算法测试结果;当所述第一算法测试结果表征所述ASIC算法处理模块测试通过,所述ADC数据采集模块向所述ASIC算法处理模块发送ADC数据,以使所述ASIC算法处理模块对所述ADC数据进行处理得到第三计算结果,并将所述第三计算结果保存至所述内存控制器;在所述ASIC算法处理模块将所述第三计算结果保存至所述内存控制器之后,所述伪随机数产生器重新生成所述第二伪随机数,并将所述第二伪随机数输入至所述ASIC算法处理模块进行处理,得到第四计算结果;所述ASIC算法处理模块将所述第四计算结果输入至所述硬件比较器,以使所述硬件比较器根据所述第一计算结果和所述第四计算结果确定第二算法测试结果;当所述第二算法测试结果表征所述ASIC算法处理模块测试通过,所述内存控制器将所述第三计算结果通过所述SOC控制器发送至所述主控制器。本申请仅在已有的ASIC算法处理模块上增加逻辑资源小的伪随机数产生器和硬件比较器,就能实现满足车规级芯片的ASIC毫米波雷达算法测试,相较于现有技术中使用两份相同的逻辑单元对同一数据进行处理以及测试的方案,有效降低车规级芯片的测试成本。
下面结合附图,对本申请实施例作进一步阐述。
参考图9,图9是本申请一个实施例提供的ASIC毫米波雷达算法测试装置的模块示意图,本实施例附图中所示的结构仅为能够实现技术方案的一个示例,并非对ASIC毫米波雷达算法测试装置的具体结构进行限定。本实施例的ASIC毫米波雷达算法测试装置包括SOC芯片和主控制器,SOC芯片包括ADC数据采集模块940、ASIC算法处理模块950、内存控制器960和SOC控制器910,ASIC算法处理模块950预置有毫米波雷达算法,SOC控制器910通过主控制器与个人电脑PC通信连接,PC部署有应用程序,该应用程序预置有上述的毫米波雷达算法,ASIC算法处理模块950的输入端设置有伪随机数产生器930,ASIC算法处理模块950的输出端设置有硬件比较器970,硬件比较器970存储有应用程序根据第一伪随机数计算得到的第一计算结果。
下面基于图9所示的实施环境,对本申请实施例的ASIC毫米波雷达算法测试方法作进一步阐述。
参考图1,图1是,本申请实施例提供了一种车规级芯片的ASIC毫米波雷达算法测试方法,该方法包括但不限于有以下步骤:
步骤S110,伪随机数产生器930根据预设ADC时序生成第二伪随机数,并将第二伪随机数输入至ASIC算法处理模块950进行处理,得到第二计算结果,其中,第二伪随机数与所第一伪随机数相同;
步骤S120,ASIC算法处理模块950将第二计算结果输入至硬件比较器970,硬件比较器970根据第一计算结果和第二计算结果确定第一算法测试结果;
步骤S130,当第一算法测试结果表征ASIC算法处理模块950测试通过,ADC数据采集模块940向ASIC算法处理模块950发送ADC数据,ASIC算法处理模块950对ADC数据进行处理得到第三计算结果,并将第三计算结果保存至内存控制器960;
步骤S140,在ASIC算法处理模块950将第三计算结果保存至内存控制器960之后,伪随机数产生器930重新生成第二伪随机数,并将第二伪随机数输入至ASIC算法处理模块950进行处理,得到第四计算结果;
步骤S150,ASIC算法处理模块950将第四计算结果输入至硬件比较器970,硬件比较器970根据第一计算结果和第四计算结果确定第二算法测试结果;
步骤S160,当第二算法测试结果表征ASIC算法处理模块950测试通过,内存控制器960将第三计算结果通过SOC控制器910发送至主控制器。
需要说明的是,本申请实施例并不限制与ASIC算法处理模块950的算法逻辑相同的具体的应用程序,本实施例的应用程序是MATLAB软件,用MATLAB软件实现的毫米波雷达算法,运行速度快,更易于仿真确认算法实现的正确性,因此本实施例将经过应用程序处理后的第一计算结果作为真实有效的参考计算结果,用于与第二计算结果进行比较。
需要说明的是,本实施例并不限制ASIC算法处理模块950获取伪随机数以及ADC数据的方式,可以是参考图9,通过ADC缓存器920发送至ASIC算法处理模块950。
需要说明的是,本实施例并不限制伪随机数产生器930生成第二伪随机数,并将第二伪随机数输入至ASIC算法处理模块950的具体方式,可以参考图9,利用MUX电路,实现伪随机数产生器930生产的伪随机数替代ADC数据采集模块的ADC数据,并通过ADC缓存器920发送至ASIC算法处理模块950。
可以理解的是,由于ASIC算法处理模块950的输出端的硬件比较器970中存储有第一计算结果,并且该第一计算结果为PC端的应用程序根据第一伪随机数计算得到,而应用程序与ASIC算法处理模块950的算法逻辑相同,并且第一伪随机数与第二伪随机数相同,因此,当硬件比较器970获取到根据第二伪随机数计算得到的计算结果,比较应用程序计算的第一计算结果与根据第二伪随机数计算得到的计算结果便可确定ASIC算法处理模块950的算法测试结果。
可以理解的是,业内车规级芯片的测试装置通常是通过两份相同的逻辑功能电路,一个主逻辑电路,一个备份逻辑电路对相同的数据进行处理,并将两份计算结果进行比较,如两份计算结果一致,则认为主逻辑电路计算结果可信,可以投入使用。但是,相同的逻辑电路,做完全相同的两份,将需要双倍的逻辑面积,大大增加了车规级芯片的生产成本和测试成本。基于此,本申请仅在已有的ASIC算法处理模块950上增加逻辑资源小的伪随机数产生器930和硬件比较器970,就能实现满足车规级芯片的ASIC毫米波雷达算法测试,可以理解的是,本申请的ASIC算法处理模块950为800万电路门的逻辑电路,加入的伪随机数产生器930和硬件比较器970仅仅需要不到1万电路门,即是说,本申请仅需801万电路门的逻辑电路即可满足车规级芯片的ASIC毫米波雷达算法测试要求,而基于传统的双份算法逻辑电路的测试方案,则需要1600万电路门才能满足车规级芯片的ASIC毫米波雷达算法测试要求,因此,相较于现有技术中使用两份相同的逻辑单元对同一数据进行处理以及测试的方案,有效降低车规级芯片的测试成本。
可以理解的是,由于ASIC算法处理模块950为硬件电路,硬件电路在运行过程中,会出现两种随机故障,一种是不按功能要求随机接地,另外一种是不按功能要求随机接电源;因此需要在使用ASIC算法处理模块950的正常功能之前,以及使用ASIC算法处理模块950的正常功能之后,都需要测试ASIC算法处理模块950的算法正确性,两次算法测试均通过才能证明当前电路在作为正常功能电路功能时,是没有出现功能安全随机故障的。因此,在两次算法测试均通过的情况下,内存控制器960中存储的ASIC算法处理模块950在运行正常功能的情况下得到的第三计算结果被认为是可靠的,此时内存控制器960通过SOC控制器910将第三计算结果作为目标结果发送至主控制器。
另外,参照图2,在一些实施例中,在执行图1步骤S110之前,本实施例的ASIC毫米波雷达算法测试方法包括但不限于有以下步骤:
步骤S210,PC通过主控制器向SOC控制器910发送寄存器值,寄存器值指向应用程序当前的算法模式;
步骤S220,当SOC控制器910接收到寄存器值,SOC控制器910将寄存器值写入ASIC算法处理模块950,以使ASIC算法处理模块950与应用程序处于相同的算法模式。
另外,在一些实施例中,ASIC毫米波雷达算法测试装置还包括FLASH模块,参照图3,本申请实施例的ASIC毫米波雷达算法测试方法包括但不限于有以下步骤:
步骤S310,SOC控制器910根据ASIC算法处理模块950的算法需求信息从FLASH模块读取伪随机数产生器930种子和硬件比较器970标准数据;
步骤S320,SOC控制器910确定第一存储地址和第二存储地址,并将伪随机数产生器930种子写入第一存储地址对应的地址空间,将硬件比较器970标准数据写入第二存储地址对应的地址空间,其中,第一存储地址为伪随机数产生器930在ASIC算法处理模块950中的存储地址,第二存储地址为硬件比较器970在ASIC算法处理模块950中的存储地址。
需要说明的是,本实施例的算法需求信息可以指示ASIC算法处理模块950的算法类型,例如是目标检测算法、距离计算算法、角度计算算法等,FLASH模块预置有不同的算法类型对应的伪随机数产生器930种子和硬件比较器970标准数据,为ASIC算法处理模块950的算法测试提供有效的数据基础。
可以理解的是,在ASIC毫米波雷达算法测试装置的SOC芯片上电后,需要对ASIC算法处理模块950进行初始化,本实施例的初始化流程包括:SOC控制器910通过通信接口(SPI接口、UART接口或CAN接口)与主控制器通信,从主控制器获取PC的应用程序对第一伪随机数进行处理的线程下对应的寄存器值,并通过SOC控制器910将该寄存器值写入ASIC算法处理模块950,从而使得ASIC算法处理模块950与应用程序处于相同的算法模式。可以理解的是,保证在应用程序的算法模式与ASIC算法处理模块950对应的算法模式相同的情况下,才能进一步对各自算法计算得到处理结果进行比较处理,才能保证ASIC算法测试结果的可用性;在确定ASIC算法处理模块950的算法模式后,还需要初始化ASIC算法处理模块950输入端的伪随机数产生器930和输出端的硬件比较器970,具体过程为SOC控制器910根据ASIC算法处理模块950的算法需求信息从FLASH模块读取伪随机数产生器930种子和硬件比较器970标准数据,基于伪随机数产生器930种子,对应能够使得伪随机数产生器930生成与第一伪随机数相同的第二伪随机数,硬件比较器970标准数据可以包括多种数据类型,在ASIC算法处理模块950包括多个不同的算法模块的情况下,需要将硬件比较器970标准数据根据不同算法模块对应的算法类型进行分类,并将硬件比较器970标准数据下发至对应的算法模块的第二存储地址对应的地址空间中。
另外,在一些实施例中,第一伪随机数和第二伪随机数均具有多个伪随机数帧,硬件比较器970存储有多个第一计算结果,不同的第一计算结果对应第一伪随机数的不同伪随机数帧,参照图4,本申请实施例的ASIC毫米波雷达算法测试方法包括但不限于有以下步骤:
步骤S410,伪随机数产生器930将第二伪随机数的全部的伪随机数帧逐帧输入至ASIC算法处理模块950,ASIC算法处理模块950依次对输入的伪随机数帧逐帧进行处理,依次得到第二伪随机数的伪随机数帧对应的第二计算结果;
步骤S420,ASIC算法处理模块950依次将各个第二计算结果输入至硬件比较器970,硬件比较器970依次对各个伪随机数帧对应的第一计算结果和第二计算结果确定第一算法测试结果。
需要说明的是,本申请实施例的第一伪随机数和第二伪随机数具有多个伪随机数帧,本实施例并不限制基于第二伪随机数启动毫米波雷达算法的具体方式,可以是伪随机数产生器930一次性将第二伪随机数中全部的伪随机数帧输入至ASIC算法处理模块950进行处理,并通过硬件比较器970对全部的伪随机数帧对应的第二计算结果与相应的第一计算结果进行比对,确定第一算法测试结果;伪随机数产生器930还可以逐帧输入至ASIC算法处理模块950,使得ASIC算法处理模块950依次对输入的伪随机数帧逐帧进行处理,依次得到第二伪随机数的伪随机数帧对应的第二计算结果,硬件比较器970基于每一帧对应的第二计算结果与相应的第一计算结果进行比较得到第一算法测试结果;即是说,参考上述实施例的描述,在完成一个伪随机数帧对应的第一次的ASIC算法处理模块950的算法测试,并且第一算法测试结果为测试通过的情况下,ASIC算法处理模块950执行正常算法功能,根据ADC数据计算第三计算结果,正常算法功能计算完成后,存储第三计算结果至主存储器,随后启动第二次对上述伪随机数帧的ASIC算法处理模块950的算法测试,当第二算法测试结果为测试通过,即完成对一个伪随机数帧的计算,继续从第二伪随机数中获取下一个伪随机数帧,重复上述的伪随机数帧的计算,直至完成对第二伪随机数所有的伪随机数帧的计算。可以理解的是,当第二伪随机数的数据量较大,ASIC算法处理模块950中单个节点存储以及处理大量的数据会导致运算性能下降,本实施例基于第二伪随机数的伪随机数帧,逐帧计算可以将数据分散到多个节点上进行并行处理,提升ASIC算法处理模块950的运算性能。
另外,在一些实施例中,ASIC算法处理模块950包括多个算法模块,各个算法模块的输入端均设置有伪随机数产生器930,各个算法模块的输出端均设置有硬件比较器970,参照图5,本申请实施例的ASIC毫米波雷达算法测试方法包括但不限于有以下步骤:
步骤S510,全部的伪随机数产生器930同时生成第二伪随机数,并将第二伪随机数输入对应的算法模块,算法模块根据第二伪随机数进行处理,得到对应的第二计算结果;
步骤S520,各个算法模块将第二计算结果输入至对应的各个硬件比较器970,各个硬件比较器970根据第一计算结果和第二计算结果确定第一算法测试结果。
需要说明的是,本实施例并不限制ASIC算法处理模块950具体包含的算法模块的数量以及具体的算法模块的类型,参考图9,可以是包括用于实现计算被检测目标的距离信息的距离信息计算模951、用于实现被检测目标的速度信息计算的速度信息计算模块952、用于实现被检测目标的检测与查找的目标检测模块953,以及用于实现被检测目标的角度信息计算的角度信息计算模块954这4个算法模块,本领域技术人员根据实际需求设置即可。
可以理解的是,当ASIC算法处理模块950包括多个算法模块,ASIC毫米波雷达算法测试方法过程如下:每个算法模块的伪随机数产生器930同时生成第二伪随机数,并将第二伪随机数输入对应的算法模块,以使算法模块根据第二伪随机数进行处理,得到对应的各个第二计算结果,各个算法模块将第二计算结果输入至对应的各个硬件比较器970,以使各个硬件比较器970根据第一计算结果和第二计算结果确定第一算法测试结果,同理,当进行第二次算法测试,计算第二算法测试结果的步骤流程与原理与计算第一算法测试结果相同,在此不多做赘述。
另外,参照图6,图1所示的步骤S120包括但不限于有以下步骤:
步骤S610,将第二计算结果的全部字段与第二计算结果的全部字段进行数值比较,并统计比较错误字段数量;
步骤S620,当比较错误字段数量大于或等于预设阈值,第一算法测试结果表征ASIC算法处理模块950测试不通过;
步骤S630,当比较错误字段数量小于预设阈值,第一算法测试结果表征ASIC算法处理模块950测试通过。
另外,参照图7,本申请实施例的ASIC毫米波雷达算法测试方法包括但不限于有以下步骤:
步骤S710,在第一算法测试结果表征ASIC算法处理模块950测试不通过的情况下,根据比较错误字段数量和第二计算结果中的比较错误字段生成告警信息;
步骤S720,ASIC算法处理模块950通过SOC控制器910将告警信息发送至主控制器。
可以理解的是,现有的ASIC算法测试装置没有制定安全机制,无法适时地对各个硬件电路进行监测,无法满足车规级芯片对应的产品,例如自动驾驶的毫米波雷达传感器的应用需求。
可以理解的是,参考图1实施例的描述,由于ASIC算法处理模块950的输出端的硬件比较器970中存储有第一计算结果,并且该第一计算结果为PC端的应用程序根据第一伪随机数计算得到,应用程序与ASIC算法处理模块950的算法逻辑相同,并且第一伪随机数与第二伪随机数相同,因此,当硬件比较器970获取到根据第二伪随机数计算得到的计算结果,只需比较两个计算结果的数值是否相同就能确定算法测试是否正确,本实施例判断第一算法测试结果是否通过的条件是第一计算结果以及第二计算结果进行数值比较时,比较错误字段数量是否超过预设阈值,当比较错误字段数量大于或等于预设阈值,第一算法测试结果表征ASIC算法处理模块950测试不通过,当比较错误字段数量小于预设阈值,第一算法测试结果表征ASIC算法处理模块950测试通过,另外,本实施例在测试ASIC算法处理模块950的算法性能时,在第一算法测试结果表征ASIC算法处理模块950测试不通过的情况下,根据比较错误字段数量和第二计算结果中的比较错误字段生成告警信息,ASIC算法处理模块950通过SOC控制器910将告警信息发送至主控制器,使得主控制器能够适时发送告警信息至PC端,便于对应的工作人员及时做出应对措施,从而为ASIC算法处理模块950的算法测试提供了安全机制,有效保障ASIC算法处理模块950的算法测试结果的可靠性。
需要说明的是,对ASIC算法处理模块950进行第二次的算法测试,计算第二算法测试结果的原理和步骤与计算第一算法测试结果相同,在此不多做赘述。
如图8所示,图8是本申请一个实施例提供的控制器的结构图。本发明还提供了一种控制器800,包括:
处理器810,可以采用通用的中央处理器(Central Processing Unit,CPU)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器820,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器820可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器820中,并由处理器810来调用执行本申请实施例的车规级芯片的ASIC毫米波雷达算法测试方法,例如,执行以上描述的图1中的方法步骤S110至步骤S160、图2中的方法步骤S210至步骤S230、图3中的方法步骤S310至步骤S320、图4中的方法步骤S410至步骤S420、图5中的方法步骤S510至步骤S520、图6中的方法步骤S610至步骤S630和图7中的方法步骤S710至步骤S720;
输入/输出接口830,用于实现信息输入及输出;
通信接口840,用于实现本装置与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线850,在设备的各个组件(例如处理器810、存储器820、输入/输出接口830和通信接口840)之间传输信息;
其中处理器810、存储器820、输入/输出接口830和通信接口840通过总线850实现彼此之间在设备内部的通信连接。
另外,本申请实施例还提供了一种ASIC毫米波雷达算法测试装置,该ASIC毫米波雷达算法测试装置包括上述实施例的控制器800。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述的车规级芯片的ASIC毫米波雷达算法测试方法,例如,执行以上描述的图1中的方法步骤S110至步骤S160、图2中的方法步骤S210至步骤S230、图3中的方法步骤S310至步骤S320、图4中的方法步骤S410至步骤S420、图5中的方法步骤S510至步骤S520、图6中的方法步骤S610至步骤S630和图7中的方法步骤S710至步骤S720。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,实现了以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本发明权利要求所限定的范围内。
- 一种提高齿轮齿距测量精度的测头装置及其安装方法
- 一种提高齿轮齿距测量精度的测头装置及其调整方法