CN117896205A - 一种内部通信方法、装置、电子设备及可读存储介质 - Google Patents
一种内部通信方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117896205A CN117896205A CN202311718574.8A CN202311718574A CN117896205A CN 117896205 A CN117896205 A CN 117896205A CN 202311718574 A CN202311718574 A CN 202311718574A CN 117896205 A CN117896205 A CN 117896205A
- Authority
- CN
- China
- Prior art keywords
- data
- sending
- processor
- forwarding
- processors
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 95
- 230000005540 biological transmission Effects 0.000 claims description 58
- 238000004590 computer program Methods 0.000 claims description 17
- 230000003139 buffering effect Effects 0.000 claims description 4
- 239000000758 substrate Substances 0.000 claims 1
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000003745 diagnosis Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/437—Ring fault isolation or reconfiguration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
- H04L12/4015—Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40195—Flexible bus arrangements involving redundancy by using a plurality of nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L2012/421—Interconnected ring systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及TBOX技术领域,提供了一种内部通信方法、装置、电子设备及可读存储介质。该方法应用于TBOX中三个处理器中的每一个处理器中的通信模块,三个处理器之间两两连接,该方法包括:当接收到本地处理器下发的第一数据,从两个外部处理器中确定第一数据的发送对象,将第一数据发送到发送对象;当接收到任一外部处理器发送的第二数据,分析第二数据是否为转发数据,若是,将另一外部处理器确定为第二数据的发送对象,将第二数据发送到发送对象,若否,将第二数据上传至本地处理器。本申请中TBOX的三个处理器之间两两通信,每个处理器的数据都可以直接发送到另一个处理器,解决了串行延时的问题,加强了TBOX内部的通信稳定性。
Description
技术领域
本申请涉及TBOX技术领域,尤其涉及一种内部通信方法、装置、电子设备及可读存储介质。
背景技术
传统的TBOX(Telematics Box,远程通信模块)设有两个处理器:MCU(Microcontroller Unit,微控制单元)和网络访问终端,分别完成车内通信和车外上网的功能。这两个处理器之间的进程间通信由IPC(Inter-Process Communication,进程间通信软件模块)实现。
在TBOX加入V2X(Vehicle to Everything,车联网)功能后,TBOX新增一个处理器,称为协处理器,此时协处理器用于运行V2X协议栈和应用场景算法,网络访问终端处理V2X无线信号收发和上网功能,MCU处理CAN(Controller Area Network,控制器局域网)网络报文。目前TBOX这三个处理器之间串行通信,网络访问终端与MCU和协处理器均连接,仍由IPC实现每两个处理器之间的进程间通信。显然,串行通信的延时较高,导致V2X的应用体验出现延时现象,再则串行通信中一旦某一节点出现问题将影响整个TBOX中处理器间的通信,难以进行问题诊断和通行恢复。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请实施例提供了一种内部通信方法、装置、电子设备及可读存储介质,以解决现有技术中三哥处理器串行通信的延时和故障隐患。
本申请实施例的第一方面,提供了一种TBOX的内部通信方法,应用于TBOX中三个处理器中的每一个处理器中的通信模块,三个处理器之间两两连接,该方法包括:
当接收到本地处理器下发的第一数据,从两个外部处理器中确定第一数据的发送对象,将第一数据发送到发送对象;
当接收到任一外部处理器发送的第二数据,分析第二数据是否为转发数据,若是,将另一外部处理器确定为第二数据的发送对象,将第二数据发送到发送对象,若否,将第二数据上传至本地处理器;
其中本地处理器为通信模块所在的处理器,外部处理器为TBOX中除了本地处理器其他处理器。
本申请实施例的第二方面,提供了一种TBOX的内部通信装置,设于TBOX中三个处理器中的每一个处理器中,三个处理器之间两两连接,该装置包括:
内部通信模块,用于当接收到本地处理器下发的第一数据,从两个外部处理器中确定第一数据的发送对象,将第一数据发送到发送对象;
外部通信模块,用于当接收到任一外部处理器发送的第二数据,分析第二数据是否为转发数据,若是,将另一外部处理器确定为第二数据的发送对象,将第二数据发送到发送对象,若否,将第二数据上传至本地处理器;
其中本地处理器为通信模块所在的处理器,外部处理器为TBOX中除了本地处理器其他处理器。
本申请实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
本申请实施例的第四方面,提供了一种可读存储介质,该可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本申请实施例与现有技术相比存在的有益效果至少包括:本申请实施例建立TBOX的三个处理器之间两两连接的环网,基于通信模块的方法设置,每个处理器的数据都可以直接发送到另一个处理器,不需要串行通信由其他处理器转发,从而解决了串行延时的问题,同时如果某一通信链路发生故障,还可以通过其他通信链路进行转发,不仅避免了通信链路完全断开、数据无法传输的问题,还能够实现快速诊断问题并恢复操作,加强了TBOX内部的通信稳定性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例的一种TBOX的内部通信方法的流程示意图;
图2是本申请实施例的一种TBOX的应用场景的场景示意图;
图3是本申请实施例提供的一种数据的结构示意图;
图4是本申请实施例提供的一种本地数据发送过程的流程示意图;
图5是本申请实施例提供的一种外部数据上传过程的流程示意图;
图6是本申请实施例提供的一种外部数据转发过程的流程示意图;
图7是本申请实施例提供的一种通信模块的具体实现架构的结构示意图;
图8是本申请实施例提供的一种TBOX的内部通信装置的结构示意图;
图9是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
下面将结合附图详细说明根据本申请实施例的一种内部通信方法、装置、电子设备及可读存储介质。
图1是本申请实施例提供的一种TBOX的内部通信方法的流程示意图。图1的内部通信方法可以由图2的任一通信模块执行。如图1所示,该内部通信方法包括:
S101:当接收到本地处理器下发的第一数据,从两个外部处理器中确定第一数据的发送对象,将第一数据发送到发送对象;
S102:当接收到任一外部处理器发送的第二数据,分析第二数据是否为转发数据;
S103:若是,将另一外部处理器确定为第二数据的发送对象,将第二数据发送到发送对象;
S104:若否,将第二数据上传至本地处理器;
其中本地处理器为通信模块所在的处理器,外部处理器为TBOX中除了本地处理器其他处理器。
图2是本申请实施例的应用场景的场景示意图。该应用场景为TBOX的内部通信架构,TBOX内部包括三个处理器,分别为MCU、网络访问终端和协处理器,其中协处理器可通过CPU(Central Processing Unit,中央处理器)或其他处理器来实现,用于运行V2X协议栈和应用场景算法,网络访问终端处理V2X无线信号收发和上网功能,MCU处理CAN网络报文。本实施例中要求这三个处理器之间两两连接,进一步的本实施例中每个处理器均包括一个通信模块,该通信模块通常可选IPC软件模块,用于执行本实施例中的内部通信方法,实际上三个处理器之间的两两通信,基于处理器之间的两两连接的连接链路、连接链路的内部接口与通信模块的连接、通信模块与本地处理器的连接这三部分连接关系实现。
可以理解的是,本地处理器和外部处理器是基于通信模块的位置对三个处理器的区分,例如该通信模块处于MCU,显然对于该通信模块来说,MCU为本地处理器,网络访问终端和协处理器为外部处理器;再例如该通信模块处于网络访问终端,则对于该通信模块来说,网络访问终端为本地处理器,MCU和协处理器均为外部处理器;同理,当该通信模块处于协处理器,则对该通信模块来说,协处理器为本地处理器,MCU和网络访问终端为外部处理器。
基于当前TBOX内部三个处理器两两连接的连接关系,一个处理器向另一个处理器发送的数据,既可以直接发送到目标处理器,也可以通过第三个处理器的通信模块转发到目标处理器,因此本实施例中每个通信模块负责其所在的处理器的数据收发任务,每个通信模块有以下动作:
当本地处理器要向外部处理器发送第一数据,本地处理器将第一数据发送给内部的通信模块,通信模块执行以下操作:根据第一数据在两个外部处理器中确定一个处理器作为具体的发送对象,然后将第一数据发送给发送对象。
当外部处理器将本地处理器作为发送对象向本地处理器发送第二数据,本地处理器的通信模块将接收到外部处理器发送来的第二数据,此时通信模块执行以下操作:分析第二数据是否为转发数据,确认非转发数据,将第二数据上传到本地处理器。本地处理器接收到通信模块上传的第二数据后会对第二数据进行后续处理。
当外部处理器将本地处理器作为中转对象向本地处理器发送第二数据,本地处理器的通信模块将接收到外部处理器发送来的第二数据,此时通信模块执行以下操作:分析第二数据是否为转发数据,确认为转发数据,将第二数据转发给另一外部处理器。需要注意的是,TBOX中共有三个处理器,对于通信模块来说,一个是本地处理器,剩余两个均为外部处理器,当通信模块收到的第二数据为转发数据,可直接确定这两个外部处理器中,发送第二数据的外部处理器为发送处理器,另一个外部处理器为接收第二数据的接收处理器,也就是说,此处所说将第二数据转发给另一外部处理器,指的是两个外部处理器中区别于发送第二数据的外部处理器的另一外部处理器。
进一步的,第二数据是否为转发数据,可通过第二数据中的转发标识值来确定,具体的,分析第二数据是否为转发数据的过程,包括:
获取第二数据中转发标识位的转发标识值;
当转发标识值为第一预设转发值,判定第二数据为转发数据,并将转发标识值重置为第二预设转发值;
当转发标识值不是第一预设转发值,判定第二数据不是转发数据。
假设第二数据中转发标识位为fid,识别并获取fid字段的具体信息,即转发标识值,如果转发标识值为第一预设转发值,则确定为转发数据并重置转发标识值,以表示当前通信模块已处理并转发该第二数据。具体的,转发标识值在不同状态的具体数值可根据实际需求进行设置,例如初始的转发数据的转发标识值为1,即第一预设转发值,初始的非转发数据的转发标识值为0,即非第一预设转发值,重置后转发标识值为3,意味着当前通信模块已转发该第二数据。
具体的,由于连接链路的数据带宽的限制,本实施例中关于数据接收和发送的操作无法即时进行,需要数据队列作为数据发送和接收的缓冲,因此,需要发送的数据首先被缓存到发送数据队列,由负责发送数据的任务线程,本实施例中为对象发送任务,持续执行从发送数据队列中取出数据并发送的动作;需要上传的数据首先被缓存到接收数据队列,由负责上传数据的任务线程,本实施例中为数据接受任务,持续执行从接收数据队列中取出数据并发送的动作。
因此,将第一数据发送到发送对象的过程,包括:
将第一数据缓存至发送数据队列,发送数据队列中的数据由对象发送任务发送到对应的各发送对象;
将第二数据转发至另一外部处理器的过程,包括:
将第二数据缓存至发送数据队列;
将第二数据上传至本地处理器的过程,包括:
将第二数据缓存至接收数据队列,接收数据队列中的数据由数据接收任务上传至本地处理器。
可以理解的是,第一数据和转发数据均被缓存到发送数据队列,对象发送任务将发送数据队列中的数据逐一发送到相应的外部处理器中;非转发数据的第二数据时被缓存到接收数据队列,数据接收队列将接收数据队列中的数据逐一上传至本地处理器。
可以理解的是,考虑到对于每个通信模块都有两个外部处理器,因此可直接设置两个对象发送任务,具体的:
两个外部处理器与两个对象发送任务一一对应,发送数据队列中的数据由两个对象发送任务分别发送到对应的发送对象。
此时这两个对象发送任务与两个外部处理器一一对应,每个对象发送任务从发送数据队列中取出自身对应的外部处理器作为发送对象的数据并发送到对应的外部处理器中,从而提高发送数据队列的数据发送效率。
进一步的,在确定了接受对象和发送对象后,对于数据,还可以进一步区分优先级,从而基于优先级调整数据的处理顺序,从而提高重要数据的处理效率。具体的在数据发送过程中,将第一数据缓存至发送数据队列之前,还包括:
根据第一数据的数据类型确定第一数据的优先级,将优先级写入第一数据的优先级标识位;
对象发送任务将发送数据队列中的数据发送到对应的各发送对象的过程,包括:
按照优先级的发送顺序,对象发送任务将发送数据队列中的数据发送到对应的各发送对象。
类似的,在数据上传过程中,将第二数据缓存至接收数据队列之前,还包括:
获取第二数据中优先级标识位的优先级;
数据接收任务将接收数据队列中的数据上传至本地处理器的过程,包括:
按照优先级的上传顺序,数据接收任务将接收数据队列中的数据上传至本地处理器。
假设数据中优先级标识位为pid,可设pid字段分为6个优先级,优先级从高到低取值为0至5,当优先级为0则优先级最高,优先级为5则优先级最低。数据发送前需要本实施例方法首先设置数据的优先级,然后数据被缓存至发送数据队列,对象发送任务在执行发送数据动作时,会按照优先级的发送数据,发送优先级更高的数据。相应的,数据上传时第二数据是外部处理器发送给本地处理器的,因此第二数据内部本身就写有自身的优先级,因此不存在设置优先级的操作,直接识别第二数据内部的pid字段的实际值,也即优先级标识位的优先级,然后根据优先级在接收数据队列中选择优先级更高的数据上传本地处理器。
基于上文中每个数据的优先级标识位、转发标识位,本实施例中的一条数据的结构可如图3所示,至少包括pid字段、fid字段和data字段,其中data字段包括实际数据内容和其他的数据相关信息。
可以理解的是,以上所有描述均建立在数据的报文协议为IPC协议的基础上,然而实际的处理器之间的连接链路并非直接使用IPC协议,而是使用更为底层的硬件通信协议,例如SPI(Serial Peripheral Interface,串行外围设备接口)、URAT(UniversalAsynchronous Receiver/Transmitter,通用异步收发器)或USB(Universal Serial Bus,通用串行总线),因此为了确保数据在处理器之间的收发顺利可靠不丢包,本实施例方法中需要将数据的报文协议适时转换为对应的通信协议,包括接收外部处理器的第二数据后转为IPC协议、向外部处理器发送数据前将报文协议转为对应的硬件通信协议,具体的:
对象发送任务将发送数据队列中的数据发送到对应的各发送对象之前,还包括:
将发送数据队列中的数据的报文协议转换为发送对象对应的连接协议;
接收到任一外部处理器发送的第二数据之后,分析第二数据是否为转发数据之前,还包括:
将第二数据的报文协议转换为IPC协议。
可以理解的是,此处发送数据队列中数据的报文协议由IPC协议转换为具体的连接协议,第二数据报文的报文协议由原本具体的连接协议转换为IPC协议。
此处连接协议也就是当前发送对象和本地处理器之间连接的硬件通信协议,具体的连接协议需要根据实际连接情况来确定。如图2所示,目前常见的连接方式中,MCU和网络访问终端之间的连接协议一般为SPI协议,网络访问终端和协处理器之间的连接协议一般为USB协议,本实施例中新增了MCU和协处理器之间的连接,MCU和协处理器的连接协议可选为SPI协议。当然除了这种连接方案外,也可根据实际情况和用户需求对具体的连接协议进行调整和更换,此处不作限制。
可以理解的是,本实施例中的方法,由三个处理器中的每个通信模块执行,每个通信模块的方法执行逻辑完全一致,只需要对具体的数据进行相应的判定和动作即可。基于上文中的描述,本实施例中的方法实施过程,可如下所示:
图4是本申请实施例提供的一种本地数据发送过程的流程示意图,如图4所示,本地数据发送的过程包括:
S401:接收第一数据;
S402:根据第一数据在两个外部处理器中确定一个处理器作为具体的发送对象;
S403:根据第一数据的数据类型确定第一数据的优先级,将优先级写入第一数据的优先级标识位;
S404:将第一数据缓存至发送数据队列;
S405:按照优先级的发送顺序,通过对象发送任务将发送数据队列中的数据发送到对应的各发送对象。
图5是本申请实施例提供的一种外部数据上传过程的流程示意图,如图5所示,外部数据上传的过程包括:
S501:接收外部处理器发送来的第二数据;
S502:分析第二数据是否为转发数据,若否,确认为非转发数据;
S503:获取第二数据中优先级标识位的优先级;
S504:将第二数据缓存至接收数据队列;
S505:按照优先级的上传顺序,通过数据接收任务将接收数据队列中的数据上传至本地处理器。
图6是本申请实施例提供的一种外部数据转发过程的流程示意图,如图6所示,外部数据转发的过程包括:
S601:接收外部处理器发送来的第二数据;
S602:分析第二数据是否为转发数据,若是,确认为转发数据;
S603:获取第二数据中优先级标识位的优先级;
S604:将第二数据缓存至发送数据队列;
S605:按照优先级的发送顺序,通过对象发送任务将发送数据队列中的数据发送到对应的各发送对象。
需要注意的是,本实施例中对象发送任务能够识别发送数据队列中每个数据的发送对象,对象发送任务和数据接收任务能够识别每个数据的优先级,因此可实现本实施例中数据发送或上传的动作效果。进一步的,对象发送任务和数据接受任务通常对相应的数据队列进行实时轮询,从而能够及时处理缓存于数据队列中的数据,提高数据的通信效率。
基于以上分析,本实施例方法的通信模块的具体实现架构可如图7所示,每个单元的功能如下:
驱动适配层,用于将接收到的第二数据的报文协议转换为IPC协议,将发送数据队列中的数据的报文协议转换为发送对象对应的连接协议;
收通道1和收通道2,本质为对象接收任务,用于分别接收来自两个外部处理器、通过驱动适配层上传的第二数据;
数据快转识别层,用于分析第二数据是否为转发数据,并将第二数据上传到数据优先级识别层;
数据优先级识别层,用于获取第二数据中优先级标识位的优先级,并根据第二数据是否为转发数据将其发送到接收数据队列或发送数据队列;数据优先级识别层还用于确定第一数据的优先级并将其写入优先级标识位,然后将第一数据发送到发送数据队列;
接收数据队列,用于接收并缓存非转发数据的第二数据;
数据接收,本质为数据接收任务,用于对接收数据队列进行轮询,并将接收数据队列中的数据按照优先级依次上传到本地处理器;
数据发送,本质为数据发送任务,用于接收本地处理器下发的第一数据,并将其发送到数据优先级识别层;
发送数据队列,用于接收并缓存第一数据和转发数据;
发通道1和发通道2,本质为两个对象发送任务,均用于对发送数据队列进行轮询,并将发送数据队列中对应的数据按照优先级依次通过驱动适配层发送到对应的外部处理器,此处对应关系为:发送任务对应的外部处理器与数据的发送对象一致。
可以理解的是,根据图7中的实现架构建立通信模块,即可实现本实施例中的内部通信方法。当然除了这种实现架构外,也可设置其他结构的实现架构,只要能够使通信模块完成本实施例的内部通信方法即可,此处不作限制。
可以理解的是,本实施例方法解决了当前V2X串行延时问题,MCU接收到CAN网络数据报文,会通过IPC软件模块分别发送到网络访问终端和协处理器中,协处理器中的V2X场景应用程序会实时获取到车辆的CAN网络数报文(包含车速、刹车等信息),用于V2X场景计算;网络访问终端中的V2X交互应用也会实时获取到车辆的CAN网络数报文(包含车速、刹车等信息),用于V2X中车与车(V2V)、车与路(V2I)、车与行人(V2P)的信息交互计算,再将计算后的V2X信息通过IPC软件模块发送到协处理器中,这样就实现了网络访问终端和协处理器的并行计算,消除了因串行通信导致的延时问题。
进一步的,本实施例方法还解决了V2X通信故障无法诊断和恢复的问题,如图2所示,MCU、协处理器、网络访问终端三个处理器两两相连,形成环网设计,当MCU与网络访问终端的通信出现故障时,网络访问终端可以通过与协处理器的IPC通信,以及协处理器与MCU的IPC通信,与MCU进行通信,从而快速诊断出问题并进行恢复操作。同理,环网中任何一条通信链路出现故障,均可用相同的方法进行恢复,从而TBOX内部的通信稳定性提高。
本申请实施例的方法建立TBOX的三个处理器之间两两连接的环网,基于通信模块的方法设置,每个处理器的数据都可以直接发送到另一个处理器,不需要串行通信由其他处理器转发,从而解决了串行延时的问题,同时如果某一通信链路发生故障,还可以通过其他通信链路进行转发,不仅避免了通信链路完全断开、数据无法传输的问题,还能够实现快速诊断问题并恢复操作,加强了TBOX内部的通信稳定性。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图8是本申请实施例提供的一种TBOX的内部通信装置的示意图。该内部通信装置设于TBOX中三个处理器中的每一个处理器中,三个处理器之间两两连接,如图8所示,该装置包括:
内部通信模块801,用于当接收到本地处理器下发的第一数据,从两个外部处理器中确定第一数据的发送对象,将第一数据发送到发送对象;
外部通信模块802,用于当接收到任一外部处理器发送的第二数据,分析第二数据是否为转发数据,若是,将另一外部处理器确定为第二数据的发送对象,将第二数据发送到发送对象,若否,将第二数据上传至本地处理器;
其中本地处理器为通信模块所在的处理器,外部处理器为TBOX中除了本地处理器其他处理器。
本申请实施例的装置建立TBOX的三个处理器之间两两连接的环网,基于通信模块的方法设置,每个处理器的数据都可以直接发送到另一个处理器,不需要串行通信由其他处理器转发,从而解决了串行延时的问题,同时如果某一通信链路发生故障,还可以通过其他通信链路进行转发,不仅避免了通信链路完全断开、数据无法传输的问题,还能够实现快速诊断问题并恢复操作,加强了TBOX内部的通信稳定性。
在一示例性的实施例中,将第一数据发送到发送对象的过程,包括:
将第一数据缓存至发送数据队列,发送数据队列中的数据由对象发送任务发送到对应的各发送对象;
将第二数据转发至另一外部处理器的过程,包括:
将第二数据缓存至发送数据队列;
将第二数据上传至本地处理器的过程,包括:
将第二数据缓存至接收数据队列,接收数据队列中的数据由数据接收任务上传至本地处理器。
在一示例性的实施例中,对象发送任务将发送数据队列中的数据发送到对应的各发送对象之前,还包括:
将发送数据队列中的数据的报文协议转换为发送对象对应的连接协议;
接收到任一外部处理器发送的第二数据之后,分析第二数据是否为转发数据之前,还包括:
将第二数据的报文协议转换为IPC协议。
在一示例性的实施例中,内部通信模块801将第一数据缓存至发送数据队列之前,还用于:
根据第一数据的数据类型确定第一数据的优先级,将优先级写入第一数据的优先级标识位;
对象发送任务将发送数据队列中的数据发送到对应的各发送对象的过程,包括:
按照优先级的发送顺序,对象发送任务将发送数据队列中的数据发送到对应的各发送对象。
在一示例性的实施例中,外部通信模块将第二数据缓存至接收数据队列之前,还用于:
获取第二数据中优先级标识位的优先级;
数据接收任务将接收数据队列中的数据上传至本地处理器的过程,包括:
按照优先级的上传顺序,数据接收任务将接收数据队列中的数据上传至本地处理器。
在一示例性的实施例中,两个外部处理器与两个对象发送任务一一对应,发送数据队列中的数据由两个对象发送任务分别发送到对应的发送对象。
在一示例性的实施例中,分析第二数据是否为转发数据的过程,包括:
获取第二数据中转发标识位的转发标识值;
当转发标识值为第一预设转发值,判定第二数据为转发数据,并将转发标识值重置为第二预设转发值;
当转发标识值不是第一预设转发值,判定第二数据不是转发数据。
可以理解的是,本实施例装置解决了当前V2X串行延时问题,MCU接收到CAN网络数据报文,会通过IPC软件模块分别发送到网络访问终端和协处理器中,协处理器中的V2X场景应用程序会实时获取到车辆的CAN网络数报文(包含车速、刹车等信息),用于V2X场景计算;网络访问终端中的V2X交互应用也会实时获取到车辆的CAN网络数报文(包含车速、刹车等信息),用于V2X中车与车(V2V)、车与路(V2I)、车与行人(V2P)的信息交互计算,再将计算后的V2X信息通过IPC软件模块发送到协处理器中,这样就实现了网络访问终端和协处理器的并行计算,消除了因串行通信导致的延时问题。
进一步的,本实施例装置还解决了V2X通信故障无法诊断和恢复的问题,如图2所示,MCU、协处理器、网络访问终端三个处理器两两相连,形成环网设计,当MCU与网络访问终端的通信出现故障时,网络访问终端可以通过与协处理器的IPC通信,以及协处理器与MCU的IPC通信,与MCU进行通信,从而快速诊断出问题并进行恢复操作。同理,环网中任何一条通信链路出现故障,均可用相同的方法进行恢复,从而TBOX内部的通信稳定性提高。
图9是本申请实施例提供的电子设备9的示意图。如图9所示,该实施例的电子设备9包括:处理器901、存储器902以及存储在该存储器902中并且可在处理器901上运行的计算机程序903。处理器901执行计算机程序903时实现上述各个方法实施例中的步骤。或者,处理器901执行计算机程序903时实现上述各装置实施例中各模块/单元的功能。
电子设备9可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备9可以包括但不仅限于处理器901和存储器902。本领域技术人员可以理解,图9仅仅是电子设备9的示例,并不构成对电子设备9的限定,可以包括比图示更多或更少的部件,或者不同的部件。
处理器901可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
存储器902可以是电子设备9的内部存储单元,例如,电子设备9的硬盘或内存。存储器902也可以是电子设备9的外部存储设备,例如,电子设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器902还可以既包括电子设备9的内部存储单元也包括外部存储设备。存储器902用于存储计算机程序以及电子设备所需的其它程序和数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中,例如计算机可读存储介质。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种TBOX的内部通信方法,其特征在于,应用于TBOX中三个处理器中的每一个所述处理器中的通信模块,三个所述处理器之间两两连接,所述方法包括:
当接收到本地处理器下发的第一数据,从两个外部处理器中确定所述第一数据的发送对象,将所述第一数据发送到所述发送对象;
当接收到任一所述外部处理器发送的第二数据,分析所述第二数据是否为转发数据,若是,将另一所述外部处理器确定为所述第二数据的所述发送对象,将所述第二数据发送到所述发送对象,若否,将所述第二数据上传至所述本地处理器;
其中所述本地处理器为所述通信模块所在的所述处理器,所述外部处理器为所述TBOX中除了所述本地处理器其他所述处理器。
2.根据权利要求1所述的方法,其特征在于,
将所述第一数据发送到所述发送对象的过程,包括:
将所述第一数据缓存至发送数据队列,所述发送数据队列中的数据由对象发送任务发送到对应的各所述发送对象;
将所述第二数据转发至另一所述外部处理器的过程,包括:
将所述第二数据缓存至所述发送数据队列;
将所述第二数据上传至所述本地处理器的过程,包括:
将所述第二数据缓存至接收数据队列,所述接收数据队列中的数据由数据接收任务上传至所述本地处理器。
3.根据权利要求2所述的方法,其特征在于,所述对象发送任务将所述发送数据队列中的数据发送到对应的各所述发送对象之前,还包括:
将所述发送数据队列中的数据的报文协议转换为所述发送对象对应的连接协议;
接收到任一所述外部处理器发送的第二数据之后,分析所述第二数据是否为转发数据之前,还包括:
将所述第二数据的报文协议转换为IPC协议。
4.根据权利要求2所述的方法,其特征在于,将所述第一数据缓存至发送数据队列之前,还包括:
根据所述第一数据的数据类型确定所述第一数据的优先级,将所述优先级写入所述第一数据的优先级标识位;
所述对象发送任务将所述发送数据队列中的数据发送到对应的各所述发送对象的过程,包括:
按照所述优先级的发送顺序,所述对象发送任务将所述发送数据队列中的数据发送到对应的各所述发送对象。
5.根据权利要求2所述的方法,其特征在于,将所述第二数据缓存至接收数据队列之前,还包括:
获取所述第二数据中优先级标识位的优先级;
所述数据接收任务将所述接收数据队列中的数据上传至所述本地处理器的过程,包括:
按照所述优先级的上传顺序,所述数据接收任务将所述接收数据队列中的数据上传至所述本地处理器。
6.根据权利要求2所述的方法,其特征在于,两个所述外部处理器与两个所述对象发送任务一一对应,所述发送数据队列中的数据由两个所述对象发送任务分别发送到对应的所述发送对象。
7.根据权利要求1至6任一项所述的方法,其特征在于,分析所述第二数据是否为转发数据的过程,包括:
获取所述第二数据中转发标识位的转发标识值;
当所述转发标识值为第一预设转发值,判定所述第二数据为转发数据,并将所述转发标识值重置为第二预设转发值;
当所述转发标识值不是所述第一预设转发值,判定所述第二数据不是所述转发数据。
8.一种TBOX的内部通信装置,其特征在于,设于TBOX中三个处理器中的每一个所述处理器中,三个所述处理器之间两两连接,所述装置包括:
内部通信模块,用于当接收到本地处理器下发的第一数据,从两个外部处理器中确定所述第一数据的发送对象,将所述第一数据发送到所述发送对象;
外部通信模块,用于当接收到任一所述外部处理器发送的第二数据,分析所述第二数据是否为转发数据,若是,将另一所述外部处理器确定为所述第二数据的所述发送对象,将所述第二数据发送到所述发送对象,若否,将所述第二数据上传至所述本地处理器;
其中所述本地处理器为所述通信模块所在的所述处理器,所述外部处理器为所述TBOX中除了所述本地处理器其他所述处理器。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。
10.一种可读存储介质,所述可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311718574.8A CN117896205A (zh) | 2023-12-13 | 2023-12-13 | 一种内部通信方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311718574.8A CN117896205A (zh) | 2023-12-13 | 2023-12-13 | 一种内部通信方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117896205A true CN117896205A (zh) | 2024-04-16 |
Family
ID=90638509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311718574.8A Pending CN117896205A (zh) | 2023-12-13 | 2023-12-13 | 一种内部通信方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117896205A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111082824A (zh) * | 2019-12-16 | 2020-04-28 | 东软睿驰汽车技术(沈阳)有限公司 | 一种车载单元 |
CN113055264A (zh) * | 2021-03-02 | 2021-06-29 | 北京航天自动控制研究所 | 一种面向环形拓扑的组网通信方法、装置及存储介质 |
CN113671926A (zh) * | 2020-05-15 | 2021-11-19 | 北京新能源汽车股份有限公司 | 一种车载网联终端及电动汽车 |
CN115208713A (zh) * | 2022-07-18 | 2022-10-18 | 西安诺瓦星云科技股份有限公司 | 通信方法、系统、装置、非易失性存储介质及电子设备 |
CN219555013U (zh) * | 2023-03-03 | 2023-08-18 | 厦门金龙联合汽车工业有限公司 | 一种智能网联车辆一体化硬件平台系统 |
CN116996602A (zh) * | 2023-09-25 | 2023-11-03 | 苏州元脑智能科技有限公司 | 数据包的处理方法及装置、存储介质、电子设备 |
-
2023
- 2023-12-13 CN CN202311718574.8A patent/CN117896205A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111082824A (zh) * | 2019-12-16 | 2020-04-28 | 东软睿驰汽车技术(沈阳)有限公司 | 一种车载单元 |
CN113671926A (zh) * | 2020-05-15 | 2021-11-19 | 北京新能源汽车股份有限公司 | 一种车载网联终端及电动汽车 |
CN113055264A (zh) * | 2021-03-02 | 2021-06-29 | 北京航天自动控制研究所 | 一种面向环形拓扑的组网通信方法、装置及存储介质 |
CN115208713A (zh) * | 2022-07-18 | 2022-10-18 | 西安诺瓦星云科技股份有限公司 | 通信方法、系统、装置、非易失性存储介质及电子设备 |
CN219555013U (zh) * | 2023-03-03 | 2023-08-18 | 厦门金龙联合汽车工业有限公司 | 一种智能网联车辆一体化硬件平台系统 |
CN116996602A (zh) * | 2023-09-25 | 2023-11-03 | 苏州元脑智能科技有限公司 | 数据包的处理方法及装置、存储介质、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10868767B2 (en) | Data transmission method and apparatus in optoelectronic hybrid network | |
CN109690510B (zh) | 用于将数据分发到高性能计算网络和基于云的网络中的多个接收器的多播装置和方法 | |
CN113728596A (zh) | 在网络接口控制器(nic)中促进对幂等操作进行高效管理的系统和方法 | |
CN110661725A (zh) | 用于对出口上的网络分组进行重排序的技术 | |
CN103493449A (zh) | 分组交换网络中的有效电路 | |
CN113452591B (zh) | 基于can总线连续数据帧的回路控制方法及装置 | |
CN112034811B (zh) | 控制器诊断装置及方法 | |
WO2021017667A1 (zh) | 业务数据的传输方法和装置 | |
CN113347017B (zh) | 一种网络通信的方法、装置、网络节点设备及混合网络 | |
CN115514682B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN112445735A (zh) | 一种联邦学习数据传输方法、计算机设备、系统及存储介质 | |
CN112131155A (zh) | 一种高扩展性的基于fpga的pcie事务层传输方法 | |
CN115276920A (zh) | 音频数据处理方法、装置、电子设备及存储介质 | |
CN117082137A (zh) | 保持ota升级刷写模式的通信方法、装置、设备及介质 | |
CN116471242A (zh) | 基于rdma的发送端、接收端、数据传输系统及方法 | |
CN103650401A (zh) | 一种移动终端内部通信方法 | |
US20240146806A1 (en) | Intermediate apparatus, communication method, and program | |
CN111404842B (zh) | 数据传输方法、装置及计算机存储介质 | |
JP3507824B2 (ja) | データ伝送装置及びデータ伝送方法 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN117896205A (zh) | 一种内部通信方法、装置、电子设备及可读存储介质 | |
JP7431848B2 (ja) | 車両制御装置及びデータ転送制御方法 | |
CN113992707A (zh) | 一种数据传输方法、装置、车载以太网设备及存储介质 | |
CN114338270A (zh) | 数据通信方法、装置、电子设备及存储介质 | |
CN113300874A (zh) | 网络性能检测系统及方法 |
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 |