CN117880345A - 数据发送及接收方法、车载智能终端、设备及存储介质 - Google Patents
数据发送及接收方法、车载智能终端、设备及存储介质 Download PDFInfo
- Publication number
- CN117880345A CN117880345A CN202410230799.7A CN202410230799A CN117880345A CN 117880345 A CN117880345 A CN 117880345A CN 202410230799 A CN202410230799 A CN 202410230799A CN 117880345 A CN117880345 A CN 117880345A
- Authority
- CN
- China
- Prior art keywords
- data
- processor
- middleware
- sent
- spi
- 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
- 238000000034 method Methods 0.000 title claims abstract description 112
- 230000005540 biological transmission Effects 0.000 claims abstract description 150
- 238000004891 communication Methods 0.000 claims abstract description 75
- 230000002093 peripheral effect Effects 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 26
- 230000007958 sleep Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 9
- 235000015429 Mirabilis expansa Nutrition 0.000 description 7
- 244000294411 Mirabilis expansa Species 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 235000013536 miso Nutrition 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101000604411 Homo sapiens NADH-ubiquinone oxidoreductase chain 1 Proteins 0.000 description 1
- 101000632748 Homo sapiens NADH-ubiquinone oxidoreductase chain 2 Proteins 0.000 description 1
- 102100038625 NADH-ubiquinone oxidoreductase chain 1 Human genes 0.000 description 1
- 102100028488 NADH-ubiquinone oxidoreductase chain 2 Human genes 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000019371 dormancy process Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004171 remote diagnosis Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种数据发送及接收方法、车载智能终端、设备及存储介质,车载智能终端包括处理器、远程调用中间件和串行外设接口SPI,处理器通过远程调用中间件与网络节点NAD进行通信,远程调用中间件通过SPI与处理器通信,数据发送方法应用于车载智能终端,包括:在处理器通过远程调用中间件与NAD通信连接的情况下,处理器获得数据发送请求;处理器通过SPI将待发送数据发送至远程调用中间件;远程调用中间件将待发送数据发送至NAD。通过实施该方法,实现多个NAD与处理器间的协同通信,提高NAD与处理器之间的数据传输效率。
Description
技术领域
本说明书实施例涉及通信技术领域,涉及但不限于一种数据发送及接收方法、车载智能终端、设备及存储介质。
背景技术
车联网智能终端(Telematics BOX,T-BOX)集成了多种功能模块,赋予了车辆与外界信息交互的能力,进而显著提升了车辆的安全性、便利性和娱乐性。当用户通过移动应用发出远程控制指令时,这些指令会经由T-BOX中的网络节点地址(Node Address,NAD)接收并解析,随后传递给处理器进行处理分析。同样,处理器也会将处理后的数据或控制指令发送给NAD,以实现远程通信或控制功能。
在相关技术中,NAD与处理器之间的数据交换依赖于通用异步收发器(UniversalAsynchronous Receiver/Transmitter,UART)协议。然而,由于UART通信的固有限制,难以实现多设备间的协同通信,且串行-并行数据转换过程可能会影响到整体的传输速率,进而影响到整个系统的效率和性能。
发明内容
有鉴于此,本说明书实施例提供的数据发送及接收方法、车载智能终端、设备及存储介质,能够实现多个NAD与处理器间的协同通信,提高NAD与处理器之间的数据传输效率。本说明书实施例提供的数据发送及接收方法、车载智能终端、设备及存储介质是这样实现的:
本申请实施例第一方面公开一种数据发送方法,应用于车载智能终端,所述车载智能终端包括处理器、远程调用中间件和串行外设接口SPI,所述处理器通过所述远程调用中间件与网络节点NAD进行通信,所述远程调用中间件通过所述SPI与所述处理器通信,所述方法包括:在所述处理器通过所述远程调用中间件与所述NAD通信连接的情况下,所述处理器获得数据发送请求;所述处理器通过所述SPI将待发送数据发送至所述远程调用中间件;所述远程调用中间件将所述待发送数据发送至所述NAD。
在一些实施例中,所述远程调用中间件设置有数据缓存空间,所述获取数据发送请求包括:所述处理器封装待发送数据;所述处理器计算所述远程调用中间件的所述数据缓存空间在接收所述待发送数据后的剩余发送空间,若所述剩余发送空间的空间容量大于或等于预设容量阈值,将已封装的所述待发送数据缓存至所述数据缓存空间;所述处理器在监控到所述数据缓存空间中有需要发送的数据的情况下,生成所述数据发送请求,将所述数据发送请求发送至所述远程调用中间件。
在一些实施例中,所述获得数据发送请求,还包括:若所述剩余发送空间的空间容量小于所述预设容量阈值,将所述待发送数据分割为多个预设数据量大小的目标待发送数据;针对每一目标待发送数据,所述处理器封装所述目标待发送数据;所述处理器计算所述远程调用中间件的所述数据缓存空间在接收所述目标待发送数据后的剩余发送空间;若所述剩余发送空间的空间容量小于所述预设容量阈值,重新分割所述待发送数据直至所述剩余发送空间的空间容量大于或等于所述预设容量阈值。
在一些实施例中,所述处理器设置有发送缓冲区,所述SPI包括数据发送接口,所述处理器通过所述SPI将待发送数据发送至所述远程调用中间件,包括:所述远程调用中间件接收所述处理器发送的所述数据发送请求;所述处理器初始化所述发送缓冲区,初始化后的所述发送缓冲区中数据存储地址对应到所述数据缓存空间中所述待发送数据的存储地址;所述处理器通过所述SPI的数据发送接口将所述初始化后的所述发送缓冲区中对应的所述待发送数据发送至所述远程调用中间件。
在一些实施例中,所述处理器设置有控制数据传输的引脚,所述处理器通过所述SPI的数据发送接口将所述初始化后的所述发送缓冲区中对应的所述待发送数据发送至所述远程调用中间件,包括:所述处理器将所述控制数据传输的引脚的电平设置为高于第一预设电平以中断当前的数据传输,通过所述SPI的数据发送接口将所述发送缓冲区对应的所述待发送数据发送至所述远程调用中间件。
在一些实施例中,所述通过所述SPI数据发送接口将所述发送缓冲区对应的所述待发送数据发送至所述远程调用中间件,包括:通过所述SPI的数据发送接口将所述发送缓冲区对应的所述待发送数据发送至所述远程调用中间件;当所述待发送数据发送结束或所述SPI的数据发送接口发送所述待发送数据超过预设时间阈值,所述SPI生成并发送中断信号至所述处理器;所述处理器在接收到所述中断信号后将所述控制数据传输的引脚的电平设置为低于第二预设电平以结束所述待发送数据的传输,所述第二预设电平低于所述第一预设电平。
在一些实施例中,所述方法还包括:当所述处理器接收到所述NAD反馈的所述待发送数据接收成功消息的情况下,发送第一缓存清除指令至所述远程调用中间件;所述远程调用中间件接收到所述第一缓存清除指令之后,清除所述数据缓存空间中的所述待发送数据。
本申请实施例第二方面公开一种数据接收方法,应用于车载智能终端,所述车载智能终端包括处理器、远程调用中间件和串行外设接口SPI,所述处理器通过所述远程调用中间件与网络节点NAD进行通信,所述远程调用中间件通过所述SPI与所述处理器通信,所述方法包括:在所述处理器通过所述远程调用中间件与所述NAD通信连接的情况下,所述处理器获得数据接收请求;所述远程调用中间件接收所述NAD发送的待接收数据;所述远程调用中间件通过所述SPI将所述待接收数据发送至所述处理器。
在一些实施例中,所述获得数据接收请求,包括:所述处理器监控所述处理器的外部中断输入引脚的电平;所述处理器在监控到所述外部中断输入引脚的电平大于预设电平阈值的情况下,生成所述数据接收请求,将所述数据接收请求发送至所述远程调用中间件。
在一些实施例中,所述远程调用中间件设置有数据缓存空间,所述远程调用中间件将接收到的数据存储在所述数据缓存空间,所述处理器设置有接收缓冲区,所述SPI包括数据接收接口,所述远程调用中间件通过所述SPI将所述待接收数据发送至所述处理器,包括:所述远程调用中间件接收所述处理器发送的所述数据接收请求;所述处理器初始化所述接收缓冲区,初始化后的所述接收缓冲区中数据存储地址对应到所述数据缓存空间中所述待接收数据的存储地址;所述远程调用中间件通过所述数据接收接口将所述初始化后的所述接收缓冲区中对应的所述待接收数据发送至所述处理器。
在一些实施例中,所述处理器设置有控制数据传输的引脚,所述远程调用中间件通过所述数据接收接口将所述初始化后的所述接收缓冲区中对应的所述待接收数据发送至所述处理器,包括:所述处理器将所述控制数据传输的引脚的电平设置为高于第一预设电平以中断当前的数据传输,所述远程调用中间件通过所述SPI的数据接收接口将所述接收缓冲区对应的所述待接收数据发送至所述处理器。
在一些实施例中,所述远程调用中间件通过所述SPI的数据接收接口将所述接收缓冲区对应的所述待接收数据发送至所述处理器,包括:所述远程调用中间件通过所述SPI的数据接收接口将所述接收缓冲区对应的所述待接收数据发送至所述处理器;当所述待接收数据发送结束或所述SPI的数据接收接口发送所述待接收数据超过预设时间阈值,所述SPI生成并发送中断信号至所述处理器;所述处理器在接收到所述中断信号后将所述控制数据传输的引脚的电平设置为低于第二预设电平以结束所述待接收数据的传输,所述第二预设电平低于所述第一预设电平。
在一些实施例中,所述方法还包括:当所述处理器接收到所述NAD发送的所述待接收数据的情况下,发送所述待接收数据接收成功消息至所述远程调用中间件,所述远程调用中间件将所述待接收数据接收成功消息发送至所述NAD;所述处理器对所述待接收数据进行解析,并根据解析内容执行所述待接收数据指示的动作,发送第二缓存清除指令至所述远程调用中间件;所述远程调用中间件接收到所述第二缓存清除指令之后,清除所述数据缓存空间中的所述待接收数据。
本申请实施例第三方面公开一种车载智能终端,所述车载智能终端包括处理器、远程调用中间件和串行外设接口SPI,所述SPI设置有数据接收接口和数据发送接口,所述处理器通过所述远程调用中间件与网络节点NAD进行通信,所述远程调用中间件通过所述SPI与所述处理器通信:所述处理器,用于在所述处理器通过所述远程调用中间件与所述NAD通信连接的情况下,获得数据发送请求并通过所述SPI的数据发送接口将待发送数据发送至所述远程调用中间件,或,获得数据接收请求;所述远程调用中间件,用于将所述待发送数据发送至所述NAD,或,接收所述NAD发送的待接收数据并通过所述SPI的数据接收接口将待接收数据发送至所述处理器。
本申请实施例第四方面公开一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例第一方面或第二方面的方法。
本申请实施例第五方面公开一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例第一方面或第二方面的方法。
本申请实施例公开了一种数据发送方法、数据接收方法、车载智能终端、设备及存储介质,车载智能终端包括处理器、远程调用中间件和串行外设接口SPI,处理器通过远程调用中间件与网络节点NAD进行通信,远程调用中间件通过SPI与处理器通信,通过基于远程调用中间件实施的数据发送方法和数据接收方法,可以实现多个NAD与处理器间的协同通信,提高NAD与处理器之间的数据传输效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1是本申请实施例公开的车载智能终端的应用场景图示;
图2是本申请实施例公开的数据发送方法的流程图示;
图3是本申请实施例公开的获得数据发送请求的流程图示;
图4是本申请实施例公开的分割待发送数据的流程图示;
图5是本申请实施例公开的发送待发送数据的流程图示;
图6是本申请实施例公开的发送待发送数据的另一流程图示;
图7是本申请实施例公开的清除待发送数据的流程图示;
图8是本申请实施例公开的数据接收方法的流程图示;
图9是本申请实施例公开的获得数据接收请求的流程图示;
图10是本申请实施例公开的接收待接收数据的流程图示;
图11是本申请实施例公开的接收待接收数据的另一流程图示;
图12是本申请实施例公开的清除待接收数据的流程图示;
图13是本申请实施例公开的车载智能终端的结构图示;
图14是本申请实施例公开的远程调用中间件的结构图示;
图15是本申请实施例公开的计算机设备的结构图示。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”用以区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
随着通信技术的不断进步,车联网智能终端(Telematics BOX,简称T-BOX)已经融入了众多功能模块,这些模块极大地增强了车辆与外界的信息交互能力,从而显著提升了车辆的安全性、便利性和娱乐性。当用户通过移动应用发出远程控制指令时,这些指令会迅速被T-BOX中的网络节点地址(Node Address,简称NAD)捕获并解析,之后高效传递给处理器进行精确处理与分析。反之,处理器也会将处理后的数据或控制指令精准地发送给NAD,实现远程通信或控制功能。
然而,在相关技术中,NAD与处理器之间的数据交换主要依赖于通用异步收发器(Universal Asynchronous Receiver/Transmitter,简称UART)协议。这种通信方式在结构上相对简单,主要依赖于两个芯片之间的接收引脚和发送引脚进行直接的通信连接。发送方负责将来自控制设备的并行数据转换为串行数据,而接收方则负责将接收到的串行数据再转换回并行数据。
这种通信方式虽然在一些场景中表现良好,但由于其固有的局限性,难以实现多设备间的协同通信。更重要的是,UART通信中的串行-并行数据转换过程可能会对整个系统的传输速率造成影响,进而制约系统的整体效率和性能。
有鉴于此,本说明书实施例提供一种数据发送及接收方法、车载智能终端、设备及存储介质,车载智能终端包括处理器、远程调用中间件和串行外设接口SPI,处理器通过远程调用中间件与网络节点NAD进行通信,远程调用中间件通过SPI与处理器通信,通过基于远程调用中间件实施的数据发送方法和数据接收方法,可以实现多个NAD与处理器间的协同通信,提高NAD与处理器之间的数据传输效率。
下面首先对本申请实施例涉及到的应用场景进行说明:
请参阅图1,图1是本申请实施例公开的车载智能终端的应用场景图示。如图1所示的场景中包括多个网络节点(例如,NAD1、NAD2、……、NADN)、远程调用中间件、串行外设接口SPI以及处理器。其中,处理器通过远程调用中间件与网络节点NAD进行通信,远程调用中间件通过SPI与处理器通信。
车载智能终端(Telematics BOX,T-BOX)是一种集成了通信、定位、计算和存储功能的汽车信息终端设备。在车联网、智能驾驶、车辆监控和管理等多种应用领域,车载智能终端可以与车辆上的各种传感器和控制单元进行连接,实现车辆数据的采集、处理和传输,同时支持车辆远程控制、远程诊断、远程升级等功能。以休眠功能为例,用户在不使用车辆时,可以通过移动应用程序发送休眠指令至T-BOX。T-BOX中的网络节点(NAD)接收到这一指令后,会将其转发给远程调用中间件。远程调用中间件再将该指令传递给处理器,处理器在接收到指令后,会迅速进入休眠状态。完成状态切换后,处理器会通过SPI将当前电源状态等回调消息发送回远程调用中间件,并由其转发给NAD,从而完成整个休眠流程。
节点地址(Node Address,NAD)是指用来标识网络中不同设备或节点的唯一地址。例如,设备或节点可以包括计算机、路由器、服务器等。在通信网络中,NAD通常被用于识别和定位网络中的各个节点,以便进行数据交换、路由和通信管理。在一些实施例中,NAD也称网络节点。
远程调用中间件是指用于在不同网络节点或节点与处理器之间建立远程通信和调用机制的组件。在一些实施例中,如图14所示,远程调用中间件中包含IPC模块和RPC模块,分别负责不同的通信任务。
进程间通信(Inter Process Communication,IPC)模块采用Socket机制,实现了远程调用中间件与NAD进程之间的数据交换和资源共享。这种机制确保了指令和响应的快速、准确传输,为远程通信提供了坚实基础。
远程过程调用(Remote Procedure Call,RPC)模块用于远程调用中间件与底层驱动之间的交互。它通过SPI与处理器进行通信,实现了底层数据的读写和远程过程的调用,进一步扩展了系统的功能和性能。
串行外设接口(Serial Peripheral Interface,SPI)是一种全双工通信接口,它允许主控制器与多个设备同时通信。在T-BOX中,SPI通过MOSI和MISO接口实现了处理器与远程调用中间件之间的双向数据传输,大大提高了数据通信的效率和稳定性,其中,MOSI接口用于处理器接收远程调用中间件发送的信息,MISO接口用于处理器发送数据到远程调用中间件。
在一些实施例中,如图14所示,RPC模块包括数据缓存单元、会话控制单元和通信控制单元。数据缓存单元用于缓存RPC帧格式数据,例如,封装为RPC帧格式的NAD与远程调用中间件之间的数据、封装为RPC帧格式的处理器与远程调用中间件之间的数据。会话控制单元用于建立远程调用中间件与处理器之间的通信连接。通信控制单元用于控制远程调用中间件与处理器之间的数据传输,例如,通信控制单元可以控制处理器通过MOSI接口接收远程调用中间件发送的数据,也可以控制处理器通过MISO接口向远程调用中间件发送数据。这些单元协同工作,确保了RPC帧格式数据的缓存、通信连接的建立和数据传输的控制,为多个NAD与处理器之间的协同通信提供了有力保障。
在本申请一些实施例中,车载智能终端包括处理器、远程调用中间件和串行外设接口SPI,处理器通过远程调用中间件中的IPC模块与网络节点NAD进行通信,远程调用中间件通过RPC模块与处理器通信,通过基于远程调用中间件实现的NAD与处理器之间的通信,可以实现多个NAD与处理器间的协同通信,此外,SPI是全双工接口,远程调用中间件和处理器能分别通过MOSI和MISO线路同时发送数据,有助于提高多个NAD与处理器之间的数据传输效率。
下面结合具体实施例进行说明:
请参阅图2,图2是本申请实施例公开的数据发送方法的流程图示。如图2的数据发送方法可以包括以下步骤:
10、在处理器通过远程调用中间件与NAD通信连接的情况下,处理器获得数据发送请求;
20、处理器通过SPI将待发送数据发送至远程调用中间件;
30、远程调用中间件将待发送数据发送至NAD。
关于步骤10:在处理器通过远程调用中间件与NAD通信连接的情况下,处理器获得数据发送请求。
可以理解,通信连接是指处理器与NAD之间通过特定的信号交换和协议流程建立起数据传输通道。在一些实施例中,处理器可以通过远程调用中间件中的会话控制单元来与NAD建立通信连接。示例的,当处理器需要建立通信连接时,若处理器的通用输出引脚GPIO_OUT和通用输入引脚GPIO_IN均在低电平状态,处理器可以通过拉高GPIO_OUT的电平触发处理器的通用输入输出GPIO来发送握手请求,如果NAD接收到握手请求并准备好进行通信,NAD会发送响应信号,处理器通过监测GPIO_IN引脚的电平状态来检测是否收到了NAD的响应。若GPIO_OUT持续高电平状态超过预设持续时间(例如,3秒)而GPIO_IN引脚的电平状态未发生变化,处理器会拉低GPIO_IN引脚的电平以终止当前的通信尝试,避免进入错误处理流程。若握手未成功,处理器会按照预设的握手时间间隔(例如,每隔2秒)重复尝试发送握手请求,直到通信连接成功建立或达到设定的最大尝试次数(例如,最多尝试5次)。这种重复尝试和超时机制确保了通信的可靠性。
数据发送请求是指示处理器发送数据的指令或信号。例如,在处理器需要向NAD发送数据的情况下,处理器会生成数据发送请求。请参阅图3,图3是本申请实施例公开的获得数据发送请求的流程图示。在一些实施例中,远程调用中间件设置有数据缓存空间,步骤10可以包括如图3所示的步骤101~103:
101、处理器封装待发送数据;
102、处理器计算远程调用中间件的数据缓存空间在接收待发送数据后的剩余发送空间,若剩余发送空间的空间容量大于或等于预设容量阈值,将已封装的待发送数据缓存至数据缓存空间;
103、处理器在监控到数据缓存空间中有需要发送的数据的情况下,生成数据发送请求,将数据发送请求发送至远程调用中间件。
可以理解,待发送数据是指需要处理器发送给远程调用中间件,并通过远程调用中间件转发给NAD的数据。继续以休眠功能为例,处理器在接收到休眠指令后,处理器会通过SPI向远程调用中间件发送前述休眠指令的确认接收消息,处理器执行前述休眠指令进入休眠状态后又会通过SPI将当前电源状态等回调消息发送至远程调用中间件,其中,待发送数据可以为当前电源状态等回调消息。
在一些实施例中,处理器将待发送数据封装为RPC帧格式的数据。例如,处理器根据通信所使用的RPC协议,将待发送数据序列化为二进制数据,再根据RPC协议所规定的帧格式对序列化后的待发送数据进行封装,得到待发送数据的RPC帧。RPC帧格式可以基于处理器与远程调用中间件通信所使用的RPC协议确定,不同的RPC协议对应的帧格式不同,RPC协议包括Thrift、gRPC、Apache Dubbo等。其中,RPC帧格式至少包括帧头、帧体和校验和等。
数据缓存空间是指远程调用中间件中用于暂时存储RPC帧的存储空间。在一些实施例中,数据缓存空间的总空间容量大小为预先设置好的,以却道远程调用中间件能够处理一定量的RPC请求而不会溢出。
剩余发送空间是指数据缓存空间在接收当前的待发送数据后,还剩下的可用于存储RPC帧的空间。在一些实施例中,处理器通过检查数据缓存空间中的数据量确定已使用的空间容量,然后通过从总空间容量减去已使用的空间容量,计算得到剩余发送空间。
预设容量阈值用于判断剩余发送空间是否足够容纳确认接收消息。例如,前述休眠指令的确认接收消息。其中,预设容量阈值可以基于远程调用中间件的性能要求、处理器的处理能力以及网络通信的延迟等因素确定,通过设定合理的预设容量阈值确保数据缓存空间不会因为接收过多的数据而导致溢出,从而影响远程调用中间件的正常运行。
在一些实施例中,若剩余发送空间的空间容量大于或等于预设容量阈值,将已封装的待发送数据缓存至数据缓存空间。
在一些实施例中,若剩余发送空间的空间容量小于预设容量阈值,车载智能终端通过执行如图4所示的步骤1021~1024对待发送数据进行处理:
1021、若剩余发送空间的空间容量小于预设容量阈值,将待发送数据分割为多个预设数据量大小的目标待发送数据。
1022、针对每一目标待发送数据,处理器封装目标待发送数据。
1023、处理器计算远程调用中间件的数据缓存空间在接收目标待发送数据后的剩余发送空间。
1024、若剩余发送空间的空间容量小于预设容量阈值,重新分割待发送数据直至剩余发送空间的空间容量大于或等于预设容量阈值。
可以理解,目标待发送数据是指将步骤101中的待发送数据进行分割后得到的数据量较小的数据,每个目标待发送数据的大小是根据预设数据量大小来确定的,以确保每个目标待发送数据都能够适应剩余发送空间,进而被成功缓存和发送。
在一些实施例中,处理器对每一个目标待发送数据执行与步骤101中的待发送数据相同的封装过程,每个目标待发送数据都会被序列化为二进制数据,并按照RPC协议的帧格式规范进行封装,生成RPC帧。然后,处理器计算远程调用中间件的数据缓存空间在接收目标待发送数据后的剩余发送空间,所述计算方法与步骤102中相同,若剩余发送空间的空间容量小于预设容量阈值,重新确定更小的预设数据量,并根据重新确定的更小的预设数据量分割待发送数据直至剩余发送空间的空间容量大于或等于预设容量阈值。
在一些实施例中,如果剩余发送空间小于预设容量阈值,处理器还可以通过暂停接收新的待发送数据、等待数据缓存空间的数据被发送出去,即所述被占用的数据缓冲空间被释放出来,然后再接收前述新的待发送数据,从而避免数据缓存空间溢出。
在一些实施例中,如果剩余发送空间小于预设容量阈值,处理器也可以重新获取新的数据缓存空间。
在一些实施例中,将已封装的待发送数据缓存至数据缓存空间后,若处理器在监控到数据缓存空间中有需要发送的数据的情况下,生成数据发送请求,将数据发送请求发送至远程调用中间件。
关于步骤20:处理器通过SPI将待发送数据发送至远程调用中间件。
在一些实施例中,处理器设置有发送缓冲区,SPI包括数据发送接口,例如,MISO接口,处理器通过SPI将待发送数据发送至远程调用中间件包括如图5所示的步骤201~203:
201、远程调用中间件接收处理器发送的数据发送请求;
202、处理器初始化发送缓冲区,初始化后的发送缓冲区中数据存储地址对应到数据缓存空间中待发送数据的存储地址;
203、处理器通过SPI的数据发送接口将初始化后的发送缓冲区中对应的待发送数据发送至远程调用中间件。
可以理解,发送缓冲区是指在使用SPI发送数据时,为了传输待发送数据,处理器需要分配处理器中一块特定大小的内存空间作为发送缓冲区,发送缓冲区用于临时存储将要发送到外部设备(例如,NAD或远程调用中间件)的待发送数据。在远程调用中间件接收数据发送请求的情况下,处理器初始化发送缓冲区,将发送缓冲区的数据存储地址对应到数据缓存空间中待发送数据的存储地址,然后处理器将发送缓冲区挂载到SPI以与SPI通信连接,然后通过SPI的数据发送接口将初始化后的发送缓冲区中对应的待发送数据发送至远程调用中间件的通信控制单元。
在一些实施例中,处理器设置有控制数据传输的引脚,步骤203可以包括如图6所示的步骤2031~2034:
2031、处理器将控制数据传输的引脚的电平设置为高于第一预设电平以中断当前的数据传输;
2032、通过SPI的数据发送接口将发送缓冲区对应的待发送数据发送至远程调用中间件;
2033、当待发送数据发送结束或SPI的数据发送接口发送待发送数据超过预设时间阈值,SPI生成并发送中断信号至处理器;
2034、处理器在接收到中断信号后将控制数据传输的引脚的电平设置为低于第二预设电平以结束待发送数据的传输。
可以理解,控制数据传输的引脚是指处理器上用于控制数据传输开始和结束的特定引脚,处理器将控制数据传输的引脚的电平设置为高于第一预设电平以中断当前的数据传输,也就是说,处理器拉高控制数据传输的引脚的电平以中断处理器的当前任务进程,开始允许通过SPI进行数据传输,处理器通过SPI的数据发送接口将发送缓冲区对应的待发送数据发送至远程调用中间件。其中,第一预设电平是指控制数据传输引脚在中断处理器的当前任务进程,开始允许通过SPI进行数据传输时应达到的电平值,若控制数据传输引脚是高电平有效,第一预设电平为高电平,例如3.3V或5V,第一预设电平的大小取决于具体的硬件设计。
在通过SPI进行数据传输的过程中,处理器在接收到中断信号时将控制数据传输的引脚的电平设置为低于第二预设电平以结束待发送数据的传输。中断信号是指当SPI待发送数据的传输完成或发生某种异常情况时(例如,待发送数据的传输时间大于预设时间阈值),SPI会生成一个中断信号以通知处理器SPI当前通信状态,处理器接收到中断信号时将控制数据传输的引脚的电平设置为低于第二预设电平以结束待发送数据的传输。其中,第二预设电平是指控制数据传输引脚在结束数据传输时应达到的电平值,若控制数据传输引脚是高电平有效,第二预设电平为低电平,例如0V,第二预设电平低于第一预设电平。
上述预设时间阈值用于判断SPI数据传输是否超过了合理的时间范围。当SPI在发送数据过程中超过了预设时间阈值还没有完成,SPI可以认为数据传输发生了问题,生成并发送中断信号给处理器以便处理器及时采取相应的措施,例如,重试发送或报告错误。示例的,若预设时间阈值设置为3秒,SPI在传输待发送数据时所用的时间超过了3秒还没有完成,处理器就会重新尝试发送或者生成超时错误。
本说明书一些实施例中,在SPI数据传输过程中,当待发送数据发送结束或SPI的数据发送接口发送待发送数据超过预设时间阈值,SPI生成并发送中断信号至处理器,处理器将控制数据传输的引脚的电平设置为低于第二预设电平以结束待发送数据的传输,通过中断信号及时结束待发送数据的传输或者超时重传可以提高数据传输的可靠性和稳定性,特别是在在通信环境不稳定或存在干扰的情况下,能够避免数据丢失,确保数据最终能够成功发送。
在一些实施例中,在处理器通过SPI的数据发送接口将初始化后的发送缓冲区中对应的待发送数据发送至远程调用中间件,并通过远程调用中间件将待发送数据转发至NAD后,车载应用终端还可以执行步骤204、205:
204、当处理器接收到NAD反馈的待发送数据接收成功消息的情况下,发送第一缓存清除指令至远程调用中间件;
205、远程调用中间件接收到第一缓存清除指令之后,清除数据缓存空间中的待发送数据。
可以理解,待发送数据接收成功消息是指示待发送数据已成功接收的标志信息。可以理解,NAD在成功接收到通过远程调用中间件转发的待发送数据后,生成并向处理器发送待发送数据接收成功消息。在实际应用中,待发送数据接收成功消息通常是指ACK(Acknowledgment)消息,ACK消息通常是一个二进制或特定格式的报文,其中包含一个或多个字段来标识被确认的数据包或数据块。当NAD成功接收数据后,它会返回一个包含相应标识信息的ACK消息给处理器。
第一缓存清除指令是指处理器在确认NAD已成功接收数据后,发送给远程调用中间件的指令,用于指示远程调用中间件清除数据缓存空间中的已发送的前述待发送数据以及与之相关的缓存条目。
在一些实施例中,当远程调用中间件接收到第一缓存清除指令后,它会根据指令的内容来定位并清除数据缓存空间中的已发送的前述待发送数据以及与之相关的缓存条目。
在本说明书一些实施例中,车载智能终端在确认NAD已成功接收数据后,通过远程调用中间件清除数据缓存空间中的已发送的前述待发送数据以及与之相关的缓存条目,进而确保数据缓存空间的有效利用,避免不必要的数据堆积。同时,及时清除数据缓存空间中的数据也有助于维护系统的稳定性和性能,确保后续的数据传输能够顺利进行。
关于步骤30:远程调用中间件将待发送数据发送至NAD。
可以理解,远程调用中间件可以通过通信控制单元获取处理器发送的待发送数据并转发至IPC模块,然后通过IPC模块以套接字机制将待发送数据发送给NAD,通过采用套接字机制进行数据交换,IPC模块可以同时与多个NAD进行通信。
本说明书一些实施例中,在处理器通过远程调用中间件与NAD通信连接的情况下,处理器获得数据发送请求,响应于获得数据发送请求,通过SPI将待发送数据发送至远程调用中间件,远程调用中间件将待发送数据发送至NAD,通过将远程调用中间件作为待发送数据的中转结构,可以实现多个NAD与处理器间的协同通信,提高NAD与处理器之间的数据传输效率。
根据上文相关描述,本说明书一些实施例中,车载智能终端中的远程调用中间件通过SPI与处理器通信,SPI通过MOSI和MISO接口实现了处理器与远程调用中间件之间的双向数据传输,有助于提高了数据通信的效率和稳定性,其中,MOSI接口用于处理器接收远程调用中间件发送的信息,MISO接口用于处理器发送数据到远程调用中间件。因为,本说明书一些实施例还提供一种数据接收方法。
下面结合具体实施例进行说明:
请参阅图8,图8是本申请实施例公开的数据接收方法的流程图示。如图8的数据接收方法可以包括步骤80~82:
80、在处理器通过远程调用中间件与NAD通信连接的情况下,处理器获得数据接收请求;
81、远程调用中间件接收NAD发送的待接收数据;
82、远程调用中间件通过SPI将待接收数据发送至处理器。
关于步骤80:在处理器通过远程调用中间件与NAD通信连接的情况下,处理器获得数据接收请求。
可以理解,通信连接是指处理器与NAD之间通过特定的信号交换和协议流程建立起数据传输通道。在一些实施例中,处理器可以通过远程调用中间件中的会话控制单元来与NAD建立通信连接。关于如何建立通信连接的详细说明,可以参见图2及其相关描述。
数据接收请求是指示处理器接收数据的指令或信号。例如,在处理器需要接收由NAD发送数据的情况下,处理器会生成数据发送请求。请参阅图9,图9是本申请实施例公开的获得数据接收请求的流程图示。在一些实施例中,步骤80可以包括如图9所示的步骤801~802:
801、处理器监控处理器的外部中断输入引脚的电平;
802、处理器在监控到外部中断输入引脚的电平大于预设电平阈值的情况下,生成数据接收请求,将数据接收请求发送至远程调用中间件。
应理解,处理器通常有一个或多个外部中断输入引脚,用于接收来自外部设备的信号,当处理器监控到NAD对应的外部中断输入引脚的电平发生变化且外部中断输入引脚的电平大于预设电平阈值的情况下,处理器会生成数据接收请求并发送至远程调用中间件,通知远程调用中间件接收NAD发送的数据并转发给处理器。示例的,当CAN总线上的某个NAD准备向处理器发送数据时,所述NAD会先将某个特定的信号线的电平拉高,作为数据接收请求,处理器监控到该特定信号线的变化后,就知道需要准备接收来自该NAD的数据,进而生成数据接收请求。
本说明书一些实施例中,通过监控外部中断输入引脚的电平,处理器能够准确地获取数据接收请求,并及时准备接收来自远程设备的数据,进而确保了数据传输的高效性和准确性。
关于步骤81:远程调用中间件接收NAD发送的待接收数据。
可以理解,远程调用中间件通过IPC模块以套接字机制接收NAD发送的待接收数据,通过采用套接字机制进行数据交换,IPC模块可以同时与多个NAD进行通信,然后通过通信控制单元将待接收数据并转发至处理器。
关于步骤82:远程调用中间件通过SPI将待接收数据发送至处理器。
在一些实施例中,处理器设置有接收缓冲区,SPI包括数据接收接口,例如,MOSI接口,远程调用中间件通过SPI将待接收数据发送至处理器包括如图10所示的步骤821~823:
821、远程调用中间件接收处理器发送的数据接收请求;
822、处理器初始化接收缓冲区,初始化后的接收缓冲区中数据存储地址对应到数据缓存空间中待接收数据的存储地址;
823、远程调用中间件通过数据接收接口将初始化后的接收缓冲区中对应的待接收数据发送至处理器。
可以理解,接收缓冲区是指处理器在使用SPI接收数据时,为了传输待接收数据,处理器需要分配处理器中一块特定大小的内存空间作为接收缓冲区,接收缓冲区和发送缓冲区的内存空间大小可以相同,也可以不同。接收缓冲区用于临时存储由外部设备(例如,NAD或远程调用中间件)发送至处理器的待接收数据。
在远程调用中间件接收到数据接收请求的情况下,处理器初始化接收缓冲区,处理器会将接收缓冲区的数据存储地址对应到数据缓存空间中待接收数据的存储地址,然后处理器将接收缓冲区挂载到SPI以与SPI通信连接,然后处理器通过SPI的数据接收接口接收由远程调用中间件的通信控制单元发送的初始化后的接收缓冲区中对应的待接收数据。
在一些实施例中,处理器设置有控制数据传输的引脚,步骤823可以包括如图11所示的步骤8231~8234:
8231、处理器将控制数据传输的引脚的电平设置为高于第一预设电平以中断当前的数据传输;
8232、远程调用中间件通过SPI的数据接收接口将接收缓冲区对应的待接收数据发送至处理器;
8233、当待接收数据发送结束或SPI的数据接收接口发送待接收数据超过预设时间阈值,SPI生成并发送中断信号至处理器;
8234、处理器在接收到中断信号后将控制数据传输的引脚的电平设置为低于第二预设电平以结束待接收数据的传输。
其中,关于步骤8231、8233、8234的更多说明,可以参见图6及步骤2031、2033、2034的相关描述。
可以理解,处理器将控制数据传输的引脚的电平设置为高于第一预设电平以中断当前的数据传输,也就是说,处理器拉高控制数据传输的引脚的电平以中断处理器的当前任务进程,开始允许通过SPI进行数据传输,处理器通过SPI的数据接收接口接收远程调用中间件发送的所述接收缓冲区对应的待接收数据。在通过SPI进行数据传输的过程中,处理器在接收到中断信号时将控制数据传输的引脚的电平设置为低于第二预设电平以结束待接收数据的传输。步骤8233中的中断信号是指当SPI待接收数据的传输完成或发生某种异常情况时(例如,待接收数据的传输时间大于预设时间阈值),SPI会生成一个中断信号以通知处理器SPI当前通信状态,处理器接收到中断信号时将控制数据传输的引脚的电平设置为低于第二预设电平以结束待接收数据的传输。当SPI在接收数据过程中超过了预设时间阈值还没有完成,SPI生成并发送中断信号给处理器以便处理器及时采取相应的措施,例如,重试接收或报告错误。
本说明书一些实施例中,在SPI数据传输过程中,当待接收数据传输结束或SPI的数据接收接口接收待接收数据超过预设时间阈值,SPI生成并发送中断信号至处理器,处理器将控制数据传输的引脚的电平设置为低于第二预设电平以结束待接收数据的传输,通过中断信号及时结束待接收数据的传输或者超时重传可以提高数据传输的可靠性和稳定性,特别是在在通信环境不稳定或存在干扰的情况下,能够避免数据丢失,确保数据最终能够成功接收。
在一些实施例中,在远程调用中间件通过数据接收接口将初始化后的接收缓冲区中对应的待接收数据发送至处理器后,车载应用终端还可以执行步骤824~826:
824、当处理器接收到NAD发送的待接收数据的情况下,发送待接收数据接收成功消息至远程调用中间件,远程调用中间件将待接收数据接收成功消息发送至NAD;
825、处理器对待接收数据进行解析,并根据解析内容执行待接收数据指示的动作,发送第二缓存清除指令至远程调用中间件;
826、远程调用中间件接收到第二缓存清除指令之后,清除数据缓存空间中的待接收数据。
可以理解,待接收数据接收成功消息是指示待接收数据已成功接收的标志信息。可以理解,处理器在成功接收到通过远程调用中间件转发的待接收数据后,生成并向远程调用中间件发送待接收数据接收成功消息,远程调用中间件再将待接收数据接收成功消息转发至NAD。在实际应用中,待接收数据接收成功消息通常是指ACK(Acknowledgment)消息,ACK消息通常是一个二进制或特定格式的报文,其中包含一个或多个字段来标识被确认的数据包或数据块。当处理器成功接收数据后,它会返回一个包含相应标识信息的ACK消息给NAD。
在一些实施例中,处理器对待接收数据进行解析,并根据解析内容执行待接收数据指示的动作。例如,NAD通过远程调用中间件向处理器发送休眠指令,其中,封装为RPC帧格式的休眠指令为待接收数据,处理器接收到待接收数据,解析后可以得到解析内容,解析内容包括休眠指令,处理器执行该解析内容指示的动作,例如休眠指令对应的切换为休眠状态。
在执行待接收数据指示的动作后,处理器发送第二缓存清除指令至远程调用中间件。第二缓存清除指令是指处理器在已成功接收所述待接收数据后,发送给远程调用中间件的指令,用于指示远程调用中间件清除数据缓存空间中的已发送的前述待接收数据以及与之相关的缓存条目。
在一些实施例中,当远程调用中间件接收到第二缓存清除指令后,它会根据指令的内容来定位并清除数据缓存空间中的已发送的前述待接收数据以及与之相关的缓存条目。
在本说明书一些实施例中,车载智能终端在确认处理器已成功接收数据后,通过远程调用中间件清除数据缓存空间中的已发送的前述待接收数据以及与之相关的缓存条目,进而确保数据缓存空间的有效利用,避免不必要的数据堆积。同时,及时清除数据缓存空间中的数据也有助于维护系统的稳定性和性能,确保后续的数据传输能够顺利进行。
本说明书一些实施例中,在处理器通过远程调用中间件与NAD通信连接的情况下,处理器获得数据接收请求,响应于获得数据接收请求,通过SPI接收由远程调用中间件发送的待接收数据,远程调用中间件接收NAD发送的待接收数据,通过将远程调用中间件作为待接收数据的中转结构,可以实现多个NAD与处理器间的协同通信,提高NAD与处理器之间的数据传输效率。
基于前述的实施例,本申请实施例提供一种车载智能终端。
图13为本申请实施例提供的车载智能终端的结构示意图,如图13所示,所述车载智能终端1300包括处理器1301、远程调用中间件1302和串行外设接口SPI1303,串行外设接口SPI1303设置有数据接收接口和数据发送接口,处理器1301通过远程调用中间件1302与网络节点NAD进行通信,远程调用中间件通过串行外设接口SPI1303与处理器1301通信:
处理器1301,用于在处理器1301通过远程调用中间件1302与NAD通信连接的情况下,获得数据发送请求并通过串行外设接口SPI1303的数据发送接口将待发送数据发送至远程调用中间件1302,或,获得数据接收请求;
远程调用中间件1302,用于将待发送数据发送至NAD,或,接收NAD发送的待接收数据并通过串行外设接口SPI1303的数据接收接口将待接收数据发送至处理器1301。
在一些实施例中,如图14所示,远程调用中间件1302可以包括IPC模块和RPC模块,其中,进程间通信(Inter Process Communication,IPC)模块采用Socket机制,实现了远程调用中间件与NAD进程之间的数据交换和资源共享。远程过程调用(Remote ProcedureCall,RPC)模块用于远程调用中间件与底层驱动之间的交互。它通过SPI与处理器进行通信,实现了底层数据的读写和远程过程的调用,进一步扩展了系统的功能和性能。
在一些实施例中,RPC模块包括数据缓存单元、会话控制单元和通信控制单元。数据缓存单元用于缓存RPC帧格式数据,例如,封装为RPC帧格式的NAD与远程调用中间件之间的数据、封装为RPC帧格式的处理器与远程调用中间件之间的数据。会话控制单元用于建立远程调用中间件与处理器之间的通信连接。通信控制单元用于控制远程调用中间件与处理器之间的数据传输,例如,通信控制单元可以控制处理器通过MOSI接口接收远程调用中间件发送的数据,也可以控制处理器通过MISO接口向远程调用中间件发送数据。这些单元协同工作,确保了RPC帧格式数据的缓存、通信连接的建立和数据传输的控制,为多个NAD与处理器之间的协同通信提供了有力保障。
以上车载智能终端实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请车载智能终端实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中图13所示的车载智能终端对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。上述车载智能终端中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种计算机设备,该计算机设备可以是如图1-图13所示实施例中的车载智能终端,该计算机设备在实施过程中可以为各种类型的具有计算能力的设备。其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器和通信接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的通信接口用于与外部的终端通过通信。该计算机程序被处理器执行时以实现一种数据发送方法或一种数据接收方法。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的方法中的步骤。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的计算机设备可以实现为一种计算机程序的形式,计算机程序可在如图15所示的计算机设备上运行。计算机设备的存储器中可存储组成该数据发送方法和数据接收方法所需的各个程序模块,比如,图15所示的非易失性存储介质、内存储器等。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据发送方法和数据接收方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种数据发送方法,其特征在于,应用于车载智能终端,所述车载智能终端包括处理器、远程调用中间件和串行外设接口SPI,所述处理器通过所述远程调用中间件与网络节点NAD进行通信,所述远程调用中间件通过所述SPI与所述处理器通信,所述方法包括:
在所述处理器通过所述远程调用中间件与所述NAD通信连接的情况下,所述处理器获得数据发送请求;
所述处理器通过所述SPI将待发送数据发送至所述远程调用中间件;
所述远程调用中间件将所述待发送数据发送至所述NAD。
2.根据权利要求1所述的方法,其特征在于,所述远程调用中间件设置有数据缓存空间,所述获得数据发送请求包括:
所述处理器封装待发送数据;
所述处理器计算所述远程调用中间件的所述数据缓存空间在接收所述待发送数据后的剩余发送空间,若所述剩余发送空间的空间容量大于或等于预设容量阈值,将已封装的所述待发送数据缓存至所述数据缓存空间;
所述处理器在监控到所述数据缓存空间中有需要发送的数据的情况下,生成所述数据发送请求,将所述数据发送请求发送至所述远程调用中间件。
3.根据权利要求2所述的方法,其特征在于,所述获得数据发送请求,还包括:
若所述剩余发送空间的空间容量小于所述预设容量阈值,将所述待发送数据分割为多个预设数据量大小的目标待发送数据;
针对每一目标待发送数据,所述处理器封装所述目标待发送数据;
所述处理器计算所述远程调用中间件的所述数据缓存空间在接收所述目标待发送数据后的剩余发送空间;
若所述剩余发送空间的空间容量小于所述预设容量阈值,重新分割所述待发送数据直至所述剩余发送空间的空间容量大于或等于所述预设容量阈值。
4.根据权利要求2所述的方法,其特征在于,所述处理器设置有发送缓冲区,所述SPI包括数据发送接口,所述处理器通过所述SPI将待发送数据发送至所述远程调用中间件,包括:
所述远程调用中间件接收所述处理器发送的所述数据发送请求;
所述处理器初始化所述发送缓冲区,初始化后的所述发送缓冲区中数据存储地址对应到所述数据缓存空间中所述待发送数据的存储地址;
所述处理器通过所述SPI的数据发送接口将所述初始化后的所述发送缓冲区中对应的所述待发送数据发送至所述远程调用中间件。
5.根据权利要求4所述的方法,其特征在于,所述处理器设置有控制数据传输的引脚,所述处理器通过所述SPI的数据发送接口将所述初始化后的所述发送缓冲区中对应的所述待发送数据发送至所述远程调用中间件,包括:
所述处理器将所述控制数据传输的引脚的电平设置为高于第一预设电平以中断当前的数据传输,通过所述SPI的数据发送接口将所述发送缓冲区对应的所述待发送数据发送至所述远程调用中间件。
6.根据权利要求5所述的方法,其特征在于,所述通过所述SPI的数据发送接口将所述发送缓冲区对应的所述待发送数据发送至所述远程调用中间件,包括:
通过所述SPI的数据发送接口将所述发送缓冲区对应的所述待发送数据发送至所述远程调用中间件;
当所述待发送数据发送结束或所述SPI的数据发送接口发送所述待发送数据超过预设时间阈值,所述SPI生成并发送中断信号至所述处理器;
所述处理器在接收到所述中断信号后将所述控制数据传输的引脚的电平设置为低于第二预设电平以结束所述待发送数据的传输,所述第二预设电平低于所述第一预设电平。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述处理器接收到所述NAD反馈的所述待发送数据接收成功消息的情况下,发送第一缓存清除指令至所述远程调用中间件;
所述远程调用中间件接收到所述第一缓存清除指令之后,清除所述数据缓存空间中的所述待发送数据。
8.一种数据接收方法,其特征在于,应用于车载智能终端,所述车载智能终端包括处理器、远程调用中间件和串行外设接口SPI,所述处理器通过所述远程调用中间件与网络节点NAD进行通信,所述远程调用中间件通过所述SPI与所述处理器通信,所述方法包括:
在所述处理器通过所述远程调用中间件与所述NAD通信连接的情况下,所述处理器获得数据接收请求;
所述远程调用中间件接收所述NAD发送的待接收数据;
所述远程调用中间件通过所述SPI将所述待接收数据发送至所述处理器。
9.根据权利要求8所述的方法,其特征在于,所述获得数据接收请求,包括:
所述处理器监控所述处理器的外部中断输入引脚的电平;
所述处理器在监控到所述外部中断输入引脚的电平大于预设电平阈值的情况下,生成所述数据接收请求,将所述数据接收请求发送至所述远程调用中间件。
10.根据权利要求9所述的方法,其特征在于,所述远程调用中间件设置有数据缓存空间,所述远程调用中间件将接收到的数据存储在所述数据缓存空间,所述处理器设置有接收缓冲区,所述SPI包括数据接收接口,所述远程调用中间件通过所述SPI将所述待接收数据发送至所述处理器,包括:
所述远程调用中间件接收所述处理器发送的所述数据接收请求;
所述处理器初始化所述接收缓冲区,初始化后的所述接收缓冲区中数据存储地址对应到所述数据缓存空间中所述待接收数据的存储地址;
所述远程调用中间件通过所述数据接收接口将所述初始化后的所述接收缓冲区中对应的所述待接收数据发送至所述处理器。
11.根据权利要求10所述的方法,其特征在于,所述处理器设置有控制数据传输的引脚,所述远程调用中间件通过所述数据接收接口将所述初始化后的所述接收缓冲区中对应的所述待接收数据发送至所述处理器,包括:
所述处理器将所述控制数据传输的引脚的电平设置为高于第一预设电平以中断当前的数据传输,所述远程调用中间件通过所述SPI的数据接收接口将所述接收缓冲区对应的所述待接收数据发送至所述处理器。
12.根据权利要求11所述的方法,其特征在于,所述远程调用中间件通过所述SPI的数据接收接口将所述接收缓冲区对应的所述待接收数据发送至所述处理器,包括:
所述远程调用中间件通过所述SPI的数据接收接口将所述接收缓冲区对应的所述待接收数据发送至所述处理器;
当所述待接收数据发送结束或所述SPI的数据接收接口发送所述待接收数据超过预设时间阈值,所述SPI生成并发送中断信号至所述处理器;
所述处理器在接收到所述中断信号后将所述控制数据传输的引脚的电平设置为低于第二预设电平以结束所述待接收数据的传输,所述第二预设电平低于所述第一预设电平。
13.根据权利要求10所述的方法,其特征在于,所述方法还包括:
当所述处理器接收到所述NAD发送的所述待接收数据的情况下,发送所述待接收数据接收成功消息至所述远程调用中间件,所述远程调用中间件将所述待接收数据接收成功消息发送至所述NAD;
所述处理器对所述待接收数据进行解析,并根据解析内容执行所述待接收数据指示的动作,发送第二缓存清除指令至所述远程调用中间件;
所述远程调用中间件接收到所述第二缓存清除指令之后,清除所述数据缓存空间中的所述待接收数据。
14.一种车载智能终端,其特征在于,所述车载智能终端包括处理器、远程调用中间件和串行外设接口SPI,所述SPI设置有数据接收接口和数据发送接口,所述处理器通过所述远程调用中间件与网络节点NAD进行通信,所述远程调用中间件通过所述SPI与所述处理器通信:
所述处理器,用于在所述处理器通过所述远程调用中间件与所述NAD通信连接的情况下,获得数据发送请求并通过所述SPI的数据发送接口将待发送数据发送至所述远程调用中间件,或,获得数据接收请求;
所述远程调用中间件,用于将所述待发送数据发送至所述NAD,或,接收所述NAD发送的待接收数据并通过所述SPI的数据接收接口将待接收数据发送至所述处理器。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至13任一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410230799.7A CN117880345A (zh) | 2024-02-29 | 2024-02-29 | 数据发送及接收方法、车载智能终端、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410230799.7A CN117880345A (zh) | 2024-02-29 | 2024-02-29 | 数据发送及接收方法、车载智能终端、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117880345A true CN117880345A (zh) | 2024-04-12 |
Family
ID=90586973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410230799.7A Pending CN117880345A (zh) | 2024-02-29 | 2024-02-29 | 数据发送及接收方法、车载智能终端、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117880345A (zh) |
-
2024
- 2024-02-29 CN CN202410230799.7A patent/CN117880345A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199266B (zh) | 车机系统的日志传输方法、系统、车辆及存储介质 | |
CN110719231B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
JP2007088775A (ja) | 無線通信システム、無線通信装置及び方法 | |
CN112261142B (zh) | 一种rdma网络的数据重传方法、装置及fpga | |
CN113986501A (zh) | 实时数据库api无中断调用方法、系统、存储介质及服务器 | |
CN103650401A (zh) | 一种移动终端内部通信方法 | |
CN111181698A (zh) | 数据处理方法、装置、设备及介质 | |
CN113609059A (zh) | 一种通信系统及通信方法 | |
CN117880345A (zh) | 数据发送及接收方法、车载智能终端、设备及存储介质 | |
CN116150054B (zh) | 一种基于pcie的中断信息处理方法 | |
CN114978898A (zh) | 数据传输控制方法、装置、抬头显示器和存储介质 | |
CN116112536A (zh) | 一种tcp-串口通信透传的方法及装置 | |
CN114338270B (zh) | 数据通信方法、装置、电子设备及存储介质 | |
KR101685407B1 (ko) | 멀티코어 시스템을 위한 다이렉트 메모리 억세스 장치 및 다이렉트 메모리 억세스 장치의 동작 방법 | |
US20210014006A1 (en) | System and method for implementing a hybrid automatic repeat request process | |
CN111404793B (zh) | 一种控制物理can口和虚拟can口进行映射的方法,系统,设备及可读存储介质 | |
WO2020250778A1 (ja) | 通信装置および通信方法、並びにプログラム | |
CN116383116A (zh) | 一种基于spi总线的通信方法及装置 | |
CN113315846A (zh) | 一种数据传输方法及装置 | |
CN112491513A (zh) | 一种spi通信方法、装置及系统 | |
CN115982090B (zh) | 软硬件协同实现远端内存访问的方法和装置 | |
CN114710755B (zh) | 一种消息处理方法、车载通讯装置、电子设备及存储介质 | |
EP4224801A1 (en) | Data communication methods and apparatuses, electronic device and storage medium | |
CN116594951B (zh) | 一种基于fpga的数据传输系统及方法 | |
CN118012351A (zh) | 基于远程存储协议的数据读写保序方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |