CN104181901A - 基于VxWorks上位机集中管理多级控制系统 - Google Patents

基于VxWorks上位机集中管理多级控制系统 Download PDF

Info

Publication number
CN104181901A
CN104181901A CN201410448520.9A CN201410448520A CN104181901A CN 104181901 A CN104181901 A CN 104181901A CN 201410448520 A CN201410448520 A CN 201410448520A CN 104181901 A CN104181901 A CN 104181901A
Authority
CN
China
Prior art keywords
card
main control
control card
inferior
inferior main
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.)
Granted
Application number
CN201410448520.9A
Other languages
English (en)
Other versions
CN104181901B (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.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
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 Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201410448520.9A priority Critical patent/CN104181901B/zh
Publication of CN104181901A publication Critical patent/CN104181901A/zh
Application granted granted Critical
Publication of CN104181901B publication Critical patent/CN104181901B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

基于VxWorks上位机集中管理多级控制系统,属于多板卡之间通信以及同步控制领域。为了解决现有的控制系统对光刻机实际运行中多板卡之间通信以及同步协调控制能力差的问题。它包括它包括基于VxWorks的上位机、工控机、VME总线、次主控卡A、次主控卡B、次主控卡C及实现各功能的板卡。通过基于VxWorks的上位机向次主控卡A、次主控卡B、次主控卡C发送指令进行通信以及同步控制,次主控卡A、次主控卡B和次主控卡C分别控制相应的板卡通信以及同步,实现多级控制。本发明用于光刻机在实际运行中多板卡之间通信以及同步控制。

Description

基于VxWorks上位机集中管理多级控制系统
技术领域
本发明属于光刻机在实际运行中多板卡之间通信以及同步控制领域。
背景技术
步进扫描光刻机是当前集成电路制造的主流装备,其研制涉及到光学、机械、精密测量、控制等多个学科,是集成电路装备中最精密、研制难度最大的设备之一。工件台与掩模台的同步控制技术是随着步进扫描光刻机的技术发展而提出的,同步控制性能直接影响光刻机的分辨率和套刻精度,是步进扫描光刻机的关键技术之一。
在集成电路集成度不断提高的过程中,集成电路制造技术起着不可替代的作用。集成电路制造流程繁多、工艺复杂,其中一道工艺是将设计好电路版图转移到硅片上形成集成电路。这一工艺就是光刻技术,使用的主要设备是光刻机。光刻机的分辨率和套刻精度直接决定了所制造的集成电路的集成度。而且光刻机的研制涉及光学、机械、精密测量、控制等技术,所以是整个集成电路制造中最复杂和精度最高的设备之一,也是最关键的设备之一。此外,光刻机还有一个经济指标一一产率,围绕着这三项指标,光刻机的研制技术不断进步,推动着集成电路制造技术的向前发展。比如荷兰ASML公司把TWINSCAN XT:1950Hi升级到TWINSCAN XT:1950i,套刻精度和产率分别提高了约37.5%和18.2%。
现有的控制系统实现对光刻机实际运行中多板卡之间通信以及同步协调控制能力差的问题。
发明内容
本发明的目的是为了解决现有的控制系统对光刻机实际运行中多板卡之间通信以及同步协调控制能力差的问题,本发明提供一种基于VxWorks上位机集中管理多级控制系统。
本发明的基于VxWorks上位机集中管理多级控制系统,
它包括基于VxWorks的上位机、工控机、VME总线、次主控卡A、次主控卡B、次主控卡C、运动控制卡、同步控制卡、光栅译码卡、激光计数卡、信号采集卡、安全保护卡和同步自定义总线;
上位机的控制信号输入输出端与工控机的控制信号输入输出端连接;工控机通过VME总线分别与次主控卡A、次主控卡B和次主控卡C通讯,次主控卡A的运动控制信号输入输出端与运动控制卡的运动控制信号输入输出端连接,次主控卡A的同步控制信号输入输出端与同步控制卡的同步控制信号输入输出端连接,次主控卡B的译码控制信号输入输出端与光栅译码卡的译码控制信号输入输出端连接,次主控卡B的计数控制信号输入输出端与激光计数卡的计数控制信号输入输出端连接,次主控卡C的采集控制信号输入输出端与信号采集卡的采集控制信号输入输出端连接,次主控卡C的保护控制信号输入输出端与安全保护卡的保护控制信号输入输出端连接,同步控制卡、光栅译码卡、激光计数卡、信号采集卡和安全保护卡均连接同步自定义总线。
所述基于VxWorks的上位机的工作过程包括如下步骤:
通过工控机向次主控卡A、次主控卡B和次主控卡C发送起始状态检测指令的步骤;
当接收到次主控卡A、次主控卡B和次主控卡C起始状态检测正常的信号时,通过工控机向次主控卡A发送执行控制算法的指令,同时向次主控卡A、次主控卡B和次主控卡C发送同步通信检测指令的步骤;
当接收到次主控卡A、次主控卡B和次主控卡C工作正常的信号时,通过工控机向向次主控卡A、次主控卡B和次主控卡C发送同步通信指令的步骤;
次主控卡A的工作过程包括如下步骤:
当接收到起始状态检测指令时,完成时钟模块和复位模块与其他次主控卡一致,通过工控机向上位机发送起始状态检测指令的步骤;
当接收到执行控制算法的指令时,控制运动控制卡执行控制算法的步骤;
当接收到同步通信检测指令时,检测运动控制卡和同步控制卡是否正常工作,并将检测结果通过工控机向上位机发送的步骤;
当接收到同步通信指令时,控制与其他次主控卡同步通信的步骤;
次主控卡B的工作过程包括如下步骤:
当接收到起始状态检测指令时,完成时钟模块和复位模块与其他次主控卡一致,通过工控机向上位机发送起始状态检测指令的步骤;
当接收到同步通信检测指令时,检测光栅译码卡和激光计数卡是否正常工作,并将检测结果通过工控机向上位机发送的步骤;
当接收到同步通信指令时,控制与其他次主控卡同步通信的步骤;
次主控卡C的工作过程包括如下步骤:
当接收到起始状态检测指令时,完成时钟模块和复位模块与其他次主控卡一致,通过工控机向上位机发送起始状态检测指令的步骤;
当接收到同步通信检测指令时,检测信号采集卡和安全保护卡是否正常工作,并将检测结果通过工控机向上位机发送的步骤;
当接收到同步通信指令时,控制与其他次主控卡同步通信的步骤。
本发明的有益效果在于,本发明的上位机VxWorks实时操作系统,其突出特点是实时性,从而能够更好的满足进行通信以及同步性的要求,上位机通过直接给三个次主控卡发送指令,根据每个次主控卡的情况进而判断整个系统的运行情况,实现了多板卡之间的通信与同步控制。与传统的上位机直接对工控机及其他控制卡进行通信及同步进行控制相比,基于VxWorks的多级控制安全性更好,且控制通信及同步的效果更好,在实时性方面,虽然多级控制运行时间比传统控制略低,但是由于VxWorks运行速度以及板卡的运行速率均非常快,完全能够达到系统对实时性的要求。
附图说明
图1为具体实施方式一所述的基于VxWorks上位机集中管理多级控制系统的原理示意图。
图2为具体实施方式一中的同步运动控制卡的原理示意图。
具体实施方式
具体实施方式一:结合图1说明本实施方式,本实施方式所述的基于VxWorks上位机集中管理多级控制系统,它包括基于VxWorks的上位机、工控机、VME总线、次主控卡A、次主控卡B、次主控卡C、运动控制卡、同步控制卡、光栅译码卡、激光计数卡、信号采集卡、安全保护卡和同步自定义总线;
上位机的控制信号输入输出端与工控机的控制信号输入输出端连接;工控机通过VME总线分别与次主控卡A、次主控卡B和次主控卡C通讯,次主控卡A的运动控制信号输入输出端与运动控制卡的运动控制信号输入输出端连接,次主控卡A的同步控制信号输入输出端与同步控制卡的同步控制信号输入输出端连接,次主控卡B的译码控制信号输入输出端与光栅译码卡的译码控制信号输入输出端连接,次主控卡B的计数控制信号输入输出端与激光计数卡的计数控制信号输入输出端连接,次主控卡C的采集控制信号输入输出端与信号采集卡的采集控制信号输入输出端连接,次主控卡C的保护控制信号输入输出端与安全保护卡的保护控制信号输入输出端连接,同步控制卡、光栅译码卡、激光计数卡、信号采集卡和安全保护卡均连接同步自定义总线。
本实施方式中,上位机能够通过以太网直接控制工控机,工控机通过VME总线控制主控卡A、次主控卡B和次主控卡C;工控机的软件平台是VxWorks实时操作系统,硬件平台是带有21个插槽的VME总线机箱,工控机通过VME总线与次主控制卡连接,其功能是根据接受的上位机指令把相应的参数轨迹解耦成电机方向的轨迹,并发送到次主控制卡,运动控制卡实现控制算法。按照系统要求,整个控制系统需要11块运动控制卡;此外,加上光栅译码卡、激光计数卡、信号采集卡、安全保护卡共需要15块板卡。
同步控制卡的组成,如图2所示。
另外,同步控制卡与工控机、运动控制卡、激光控制卡、光栅译码卡等有链接。所以,接有VME总线接口、自定义总线接口、光纤接口、RS422接口、以及预留的D/A接口。
本实施方式中的次主控卡以及下级的板卡晶振频率均为50MHz,可以进行高速型运行。
具体实施方式二:本实施方式是对具体实施方式一所述的基于VxWorks上位机集中管理多级控制系统的进一步限定,所述基于VxWorks的上位机的工作过程包括如下步骤:
通过工控机向次主控卡A、次主控卡B和次主控卡C发送起始状态检测指令的步骤;
当接收到次主控卡A、次主控卡B和次主控卡C起始状态检测正常的信号时,通过工控机向次主控卡A发送执行控制算法的指令,同时向次主控卡A、次主控卡B和次主控卡C发送同步通信检测指令的步骤;
当接收到次主控卡A、次主控卡B和次主控卡C工作正常的信号时,通过工控机向向次主控卡A、次主控卡B和次主控卡C发送同步通信指令的步骤;
次主控卡A的工作过程包括如下步骤:
当接收到起始状态检测指令时,完成时钟模块和复位模块与其他次主控卡一致,通过工控机向上位机发送起始状态检测指令的步骤;
当接收到执行控制算法的指令时,控制运动控制卡执行控制算法的步骤;
当接收到同步通信检测指令时,检测运动控制卡和同步控制卡是否正常工作,并将检测结果通过工控机向上位机发送的步骤;
当接收到同步通信指令时,控制与其他次主控卡同步通信的步骤;
次主控卡B的工作过程包括如下步骤:
当接收到起始状态检测指令时,完成时钟模块和复位模块与其他次主控卡一致,通过工控机向上位机发送起始状态检测指令的步骤;
当接收到同步通信检测指令时,检测光栅译码卡和激光计数卡是否正常工作,并将检测结果通过工控机向上位机发送的步骤;
当接收到同步通信指令时,控制与其他次主控卡同步通信的步骤;
次主控卡C的工作过程包括如下步骤:
当接收到起始状态检测指令时,完成时钟模块和复位模块与其他次主控卡一致,通过工控机向上位机发送起始状态检测指令的步骤;
当接收到同步通信检测指令时,检测信号采集卡和安全保护卡是否正常工作,并将检测结果通过工控机向上位机发送的步骤;
当接收到同步通信指令时,控制与其他次主控卡同步通信的步骤。
本发明采用了多级管理的方法,实现了多板卡之间的通信与同步控制。当光刻机系统正常工作的时候,可以通过上位机观察运行电机的同步情况,进而获取运动控制卡能否正常工作的情况。由于上位机采用VxWorks操作系统以及运动控制卡均采用高速的DSP芯片,系统可以直接运行于高速的情况,因此不需要外部的高速运行检测设备,不需要考虑电路板的时钟频率情况。光栅译码卡能够达到纳米级精度,因此可以大大提高使用的方便性和控制精度。底层电路板的指示灯用于检测电路板上芯片的好坏的情况。

Claims (2)

1.基于VxWorks上位机集中管理多级控制系统,其特征在于,它包括基于VxWorks的上位机、工控机、VME总线、次主控卡A、次主控卡B、次主控卡C、运动控制卡、同步控制卡、光栅译码卡、激光计数卡、信号采集卡、安全保护卡和同步自定义总线;
上位机的控制信号输入输出端与工控机的控制信号输入输出端连接;工控机通过VME总线分别与次主控卡A、次主控卡B和次主控卡C通讯,次主控卡A的运动控制信号输入输出端与运动控制卡的运动控制信号输入输出端连接,次主控卡A的同步控制信号输入输出端与同步控制卡的同步控制信号输入输出端连接,次主控卡B的译码控制信号输入输出端与光栅译码卡的译码控制信号输入输出端连接,次主控卡B的计数控制信号输入输出端与激光计数卡的计数控制信号输入输出端连接,次主控卡C的采集控制信号输入输出端与信号采集卡的采集控制信号输入输出端连接,次主控卡C的保护控制信号输入输出端与安全保护卡的保护控制信号输入输出端连接,同步控制卡、光栅译码卡、激光计数卡、信号采集卡和安全保护卡均连接同步自定义总线。
2.根据权利要求1所述的基于VxWorks上位机集中管理多级控制系统,其特征在于,所述基于VxWorks的上位机的工作过程包括如下步骤:
通过工控机向次主控卡A、次主控卡B和次主控卡C发送起始状态检测指令的步骤;
当接收到次主控卡A、次主控卡B和次主控卡C起始状态检测正常的信号时,通过工控机向次主控卡A发送执行控制算法的指令,同时向次主控卡A、次主控卡B和次主控卡C发送同步通信检测指令的步骤;
当接收到次主控卡A、次主控卡B和次主控卡C工作正常的信号时,通过工控机向向次主控卡A、次主控卡B和次主控卡C发送同步通信指令的步骤;
次主控卡A的工作过程包括如下步骤:
当接收到起始状态检测指令时,完成时钟模块和复位模块与其他次主控卡一致,通过工控机向上位机发送起始状态检测指令的步骤;
当接收到执行控制算法的指令时,控制运动控制卡执行控制算法的步骤;
当接收到同步通信检测指令时,检测运动控制卡和同步控制卡是否正常工作,并将检测结果通过工控机向上位机发送的步骤;
当接收到同步通信指令时,控制与其他次主控卡同步通信的步骤;
次主控卡B的工作过程包括如下步骤:
当接收到起始状态检测指令时,完成时钟模块和复位模块与其他次主控卡一致,通过工控机向上位机发送起始状态检测指令的步骤;
当接收到同步通信检测指令时,检测光栅译码卡和激光计数卡是否正常工作,并将检测结果通过工控机向上位机发送的步骤;
当接收到同步通信指令时,控制与其他次主控卡同步通信的步骤;
次主控卡C的工作过程包括如下步骤:
当接收到起始状态检测指令时,完成时钟模块和复位模块与其他次主控卡一致,通过工控机向上位机发送起始状态检测指令的步骤;
当接收到同步通信检测指令时,检测信号采集卡和安全保护卡是否正常工作,并将检测结果通过工控机向上位机发送的步骤;
当接收到同步通信指令时,控制与其他次主控卡同步通信的步骤。
CN201410448520.9A 2014-09-04 2014-09-04 基于VxWorks上位机集中管理多级控制系统 Active CN104181901B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410448520.9A CN104181901B (zh) 2014-09-04 2014-09-04 基于VxWorks上位机集中管理多级控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410448520.9A CN104181901B (zh) 2014-09-04 2014-09-04 基于VxWorks上位机集中管理多级控制系统

Publications (2)

Publication Number Publication Date
CN104181901A true CN104181901A (zh) 2014-12-03
CN104181901B CN104181901B (zh) 2016-07-06

Family

ID=51963039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410448520.9A Active CN104181901B (zh) 2014-09-04 2014-09-04 基于VxWorks上位机集中管理多级控制系统

Country Status (1)

Country Link
CN (1) CN104181901B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104950768A (zh) * 2015-06-24 2015-09-30 哈尔滨工业大学 基于vme总线的光刻机双工件台控制系统多板卡通信方法
CN105004264A (zh) * 2015-07-22 2015-10-28 哈尔滨工业大学 基于vme总线的多路激光干涉仪数据的同步读取方法
CN108008658A (zh) * 2016-10-31 2018-05-08 上海微电子装备(集团)股份有限公司 一种数据采集系统及采集方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040240507A1 (en) * 2003-05-19 2004-12-02 Govorkov Sergei V. MOPA excimer or molecular fluorine laser system with improved synchronization
CN1588235A (zh) * 2004-09-15 2005-03-02 上海微电子装备有限公司 步进扫描光刻机连续扫描同步控制方法和系统
CN1786825A (zh) * 2005-12-02 2006-06-14 上海微电子装备有限公司 一种步进扫描投影光刻机多总线时序同步控制方法
CN1851559A (zh) * 2006-06-02 2006-10-25 上海微电子装备有限公司 光刻机同步时序控制串行数据通讯方法和系统及应用
CN1858652A (zh) * 2006-06-02 2006-11-08 上海微电子装备有限公司 保持光刻机高速同步控制时序信号完整性的方法
CN101149567A (zh) * 2005-02-05 2008-03-26 上海微电子装备有限公司 步进扫描投影光刻机同步控制器
CN101149566A (zh) * 2005-02-05 2008-03-26 上海微电子装备有限公司 步进扫描投影光刻机同步控制系统
CN101526748A (zh) * 2009-01-13 2009-09-09 上海微电子装备有限公司 用于光刻对准数据检验的存储装置、方法和对准控制系统
CN102621826A (zh) * 2012-04-23 2012-08-01 哈尔滨工业大学 基于vme总线的步进扫描光刻机的同步控制系统及该系统的同步控制方法
CN103389947A (zh) * 2013-08-06 2013-11-13 哈尔滨工业大学 基于VxWorks的光刻机双工件台控制系统的内存管理器及管理方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040240507A1 (en) * 2003-05-19 2004-12-02 Govorkov Sergei V. MOPA excimer or molecular fluorine laser system with improved synchronization
CN1588235A (zh) * 2004-09-15 2005-03-02 上海微电子装备有限公司 步进扫描光刻机连续扫描同步控制方法和系统
CN101149567A (zh) * 2005-02-05 2008-03-26 上海微电子装备有限公司 步进扫描投影光刻机同步控制器
CN101149566A (zh) * 2005-02-05 2008-03-26 上海微电子装备有限公司 步进扫描投影光刻机同步控制系统
CN1786825A (zh) * 2005-12-02 2006-06-14 上海微电子装备有限公司 一种步进扫描投影光刻机多总线时序同步控制方法
CN1851559A (zh) * 2006-06-02 2006-10-25 上海微电子装备有限公司 光刻机同步时序控制串行数据通讯方法和系统及应用
CN1858652A (zh) * 2006-06-02 2006-11-08 上海微电子装备有限公司 保持光刻机高速同步控制时序信号完整性的方法
CN101526748A (zh) * 2009-01-13 2009-09-09 上海微电子装备有限公司 用于光刻对准数据检验的存储装置、方法和对准控制系统
CN102621826A (zh) * 2012-04-23 2012-08-01 哈尔滨工业大学 基于vme总线的步进扫描光刻机的同步控制系统及该系统的同步控制方法
CN103389947A (zh) * 2013-08-06 2013-11-13 哈尔滨工业大学 基于VxWorks的光刻机双工件台控制系统的内存管理器及管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谷林: "光刻机工件台与掩模台同步控制研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104950768A (zh) * 2015-06-24 2015-09-30 哈尔滨工业大学 基于vme总线的光刻机双工件台控制系统多板卡通信方法
CN105004264A (zh) * 2015-07-22 2015-10-28 哈尔滨工业大学 基于vme总线的多路激光干涉仪数据的同步读取方法
CN108008658A (zh) * 2016-10-31 2018-05-08 上海微电子装备(集团)股份有限公司 一种数据采集系统及采集方法
CN108008658B (zh) * 2016-10-31 2020-07-14 上海微电子装备(集团)股份有限公司 一种数据采集系统及采集方法

Also Published As

Publication number Publication date
CN104181901B (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
CN105511502B (zh) 一种基于vpx总线的工件台同步运动控制系统及方法
CN102621826B (zh) 基于vme总线的步进扫描光刻机的同步控制系统及该系统的同步控制方法
CN104181901A (zh) 基于VxWorks上位机集中管理多级控制系统
CN201426109Y (zh) 一种pci总线型多轴脉冲式运动控制卡
CN103914052A (zh) 一种多板卡数据同步采样系统
CN103942379B (zh) 一种用于三相交流调压与整流的全数字可控硅控制器芯片
CN104898466B (zh) 一种激光跟踪仪的通信控制电路
CN105827222A (zh) 一种基于fpga高速串行总线的纳秒级数字同步机
CN205725536U (zh) 一种基于滑模变结构的相邻交叉耦合同步控制系统
CN205004841U (zh) 智能变电设备及其数据传输系统
CN106970679A (zh) 一种基于时间‑数字转换器电路的多芯片同步结构
CN103560486A (zh) 适用于变压器差动保护的电压锁相同步网络化采样方法
CN109808741A (zh) 轨道线路自动生成方法及系统
CN103823775A (zh) 一种串口与网口智能转换器
CN106338938B (zh) 一种底板总线通讯编址系统及方法
US20200065287A1 (en) Networking systems using multiple peripheral component cards
CN207571572U (zh) 基于profibus-dp总线的换流站测控装置
CN104360639A (zh) 基于vme自定义总线的多运动控制卡实时同步读取光栅尺数据的方法
CN104503934A (zh) 一种可扩展的串行传输器件
CN104268348B (zh) 基于Intouch的可视化物流监控系统及其实现方法
CN203455629U (zh) 铁路沙盘主控制卡
CN206532119U (zh) 一种EtherCAT主站控制器
CN103942510A (zh) 一种韦根信号读取及转换装置
CN109967894B (zh) 四轴peg及激光时钟同步板卡
CN203165198U (zh) 多通道同步海洋数据采集系统

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