CN113760799B - Upp接口的可扩展通信方法、装置、计算机设备和存储介质 - Google Patents
Upp接口的可扩展通信方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113760799B CN113760799B CN202010497461.XA CN202010497461A CN113760799B CN 113760799 B CN113760799 B CN 113760799B CN 202010497461 A CN202010497461 A CN 202010497461A CN 113760799 B CN113760799 B CN 113760799B
- Authority
- CN
- China
- Prior art keywords
- data
- communication
- module
- data frame
- port
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 211
- 238000004891 communication Methods 0.000 title claims abstract description 210
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/382—Information transfer, e.g. on bus using universal interface adapter
-
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种UPP接口的可扩展通信方法、装置、计算机设备和存储介质,该方法包括接收或发送通信数据,所述通信数据具有数据帧,其中,所述数据帧具有预设帧结构,所述数据帧包括至少一个通信单元,每一所述通信单元包括用于标识设备的模块号头、用于标识端口的端口号头、用于标识应用的套接字号头以及通信数据。通过将数据帧设置为包含模块号头、端口号头、套接字号头以及通信数据的帧结构,能够实现包含模块、端口和套接字的层次化的通信功能;此外,通过模块、端口和套接字对对象进行抽象,增加通信单元(对象)变得更加容易,使得设备的扩展更为简易、便捷。
Description
技术领域
本发明涉及OMAP处理器UPP接口可扩展通信协议技术领域,特别涉及一种UPP接口的可扩展通信方法、装置、计算机设备和存储介质。
背景技术
列车上的控制器大多采用TI(Texas Instruments,德州仪器)公司OMAP(OpenMultimedia Application Platform)处理器,目前,控制器的控制实时性会就决定逆变、网侧控制的精度。现有的控制周期在微秒级,而通信频率通常低于100MHz。一个控制周期需要处理的通信量需要几十到上百个,即在同一个控制周期下需要传输通信几十到上百次,100MHz传输频率已经接近微妙级控制的临界值。因此提高通信的效率及实时性很有必要。此外,由于经常改动代码,软件复用程度低,软件版本多,版本管理困难;新增或扩展设备时,需要更改程序架构,导致扩展通信设备时很困难。
因此,尽可能提高通信的实时性、以及代码的可复用性具有一定的实际意义。
发明内容
基于此,有必要针对上述技术问题,提供一种UPP接口的可扩展通信方法、装置、计算机设备和存储介质。
一种UPP接口的可扩展通信方法,包括:
接收或发送通信数据,所述通信数据具有数据帧,其中,所述数据帧具有预设帧结构,所述数据帧包括至少一个通信单元,每一所述通信单元包括用于标识设备的模块号头、用于标识端口的端口号头、用于标识应用的套接字号头以及应用数据。
在一个实施例中,还包括:
在接收所述通信数据时,检测所述数据帧是否在第一注册表中;
当所述数据帧在所述第一注册表中时,接收所述通信数据,当所述数据帧不在所述第一注册表中时,丢弃所述通信数据。
在一个实施例中,在所述在接收所述通信数据时,检测所述数据帧是否在注册表中的步骤之前还包括:
调用协议栈注册函数,根据接收数据信息进行编码注册,得到所述第一注册表。
在一个实施例中,还包括:
在发送所述通信数据时,获取所述第二注册表;
根据所述第二注册表,生成数据队列;
按照所述数据队列的顺序发送所述通信数据。
在一个实施例中,在所述在发送所述通信数据时,获取所述第二注册表的步骤之前还包括:
调用协议栈注册函数,根据发送数据信息进行编码注册,得到所述第二注册表。
在一个实施例中,还包括:
获取所述数据帧;
检测所述数据帧内是否存在多个相同的模块号头,当存在多个相同的模块号头时,将多个相同的模块号头合并为一个父节点模块号头,并且将多个相同的模块号头对应的端口号头作为所述父节点模块号头的子节点;
将侧所述父节点模块号头内是否存在多个相同的端口号头,当存在多个相同的端口号头时,将多个相同的端口号头合并为一个父节点端口号头,并且将多个相同的端口号头对应的套接字号头作为所述父节点端口号头的子节点。
一种UPP接口的可扩展通信装置,包括:
通信模块,用于接收或发送通信数据,所述通信数据具有数据帧,其中,所述数据帧具有预设帧结构,所述数据帧包括至少一个通信单元,每一所述通信单元包括用于标识设备的模块号头、用于标识端口的端口号头、用于标识应用的套接字号头以及应用数据。
在一个实施例中,还包括:
数据帧获取模块,用于获取所述数据帧;
模块号头合并模块,用于检测所述数据帧内是否存在多个相同的模块号头,当存在多个相同的模块号头时,将多个相同的模块号头合并为一个父节点模块号头,并且将多个相同的模块号头对应的端口号头作为所述父节点模块号头的子节点;
端口号头合并模块,用于将侧所述父节点模块号头内是否存在多个相同的端口号头,当存在多个相同的端口号头时,将多个相同的端口号头合并为一个父节点端口号头,并且将多个相同的端口号头对应的套接字号头作为所述父节点端口号头的子节点。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
接收或发送通信数据,所述通信数据具有数据帧,其中,所述数据帧具有预设帧结构,所述数据帧包括至少一个通信单元,每一所述通信单元包括用于标识设备的模块号头、用于标识端口的端口号头、用于标识应用的套接字号头以及应用数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收或发送通信数据,所述通信数据具有数据帧,其中,所述数据帧具有预设帧结构,所述数据帧包括至少一个通信单元,每一所述通信单元包括用于标识设备的模块号头、用于标识端口的端口号头、用于标识应用的套接字号头以及应用数据。
上述UPP接口的可扩展通信方法、装置、计算机设备和存储介质,通过将数据帧设置为包含模块号头、端口号头、套接字号头以及应用数据的帧结构,能够实现包含模块、端口和套接字的层次化的通信功能;此外,通过模块、端口和套接字对对象进行抽象,增加通信单元(对象)变得更加容易,使得设备的扩展更为简易、便捷。
附图说明
图1A为一个实施例中UPP接口的可扩展通信方法的流程示意图;
图1B为另一个实施例中UPP接口的可扩展通信方法的流程示意图;
图1C为又一个实施例中UPP接口的可扩展通信方法的流程示意图;
图1D为另一个实施例中UPP接口的可扩展通信方法的流程示意图;
图1E为又一个实施例中UPP接口的可扩展通信方法的流程示意图;
图1F为再一个实施例中UPP接口的可扩展通信方法的流程示意图;
图2为一个实施例中UPP接口的可扩展通信装置的结构框图;
图3为一个实施例中计算机设备的内部结构图;
图4为一个实施例中的通信单元的结构示意图;
图5为一个实施例中的数据帧的结构示意图;
图6为一个实施例中通信数据的接收过程流程示意图;
图7为一个实施例中通信数据的发送过程流程示意图;
图8为一个实施例中数据帧的合并示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1A所示,提供了一种UPP接口的可扩展通信方法,本实施例中的UPP接口的可扩展通信方法适用于OMAP处理器的通信,其包括:
步骤100,接收或发送通信数据,所述通信数据具有数据帧。
其中,所述数据帧具有预设帧结构,所述数据帧包括至少一个通信单元,每一所述通信单元包括用于标识设备的模块号头、用于标识端口的端口号头、用于标识应用的套接字号头以及应用数据。
本实施例中,通信数据的接收或者发送,均为OMAP处理器的UPP接口的通信过程,OMAP处理器的UPP接口的通信协议中,数据的传输基于三层模型,三层模型分为物理接口层、MPS(Module-Port-Socket)协议栈层、应用层。其中,物理接口层规定了通信介质的物理特性,如电气特性和信号交换的解析。MPS协议栈层负责协议的解析,数据的传输转发。应用层提供应用用户使用。本实施例中,数据帧工作在MPS协议栈层,该通信数据也可称为通信信号。
具体地,该数据帧中,采用基于Module-Port-Socket的三级复合帧结构,其中,Module表示模块号,Port表示端口号,Socket表示套接字号,数据帧中的模块号头的值为模块号,端口号头的值为端口号,套接字号头的值为套接字号,通过三级复合帧结构可实现对通信对象的层次化寻址。应用层无须关注更底层的接口、通信链路,直接通过Module-Port-Socket的编码即可获取系统中的通信数据,每一项数据帧都是通过Module-Port-Socket来表征,这样,能够使得通信效率更高。
本实施例中,如图4和图5所示,每一数据帧包括帧头和至少一个通信单元,一个数据帧可以由多个通信单元组成,如图4所示,通信单元包括模块号头(Module head)、端口号头(Port head)、套接字号头(Socket head)以及应用数据(Data),应用数据为实际传输的应用的数据。
模块号(Module)是一级功能单元,比如,一级功能单元可以是一个设备,这样,模块号可以标识设备,端口号(Port)为二级功能单元,可以作为通讯链路扩展口,例如不同的端口号用来表征连接不同的通信链路。套接字号(Socket)为端口下的三级功能单元,设备通过该端口实现具体应用的扩展。这样,通过模块号、端口号和套接字号,即可对通信对象进行层次化寻址,确定通信数据对应的通信设备、通信的端口以及端口上的实现的应用,这样,新增或扩展设备时,或者增加端口、应用时,仅需增加相应的模块号头、端口号头、套接字号头,而无需需要更改程序架构,使得扩展更为简易。
上述实施例中,通过将数据帧设置为包含模块号头、端口号头、套接字号头以及应用数据的帧结构,能够实现包含模块、端口和套接字的层次化的通信功能;此外,通过模块、端口和套接字对对象进行抽象,增加通信单元(对象)变得更加容易,使得设备的扩展更为简易、便捷。
在一个实施例中,如图5所示,数据帧还包括校验和(CheckSum),每一数据帧包括一校验和,该校验和位于数据帧的尾部,这样在接收了应用数据后,可通过校验和的校验,检测应用数据是否错误或者丢失。
在一个实施例中,如图1B所示,UPP接口的可扩展通信方法还包括:
步骤112,在接收所述通信数据时,检测所述数据帧是否在第一注册表中;
步骤114,当所述数据帧在所述第一注册表中时,接收所述通信数据,当所述数据帧不在所述第一注册表中时,丢弃所述通信数据。
具体地,该第一注册表由协议栈根据注册的(Module,Port,Socket)的值汇总而成,该第一注册表内记录了待接收的通信对象的模块号、端口号和套接字号,第一注册表也可以称为接收注册表。记录在该第一注册表中的通信对象的通信数据有需要的数据、有效的数据,反之,未记录在第一注册表中的通信数据为无效或者不需要的数据。
本实施例中,在通信数据的接收过程中,首先检测通信数据的数据帧是否在第一注册表中,当数据帧在第一注册表中,表示该数据帧对应的通信数据为有效的数据,则接收该通信数据,当第一注册表中没有该数据帧时,则表明该通信数据为无效数据,表明该通信数据是不需要的,因此,将该通信数据丢弃。从而避免了无效数据的接收,并且有效提高了数据的处理效率,提高通信效率。
一个实施例中,在接收所述通信数据时,解析所述通信数据,获得所述通信数据的数据帧,获取所述数据帧的模块号头、端口号头和套接字号头,进而得到获取所述数据帧的模块号、端口号和套接字号,检测所述数据帧的模块号、端口号和套接字号是否在第一注册表中;当所述数据帧的模块号、端口号和套接字号在所述第一注册表中时,接收所述通信数据,当所述数据帧不在所述第一注册表中时,丢弃所述通信数据。
本实施例中,通过检测第一注册表中是否存在与数据帧的模块号、端口号和套接字号相同的模块号、端口号和套接字号,检测数据帧是否存在与第一注册表中。
在一个实施例中,如图1C所示,在所述在接收所述通信数据时,检测所述数据帧是否在注册表中的步骤之前还包括:步骤110,调用协议栈注册函数,获取接收数据信息,根据接收数据信息进行编码注册,得到所述第一注册表。
本实施例中,使用者在调用在协议时需要使用相应的注册机制以进行数据的接收。本实施例中,使用者在初始化时调用协议栈注册函数,进行接收数据信息的注册,对(Module,Port,Socket)进行不同的编码注册。
具体地,接收数据信息中携带通信对象的模块号、端口号和套接字号,该协议栈注册函数用于对接收数据信息中的模块号、端口号和套接字号进行编码注册,得到包含通信对象的模块号、端口号和套接字号的第一注册表。这样,能够在通信数据的接手前生成第一注册表,以明确通信对象,并且可以根据需要对第一注册表内的信息进行添加或者删除,使得增加通信单元(对象)变得更加容易,使得设备的扩展更为简易、便捷。
在一个实施例中,如图1D所示,UPP接口的可扩展通信方法还包括:
步骤122,在发送所述通信数据时,获取所述第二注册表;
步骤124,根据所述第二注册表,生成数据队列;按照所述数据队列的顺序发送所述通信数据。
本实施例中,该第二注册表由协议栈根据注册的(Module,Port,Socket)的值汇总而成,该二注册表内记录了数据发送的通信对象的模块号、端口号和套接字号,该第二注册表也可以称为发送注册表。解析该第二注册表,得到数据队列,该数据队列记录了通信数据的发送顺序。因此,通过第二注册表能够按照数据队列的顺序发送通信数据,使得通信数据的发送更为有序。
在一个实施例中,如图1E所示,在所述在发送所述通信数据时,获取所述第二注册表的步骤之前还包括:步骤120,调用协议栈注册函数,获取发送数据信息,根据发送数据信息进行编码注册,得到所述第二注册表。
本实施例中,使用者在调用在协议时需要使用相应的注册机制以进行数据的发送。本实施例中,使用者在初始化时调用协议栈注册函数,进行发送数据信息的注册,对(Module,Port,Socket)进行不同的编码注册。
具体地,发送数据信息中携带通信对象的模块号、端口号和套接字号,该协议栈注册函数用于对发送数据信息中的模块号、端口号和套接字号进行编码注册,得到包含通信对象的模块号、端口号和套接字号的第二注册表。这样,不同的模块号将按顺序注册,不同的端口号将按顺序注册,不同的套接字号将按顺序注册,从而形成数据队列,记录在第二注册表中。在数据发送时,则根据模块号、端口号、套接字号的顺序将数据帧发送,并且根据模块号、端口号、套接字号,将对应的应用数据填充至数据帧中,计算生成校验和,从而形成完整的数据帧进行发送。
值得一提的是,在第二注册表注册时,会根据用户注册信息生成一个用户队列,该队列是包含多个(Module,Port,Socket)信息的,用户在发送填充(Module_x,Port_y,Socket_z)数据信息时,底层协议栈会做一个比较,如果不是用户注册发送的(Module,Port,Socket),就不会发送,也就是说,在数据发送时,查注册表,如果待发送的数据不在注册表中就不填充,当待发送的数据在注册表中时,则将应用数据填充至模块号、端口号、套接字号对应的数据帧中,计算生成校验和,从而形成完整的数据帧进行发送。
为了节省空间资源,减小单个数据帧的数据量,在一个实施例中,如图1F所示,UPP接口的可扩展通信方法还包括:
步骤130,在发送通信数据时,获取所述数据帧;
步骤132,检测所述数据帧内是否存在多个相同的模块号头,当存在多个相同的模块号头时,将多个相同的模块号头合并为一个父节点模块号头,并且将多个相同的模块号头对应的端口号头作为所述父节点模块号头的子节点;
步骤134,将侧所述父节点模块号头内是否存在多个相同的端口号头,当存在多个相同的端口号头时,将多个相同的端口号头合并为一个父节点端口号头,并且将多个相同的端口号头对应的套接字号头作为所述父节点端口号头的子节点。
本实施例中,所述数据帧具有树状结构,其中,所述数据帧的帧头为各所述通信单元的父节点,在一个通信单元中,所述模块号头为端口号头的父节点,所述端口号头为所述套接字号头的父节点,这样,可以将具有相同的模块号头的多个端口号头合并至一个父节点的模块号头,将具有相同的端口号头的多个套接字号头合并至一个父节点的端口号头,从而使得数据帧的模块号头和端口号头有效减小,从而减小数据帧的长度,有效节省空间资源,减小单个数据帧的数据量。
比如,合并前的数据帧的包括(Module_1,Port_1,Socket_1)、(Module_1,Port_2,Socket_2)和(Module_1,Port_2,Socket_3),由于三者的模块号相同,因此,合并至同一个父节点的Module_1,而(Module_1,Port_2,Socket_2)和(Module_1,Port_2,Socket_3)的端口号均为Port_2,因此,可将两者的端口号合并,最终合并后的数据帧的结构为Module_1:((Port_1,Socket_1),(Port_2:(Socket_2,Socket_3)))
下面是一个具体的实施例:
本实施例中,OMAP处理器的UPP接口的通信协议基于三层模型,分层模型中分为三层:物理接口层、MPS协议栈、应用层。其中,
物理接口层:规定了通信介质的物理特性如电气特性和信号交换的解析。
MPS协议栈:负责协议的解析,数据的传输转发。
应用层:提供应用用户使用。
以下是传输网络层及应用层协议的内容:
(1)物理层
TI公司OMAP UPP通讯是一种高速通信协议,提供了不同的速度模式,为了提高通信速率,选择设置为37.5MHz、16bit,双沿模式可达到70MHz,尽可能提高通信速率。
(2)MPS组件协议栈
组件协议是本发明的核心内容。通常的16bit的UPP以字作为最小细分单元,MPS协议栈对通信对象进行了细致的划分:由一定特征的UPP字段组成通信句柄Socket,由Socket组成通信Port端,由不同的Port段组成一个具体的通信对象Module。
数据段采用基于Module-Port-Socket的三级复合帧结构,可实现对通信对象的层次化寻址。应用层无须关注更底层的接口、通信链路是,直接通过Module-Port-Socket的编码即可获取系统中的通信数据,每一项数据帧都是通过Module-Port-Socket来表征的。
1)Module号:Module号是一级功能单元,一级功能单元可以是一个设备。
2)Port号:Port属于二级功能单元,可以作为通讯链路扩展口,例如不同的Port号用来表征连接不同的通信链路。
3)Socket号:Socket为Port下的三级功能单元,设备通过该端口实现具体应用的扩展。
(3)数据帧:
如图4所示,一个通信单元包含Module head、Port head、Socket head、Data、CheckSum组成。
如图5所示,一个数据帧可以由多个通信单元组成。
本实施例中,用(Module,Port,Socket)三维向量作为一个数据元来定义通信单元,使用上述通信划分,带来通信上的优势:
(a)实现层次化的Module、Port、Socket的通信功能;
(b)通信对象抽象后,增加通信单元(对象)变得更加容易;
组件协议栈通过基于Module、Port、Socket的深度优先搜索,依据(Module,Port,Socket)三维向量作为一个通信单元,搜索与匹配满足该特征的数据。
下面是应用数据的获取的过程的阐述:
使用者在调用在协议时需要使用相应的注册机制以进行数据的收发,具体如下:
请结合图6所示,数据接收:
(a)使用者在初始化时调用协议栈注册函数,进行接收数据信息的注册,对(Module,Port,Socket)进行不同的编码注册。
(b)协议栈根据注册的(Module,Port,Socket)的值汇总成注册表,进行数据的接收
(c)数据(Module_x,Port_y,Socket_z)到来时,判断是否在注册表中,如果在注册表中,则进行数据的接收;如果不在则丢弃;
请结合图7所示,数据发送:
(a)使用者在初始化时调用协议栈注册函数,进行发送数据信息的注册,对(Module,Port,Socket)进行不同的编码注册;
(b)在发送(Module,Port,Socket)数据元注册时,协议栈根据注册信息形成(Module_1,Port_1,Socket_1)+(Module_2,Port_2,Socket_2)+(Module_3,Port_3,Socket_3)+...+(Module_n,Port_n,Socket_n)的数据队列;
(c)在一个发送周期到来时,按照数据队列进行当前数据的发送。
(1)性能优化
在接收数据时,在UPP中断中进行侦听,及时响应数据接收;在数据发送时,进行相同维度的数据合并。例如,将(Module_1,Port_1,Socket_1)+(Module_1,Port_2,Socket_2)+(Module_1,Port_2,Socket_3)数据队列合并成Module_1:((Port_1,Socket_1),(Port_2:(Socket_2,Socket_3)))树形结构。树形结构的数据结构节约了空间资源。
如图8所示,一个例子中,(Module_1,Port_1,Socket_1)+(Module_1,Port_2,Socket_2)数据队列合并成Module_1:((Port_1,Socket_1),(Port_2:(Socket_2))的树形结构。另一个例子中,(Module_1,Port_1,Socket_1)+(Module_1,Port_1,Socket_2)数据队列合并成Module_1:Port_1:(Socket_1,Socket_2)的树形结构。
在一个实施例中,如图2所示,提供了一种UPP接口的可扩展通信装置,其应用于与上位机通信的控制器,包括:
通信模块200,用于接收或发送通信数据,所述通信数据具有数据帧,其中,所述数据帧具有预设帧结构,所述数据帧包括至少一个通信单元,每一所述通信单元包括用于标识设备的模块号头、用于标识端口的端口号头、用于标识应用的套接字号头以及应用数据。
在一个实施例中,UPP接口的可扩展通信装置还包括:
数据帧检测模块,用于在接收所述通信数据时,检测所述数据帧是否在第一注册表中;
通信数据处理模块,用于当所述数据帧在所述第一注册表中时,接收所述通信数据,当所述数据帧不在所述第一注册表中时,丢弃所述通信数据。
在一个实施例中,UPP接口的可扩展通信装置还包括:
第一注册表生成模块,用于调用协议栈注册函数,根据接收数据信息进行编码注册,得到所述第一注册表。
在一个实施例中,UPP接口的可扩展通信装置还包括:
第二注册表获取模块,用于在发送所述通信数据时,获取所述第二注册表;
数据队列获取模块,用于根据所述第二注册表,生成数据队列;
通信数据发送模块,用于按照所述数据队列的顺序发送所述通信数据。
在一个实施例中,UPP接口的可扩展通信装置还包括:
第二注册表生成模块,用于调用协议栈注册函数,根据发送数据信息进行编码注册,得到所述第二注册表。
在一个实施例中,UPP接口的可扩展通信装置还包括:
数据帧获取模块,用于获取所述数据帧;
模块号头合并模块,用于检测所述数据帧内是否存在多个相同的模块号头,当存在多个相同的模块号头时,将多个相同的模块号头合并为一个父节点模块号头,并且将多个相同的模块号头对应的端口号头作为所述父节点模块号头的子节点;
端口号头合并模块,用于将侧所述父节点模块号头内是否存在多个相同的端口号头,当存在多个相同的端口号头时,将多个相同的端口号头合并为一个父节点端口号头,并且将多个相同的端口号头对应的套接字号头作为所述父节点端口号头的子节点。
关于UPP接口的可扩展通信装置的具体限定可以参见上文中对于UPP接口的可扩展通信方法的限定,在此不再赘述。上述UPP接口的可扩展通信装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了计算机设备,该计算机设备为包含OMAP处理器的设备。其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与上位机通过CAN连接通信。该计算机程序被处理器执行时以实现一种UPP接口的可扩展通信方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收或发送通信数据,所述通信数据具有数据帧,其中,所述数据帧具有预设帧结构,所述数据帧包括至少一个通信单元,每一所述通信单元包括用于标识设备的模块号头、用于标识端口的端口号头、用于标识应用的套接字号头以及应用数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在接收所述通信数据时,检测所述数据帧是否在第一注册表中;
当所述数据帧在所述第一注册表中时,接收所述通信数据,当所述数据帧不在所述第一注册表中时,丢弃所述通信数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
调用协议栈注册函数,根据接收数据信息进行编码注册,得到所述第一注册表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在发送所述通信数据时,获取所述第二注册表;
根据所述第二注册表,生成数据队列;
按照所述数据队列的顺序发送所述通信数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
调用协议栈注册函数,根据发送数据信息进行编码注册,得到所述第二注册表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取所述数据帧;
检测所述数据帧内是否存在多个相同的模块号头,当存在多个相同的模块号头时,将多个相同的模块号头合并为一个父节点模块号头,并且将多个相同的模块号头对应的端口号头作为所述父节点模块号头的子节点;
将侧所述父节点模块号头内是否存在多个相同的端口号头,当存在多个相同的端口号头时,将多个相同的端口号头合并为一个父节点端口号头,并且将多个相同的端口号头对应的套接字号头作为所述父节点端口号头的子节点。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收或发送通信数据,所述通信数据具有数据帧,其中,所述数据帧具有预设帧结构,所述数据帧包括至少一个通信单元,每一所述通信单元包括用于标识设备的模块号头、用于标识端口的端口号头、用于标识应用的套接字号头以及应用数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在接收所述通信数据时,检测所述数据帧是否在第一注册表中;
当所述数据帧在所述第一注册表中时,接收所述通信数据,当所述数据帧不在所述第一注册表中时,丢弃所述通信数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
调用协议栈注册函数,根据接收数据信息进行编码注册,得到所述第一注册表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在发送所述通信数据时,获取所述第二注册表;
根据所述第二注册表,生成数据队列;
按照所述数据队列的顺序发送所述通信数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
调用协议栈注册函数,根据发送数据信息进行编码注册,得到所述第二注册表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取所述数据帧;
检测所述数据帧内是否存在多个相同的模块号头,当存在多个相同的模块号头时,将多个相同的模块号头合并为一个父节点模块号头,并且将多个相同的模块号头对应的端口号头作为所述父节点模块号头的子节点;
将侧所述父节点模块号头内是否存在多个相同的端口号头,当存在多个相同的端口号头时,将多个相同的端口号头合并为一个父节点端口号头,并且将多个相同的端口号头对应的套接字号头作为所述父节点端口号头的子节点。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种UPP接口的可扩展通信方法,其特征在于,适用于OMAP处理器的通信,OMAP处理器的UPP接口的通信协议中,数据的传输基于三层模型,三层模型分为物理接口层、MPS协议栈层、应用层,该方法包括:
接收或发送通信数据,所述通信数据具有数据帧,其中,数据帧工作在MPS协议栈层,所述数据帧具有预设帧结构,所述数据帧包括至少一个通信单元,每一所述通信单元包括用于标识设备的模块号头、用于标识端口的端口号头、用于标识应用的套接字号头以及应用数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
在接收所述通信数据时,检测所述数据帧是否在第一注册表中;
当所述数据帧在所述第一注册表中时,接收所述通信数据,当所述数据帧不在所述第一注册表中时,丢弃所述通信数据。
3.根据权利要求2所述的方法,其特征在于,在所述在接收所述通信数据时,检测所述数据帧是否在注册表中的步骤之前还包括:
调用协议栈注册函数,根据接收数据信息进行编码注册,得到所述第一注册表。
4.根据权利要求1所述的方法,其特征在于,还包括:
在发送所述通信数据时,获取第二注册表;
根据所述第二注册表,生成数据队列;
按照所述数据队列的顺序发送所述通信数据。
5.根据权利要求4所述的方法,其特征在于,在所述在发送所述通信数据时,获取所述第二注册表的步骤之前还包括:
调用协议栈注册函数,根据发送数据信息进行编码注册,得到所述第二注册表。
6.根据权利要求1-5任一项中所述的方法,其特征在于,还包括:
获取所述数据帧;
检测所述数据帧内是否存在多个相同的模块号头,当存在多个相同的模块号头时,将多个相同的模块号头合并为一个父节点模块号头,并且将多个相同的模块号头对应的端口号头作为所述父节点模块号头的子节点;
将侧所述父节点模块号头内是否存在多个相同的端口号头,当存在多个相同的端口号头时,将多个相同的端口号头合并为一个父节点端口号头,并且将多个相同的端口号头对应的套接字号头作为所述父节点端口号头的子节点。
7.一种UPP接口的可扩展通信装置,其特征在于,适用于OMAP处理器的通信,OMAP处理器的UPP接口的通信协议中,数据的传输基于三层模型,三层模型分为物理接口层、MPS协议栈层、应用层,该装置包括:
通信模块,用于接收或发送通信数据,所述通信数据具有数据帧,其中,数据帧工作在MPS协议栈层,所述数据帧具有预设帧结构,所述数据帧包括至少一个通信单元,每一所述通信单元包括用于标识设备的模块号头、用于标识端口的端口号头、用于标识应用的套接字号头以及应用数据。
8.根据权利要求7所述的装置,其特征在于,还包括:
数据帧获取模块,用于获取所述数据帧;
模块号头合并模块,用于检测所述数据帧内是否存在多个相同的模块号头,当存在多个相同的模块号头时,将多个相同的模块号头合并为一个父节点模块号头,并且将多个相同的模块号头对应的端口号头作为所述父节点模块号头的子节点;
端口号头合并模块,用于将侧所述父节点模块号头内是否存在多个相同的端口号头,当存在多个相同的端口号头时,将多个相同的端口号头合并为一个父节点端口号头,并且将多个相同的端口号头对应的套接字号头作为所述父节点端口号头的子节点。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010497461.XA CN113760799B (zh) | 2020-06-03 | 2020-06-03 | Upp接口的可扩展通信方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010497461.XA CN113760799B (zh) | 2020-06-03 | 2020-06-03 | Upp接口的可扩展通信方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113760799A CN113760799A (zh) | 2021-12-07 |
CN113760799B true CN113760799B (zh) | 2024-04-09 |
Family
ID=78783482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010497461.XA Active CN113760799B (zh) | 2020-06-03 | 2020-06-03 | Upp接口的可扩展通信方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760799B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114448974B (zh) * | 2022-01-13 | 2024-04-02 | 骤雨湾(武汉)技术服务有限公司 | 远程文件传输方法、装置、设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5959968A (en) * | 1997-07-30 | 1999-09-28 | Cisco Systems, Inc. | Port aggregation protocol |
CN1642299A (zh) * | 2004-01-05 | 2005-07-20 | 华为技术有限公司 | 分布式系统中信令连接控制部分的消息处理方法 |
CN1960340A (zh) * | 2006-09-21 | 2007-05-09 | 华为技术有限公司 | 移动通信网络中Iub接口数据传输方法及其系统 |
CN103973554A (zh) * | 2013-01-29 | 2014-08-06 | 华为技术有限公司 | 路由方法、系统及相关设备 |
CN104866788A (zh) * | 2015-05-18 | 2015-08-26 | 天津市津能双鹤热力设备有限公司 | 一种自动识别接入设备且具备通信功能的机架 |
CN105227420A (zh) * | 2014-06-13 | 2016-01-06 | 华为技术有限公司 | 数据帧的处理方法、装置与系统 |
FR3064866A1 (fr) * | 2017-04-04 | 2018-10-05 | Peugeot Citroen Automobiles Sa | Dispositif de gestion pour gerer un reseau ethernet/ip via un organe ethernet |
CN108733317A (zh) * | 2017-04-18 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 数据存储方法和装置 |
CN110224913A (zh) * | 2019-07-15 | 2019-09-10 | 珠海格力电器股份有限公司 | 数据传输方法、装置、数据传输系统和设备 |
CN110442059A (zh) * | 2019-08-02 | 2019-11-12 | 珠海格力电器股份有限公司 | 被控设备拓展方法、装置及控制设备 |
CN111049926A (zh) * | 2019-12-24 | 2020-04-21 | 浙江中控技术股份有限公司 | 一种数据传输方法及相关设备 |
WO2020095114A1 (en) * | 2018-11-08 | 2020-05-14 | Juganu Ltd. | Systems and methods for multicast group routing, firmware updating, and next-hop routing in tree-based wireless networks |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080301320A1 (en) * | 2007-05-31 | 2008-12-04 | Morris Robert P | Method And System For Managing Communication Protocol Data Based On MIME Types |
JP5208869B2 (ja) * | 2009-07-03 | 2013-06-12 | アラクサラネットワークス株式会社 | ネットワーク中継装置、その制御方法およびコンピュータプログラム |
-
2020
- 2020-06-03 CN CN202010497461.XA patent/CN113760799B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5959968A (en) * | 1997-07-30 | 1999-09-28 | Cisco Systems, Inc. | Port aggregation protocol |
CN1642299A (zh) * | 2004-01-05 | 2005-07-20 | 华为技术有限公司 | 分布式系统中信令连接控制部分的消息处理方法 |
CN1960340A (zh) * | 2006-09-21 | 2007-05-09 | 华为技术有限公司 | 移动通信网络中Iub接口数据传输方法及其系统 |
CN103973554A (zh) * | 2013-01-29 | 2014-08-06 | 华为技术有限公司 | 路由方法、系统及相关设备 |
CN105227420A (zh) * | 2014-06-13 | 2016-01-06 | 华为技术有限公司 | 数据帧的处理方法、装置与系统 |
CN104866788A (zh) * | 2015-05-18 | 2015-08-26 | 天津市津能双鹤热力设备有限公司 | 一种自动识别接入设备且具备通信功能的机架 |
FR3064866A1 (fr) * | 2017-04-04 | 2018-10-05 | Peugeot Citroen Automobiles Sa | Dispositif de gestion pour gerer un reseau ethernet/ip via un organe ethernet |
CN108733317A (zh) * | 2017-04-18 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 数据存储方法和装置 |
WO2020095114A1 (en) * | 2018-11-08 | 2020-05-14 | Juganu Ltd. | Systems and methods for multicast group routing, firmware updating, and next-hop routing in tree-based wireless networks |
CN110224913A (zh) * | 2019-07-15 | 2019-09-10 | 珠海格力电器股份有限公司 | 数据传输方法、装置、数据传输系统和设备 |
CN110442059A (zh) * | 2019-08-02 | 2019-11-12 | 珠海格力电器股份有限公司 | 被控设备拓展方法、装置及控制设备 |
CN111049926A (zh) * | 2019-12-24 | 2020-04-21 | 浙江中控技术股份有限公司 | 一种数据传输方法及相关设备 |
Non-Patent Citations (1)
Title |
---|
数字集群移动通信系统终端关键技术研究;黄建尧;中国博士学位论文全文数据库信息科技辑;20120615(第06期);I136-49 * |
Also Published As
Publication number | Publication date |
---|---|
CN113760799A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110191428B (zh) | 一种基于智能云平台的数据分配方法 | |
CN114500690B (zh) | 接口数据处理方法、装置、电子设备及存储介质 | |
CN111552838A (zh) | 数据处理方法及装置、计算机设备、存储介质 | |
CN109871289A (zh) | 一种远程过程调用rpc服务生成方法及装置 | |
CN111190551B (zh) | 一种redis数据的迁移系统、迁移方法、装置及终端 | |
CN109861998B (zh) | 一种基于北斗短报文协议的插件式动态解析系统及方法 | |
CN107862074A (zh) | 大数据量参数快速读写方法 | |
CN109564502A (zh) | 应用于存储设备中的访问请求的处理方法和装置 | |
CN109525495B (zh) | 一种数据处理装置、方法和fpga板卡 | |
CN113760799B (zh) | Upp接口的可扩展通信方法、装置、计算机设备和存储介质 | |
CN113014510B (zh) | 惯导系统分布式测试中数据缓存方法及装置 | |
CN113259264B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN112416557B (zh) | 调用关系的确定方法和装置、存储介质及电子装置 | |
CN107040613A (zh) | 一种报文传输方法及系统 | |
CN113238856B (zh) | 一种基于rdma的内存管理方法及装置 | |
CN107783728A (zh) | 数据存储方法、装置和设备 | |
CN103532737A (zh) | 一种处理多种类型告警的方法、装置及系统 | |
CN106648722A (zh) | 基于大数据的Flume接收端数据处理方法和装置 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN114827047B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN116467372A (zh) | 一种数据库自动转换方法、装置、电子设备及存储介质 | |
CN112511522B (zh) | 探测扫描中减少内存占用的方法、装置和设备 | |
CN116170508A (zh) | 数据处理方法、终端、系统、设备、介质及产品 | |
CN113177014A (zh) | 基于检验方式的串口通讯方法和串口芯片 | |
CN112737872B (zh) | 一种arinc664p7端系统跨网测试系统和方法 |
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 |