CN109814525B - 一种检测汽车ecu can总线通信电压范围的自动化测试方法 - Google Patents
一种检测汽车ecu can总线通信电压范围的自动化测试方法 Download PDFInfo
- Publication number
- CN109814525B CN109814525B CN201811628926.XA CN201811628926A CN109814525B CN 109814525 B CN109814525 B CN 109814525B CN 201811628926 A CN201811628926 A CN 201811628926A CN 109814525 B CN109814525 B CN 109814525B
- Authority
- CN
- China
- Prior art keywords
- test
- power supply
- bus
- voltage range
- detecting
- 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
Images
Landscapes
- Testing Electric Properties And Detecting Electric Faults (AREA)
Abstract
本发明涉及CAN通信自动化测试领域,具体公开了一种检测汽车ECU CAN总线通信电压范围的自动化测试方法,包括电脑、CAN测试盒、程控电源和被测设备,所述电脑分别连接CAN测试盒和程控电源,所述CAN测试盒和程控电源分别连接被测设备;所述方法包括以下步骤:S1、将程控电源的输出电压设置为起始电压,打开程控电源,给被测设备上电;S2、将起始电压按设定步长阈值以第一递进方式进行测试,且每次测试持续时间为T;S3、持续监测被测设备是否停止发送CAN报文,是则进入步骤S4,否则返回步骤S2;S4、读取此时被测设备的第一电源电压值,并将第一测量值输出到电脑显示,本发明能够取代人工操作方式自动执行测试并生成测试报告,提高了测试效率,降低成本。
Description
技术领域
本发明涉及CAN通信自动化测试领域,尤其涉及一种检测汽车ECU CAN总线通信电压范围的自动化测试方法。
背景技术
ECU(Electronic Control Unit)电子控制单元,又称“行车电脑”、“车载电脑”等,ECU和普通的电脑一样,由微处理器(CPU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成,用一句简单的话来形容就是“ECU就是汽车的大脑”。
现有技术中,需要对车上的车载娱乐信息***、仪表以及空调等不同ECU进行测试,而大部分车厂采用的是人工测试方式,即由人工完成对不同ECU的测试,这种方式不仅测试效率低下,导致生产成本升高,同时还会由于工作人员在疲惫状态下导致的测试结果不精准等问题,另一方面,由于ECU的电压工作范围一般在6.5-16V,不同车厂的ECU所需要的最佳电压是不同的,导致测试设备的局限性强,通用性差,因此,急需研发出一种适用于不同车厂的自动化ECU测试方法。
发明内容
针对上述技术问题,本发明提供了一种能够取代人工操作方式自动执行测试并生成测试报告,提高测试效率,降低成本以及通用性强的检测汽车ECU CAN总线通信电压范围的自动化测试方法。
为了解决上述技术问题,本发明提供的具体方案如下:一种检测汽车ECU CAN总线通信电压范围的自动化测试方法,包括电脑、CAN测试盒、程控电源和被测设备,所述电脑分别连接CAN测试盒和程控电源,所述CAN测试盒和程控电源分别连接被测设备;所述方法包括以下步骤:
S1、将程控电源的输出电压设置为起始电压,打开程控电源,给被测设备上电;
S2、将起始电压按设定步长阈值以第一递进方式进行测试,且每次测试持续时间为T;
S3、持续监测被测设备是否停止发送CAN报文,是则进入步骤S4,否则返回步骤S2;
S4、读取此时被测设备的第一电源电压值,并将第一测量值输出到电脑显示。
优选的,所述方法还包括以下步骤:
S5、判断第一测量值是否等于第一期望值,是则进入步骤S6,否则输出测试失败结果并停止测试;
S6、将步骤S4中读取的第一电源电压值按设定步长阈值以第二递进方式进行测试,且每次测试持续时间为T,所述第一递进方式与第二递进方式为反向关系;
S7、持续监测被测设备是否恢复发送CAN报文,是则进入步骤S8,否则返回步骤S6;
S8、读取此时被测设备的第二电源电压值,并将第二测量值输出到电脑显示。
优选的,所述方法还包括以下步骤:
S9、判断第二测量值是否等于第二期望值,是则输出测试通过结果,否则输出测试失败结果。
优选的,所述第一递进方式为逐步递减方式,所述第二递进方式为逐步递增方式,能够检测出被测设备停止发送CAN 报文的第一测量值和恢复发送CAN报文的第二测量值。
优选的,所述第一递进方式为逐步递增方式,所述第二递进方式为逐步递减方式,能够检测出被测设备停止发送CAN 报文的第一测量值和恢复发送CAN报文的第二测量值。
优选的,所述设定步长阈值为0.1V,既不会因为设定步长阈值过大而导致检测不精准,同时也不会因为设定步长阈值过小而导致测试步骤过多从而延长测试时间。
优选的,所述测试持续时间T为30s,保持一定的测试持续时间,能够确保测试结果的精准度。
优选的,所述步骤S1之前还包括以下步骤:
S0、根据不同的ECU CAN总线通信电压范围需求设计测试用例,并输入期望结果,所述期望结果包括第一期望值和第二期望值。
优选的,在所述测试完成后,自动生成测试报告文档,提高自动化测试程度,减少人工依赖程度。
与现有技术相比,本发明的有益效果在于:1、本发明能够取代人工操作方式自动执行测试并生成测试报告,提高了测试效率,降低成本;
2、本发明能够满足不同车厂的车载娱乐信息***、仪表和空调等不同ECU的测试,通用性强。
附图说明
图1为本发明一实施例的主程序流程图;
图2为本发明一实施例的测试方法流程图;
图3为本发明另一实施例的测试方法流程图;
图4为本发明一实施例使用的软件界面示意图;
图5为本发明一实施例的测试报告文档示意图;
图6为本发明的硬件连接示意图。
具体实施方式
为了详细说明本发明的技术方案,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
例如,一种检测汽车ECU CAN总线通信电压范围的自动化测试方法,包括电脑、CAN测试盒、程控电源和被测设备,所述电脑分别连接CAN测试盒和程控电源,所述CAN测试盒和程控电源分别连接被测设备;所述方法包括以下步骤:S1、将程控电源的输出电压设置为起始电压,打开程控电源,给被测设备上电;S2、将起始电压按设定步长阈值以第一递进方式进行测试,且每次测试持续时间为T;S3、持续监测被测设备是否停止发送CAN报文,是则进入步骤S4,否则返回步骤S2;S4、读取此时被测设备的第一电源电压值,并将第一测量值输出到电脑显示。
本实施例中,能够取代人工操作方式自动执行测试并生成测试报告,提高了测试效率,降低成本,以及满足不同车厂的车载娱乐信息***、仪表和空调等不同ECU的测试,通用性强。
在一个实施例中,如图6所示,提供一种检测汽车ECU CAN总线通信电压范围的自动化测试方法,包括电脑、CAN测试盒、程控电源和被测设备,所述电脑分别连接CAN测试盒和程控电源,所述CAN测试盒和程控电源分别连接被测设备;如图1、图2和图4所示,所述方法包括以下步骤:
S1、将程控电源的输出电压设置为起始电压,打开程控电源,给被测设备上电;
S2、将起始电压按设定步长阈值以第一递进方式进行测试,且每次测试持续时间为T;
S3、持续监测被测设备是否停止发送CAN报文,是则进入步骤S4,否则返回步骤S2;
S4、读取此时被测设备的第一电源电压值,并将第一测量值输出到电脑显示。
具体的,应当先在使用的电脑上安装Vector CANoe编程软件,通过Vector CANoe编程软件编写程序控制程控电源和CAN测试盒,Can测试盒用于仿真其他ECU发送报文与接收被测设备发送的报文,监测和解析网络上的CAN报文,程控电源用于给被测设备供电。
在步骤S1中,设置程控电源的输出电压为14.4V,将程控电源的输出电压设置为起始电压,打开程控电源,给被测设备上电。
在步骤S2中,将起始电压按设定步长阈值以第一递进方式进行测试,且每次测试持续时间为T,具体的,所述的设定步长阈值为0.1V,既不会因为设定步长阈值过大而导致检测不精准,同时也不会因为设定步长阈值过小而导致测试步骤过多从而延长测试时间,其中,所述的测试持续时间T为30s, 保持一定的测试持续时间,能够确保测试结果的精准度,30s的时间长度刚好,既不会因为测试时间太长导致降低测试效率,也不会因为测试时间太短而导致测试结果的精准度差,该步骤中提及的第一递进方式为逐步递减方式,结合前面所提到的起始电压为14.4V,设定步长阈值为0.1V,测试持续时间为30s,在14.4V的基础上,以每次递减0.1V的方式进行测试,且每次测试持续时间为30s。
在步骤S3中,持续监测被测设备是否停止发送CAN报文,是则进入步骤S4,否则返回步骤S2,在被测设备的电源电压逐步递减的过程中,持续的监测被测设备的CAN总线报文的发送状态,当被测设备停止发送CAN报文时,则进入步骤S4,当被测设备在继续发送CAN报文时,则返回步骤S2,在该电源电压的基础上递减0.1V后继续测试,且测试持续时间为30s。
在步骤S4中,读取此时被测设备的第一电源电压值,并将第一测量值输出到电脑显示,此时的第一电源电压值即为被测设备停止CAN总线报文发送的临界状态,并将第一测量值输出到电脑显示,以便于工作人员对测试结果的查看与统计。
在一个实施例中,如图2所示,所述方法包括以下步骤:
S1、将程控电源的输出电压设置为起始电压,打开程控电源,给被测设备上电;
S2、将起始电压按设定步长阈值以第一递进方式进行测试,且每次测试持续时间为T;
S3、持续监测被测设备是否停止发送CAN报文,是则进入步骤S4,否则返回步骤S2;
S4、读取此时被测设备的第一电源电压值,并将第一测量值输出到电脑显示;
S5、判断第一测量值是否等于第一期望值,是则进入步骤S6,否则输出测试失败结果并停止测试;
S6、将步骤S4中读取的第一电源电压值按设定步长阈值以第二递进方式进行测试,且每次测试持续时间为T,所述第一递进方式与第二递进方式为反向关系;
S7、持续监测被测设备是否恢复发送CAN报文,是则进入步骤S8,否则返回步骤S6;
S8、读取此时被测设备的第二电源电压值,并将第二测量值输出到电脑显示。
具体的,在步骤S5中,判断第一测量值是否等于第一期望值,是则进入步骤S6,否则输出测试失败结果并停止测试,当第一测量值等于第一期望值时,即说明被测设备的测试结果符合第一阶段的测试,进入到步骤S6中,若第一测量值与第一期望值有偏差,说明被测设备的测试结果失败,则输出测试失败结果并停止测试。
在步骤S6中,将步骤S4中读取的第一电源电压值按设定步长阈值以第二递进方式进行测试,且每次测试持续时间为T,所述第一递进方式与第二递进方式为反向关系,本实施例中,在步骤S2中的第一递进方式为逐步递减方式,即在设定的初始电压14.4V的基础上,以每次递减0.1V的方式进行测试,且每次测试持续时间为30s,第二递进方式与第一递进方式为反向关系,即在第一电源电压值的基础上,以每次递增0.1V的方式进行测试,且每次测试持续时间为30s。
在步骤S7中,持续监测被测设备是否恢复发送CAN报文,是则进入步骤S8,否则返回步骤S6,在被测设备的电源电压逐步递增的过程中,持续的监测被测设备的CAN总线报文的发送状态,当被测设备恢复发送CAN报文时,则进入步骤S8,当被测设备在继续发送CAN报文时,则返回步骤S6,在该电源电压的基础上递增0.1V后继续测试,且测试持续时间为30s。
在步骤S8中,读取此时被测设备的第二电源电压值,并将第二测量值输出到电脑显示,此时的第二电源电压值即为被测设备恢复CAN总线报文发送的临界状态,并将第二测量值输出到电脑显示,以便于工作人员对测试结果的查看与统计。
在一个实施例中,所述方法还包括以下步骤:S9、判断第二测量值是否等于第二期望值,是则输出测试通过结果,否则输出测试失败结果。
在一个实施例中,如图3所示,所述的方法包括以下步骤:
S0、根据不同的ECU CAN总线通信电压范围需求设计测试用例,并输入期望结果,所述期望结果包括第一期望值和第二期望值;
S1、将程控电源的输出电压设置为起始电压,打开程控电源,给被测设备上电;
S2、将起始电压按设定步长阈值以第一递进方式进行测试,且每次测试持续时间为T;
S3、持续监测被测设备是否停止发送CAN报文,是则进入步骤S4,否则返回步骤S2;
S4、读取此时被测设备的第一电源电压值,并将第一测量值输出到电脑显示;
S5、判断第一测量值是否等于第一期望值,是则进入步骤S6,否则输出测试失败结果并停止测试;
S6、将步骤S4中读取的第一电源电压值按设定步长阈值以第二递进方式进行测试,且每次测试持续时间为T,所述第一递进方式与第二递进方式为反向关系;
S7、持续监测被测设备是否恢复发送CAN报文,是则进入步骤S8,否则返回步骤S6;
S8、读取此时被测设备的第二电源电压值,并将第二测量值输出到电脑显示;
在本实施例中,步骤S0中,根据不同的ECU CAN总线通信电压范围需求设计测试用例,并输入期望结果,所述期望结果包括第一期望值和第二期望值,在正式测试开始前,先完成对不同车厂或者不同项目的ECU CAN总线通信电压范围需求设计测试用例,并输入期望结果以便于与实际测量值进行比对,得出被测设备的测试结果是否符合要求,同时也便于在更换不同车厂的ECU测试时,只需在电脑端操作切换即可。
在本实施例的步骤S2中,所述的第一递进方式为逐步递增方式,而所述的第二递进方式为逐步递减方式,采用逐步递增方式和逐步递减方式分别测试得出被测设备的停止发送报文的第一电源电压值、第一测量值、第二电源电压值和第二测量值,并分别将第一测量值与第一期望值比对,将第二测量值与第二期望值比对,得出测试结果。
在一个实施例中,如图5所示,在所述测试完成后,自动生成测试报告文档,提高自动化测试程度,减少人工依赖程度。
测试报告文档可以包括测试***的硬件与软件版本信息、测试用例执行与未执行个数、测试用例的失败个数和通过个数、测试用例的详细执行步骤与测试结果信息,本实施例在测试执行过程中,实时更新显示当前测试用例的执行情况以及在每次执行完一个测试用例后,将相关测量值和测试结果输出到软件界面,便于工作人员的随时了解。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围,因此,本发明的保护范围应以所附权利要求为准。
Claims (8)
1.一种检测汽车ECU CAN总线通信电压范围的自动化测试方法,其特征在于,包括电脑、CAN测试盒、程控电源和被测设备,所述电脑分别连接CAN测试盒和程控电源,所述CAN测试盒和程控电源分别连接被测设备;所述方法包括以下步骤:
S1、将程控电源的输出电压设置为起始电压,打开程控电源,给被测设备上电;
S2、将起始电压按设定步长阈值以第一递进方式进行测试,且每次测试持续时间为T;
S3、持续监测被测设备是否停止发送CAN报文,是则进入步骤S4,否则返回步骤S2;
S4、读取此时被测设备的第一电源电压值,并将第一测量值输出到电脑显示;
S5、判断第一测量值是否等于第一期望值,是则进入步骤S6,否则输出测试失败结果并停止测试;
S6、将步骤S4中读取的第一电源电压值按设定步长阈值以第二递进方式进行测试,且每次测试持续时间为T,所述第一递进方式与第二递进方式为反向关系;
S7、持续监测被测设备是否恢复发送CAN报文,是则进入步骤S8,否则返回步骤S6;
S8、读取此时被测设备的第二电源电压值,并将第二测量值输出到电脑显示。
2.根据权利要求1所述的检测汽车ECU CAN总线通信电压范围的自动化测试方法,其特征在于,所述方法还包括以下步骤:
S9、判断第二测量值是否等于第二期望值,是则输出测试通过结果,否则输出测试失败结果。
3.根据权利要求1所述的检测汽车ECU CAN总线通信电压范围的自动化测试方法,其特征在于:所述第一递进方式为逐步递减方式,所述第二递进方式为逐步递增方式。
4.根据权利要求1所述的检测汽车ECU CAN总线通信电压范围的自动化测试方法,其特征在于:所述第一递进方式为逐步递增方式,所述第二递进方式为逐步递减方式。
5.根据权利要求1所述的检测汽车ECU CAN总线通信电压范围的自动化测试方法,其特征在于:所述设定步长阈值为0.1V。
6.根据权利要求1所述的检测汽车ECU CAN总线通信电压范围的自动化测试方法,其特征在于:所述测试持续时间T为30s。
7.根据权利要求2所述的检测汽车ECU CAN总线通信电压范围的自动化测试方法,其特征在于,所述步骤S1之前还包括以下步骤:
S0、根据不同的ECU CAN总线通信电压范围需求设计测试用例,并输入期望结果,所述期望结果包括第一期望值和第二期望值。
8.根据权利要求7所述的检测汽车ECU CAN总线通信电压范围的自动化测试方法,其特征在于:在所述测试完成后,自动生成测试报告文档。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811628926.XA CN109814525B (zh) | 2018-12-29 | 2018-12-29 | 一种检测汽车ecu can总线通信电压范围的自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811628926.XA CN109814525B (zh) | 2018-12-29 | 2018-12-29 | 一种检测汽车ecu can总线通信电压范围的自动化测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109814525A CN109814525A (zh) | 2019-05-28 |
CN109814525B true CN109814525B (zh) | 2022-03-22 |
Family
ID=66601507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811628926.XA Active CN109814525B (zh) | 2018-12-29 | 2018-12-29 | 一种检测汽车ecu can总线通信电压范围的自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109814525B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142504B (zh) * | 2019-12-30 | 2021-10-08 | 深圳移航通信技术有限公司 | 总线检测装置和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267715A (zh) * | 2014-09-12 | 2015-01-07 | 中国第一汽车股份有限公司 | 车载电子控制单元lin总线通信自动化测试装置及*** |
CN104569680A (zh) * | 2015-01-06 | 2015-04-29 | 工业和信息化部电子第五研究所 | Dc/dc变换器测试装置和方法 |
CN108445871A (zh) * | 2018-04-20 | 2018-08-24 | 株洲易力达机电有限公司 | 一种自动检测eps控制器电路单元的***及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7068987B2 (en) * | 2000-10-02 | 2006-06-27 | Conexant, Inc. | Packet acquisition and channel tracking for a wireless communication device configured in a zero intermediate frequency architecture |
CN102508167B (zh) * | 2011-10-25 | 2014-08-06 | 上海交通大学 | 一种电池管理***自动测试、自动标定参数的装置和方法 |
US9679664B2 (en) * | 2012-02-11 | 2017-06-13 | Samsung Electronics Co., Ltd. | Method and system for providing a smart memory architecture |
CN103325384A (zh) * | 2012-03-23 | 2013-09-25 | 杜比实验室特许公司 | 谐度估计、音频分类、音调确定及噪声估计 |
CN103728968B (zh) * | 2013-12-16 | 2017-01-04 | 东风柳州汽车有限公司 | Can网络和ecu功能自动化测试*** |
CN105404568A (zh) * | 2015-12-03 | 2016-03-16 | 广州汽车集团股份有限公司 | Can总线测试***以及测试方法 |
-
2018
- 2018-12-29 CN CN201811628926.XA patent/CN109814525B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267715A (zh) * | 2014-09-12 | 2015-01-07 | 中国第一汽车股份有限公司 | 车载电子控制单元lin总线通信自动化测试装置及*** |
CN104569680A (zh) * | 2015-01-06 | 2015-04-29 | 工业和信息化部电子第五研究所 | Dc/dc变换器测试装置和方法 |
CN108445871A (zh) * | 2018-04-20 | 2018-08-24 | 株洲易力达机电有限公司 | 一种自动检测eps控制器电路单元的***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109814525A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111133289B (zh) | 车辆诊断装置、车辆诊断***以及车辆诊断程序 | |
CN107145140B (zh) | 车载电子控制单元can接口自动测试***及其测试方法 | |
CN107797050B (zh) | 一种定位服务器主板上电时序状态异常的方法 | |
KR20140116492A (ko) | 진단 고장 정보를 제공하기 위한 시스템 및 방법 | |
CN107407699B (zh) | 电池管理装置、电池监视电路、控制*** | |
CN104865948A (zh) | 一种汽车控制器自动诊断装置及方法 | |
JP2003329719A (ja) | 信号処理装置 | |
CN114326659A (zh) | 一种汽车电子控制单元故障诊断***及方法 | |
CN109814525B (zh) | 一种检测汽车ecu can总线通信电压范围的自动化测试方法 | |
CN107885186B (zh) | 一种汽车空调控制器人机交互功能的自动测试方法及*** | |
CN111381150B (zh) | 芯片自动验证***及其方法 | |
KR20060067927A (ko) | 마이크로컴퓨터의 프로그램 실행 모니터링 방법 | |
CN112286825A (zh) | 智能座舱的屏幕测试方法、装置及电子设备 | |
CN109309598B (zh) | 带can功能被测车载模块的采样点自动化测试***及方法 | |
CN113295953B (zh) | 一种过压保护测试***及方法 | |
CN113225232B (zh) | 硬件测试方法、装置、计算机设备及存储介质 | |
CN110850850B (zh) | 冷却水泵的下线检测方法、装置、设备及存储介质 | |
CN112460479A (zh) | 氢能汽车氢气瓶的检测方法、装置、介质、***及汽车 | |
JP2011065402A (ja) | 車両用電子制御装置 | |
CN112462727A (zh) | 一种车载零部件测试方法和装置 | |
US8225646B2 (en) | Throttle body sweep diagnostic system and method | |
CN112060909B (zh) | 一种基于绝缘检测的车辆控制方法及*** | |
CN108204653B (zh) | Wifi模块的故障检测方法、装置、终端以及存储介质 | |
CN106326021A (zh) | 处理电子设备的Android***的异常工作状态的方法及电子设备 | |
JP2002327649A (ja) | 電子制御システムの故障診断装置 |
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 |