CN108108316B - 一种基于现场可编程门阵列的接口扩展方法及*** - Google Patents

一种基于现场可编程门阵列的接口扩展方法及*** Download PDF

Info

Publication number
CN108108316B
CN108108316B CN201711339980.8A CN201711339980A CN108108316B CN 108108316 B CN108108316 B CN 108108316B CN 201711339980 A CN201711339980 A CN 201711339980A CN 108108316 B CN108108316 B CN 108108316B
Authority
CN
China
Prior art keywords
data
escape
interface
data information
gate array
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
CN201711339980.8A
Other languages
English (en)
Other versions
CN108108316A (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.)
Gao Wei
Zhuhai Sg Electric Technology Co ltd
Original Assignee
Zhuhai Sg Electric 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 Zhuhai Sg Electric Technology Co ltd filed Critical Zhuhai Sg Electric Technology Co ltd
Priority to CN201711339980.8A priority Critical patent/CN108108316B/zh
Publication of CN108108316A publication Critical patent/CN108108316A/zh
Application granted granted Critical
Publication of CN108108316B publication Critical patent/CN108108316B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种基于现场可编程门阵列的接口扩展方法及***,现场可编程门阵列(即FPGA)通过第一类接口与中央处理器(即CPU)相连,通过第二类接口与目标终端相连,所述第二类接口有若干个,不同的目标终端对应不同的第二类接口,还包括:通过所述第一类接口接收所述CPU发送的数据,得到第一数据信息;对所述第一数据信息进行解析,得到所述CPU发给所述第一数据信息对应的所述目标终端的第一原始数据;通过所述第二类接口将所述第一原始数据发给所述第一数据信息对应的所述目标终端。本发明通过FPGA实现接口扩展,使得单CPU通过一种数据接口可以控制支持多个不同接口协议的模块,降低了成本,软件调整更灵活。

Description

一种基于现场可编程门阵列的接口扩展方法及***
技术领域
本发明涉及接口扩展领域,尤指一种基于现场可编程门阵列的接口扩展方法及***。
背景技术
在研发用于物联网场景的产品时,中央处理器(Central Processing Unit,CPU)需要通过串口、或串行外设接口(Serial Peripheral Interface,SPI)等与物联网模块进行通讯,但是一台产品可能需要接多个物联网模块,一块CPU可能满足不了多个物联网模块的接口数量的要求。
通常在CPU接口数不够的时候,会换一块接口数量更多的CPU,或者使用多个CPU,这样产品成本会提高,同时硬件堆叠的难度也会加大。
发明内容
本发明的目的是一种基于现场可编程门阵列的接口扩展方法及***,通过现场可编程门阵列实现接口扩展,使得单CPU通过一种数据接口可以控制支持多个不同接口协议的模块,降低了成本,同时软件调整更灵活。
本发明提供的技术方案如下:
一种基于现场可编程门阵列的接口扩展方法,包括:现场可编程门阵列通过第一类接口与中央处理器相连,通过第二类接口与目标终端相连,所述第二类接口有若干个,不同的目标终端对应不同的第二类接口,还包括:步骤S100通过所述第一类接口接收所述中央处理器发送的数据,得到第一数据信息;步骤S200对所述第一数据信息进行解析,得到所述第一数据信息对应的所述目标终端的第一原始数据;步骤S300通过所述第二类接口将所述第一原始数据发给所述第一数据信息对应的所述目标终端。
在上述技术方案中,现场可编程门阵列,即FPGA(Field Programming GateArray),通过FPGA实现接口扩展,使得单CPU通过一种数据接口可以控制支持多个不同接口协议的模块,降低了成本;通过更新FPGA软件,可以灵活的扩展接口,增加与新增目标终端的交互。
进一步,所述第一数据信息包括:包头标识、地址信息和第一转义后的数据,所述步骤S200具体包括:步骤S210在所述第一数据信息中寻找所述包头标识;步骤S220当在所述第一数据信息中找到所述包头标识时,得到所述地址信息和对应的目标终端;步骤S230当在所述第一数据信息中找到所述包头标识时,得到所述第一数据信息对应的所述目标终端的第一转义后的数据;步骤S240将所述第一转义后的数据按照预设的转义规则进行反转义,得到所述第一原始数据。
在上述技术方案中,提供了一种获取第一原始数据的方法,通过对第一转义后的数据进行反转义,从而准确获得中央处理器发送的第一原始数据。
进一步,还包括:步骤S400通过第二类接口接收所述目标终端发送的数据,得到第二原始数据;步骤S500对所述第二原始数据进行组装,得到第二数据信息;步骤S600通过所述第一类接口将所述第二数据信息发给所述中央处理器。
在上述技术方案中,给出了上行方向(从目标终端到FPGA,再到CPU)的接***互过程,完善了整个方案。
进一步,所述步骤S500具体包括:步骤S510当所述第二原始数据包含被转义字符时,将所述被转义字符按照预设的转义规则进行转义,得到第二转义后的数据;步骤S520在所述第二转义后的数据前加上包头标识和地址信息,按照所述中央处理器与现场可编程门阵列之间的接口格式,组装成所述第二数据信息。
在上述技术方案中,提供了一种获取第二数据信息的方法,通过对第二原始数据进行转义,避免了包头标识与原始数据内容相同时接收方的误解析。
进一步,所述包头标识为一个字符;预设的转义规则为:存在两个被转义字符,其中,与包头标识相同的字符为第一被转义字符,第二被转义字符为预设字符,所述第二被转义字符与所述第一被转义字符不同;一个被转义字符转义后得到由两个字符组成的字节组合,其中,所述字节组合中的第一个字符固定为第二被转义字符,所述字节组合中的第二个字符根据所述被转义字符与预设函数运算公式计算得到。
在上述技术方案中,提供了一种转义规则。
进一步,所述步骤S600具体包括:步骤S610缓存所述第二数据信息;步骤S620当缓存中有不少于一个所述目标终端的所述第二数据信息时,根据所述目标终端的优先级,优先发送优先级高的所述目标终端的所述第二数据信息给所述中央处理器。
在上述技术方案中,针对第二数据信息发给CPU新增了一种发送方案,可以优先保证优先级高的目标终端的数据发送。
本发明还提供一种现场可编程门阵列,包括:现场可编程门阵列通过第一类接口与中央处理器相连,通过第二类接口与目标终端相连,所述第二类接口有若干个,不同的目标终端对应不同的第二类接口;所述现场可编程门阵列包括:第二接收模块,用于通过所述第一类接口接收所述中央处理器发送的数据,得到第一数据信息;解析模块,与所述第二接收模块电连接,用于解析所述第一数据信息,得到所述第一数据信息对应的所述目标终端的第一原始数据;第二发送模块,与所述解析模块电连接,用于通过所述第二类接口将所述第一原始数据发给所述第一数据信息对应的所述目标终端。
在上述技术方案中,通过FPGA实现接口扩展,使得单CPU通过一种数据接口可以控制支持多个不同接口协议的模块,降低了成本;通过更新FPGA软件,可以灵活的扩展接口,增加与新增目标终端的交互。
进一步,所述第一数据信息包括:包头标识、地址信息和第一转义后的数据;所述解析模块,进一步用于在所述第一数据信息中寻找所述包头标识;以及,当在所述第一数据信息中找到所述包头标识时,得到所述地址信息和对应的目标终端;以及,当在所述第一数据信息中找到所述包头标识时,得到所述第一数据信息对应的所述目标终端的第一转义后的数据;以及,将所述第一转义后的数据按照预设的转义规则进行反转义,得到所述第一原始数据。
在上述技术方案中,提供了一种获取第一原始数据的方法,通过对第一转义后的数据进行反转义,从而准确获得中央处理器发送的第一原始数据。
进一步,所述第二接收模块,进一步用于通过第二类接口接收所述目标终端发送的数据,得到所述目标终端发给所述中央处理器的第二原始数据;所述解析模块,进一步用于对所述第二原始数据进行组装,得到第二数据信息;所述第二发送模块,进一步用于通过所述第一类接口将所述第二数据信息发给所述中央处理器。
在上述技术方案中,给出了上行方向(从目标终端到FPGA,再到CPU)的接***互过程,完善了整个方案。
本发明还提供一种基于现场可编程门阵列的接口扩展***,包括:前述的现场可编程门阵列;还包括:中央处理器、若干个目标终端;所述中央处理器,与所述现场可编程门阵列电连接;每个所述目标终端,与所述现场可编程门阵列电连接;所述中央处理器包括:第一发送模块,用于通过所述第一类接口发送所述第一数据信息给所述现场可编程门阵列;第一接收模块,用于通过所述第一类接口接收来自现场可编程门阵列的所述第二数据信息;每个所述目标终端包括:第三发送模块,用于通过所述第二类接口发送所述第二原始数据给所述现场可编程门阵列;第三接收模块,用于通过所述第二类接口接收来自所述现场可编程门阵列的所述第一原始数据。
在上述技术方案中,通过现场可编程门阵列实现了单CPU与若干个目标终端的接***互,扩展了单CPU的接口,降低了成本。
通过本发明提供的一种基于现场可编程门阵列的接口扩展方法及***,能够带来以下有益效果:
本发明通过FPGA实现接口扩展,使得单CPU通过一种数据接口可以控制支持多个不同接口协议的模块,降低了成本;通过更新FPGA软件,可以灵活的扩展接口,增加与新增目标终端的交互。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种基于现场可编程门阵列的接口扩展方法及***的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明的一种基于现场可编程门阵列的接口扩展方法的一个实施例的流程图;
图2是本发明的一种基于现场可编程门阵列的接口扩展方法的另一个实施例的流程图;
图3a是本发明的一种基于现场可编程门阵列的接口扩展方法的另一个实施例的流程图;
图3b是本发明的一种基于现场可编程门阵列的接口扩展方法的另一个实施例的部分流程图;
图4是本发明的一种现场可编程门阵列的一个实施例的结构示意图;
图5是本发明的一种现场可编程门阵列的另一个实施例的结构示意图;
图6是本发明的一种基于现场可编程门阵列的接口扩展***的一个实施例的结构示意图;
图7是本发明的一种基于现场可编程门阵列的接口扩展方法的一个实施例的FPGA与CPU之间的接口示意图;
图8是本发明的一种基于现场可编程门阵列的接口扩展***的一个实施例的第一类接口、第二类接口的示意图。
附图标号说明:
100.中央处理器,200.现场可编程门阵列,300.目标终端,110.第一发送模块,120.第一接收模块,210.第二发送模块,220.第二接收模块,230.解析模块,240.缓存模块,310.第三发送模块,320.第三接收模块,1.第一类接口,2.第二类接口。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
在本发明的一个实施例中,如图1所示,一种基于现场可编程门阵列的接口扩展方法,应用于现场可编程门阵列,所述现场可编程门阵列通过第一类接口与中央处理器相连,通过第二类接口与目标终端相连,所述第二类接口有若干个,不同的目标终端对应不同的第二类接口;还包括:
步骤S100通过所述第一类接口接收所述中央处理器发送的数据,得到第一数据信息;
步骤S200对所述第一数据信息进行解析,得到所述第一数据信息对应的所述目标终端的第一原始数据;
步骤S300通过所述第二类接口将所述第一原始数据发给所述第一数据信息对应的所述目标终端。
具体的,现场可编程门阵列,即FPGA(Field Programming GateArray);中央处理器,即CPU(Central Processing Unit)。第一类接口是指FPGA与CPU之间的接口,FPGA通过第一类接口与CPU相连,该第一类接口可能只包含一个接口,CPU发送消息与接收消息都通过同一接口;该第一类接口也可能包含两个接口,一个发接口用于CPU发送消息、一个收接口用于接收CPU发送的消息,两者相互独立。
第二类接口是指FPGA与各个目标终端之间的接口,比如FPGA与3个目标终端相连,FPGA与第一个目标终端、FPGA与第二个目标终端、FPGA与第三个目标终端的接口都属于第二类接口。不同的目标终端对应不同的第二类接口,比如,FPGA与第一个目标终端之间的接口、FPGA与第二个目标终端之间的接口、FPGA与第三个目标终端之间的接口是相互独立的,走不同的通道。与FPGA相连的所有目标终端,所遵循的接口协议可能全部相同,也可能部分相同,也可能完全不同。所述第二类接口包括GPIO口、串口、PCM接口、I2C接口、SPI接口。FPGA软件需要根据相连的目标终端的数量及各模块所遵循的接口协议来设计;所述第二类接口的通信速率也可根据目标终端支持的速率来配置。
FPGA通过第一类接口接收CPU发送的数据,按CPU-FPGA之间所遵循的物理接口协议进行接收,比如CPU-FPGA之间是串口,就按串口约定接收,得到CPU发送的用户数据,即第一数据信息。第一数据信息的格式有多种,比如,包头标识+目标终端编号+数据类型+原始数据,需要按约定的接口格式,对第一数据信息进行解析,得到原始数据,即为CPU发给第一数据信息中对应目标终端编号的目标终端的第一原始数据;通过第二类接口,比如SPI接口,按SPI接口协议约定将第一原始数据发给对应目标终端编号的目标终端。
在本发明的另一个实施例中,如图2所示,一种基于现场可编程门阵列的接口扩展方法,应用于现场可编程门阵列,所述现场可编程门阵列通过第一类接口与中央处理器相连,通过第二类接口与目标终端相连,所述第二类接口有若干个,不同的目标终端对应不同的第二类接口;还包括:
步骤S100通过所述第一类接口接收所述中央处理器发送的数据,得到第一数据信息;
步骤S200对所述第一数据信息进行解析,得到所述第一数据信息对应的所述目标终端的第一原始数据;
步骤S300通过所述第二类接口将所述第一原始数据发给所述第一数据信息对应的所述目标终端;
步骤S400通过第二类接口接收所述目标终端发送的数据,得到第二原始数据;
步骤S500对所述第二原始数据进行组装,得到第二数据信息;
步骤S600通过所述第一类接口将所述第二数据信息发给所述中央处理器。
具体的,与前一个实施例相比,增加了上行方向,即从目标终端→FPGA→CPU的接***互流程。FPGA通过第二类接口,按照FPGA-目标终端之间的接口约定,接收目标终端发送的数据,得到第二原始数据;FPGA要把第二原始数据发给CPU,在这之前,需要先按CPU-FPGA的接口约定,对第二原始数据进行组装,得到第二数据信息;假设CPU-FPGA的第二数据信息的格式为,包头标识+目标终端编号+数据类型+原始数据,则在第二原始数据前需要加上包头标识+目标终端编号+数据类型,组成第二数据信息;FPGA再通过第一类接口将所述第二数据信息发给CPU。
在本发明的另一个实施例中,如图3a、图3b所示,一种基于现场可编程门阵列的接口扩展方法,应用于现场可编程门阵列,所述现场可编程门阵列通过第一类接口与中央处理器相连,通过第二类接口与目标终端相连,所述第二类接口有若干个,不同的目标终端对应不同的第二类接口;还包括:
步骤S100通过所述第一类接口接收所述中央处理器发送的数据,得到第一数据信息;
所述第一数据信息包括:包头标识、地址信息和第一转义后的数据;
步骤S210在所述第一数据信息中寻找所述包头标识;
步骤S220当在所述第一数据信息中找到所述包头标识时,得到所述地址信息和对应的目标终端;
步骤S230当在所述第一数据信息中找到所述包头标识时,得到所述第一数据信息对应的所述目标终端的第一转义后的数据;
步骤S240将所述第一转义后的数据按照预设的转义规则进行反转义,得到所述第一原始数据;
所述步骤S240具体包括:
步骤S241遍历所述第一转义后的数据中每个字节的内容,判断是否存在至少一个第一字节;
所述第一字节为字节内容与第一转义字符相同的字节;
步骤S242当存在至少一个所述第一字节时,根据存在的所述第一字节,获取各所述第一字节对应的字节组合;
每个所述字节组合包括:一个所述第一字节的内容,和该第一字节对应的下一个字节的内容;
步骤S243根据预设的转义规则和各所述字节组合,得到各所述字节组合各自对应的被转义字符;
步骤S244将所述第一转义后的数据中所有所述字节组合替换为对应的所述被转义字符,得到所述第一数据信息对应的所述目标终端的第一原始数据;
步骤S300通过所述第二类接口将所述第一原始数据发给所述第一数据信息对应的所述目标终端;
步骤S400通过第二类接口接收所述目标终端发送的数据,得到第二原始数据;
步骤S510当所述第二原始数据包含被转义字符时,将所述被转义字符按照预设的转义规则进行转义,得到第二转义后的数据;
步骤S520在所述第二转义后的数据前加上包头标识和地址信息,按照所述中央处理器与现场可编程门阵列之间的接口格式,组装成所述第二数据信息;
所述包头标识为一个字符;
预设的转义规则为:
存在两个被转义字符,其中,与包头标识相同的字符为第一被转义字符,第二被转义字符为预设字符,所述第二被转义字符与所述第一被转义字符不同;
一个被转义字符转义后得到由两个字符组成的字节组合,其中,所述字节组合中的第一个字符固定为第二被转义字符,所述字节组合中的第二个字符根据所述被转义字符与预设函数运算公式计算得到;
步骤S610缓存所述第二数据信息;
步骤S620当缓存中有不少于一个所述目标终端的所述第二数据信息时,根据所述目标终端的优先级,优先发送优先级高的所述目标终端的所述第二数据信息给所述中央处理器。
具体的,与前一个实施例相比,用步骤S210-S240替代步骤S200、用步骤S241-S244细化了步骤S240、用步骤S510-S520替代步骤S500、步骤S610-S620替代步骤S600。图3a描述了整个流程,图3b详细描述了反转义过程。
为了避免原始数据中出现与包头标识相同的字节时,接收端对接收信息的误解,发送端对原始数据内容进行了转义;FPGA在将目标终端的第二原始数据发送给CPU时,遍历了第二原始数据包,当所述第二原始数据包含被转义字符时,将所述被转义字符按照预设的转义规则进行转义,得到第二转义后的数据;在此基础上,加上包头标识和地址信息,按照CPU与FPGA之间的接口格式,组装成所述第二数据信息;同理FPGA在接收CPU的数据时,对接收的第一数据信息进行拆包和反转义,从而得到第一原始数据。假设,CPU-FPGA之间的接口格式为:包头标识+地址信息+转义后的数据内容,如图7所示,其中0x7E为包头标识,Addr占一个字节,含义如下表所示:
Addr 功能
0x0 发送数据给目标终端0
0x1 发送数据给目标终端1
0x2 发送数据给目标终端2
0x3 接收目标终端0的数据
0x4 接收目标终端1的数据
0x5 接收目标终端2的数据
转义规则如下所示:
其中,被转义字符为0x7E和0x7D,其中0x7E为第一被转义字符,与包头标识相同,0x7D为第二被转义字符;一个被转义字符转义后得到由两个字符组成的字节组合,其中字节组合中的第一个字符为0x7D,即第二被转义字符,字节组合中的第二个字符根据预设函数运算公式计算得到,比如,上述表格是根据公式计算得到,/>表示异或操作,当x=0x7E时,得到转义后的第二个字符为0x5E;当x=0x7D时,得到转义后的第二个字符为0x5D。预设函数运算公式还可以为其他函数形式,比如,/>以上仅是一种实施例。
假设CPU给目标终端0发送的第一数据信息为:0x7E、0x0、0x1、0x7D、0x5E、0x2、0x7D、0x5D、0x7D、0x5E、0x5E;FPGA接收到CPU发送的该第一数据信息时,对第一数据信息进行解析,第1个字节0x7E为包头标识,0x0为Addr,表明是发给目标终端0的数据;Addr之后的数据为第一转义后的数据,即为0x1、0x7D、0x5E、0x2、0x7D、0x5D、0x7D、0x5E、0x5E;遍历第一转义后的数据中每个字节的内容,判断是否存在至少一个第一字节;此处的第一字节即为字节内容为0x7D的字节,即判断第一转义后的数据是否存在转义字符0x7D;如果存在,则按预设的转义规则进行反转义,即0x7D5E对应被转义字符0x7E,0x7D5D对应被转义字符0x7D;此例中,经过反转义后,得到0x1、0x7E、0x2、0x7D、0x7E、0x5E,即为第一原始数据。如果第一转义后的数据中不存在转义字符0x7D时,第一转义后的数据即为第一原始数据。如果第一转义后的数据中存在转义字符0x7D,但第一字节对应的字节组合既不是0x7D5E、也不是0x7D5D时,则说明传输过程中可能存在错误,此第一数据信息应抛弃。
FPGA在给CPU发送目标终端0的第二原始数据时,假设第二原始数据为0x1、0x7E、0x2、0x7D、0x7E、0x5E,需要检查第二原始数据是否存在被转义字符0x7E或0x7D;如果存在,则按预设的转义规则进行转义,即0x7E对应0x7D5E,0x7D对应0x7D5D,经过转义后,得到第二转义后的数据,即0x1、0x7D、0x5E、0x2、0x7D、0x5D、0x7D、0x5E、0x5E。将第二转义后的数据,加上包头标识0x7E,以及根据目标终端确定Addr为0x3,加上Addr,得到第二数据信息,即0x7E、0x3、0x1、0x7D、0x5E、0x2、0x7D、0x5D、0x7D、0x5E、0x5E。
可能同时有多个目标终端向FPGA发送数据,FPGA依次接收并缓存;当FPGA向CPU发送时,优先发送优先级高的目标终端的第二数据信息给CPU。
在本发明的另一个实施例中,如图4所示,一种现场可编程门阵列200包括:
现场可编程门阵列200通过第一类接口1与中央处理器100相连,通过第二类接口2与目标终端300相连,所述第二类接口2有若干个,不同的目标终端300对应不同的第二类接口2;
所述现场可编程门阵列200包括:
第二接收模块220,用于通过所述第一类接口1接收所述中央处理器100发送的数据,得到第一数据信息;
解析模块230,与所述第二接收模块220电连接,用于解析所述第一数据信息,得到所述中央处理器100发给所述第一数据信息对应的所述目标终端300的第一原始数据;
第二发送模块210,与所述解析模块230电连接,用于通过所述第二类接口2将所述第一原始数据发给所述第一数据信息对应的所述目标终端300。
具体的,现场可编程门阵列200,即FPGA(Field Programming GateArray);中央处理器100,即CPU(Central Processing Unit)。第一类接口1是指FPGA与CPU之间的接口,FPGA通过第一类接口1与CPU相连,该第一类接口可能只包含一个接口,CPU发送消息与接收消息都通过同一接口;该第一类接口也可能包含两个接口,一个发接口用于CPU发送消息、一个收接口用于接收CPU发送的消息,两者相互独立。
第二类接口2是指FPGA与各个目标终端之间的接口,比如FPGA与3个目标终端相连,FPGA与第一个目标终端、FPGA与第二个目标终端、FPGA与第三个目标终端的接口都属于第二类接口2。不同的目标终端300对应不同的第二类接口2,比如,FPGA与第一个目标终端之间的接口、FPGA与第二个目标终端之间的接口、FPGA与第三个目标终端之间的接口是相互独立的,走不同的通道。与FPGA相连的所有目标终端300,所遵循的接口协议可能全部相同,也可能部分相同,也可能完全不同。所述第二类接口2包括GPIO口、串口、PCM接口、I2C接口和SPI接口。FPGA软件需要根据相连的目标终端的数量及所遵循的接口协议来设计;所述第二类接口2的通信速率可根据目标终端300支持的速率来配置。
FPGA通过第一类接口1接收CPU发送的数据,按CPU-FPGA之间所遵循的物理接口协议进行接收,比如CPU-FPGA之间是串口,就按串口约定接收,得到CPU发送的用户数据,即第一数据信息。第一数据信息的格式有多种,比如,包头标识+目标终端编号+数据类型+原始数据,需要按约定的接口格式,对第一数据信息进行解析,得到原始数据,即为CPU发给第一数据信息中对应目标终端编号的目标终端300的第一原始数据;通过第二类接口2,比如SPI接口,按SPI接口协议约定将第一原始数据发给对应目标终端300编号的目标终端。
在本发明的另一个实施例中,如图4所示,一种现场可编程门阵列200包括:
现场可编程门阵列200通过第一类接口1与中央处理器100相连,通过第二类接口2与目标终端300相连,所述第二类接口2有若干个,不同的目标终端300对应不同的第二类接口2;
所述现场可编程门阵列200包括:
第二接收模块220,用于通过所述第一类接口1接收所述中央处理器100发送的数据,得到第一数据信息;
解析模块230,与所述第二接收模块220电连接,用于解析所述第一数据信息,得到所述第一数据信息对应的所述目标终端300的第一原始数据;
第二发送模块210,与所述解析模块230电连接,用于通过所述第二类接口2将所述第一原始数据发给所述第一数据信息对应的所述目标终端300;
所述第二接收模块220,进一步用于通过第二类接口2接收所述目标终端发送的数据,得到所述目标终端300发给所述中央处理器100的第二原始数据;
所述解析模块230,进一步用于对所述第二原始数据进行组装,得到第二数据信息;
所述第二发送模块210,进一步用于通过所述第一类接口1将所述第二数据信息发给所述中央处理器100。
具体的,与前一个实施例相比,增加了上行方向,即从目标终端→FPGA→CPU的接***互流程。FPGA通过第二类接口2,按照FPGA-目标终端之间的接口约定,接收目标终端300发送的数据,得到第二原始数据;FPGA要把第二原始数据发给CPU,在这之前,需要先按CPU-FPGA的接口约定,对第二原始数据进行组装,得到第二数据信息;假设CPU-FPGA的第二数据信息的格式为,包头标识+目标终端编号+数据类型+原始数据,则在第二原始数据前需要加上包头标识+目标终端编号+数据类型,组成第二数据信息;FPGA再通过第一类接口1将所述第二数据信息发给CPU。
在本发明的另一个实施例中,如图5所示,一种现场可编程门阵列200包括:
现场可编程门阵列200通过第一类接口1与中央处理器100相连,通过第二类接口2与目标终端300相连,所述第二类接口2有若干个,不同的目标终端300对应不同的第二类接口2;
所述现场可编程门阵列200包括:
第二接收模块220,用于通过所述第一类接口1接收所述中央处理器100发送的数据,得到第一数据信息;
解析模块230,与所述第二接收模块220电连接,用于解析所述第一数据信息,得到所述第一数据信息对应的所述目标终端300的第一原始数据;
第二发送模块210,与所述解析模块230电连接,用于通过所述第二类接口2将所述第一原始数据发给所述第一数据信息对应的所述目标终端300;
所述第一数据信息包括:包头标识、地址信息和第一转义后的数据;
所述解析模块230,进一步用于在所述第一数据信息中寻找所述包头标识;以及,当在所述第一数据信息中找到所述包头标识时,得到所述地址信息和对应的目标终端300;以及,当在所述第一数据信息中找到所述包头标识时,得到所述第一数据信息对应的所述目标终端300的第一转义后的数据;以及,将所述第一转义后的数据按照预设的转义规则进行反转义,得到所述第一原始数据;
所述解析模块230,进一步用于遍历所述第一转义后的数据中每个字节的内容,判断是否存在至少一个第一字节;所述第一字节为字节内容与第一转义字符相同的字节;以及,当存在至少一个所述第一字节时,根据存在的所述第一字节,获取各所述第一字节对应的字节组合;每个所述字节组合包括:一个所述第一字节的内容,和该第一字节对应的下一个字节的内容;以及,根据预设的转义规则和各所述字节组合,得到各所述字节组合各自对应的被转义字符;以及,将所述第一转义后的数据中所有所述字节组合替换为对应的所述被转义字符,得到所述中央处理器100发给所述第一数据信息对应的所述目标终端300的第一原始数据;
所述第二接收模块220,进一步用于通过第二类接口2接收所述目标终端300发送的数据,得到所述目标终端300发给所述中央处理器100的第二原始数据;
所述解析模块230,进一步用于对所述第二原始数据进行组装,得到第二数据信息;
所述第二发送模块210,进一步用于通过所述第一类接口1将所述第二数据信息发给所述中央处理器100;
所述解析模块230,进一步用于当所述第二原始数据包含被转义字符时,将所述被转义字符按照预设的转义规则进行转义,得到第二转义后的数据;以及,在所述第二转义后的数据前加上包头标识和地址信息,按照所述中央处理器100与现场可编程门阵列200之间的接口格式,组装成所述第二数据信息;
所述包头标识为一个字符;
预设的转义规则为:
存在两个被转义字符,其中,与包头标识相同的字符为第一被转义字符,第二被转义字符为预设字符,所述第二被转义字符与所述第一被转义字符不同;
一个被转义字符转义后得到由两个字符组成的字节组合,其中,所述字节组合中的第一个字符固定为第二被转义字符,所述字节组合中的第二个字符根据所述被转义字符与预设函数运算公式计算得到;
还包括缓存模块240,与所述解析模块230电连接,用于缓存所述第二数据信息;
所述第二发送模块210,进一步用于当缓存中有不少于一个所述目标终端300的所述第二数据信息时,根据所述目标终端300的优先级,优先发送优先级高的所述目标终端的所述第二数据信息给所述中央处理器100。
具体的,为了避免原始数据中出现与包头标识相同的字节时,接收端对接收信息的误解,发送端对原始数据内容进行了转义;FPGA在将目标终端300的第二原始数据发送给CPU时,遍历了第二原始数据包,当所述第二原始数据包含被转义字符时,将所述被转义字符按照预设的转义规则进行转义,得到第二转义后的数据;在此基础上,加上包头标识,按照CPU与FPGA之间的接口格式,组装成所述第二数据信息;同理FPGA在接收CPU的数据时,对接收的第一数据信息进行拆包和反转义,从而得到第一原始数据。假设,CPU-FPGA之间的接口格式为:包头标识+地址信息+转义后的数据内容,如图7所示,其中0x7E为包头标识,Addr占一个字节,含义如下表所示:
Addr 功能
0x0 发送数据给目标终端0
0x1 发送数据给目标终端1
0x2 发送数据给目标终端2
0x3 接收目标终端0的数据
0x4 接收目标终端1的数据
0x5 接收目标终端2的数据
转义规则如下所示:
其中,被转义字符为0x7E和0x7D,其中0x7E为第一被转义字符,与包头标识相同,0x7D为第二被转义字符;一个被转义字符转义后得到由两个字符组成的字节组合,其中字节组合中的第一个字符为0x7D,即第二被转义字符,字节组合中的第二个字符根据预设函数运算公式计算得到,比如,上述表格是根据公式计算得到,/>表示异或操作,当x=0x7E时,得到转义后的第二个字符为0x5E;当x=0x7D时,得到转义后的第二个字符为0x5D。预设函数运算公式还可以为其他函数形式,比如,/>,以上仅是一种实施例。
假设CPU给目标终端0发送的第一数据信息为:0x7E、0x0、0x1、0x7D、0x5E、0x2、0x7D、0x5D、0x7D、0x5E、0x5E;FPGA接收到CPU发送的该第一数据信息时,对第一数据信息进行解析,第1个字节0x7E为包头标识,0x0为Addr,表明是发给目标终端0的数据;Addr之后的数据为第一转义后的数据,即为0x1、0x7D、0x5E、0x2、0x7D、0x5D、0x7D、0x5E、0x5E;遍历第一转义后的数据中每个字节的内容,判断是否存在至少一个第一字节;此处的第一字节即为字节内容为0x7D的字节,即判断第一转义后的数据是否存在转义字符0x7D;如果存在,则按预设的转义规则进行反转义,即0x7D5E对应被转义字符0x7E,0x7D5D对应被转义字符0x7D;此例中,经过反转义后,得到0x1、0x7E、0x2、0x7D、0x7E、0x5E,即为第一原始数据。如果第一转义后的数据中不存在转义字符0x7D时,第一转义后的数据即为第一原始数据。如果第一转义后的数据中存在转义字符0x7D,但第一字节对应的字节组合既不是0x7D5E、也不是0x7D5D时,则说明传输过程中可能存在错误,此第一数据信息应抛弃。
FPGA在给CPU发送目标终端0的第二原始数据时,假设第二原始数据为0x1、0x7E、0x2、0x7D、0x7E、0x5E,需要检查第二原始数据是否存在被转义字符0x7E或0x7D;如果存在,则按预设的转义规则进行转义,即0x7E对应0x7D5E,0x7D对应0x7D5D,经过转义后,得到第二转义后的数据,即0x1、0x7D、0x5E、0x2、0x7D、0x5D、0x7D、0x5E、0x5E。将第二转义后的数据,加上包头标识0x7E,以及根据目标终端确定Addr为0x3,加上Addr,得到第二数据信息,即0x7E、0x3、0x1、0x7D、0x5E、0x2、0x7D、0x5D、0x7D、0x5E、0x5E。
可能同时有多个目标终端300向FPGA发送数据,FPGA依次接收并缓存;当FPGA向CPU发送时,优先发送优先级高的目标终端300的第二数据信息给CPU。
在本发明的另一个实施例中,如图6所示,一种基于现场可编程门阵列200的接口扩展***,包括:上述任一实施例中所述的现场可编程门阵列200;还包括:中央处理器100、若干个目标终端300;所述中央处理器100,与所述现场可编程门阵列200电连接;每个所述目标终端300,与所述现场可编程门阵列200电连接;
所述中央处理器100包括:
第一发送模块110,用于通过所述第一类接口1发送所述第一数据信息给所述现场可编程门阵列200;
第一接收模块120,用于通过所述第一类接口1接收来自现场可编程门阵列200的所述第二数据信息;
每个所述目标终端300包括:
第三发送模块310,用于通过所述第二类接口2发送所述第二原始数据给所述现场可编程门阵列200;
第三接收模块320,用于通过所述第二类接口2接收来自所述现场可编程门阵列200的所述第一原始数据。
具体的,现场可编程门阵列200可以与多个目标终端300相连,图6画了两个目标终端300,仅用于示意。
FPGA与CPU之间的接口为第一类接口1,如图8所示,按FPGA与CPU之间的接口为串口进行示意。CPU包括第一发送模块和第一接收模块,通过第一类接口1,与FPGA进行信息的交互。
FPGA与若干个目标终端300直接的接口为第二类接口2,如图8所示,按FPGA与目标终端之间的接口为SPI口进行示意。每个目标终端300包括第三发送模块和第三接收模块,通过第二类接口2,与FPGA进行信息的交互。通过FPGA实现了单CPU与若干个目标终端300的接***互,扩展了单CPU的接口,降低了成本。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种基于现场可编程门阵列的接口扩展方法,其特征在于:
现场可编程门阵列通过第一类接口与中央处理器相连,通过第二类接口与目标终端相连,所述第二类接口有若干个,不同的目标终端对应不同的第二类接口,还包括:
步骤S100通过所述第一类接口接收所述中央处理器发送的数据,得到第一数据信息,所述第一数据信息包括:包头标识、地址信息和第一转义后的数据;
步骤S200对所述第一数据信息进行解析,得到所述第一数据信息对应的所述目标终端的第一原始数据;
步骤S300通过所述第二类接口将所述第一原始数据发给所述第一数据信息对应的所述目标终端;
所述步骤S200具体包括:
步骤S210在所述第一数据信息中寻找所述包头标识;
步骤S220当在所述第一数据信息中找到所述包头标识时,得到所述地址信息和对应的目标终端;
步骤S230当在所述第一数据信息中找到所述包头标识时,得到所述第一数据信息对应的所述目标终端的第一转义后的数据;
步骤S240将所述第一转义后的数据按照预设的转义规则进行反转义,得到所述第一原始数据。
2.根据权利要求1所述的基于现场可编程门阵列的接口扩展方法,其特征在于,还包括:
步骤S400通过第二类接口接收所述目标终端发送的数据,得到第二原始数据;
步骤S500对所述第二原始数据进行组装,得到第二数据信息;
步骤S600通过所述第一类接口将所述第二数据信息发给所述中央处理器;
所述步骤S500具体包括:
步骤S510当所述第二原始数据包含被转义字符时,将所述被转义字符按照预设的转义规则进行转义,得到第二转义后的数据;
步骤S520在所述第二转义后的数据前加上包头标识和地址信息,按照所述中央处理器与现场可编程门阵列之间的接口格式,组装成所述第二数据信息。
3.根据权利要求1或2所述的基于现场可编程门阵列的接口扩展方法,其特征在于:
所述包头标识为一个字符;
预设的转义规则为:
存在两个被转义字符,其中,与包头标识相同的字符为第一被转义字符,第二被转义字符为预设字符,所述第二被转义字符与所述第一被转义字符不同;
一个被转义字符转义后得到由两个字符组成的字节组合,其中,所述字节组合中的第一个字符固定为第二被转义字符,所述字节组合中的第二个字符根据所述被转义字符与预设函数运算公式计算得到。
4.根据权利要求2所述的基于现场可编程门阵列的接口扩展方法,所述步骤S600具体包括:
步骤S610缓存所述第二数据信息;
步骤S620当缓存中有不少于一个所述目标终端的所述第二数据信息时,根据所述目标终端的优先级,优先发送优先级高的所述目标终端的所述第二数据信息给所述中央处理器。
5.一种现场可编程门阵列,其特征在于:
现场可编程门阵列通过第一类接口与中央处理器相连,通过第二类接口与目标终端相连,所述第二类接口有若干个,不同的目标终端对应不同的第二类接口;
所述现场可编程门阵列包括:
第二接收模块,用于通过所述第一类接口接收所述中央处理器发送的数据,得到第一数据信息,所述第一数据信息包括:包头标识、地址信息和第一转义后的数据;
解析模块,与所述第二接收模块电连接,用于解析所述第一数据信息,得到所述第一数据信息对应的所述目标终端的第一原始数据;
所述解析模块,进一步用于在所述第一数据信息中寻找所述包头标识;以及,当在所述第一数据信息中找到所述包头标识时,得到所述地址信息和对应的目标终端;以及,当在所述第一数据信息中找到所述包头标识时,得到所述第一数据信息对应的所述目标终端的第一转义后的数据;以及,将所述第一转义后的数据按照预设的转义规则进行反转义,得到所述第一原始数据;
第二发送模块,与所述解析模块电连接,用于通过所述第二类接口将所述第一原始数据发给所述第一数据信息对应的所述目标终端。
6.根据权利要求5所述的现场可编程门阵列,其特征在于:
所述第二接收模块,进一步用于通过第二类接口接收所述目标终端发送的数据,得到所述目标终端发给所述中央处理器的第二原始数据;
所述解析模块,进一步用于对所述第二原始数据进行组装,得到第二数据信息,当所述第二原始数据包含被转义字符时,将所述被转义字符按照预设的转义规则进行转义,得到第二转义后的数据;在所述第二转义后的数据前加上包头标识和地址信息,按照所述中央处理器与现场可编程门阵列之间的接口格式,组装成所述第二数据信息;
所述第二发送模块,进一步用于通过所述第一类接口将所述第二数据信息发给所述中央处理器。
7.一种基于现场可编程门阵列的接口扩展***,其特征在于,
包括:
权利要求6所述的现场可编程门阵列;
还包括:中央处理器、若干个目标终端;
所述中央处理器,与所述现场可编程门阵列电连接;
每个所述目标终端,与所述现场可编程门阵列电连接;
所述中央处理器包括:
第一发送模块,用于通过所述第一类接口发送所述第一数据信息给所述现场可编程门阵列;
第一接收模块,用于通过所述第一类接口接收来自现场可编程门阵列的所述第二数据信息;
每个所述目标终端包括:
第三发送模块,用于通过所述第二类接口发送所述第二原始数据给所述现场可编程门阵列;
第三接收模块,用于通过所述第二类接口接收来自所述现场可编程门阵列的所述第一原始数据。
CN201711339980.8A 2017-12-14 2017-12-14 一种基于现场可编程门阵列的接口扩展方法及*** Active CN108108316B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711339980.8A CN108108316B (zh) 2017-12-14 2017-12-14 一种基于现场可编程门阵列的接口扩展方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711339980.8A CN108108316B (zh) 2017-12-14 2017-12-14 一种基于现场可编程门阵列的接口扩展方法及***

Publications (2)

Publication Number Publication Date
CN108108316A CN108108316A (zh) 2018-06-01
CN108108316B true CN108108316B (zh) 2023-08-11

Family

ID=62216940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711339980.8A Active CN108108316B (zh) 2017-12-14 2017-12-14 一种基于现场可编程门阵列的接口扩展方法及***

Country Status (1)

Country Link
CN (1) CN108108316B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110880998B (zh) * 2019-12-03 2022-09-20 锐捷网络股份有限公司 一种基于可编程器件的报文传输方法及装置
CN111464638A (zh) * 2020-03-31 2020-07-28 潍柴动力股份有限公司 数据报文的处理方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970956B1 (en) * 2001-10-01 2005-11-29 Juniper Networks, Inc. Scaleable gap insertion in a data link
CN102377505A (zh) * 2010-08-06 2012-03-14 研祥智能科技股份有限公司 一种基于串口的ipmi数据包传输方法
CN103714024A (zh) * 2013-12-18 2014-04-09 国核自仪***工程有限公司 一种基于SoC FPGA的多串口并行处理架构
CN104484301A (zh) * 2014-12-25 2015-04-01 南京因泰莱电器股份有限公司 一种基于fpga具有自识别功能的io总线装置
CN104636300A (zh) * 2015-02-09 2015-05-20 南京国电南自美卓控制***有限公司 基于soc fpga的串行收发器及数据接收发送方法
CN105095139A (zh) * 2014-05-08 2015-11-25 中兴通讯股份有限公司 集成电路总线***及其数据操作和传输方法
CN105530590A (zh) * 2014-09-29 2016-04-27 阿里巴巴集团控股有限公司 设备间共享资源的方法及电子设备
CN205692166U (zh) * 2016-06-12 2016-11-16 成都傅立叶电子科技有限公司 基于PowerPC架构中央处理器的核心板
CN106201629A (zh) * 2016-07-22 2016-12-07 北京广利核***工程有限公司 一种对多片目标fpga编程的方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970956B1 (en) * 2001-10-01 2005-11-29 Juniper Networks, Inc. Scaleable gap insertion in a data link
CN102377505A (zh) * 2010-08-06 2012-03-14 研祥智能科技股份有限公司 一种基于串口的ipmi数据包传输方法
CN103714024A (zh) * 2013-12-18 2014-04-09 国核自仪***工程有限公司 一种基于SoC FPGA的多串口并行处理架构
CN105095139A (zh) * 2014-05-08 2015-11-25 中兴通讯股份有限公司 集成电路总线***及其数据操作和传输方法
CN105530590A (zh) * 2014-09-29 2016-04-27 阿里巴巴集团控股有限公司 设备间共享资源的方法及电子设备
CN104484301A (zh) * 2014-12-25 2015-04-01 南京因泰莱电器股份有限公司 一种基于fpga具有自识别功能的io总线装置
CN104636300A (zh) * 2015-02-09 2015-05-20 南京国电南自美卓控制***有限公司 基于soc fpga的串行收发器及数据接收发送方法
CN205692166U (zh) * 2016-06-12 2016-11-16 成都傅立叶电子科技有限公司 基于PowerPC架构中央处理器的核心板
CN106201629A (zh) * 2016-07-22 2016-12-07 北京广利核***工程有限公司 一种对多片目标fpga编程的方法和装置

Also Published As

Publication number Publication date
CN108108316A (zh) 2018-06-01

Similar Documents

Publication Publication Date Title
JP7289332B2 (ja) 電子制御ユニット、フレーム生成方法及びプログラム
USRE45570E1 (en) Data transmission method using packet aggregation
CN1197281C (zh) 实时业务中的标题压缩
US9906491B2 (en) Improving transmission efficiency of data frames by using shorter addresses in the frame header
JP7192074B2 (ja) ネットワークハブ、転送方法及び車載ネットワークシステム
US20070070904A1 (en) Feedback mechanism for flexible load balancing in a flow-based processor affinity scheme
CN108108316B (zh) 一种基于现场可编程门阵列的接口扩展方法及***
CN109561395A (zh) 一种蓝牙传输方法及装置
EP4024782A1 (en) Method by which host network performance requirements may be programmed, device and system
KR101330900B1 (ko) 가변 프레임 크기를 가진 링크 상에서 더 높은 데이터 레이트를 지원하는 장치 및 방법
CN112003937A (zh) 卫星数据传输方法、装置、计算机设备、存储介质
CN102598598A (zh) 用于分析数据分组的设备、数据分组处理***和方法
CN114301576B (zh) 用于在ieee 802.15.4网络中生成和发送应答帧的方法及通信装置
WO2016015441A1 (zh) 一种业务数据管理的方法、装置及***
CN114828140A (zh) 业务流量报文转发方法及装置、存储介质及电子设备
EP2936765A1 (en) Method and apparatus for handling messages
CN117041370A (zh) 一种通信方法及***
CN109525682B (zh) 业务处理方法、装置、网元实体及计算机可读存储介质
US8625619B2 (en) Domain gateway control system and method thereof
US7688718B2 (en) Variable-sized packet support for enhanced synchronous connection oriented links over a USB interface
CN110138505B (zh) 一种异构协议转换的crc计算方法及***
CN113238982A (zh) 数据通信方法、装置、计算机设备和存储介质
CN112261121A (zh) 一种报文处理方法及装置
JPWO2005050935A1 (ja) 侵入検知装置およびその方法
JP2739830B2 (ja) マルチプロセッサシステム用データ通信装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201110

Address after: 318015 no.2-3167, zone a, Nonggang City, no.2388, Donghuan Avenue, Hongjia street, Jiaojiang District, Taizhou City, Zhejiang Province

Applicant after: Taizhou Jiji Intellectual Property Operation Co.,Ltd.

Address before: 201616 Shanghai city Songjiang District Sixian Road No. 3666

Applicant before: Phicomm (Shanghai) Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230606

Address after: Unit 402A, Building 2, Building 1, Keji 7th Road, Tangjiawan Town, High tech Zone, Zhuhai City, Guangdong Province, 519000

Applicant after: ZHUHAI SG ELECTRIC TECHNOLOGY CO.,LTD.

Address before: 318015 no.2-3167, area a, nonggangcheng, 2388 Donghuan Avenue, Hongjia street, Jiaojiang District, Taizhou City, Zhejiang Province

Applicant before: Taizhou Jiji Intellectual Property Operation Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230720

Address after: Unit 402A, Building 2, Building 1, Keji 7th Road, Tangjiawan Town, High tech Zone, Zhuhai City, Guangdong Province, 519000

Applicant after: ZHUHAI SG ELECTRIC TECHNOLOGY CO.,LTD.

Applicant after: Gao Wei

Address before: Unit 402A, Building 2, Building 1, Keji 7th Road, Tangjiawan Town, High tech Zone, Zhuhai City, Guangdong Province, 519000

Applicant before: ZHUHAI SG ELECTRIC TECHNOLOGY CO.,LTD.

GR01 Patent grant
GR01 Patent grant