CN104991880B - 一种基于pci‑e接口的fc‑ae‑asm通讯板卡 - Google Patents
一种基于pci‑e接口的fc‑ae‑asm通讯板卡 Download PDFInfo
- Publication number
- CN104991880B CN104991880B CN201510298319.1A CN201510298319A CN104991880B CN 104991880 B CN104991880 B CN 104991880B CN 201510298319 A CN201510298319 A CN 201510298319A CN 104991880 B CN104991880 B CN 104991880B
- Authority
- CN
- China
- Prior art keywords
- pci
- module
- interface
- fpga chip
- data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于PCI‑E接口的FC‑AE‑ASM通讯板卡,包括FPGA芯片、DDR2模块、电源管理模块、光收发模块、可编程时钟和配置芯片;FPGA芯片的存储控制信号输入输出端连接DDR2模块的存储控制信号输出输入端;FPGA芯片的传输数据输入输出端与光收发模块的数据输出输入端连接,FPGA芯片与PCI‑E总线接口连接;所述电源管理模块的输入与所述PCI‑E总线接口连接;所述FPGA芯片的时钟输入还与可编程时钟连接;所述FPGA芯片与所述配置芯片连接。采用上述技术方案后,本发明与现有技术相比具有以下有益效果:对于能够支持最高4.25Gbps的传输速率,最远距离达到15km的光纤协议通道,提升了其与计算机终端之间数据传输速度15%。
Description
技术领域
本发明涉及通讯技术领域,特别涉及一种基于PCI-E接口的FC-AE-ASM通讯板卡。
背景技术
二十世纪七十年代以来,航空电子已从模拟化系统迅速发展为数字化系统。航空电子系统结构经历了分立式、联合式、综合式以及先进综合式发展。联合式航空电子系统数据通信主要采用RS-422、RS-485、ARINC429以及MIL-STD-1553等通信协议,这些数据通信协议具有可靠性高、通信质量稳定等特点,在当代航空、航海等军事通信领域得到了广泛应用。但是这些通信协议中,采用并行传输方式的协议造价成本高,且在长距离传输时,数据线之间的干扰增加,数据容易产生错误,因此其并不适于长距离的数据传输,而一般的串行数据传输方式(如RS-422、RS-485等)虽然在数据传输方面虽然各有特点,但其在传输速率和传输距离方面仍不尽人意。总之,由于上述协议数据传输率低、容错能力有限和维修工作复杂等系统局限性,因此通常只适用于自身具有数据处理能力的子系统之间数据量较小的数据传输,不能满足综合化航空电子系统对数据通信的要求。
航空电子环境下的光纤通道协议(FC-AE)包含FC-AE-ASM、FC-AE-1553、FC-AE-RDMA等多种FC上层协议,这些协议适应统一网络的广泛性要求,满足航空电子发展的需要,得到了众多民用、军用公司的支持和参与。
目前,我国使用较多的机载数据总线有ARINC 429和MIL-STD-1553B总线。与欧美等国家先进水平相比,我国战机的航空电子综合化水平和航空电子设备存在着较大差距。我国也已明确将使用光纤通道统一网络FC作为我国新一代军机航电系统的标准,在新一代战机中将装备具有FC总线的航电系统。作为FC-AE协议簇中的一员,FC-AE-ASM(航空电子环境下光纤通道的匿名消息传输协议)以其低延迟、高数据通信效率、实时通信能力强等优点已被应用于新一代航电系统,市场前景广阔。
然而目前的FC-AE-ASM协议,实现数据传输与计算机终端连接的结构较为繁复,成本较高,并且该连接的传输速率不足,偶有数据收发不及时情况,在对数据传输要求精准高速的航电领域,这无疑是制约该技术发展的一个重要因素。
有鉴于此,特提出本发明。
发明内容
本发明要解决的技术问题在于克服现有技术的不足,提供一种基于PCI-E接口的FC-AE-ASM通讯板卡,实现计算机终端与协议传输端之间的数据高速传输。
为解决上述技术问题,本发明采用技术方案的基本构思是:
一种基于PCI-E接口的FC-AE-ASM通信板卡,包括FPGA芯片、DDR2(第二代双倍速率同步动态随机存储器)模块、电源管理模块、光收发模块、可编程时钟和配置芯片;
FPGA芯片的存储控制信号输入输出端连接DDR2模块的存储控制信号输出输入端;FPGA芯片的传输数据输入输出端与光收发模块的数据输出输入端连接,FPGA芯片与PCI-E总线接口连接;所述电源管理模块的输入与所述PCI-E总线接口连接;所述FPGA芯片的时钟输入还与可编程时钟连接;所述FPGA芯片与所述配置芯片连接;
所述电源管理模块的输入电压为3.3V,且该电源管理模块设有电压分别为1.0V、1.2V、1.8V和2.5V的至少四种电压输出。
上述的基于PCI-E接口的FC-AE-ASM通信板卡,所述FPGA芯片的顶层模块包括FC模块部分、数据缓存部分和PCI-E部分;
所述PCI-E部分包括PCI-E EP(PCI-E端点)、DMA(直接内存存取)控制器、寄存器和GTP(高速串行收发器);所述PCI-E EP通过所述GTP与所述PCI-E总线连接;所述DMA控制器与所述寄存器连接;
所述数据缓存部分包括FC通道接口控制模块,所述FC通道接口控制模块与用户接口连接,所述FC通道接口控制模块通过Tx缓冲模块读取来自所述DMA控制器的信息并将该信息传递给所述用户接口,所述FC通道接口控制模块通过Rx缓冲模块读取来自所述用户接口的信息并将该信息传递给所述DMA控制器;
所述FC模块部分包括MAC(媒体接入控制)模块、用户接口、管理接口、信用管理模块和链路控制模块;所述用户接口、信用管理模块和所述链路控制模块均与所述MAC模块连接;所述管理接口与所述寄存器连接;所述链路控制模块通过GTP连入FC总线。
上述的基于PCI-E接口的FC-AE-ASM通信板卡,每个所述DMA控制器通过两个数据缓存部分分别与两个FC模块部分相连;每个数据缓存部分仅以一个FC模块部分作为对象进行数据缓存。
上述的基于PCI-E接口的FC-AE-ASM通信板卡,所述PCI-E总线为4位总线,该PCI-E总线通过两个GTP与所述PCI-E EP连接。
上述的基于PCI-E接口的FC-AE-ASM通信板卡,所述DDR2模块的SDRAM芯片,单片大小为512M,数据总线宽度为16位,两片合成32位数据线后使用,该芯片为Micron公司的MT47H128M16HG-3。
上述的基于PCI-E接口的FC-AE-ASM通信板卡,所述FPGA芯片还连接有复位电路;所述复位电路包括电阻R1、电阻R2、复位按键开关K、电容C1、二极管VD和与FPGA芯片的复位接口相连复位端子;
所述二极管VD的负极和所述电阻R1的一端均与供电电源正极相连;所述电阻R1的另一端、二极管VD的正极、电阻R2的一端和电容C1的正极均与所述复位端子相连;所述电阻R2的另一端与复位按键开关K的一端相连;所述复位按键开关K的另一端和电容C1的负极均接地。
采用上述技术方案后,本发明与现有技术相比具有以下有益效果:
对于能够支持最高4.25Gbps的传输速率,最远距离达到15km的光纤协议通道,提升了其与计算机终端之间数据传输速度15%。
附图说明
图1是本发明基于PCI-E接口的FC-AE-ASM通信板卡的硬件结构示意图。
图2是本发明FPGA芯片的顶层模块结构示意图。
图3是本发明复位电路图。
具体实施方式
下面结合附图和具体实施例,对本发明作进一步说明,以助于理解本发明的内容。
如图1所示,本发明提供了一种基于PCI-E接口的FC-AE-ASM通信板卡,包括FPGA芯片、DDR2(第二代双倍速率同步动态随机存储器)模块、电源管理模块、光收发模块、可编程时钟和配置芯片。本实施例中FPGA型号为Xilinx公司Virtex5 LXT系列的XC5VLX110T-1FFG1136I。FPGA芯片的存储控制信号输入输出端连接DDR2模块的存储控制信号输出输入端;DDR2模块实现FPGA的信息存储,该DDR2模块的SDRAM芯片单片大小为512M,数据总线宽度为16位,两片合成32位数据线后使用,能够有效保障FPGA的信息读存功能,在本实施例中,DDR2模块的芯片为Micron公司生产的MT47H128M16HG-3,其工作频率在200MHz下,有效满足FPGA需求。
FPGA芯片的传输数据输入输出端与光收发模块的数据输出输入端连接,FPGA芯片与PCI-E总线接口连接。如此,FPGA能够完成高频光信号与电信号之间转换和PCI-E总线与FC总线之间的信息交互功能。所述电源管理模块的输入与所述PCI-E总线接口连接;所述电源管理模块的输入电压为3.3V,且该电源管理模块设有电压分别为1.0V、1.2V、1.8V和2.5V的至少四种电压输出。电源管理模块能够统一为FPGA及其扩展元件实现供电管理,满足不同的元件电压需求。
所述FPGA芯片的时钟输入还与可编程时钟连接;实现计时和计数功能,为FPGA进行数据同步提供时钟依据。所述FPGA芯片与所述配置芯片连接;配置芯片用于实现FPGA的初始配置实现,保证功能正常实现。本实施例中,该配置芯片型号选用为Xilinx公司的XCF32PVOG48C。
为了保证FPGA正常工作,实现复位功能。该FPGA芯片还连接有复位电路;如图3所示,所述复位电路包括电阻R1、电阻R2、复位按键开关K、电容C1、二极管VD和与FPGA芯片的复位接口相连复位端子;所述二极管VD的负极和所述电阻R1的一端均与供电电源正极相连;所述电阻R1的另一端、二极管VD的正极、电阻R2的一端和电容C1的正极均与所述复位端子相连;所述电阻R2的另一端与复位按键开关K的一端相连;所述复位按键开关K的另一端和电容C1的负极均接地。
该复位电路的工作过程如下:
1、在系统接电后,电源正极输出3.3V电压,经过R1给C1充电,此时复位端子RESET上得到低电平,经过一段时间后,C1被充满,复位端点RESET电平升高,最后稳定在高电平,完成上电复位过程。
2、按下复位按键开关K时,开关闭合,C1经过R2放电到地,复位端子RESET被瞬间拉到低电平,当复位按键开关K打开后,C1再次通过R1充电,经过一段时间后稳定到高电平,完成手动复位过程。
如图2所示,本实施例FPGA芯片的顶层模块包括FC模块部分1、数据缓存部分2和PCI-E部分3;所述PCI-E部分包括PCI-E EP(PCI-E端点)、DMA(直接内存存取)控制器、寄存器和GTP(高速串行收发器);所述PCI-E EP通过所述GTP与所述PCI-E总线连接;所述DMA控制器与所述寄存器连接;如此,基于此,本发明的通讯板卡能够实现PCIe总线的EndPoint以及DMA的功能,完成与主机PCIe总线的数据交互。
所述数据缓存部分包括FC通道接口控制模块,所述FC通道接口控制模块与用户接口连接,所述FC通道接口控制模块通过Tx缓冲模块读取来自所述DMA控制器的信息并将该信息传递给所述用户接口,所述FC通道接口控制模块通过Rx缓冲模块读取来自所述用户接口的信息并将该信息传递给所述DMA控制器。Rx缓冲模块和Tx缓冲模块,能够暂时缓存上下行数据,防止数据丢失,有效保证数据传输的完整性。
所述FC模块部分包括MAC(媒体接入控制)模块、用户接口、管理接口、信用管理模块和链路控制模块;所述用户接口、信用管理模块和所述链路控制模块均与所述MAC模块连接;所述管理接口与所述寄存器连接;所述链路控制模块通过GTP连入FC总线。FC模块主要负责数据编解码和光电信号的转换,并且能够配合通过所述的DMA控制器对数据传输进行适应性管控,实现与PCI-E总线的数据功能互补,保证传输数据的正确率前提下实现数据传输速率的提升。
在本实施例中,每个所述DMA控制器通过两个数据缓存部分分别与两个FC模块部分相连;每个数据缓存部分仅以一个FC模块部分作为对象进行数据缓存。DMA控制器能够处理两个FC模块的数据,保证了处理速率,提高了数据传输速率,而每个FC模块都有专用数据缓存部分,数据不会混淆,保证了数据传输准确率。所述PCI-E总线为4位总线,该PCI-E总线通过两个GTP与所述PCI-E EP连接。如此,本通讯板卡在不占用过多的总线资源情况下即实现数据的高速传输。
本通讯板卡的工作过程如下:
数据发送过程
1、通讯板卡进行初始化,根据配置芯片的设置完成基于光纤通道协议的速率与发送配置;
2、计算机终端通过PCI-E总线将与发送数据传递给PCI-E EP;
3、所述DMA控制器辅助处理上述发送数据,并即时处理该发送数据在在寄存器上的存储状态,将该发送数据通过Tx信号缓冲模块处理后通过接口控制和用户接口传递给FC模块的MAC进行信号处理,而后通过链路控制模块将该处理后数据传输至FC总线上,从而完成数据的传输。
数据接收过程
1、通讯板卡进行初始化,根据配置芯片的设置完成基于光纤通讯协议的速率与接收配置;
2、FC模块接收来自FC总线的串行数据,并经过的链路控制模块和MAC处理后将其传递给数据缓冲部分,该数据经过Rx信号缓冲模块处理后传递给DMA控制器,该DMA控制器根据即时情况将该信号暂存至寄存器或者传递至PCI-E EP,PCI-E EP通过GTP将数据传递至PCI-E总线,完成数据接收的作用。
本发明中采用DMA控制器和PCI-E EP对整个数据的传输过程进行了辅助,解决了FC总线与PCI-E总线之间数据转换不及时的缺点的,保证数据完整的情况下,大大提高了传输速率。对于能够支持最高4.25Gbps的传输速率,最远距离达到15km的光纤协议通道,提升了其与计算机终端之间数据传输速度15%。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种基于PCI-E接口的FC-AE-ASM通信板卡,其特征在于,包括FPGA芯片、DDR2模块、电源管理模块、光收发模块、可编程时钟和配置芯片;
FPGA芯片的存储控制信号输入输出端连接DDR2模块的存储控制信号输出输入端;FPGA芯片的传输数据输入输出端与光收发模块的数据输出输入端连接,FPGA芯片与PCI-E总线接口连接;所述电源管理模块的输入与所述PCI-E总线接口连接;所述FPGA芯片的时钟输入还与可编程时钟连接;所述FPGA芯片与所述配置芯片连接;
所述电源管理模块的输入电压为3.3V,且该电源管理模块设有电压分别为1.0V、1.2V、1.8V和2.5V的至少四种电压输出;
所述FPGA芯片的顶层模块包括FC模块部分、数据缓存部分和PCI-E部分;
所述PCI-E部分包括PCI-E EP、DMA控制器、寄存器和高速串行收发器GTP;所述PCI-EEP通过所述高速串行收发器GTP与所述PCI-E总线连接;所述DMA控制器与所述寄存器连接;
所述数据缓存部分包括FC通道接口控制模块,所述FC通道接口控制模块与用户接口连接,所述FC通道接口控制模块通过Tx缓冲模块读取来自所述DMA控制器的信息并将该信息传递给所述用户接口,所述FC通道接口控制模块通过Rx缓冲模块读取来自所述用户接口的信息并将该信息传递给所述DMA控制器;
所述FC模块部分包括MAC模块、用户接口、管理接口、信用管理模块和链路控制模块;所述用户接口、信用管理模块和所述链路控制模块均与所述MAC模块连接;所述管理接口与所述寄存器连接;所述链路控制模块通过高速串行收发器GTP连入FC总线。
2.根据权利要求1所述的基于PCI-E接口的FC-AE-ASM通信板卡,其特征在于,每个所述DMA控制器通过两个数据缓存部分分别与两个FC模块部分相连;每个数据缓存部分仅以一个FC模块部分作为对象进行数据缓存。
3.根据权利要求2所述的基于PCI-E接口的FC-AE-ASM通信板卡,其特征在于,所述PCI-E总线为4位总线,该PCI-E总线通过两个高速串行收发器GTP与所述PCI-E EP连接。
4.根据权利要求1所述的基于PCI-E接口的FC-AE-ASM通信板卡,其特征在于,所述DDR2模块的SDRAM芯片,单片大小为512M,数据总线宽度为16位,两片合成32位数据线后使用,该芯片为Micron公司的MT47H128M16HG-3。
5.根据权利要求1所述的基于PCI-E接口的FC-AE-ASM通信板卡,其特征在于,所述FPGA芯片还连接有复位电路;所述复位电路包括电阻R1、电阻R2、复位按键开关K、电容C1、二极管VD和与FPGA芯片的复位接口相连复位端子;
所述二极管VD的负极和所述电阻R1的一端均与供电电源正极相连;所述电阻R1的另一端、二极管VD的正极、电阻R2的一端和电容C1的正极均与所述复位端子相连;所述电阻R2的另一端与复位按键开关K的一端相连;所述复位按键开关K的另一端和电容C1的负极均接地。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510298319.1A CN104991880B (zh) | 2015-06-03 | 2015-06-03 | 一种基于pci‑e接口的fc‑ae‑asm通讯板卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510298319.1A CN104991880B (zh) | 2015-06-03 | 2015-06-03 | 一种基于pci‑e接口的fc‑ae‑asm通讯板卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104991880A CN104991880A (zh) | 2015-10-21 |
CN104991880B true CN104991880B (zh) | 2018-02-27 |
Family
ID=54303696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510298319.1A Active CN104991880B (zh) | 2015-06-03 | 2015-06-03 | 一种基于pci‑e接口的fc‑ae‑asm通讯板卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104991880B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105490819B (zh) * | 2015-12-09 | 2019-01-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种网络化远程智能接口 |
CN106992830B (zh) * | 2017-04-05 | 2018-07-27 | 中国科学院空间应用工程与技术中心 | 一种fc-ae-1553网络中的时钟同步方法 |
CN111078626B (zh) * | 2019-12-04 | 2024-05-10 | 北京航天福道高技术股份有限公司 | 用于大数据传输的高速通信子母板卡及其使用方法 |
CN112231257A (zh) * | 2020-10-29 | 2021-01-15 | 中国航空工业集团公司洛阳电光设备研究所 | 机载光电产品即插即用的接口 |
CN113676253A (zh) * | 2021-09-18 | 2021-11-19 | 天津津航计算技术研究所 | 一种基于FPGA的FlexRay总线光纤通信模块 |
CN114006811B (zh) * | 2021-10-29 | 2023-04-28 | 西安微电子技术研究所 | 一种强实时性的cpci千兆以太网板卡及数据通讯方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905281A (zh) * | 2014-04-29 | 2014-07-02 | 哈尔滨工业大学 | 可互换实现网络控制器与网络终端功能的fc-ae-1553总线节点卡 |
CN103942014A (zh) * | 2014-04-29 | 2014-07-23 | 哈尔滨工业大学 | Fc-ae-1553协议接口卡存储器映射装置及存储器映射方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5460156B2 (ja) * | 2009-07-14 | 2014-04-02 | キヤノン株式会社 | データ処理装置 |
-
2015
- 2015-06-03 CN CN201510298319.1A patent/CN104991880B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905281A (zh) * | 2014-04-29 | 2014-07-02 | 哈尔滨工业大学 | 可互换实现网络控制器与网络终端功能的fc-ae-1553总线节点卡 |
CN103942014A (zh) * | 2014-04-29 | 2014-07-23 | 哈尔滨工业大学 | Fc-ae-1553协议接口卡存储器映射装置及存储器映射方法 |
Non-Patent Citations (1)
Title |
---|
基于PC的FC仿真卡系统设计;吴金波 李会方;《国外电子测量技术》;20131015;第32卷(第10期);第26-29页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104991880A (zh) | 2015-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104991880B (zh) | 一种基于pci‑e接口的fc‑ae‑asm通讯板卡 | |
CN102253913B (zh) | 一种对多板卡端口进行状态获取和输出控制的装置 | |
CN102117342A (zh) | 基于PCI Express总线的多波段红外图像实时采集系统及方法 | |
CN105573239A (zh) | 一种高速背板总线通讯控制装置及方法 | |
CN109446132A (zh) | 一种接口总线装置及数据通信协议 | |
CN110837486A (zh) | 一种基于FPGA的FlexRay-CPCIe通信模块 | |
CN104798010A (zh) | 至少部分的串行存储协议兼容帧转换 | |
CN102880427A (zh) | 一种基于fpga的sata主控制器 | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
CN204256732U (zh) | 基于PCI-Express接口的高速数据传输装置 | |
CN201378851Y (zh) | 一种ccd图像数据采集装置 | |
CN203643598U (zh) | 雷达数据记录设备 | |
CN208969834U (zh) | 用于惯性测量系统的通讯控制器和惯性测量系统 | |
CN106168933B (zh) | 一种基于高速串行通信实现虚拟双端口共享内存的方法 | |
CN103793353A (zh) | 一种usb3.0的高速光纤数据采集设备 | |
CN110401586A (zh) | 一种总线通信方法、装置、设备及可读存储介质 | |
CN109800195A (zh) | 一种基于fpga的光纤通道适配器及数据传输方法 | |
CN110472269A (zh) | 一种适用于lbe总线的扩展外部接口设计方法及设备 | |
CN104008076A (zh) | 一种支持dvfs的总线数据信号传输的方法及装置 | |
Lu et al. | Low power multi-lane MIPI CSI-2 receiver design and hardware implementations | |
CN108111380A (zh) | 基于a5平台的n路can通信装置、实现方法及充电设备 | |
CN203733105U (zh) | 光纤反射内存卡及光纤反射内存网 | |
CN207442874U (zh) | 一种光纤通讯用IEEE1394b-PCI光纤接口卡 | |
CN102023950B (zh) | Mil-std-1773总线与高速智能统一总线的直接接口方法 | |
CN105512066B (zh) | 基于profibus的软起动器通讯协议转换装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |