CN114844740B - 双芯片间通信方法及芯片 - Google Patents
双芯片间通信方法及芯片 Download PDFInfo
- Publication number
- CN114844740B CN114844740B CN202210476126.0A CN202210476126A CN114844740B CN 114844740 B CN114844740 B CN 114844740B CN 202210476126 A CN202210476126 A CN 202210476126A CN 114844740 B CN114844740 B CN 114844740B
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- sent
- frame
- chip
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004891 communication Methods 0.000 title claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims abstract description 67
- 238000004806 packaging method and process Methods 0.000 claims abstract description 14
- 238000012790 confirmation Methods 0.000 claims description 14
- 230000009977 dual effect Effects 0.000 claims description 13
- 230000000737 periodic effect Effects 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 7
- 238000012512 characterization method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 208000032369 Primary transmission Diseases 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007958 sleep Effects 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/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种双芯片间通信方法及芯片。双芯片间通信方法包括:将待发送数据存入缓存;从缓存中确定目标待发送数据,并将目标待发送数据封装到一个发送数据帧中,所述发送数据帧包括帧头、帧计数、帧长度、发送类型标识字符、目标待发送数据的个数、净荷以及校验字节,所述净荷由目标待发送数据组成;将所述发送数据帧通过串口DMA方式发送到双芯片中的另一芯片。通过本发明,目标待发送数据共用一组开销,减少了开销占比,从而提高了双芯片间的传输效率。
Description
技术领域
本发明涉及电子信息技术领域,尤其涉及一种双芯片间通信方法及芯片。
背景技术
随着汽车电子的快速发展和智能驾驶的快速普及,数据传输决定了一个产品的交互性能和潜力。随着汽车电子五化的发展,以及越来越多的多屏显示和多系统处理之间的要求,同时需要满足整车休眠功耗要求,目前在硬件设计上分为微控制单元MCU和系统级芯片SOC。MCU主要负责处理外部输入的CAN信号和数字、模拟信号以及电源管理和休眠管理;SOC主要负责处理视频采集和输出,UI显示以及USB、车载以太网等协议栈的实现和相应逻辑处理。
在当前的硬件设计方案下,MCU可以专注处理与信号实时性相关内容,以及休眠唤醒和电源相关处理;SOC可以专注处理图像相关工作,提供更稳定的显示效果。这样既可以发挥MCU实时性的特点,又可以发挥SOC基于Linux系统(或其他操作系统)的扩展性和稳定性。在MCU与SOC双芯片之间,有多种方式用于传输信息,其中,串口(UART)作为异步全双工通信,可以很好的处理双芯片间的数据传输。
但随着整车主动安全、自动驾驶以及各种预警系统的增加,MCU与SOC之间传输的数据越来越多,交互也更加频繁。如何保证MCU与SOC之间的数据传输效率,是目前亟待解决的技术问题。
发明内容
为解决上述技术问题,本发明提供一种双芯片间通信方法及芯片。
第一方面,本发明提供一种双芯片间通信方法,所述双芯片间通信方法应用于双芯片中的任一芯片,所述双芯片间通信方法包括:
将待发送数据存入缓存;
从缓存中确定目标待发送数据,并将目标待发送数据封装到一个发送数据帧中,所述发送数据帧包括帧头、帧计数、帧长度、发送类型标识字符、目标待发送数据的个数、净荷以及校验字节,所述净荷由目标待发送数据组成;
将所述发送数据帧通过串口DMA方式发送到双芯片中的另一芯片。
可选的,所述待发送数据包括待发送信息及其ID,所述从缓存中确定目标待发送数据的步骤包括:
根据待发送数据的ID确定缓存中优先级最高的待发送数据;
若优先级最高的待发送数据的类型为周期类型且到达发送时刻,则将优先级最高的待发送数据作为目标待发送数据;
若优先级最高的待发送数据的类型为事件类型且所述优先级最高的待发送数据与上一次收到的表征相同含义的数据相比存在差异,则将优先级最高的待发送数据作为目标待发送数据;
在排除已确定的优先级最高的待发送数据的基础上,返回执行所述根据待发送数据的ID确定缓存中优先级最高的待发送数据的步骤,直至满足停止条件。
可选的,所述停止条件包括:
发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且预设净荷大小与总大小的差值小于预设差值;
或,发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且缓存中的待发送数据均被确定为目标待发送数据。
可选的,在所述将待发送数据存入缓存的步骤之前,还包括:
收到类型为周期类型的数据时,将所述数据作为待发送数据;
收到类型为事件类型的数据时,在当前时刻与上一次发送与所述数据表征相同含义的数据的时间间隔等于预设时间间隔时,将所述数据作为待发送数据。
可选的,所述双芯片间通信方法还包括:
对收到的发送数据帧进行解封装,得到目标待发送数据;
对目标待发送数据进行解析,得到目标待发送数据对应的回复数据;
将确认字符以及回复数据封装到一个回复数据帧中,所述回复数据帧包括帧头、帧计数、帧长度、回复类型标识字符、回复数据的个数、净荷以及校验字节,所述净荷由确认字符以及回复数据组成;
将所述回复数据帧通过串口DMA方式发送到双芯片中的另一芯片。
第二方面,本发明还提供一种芯片,所述芯片包括:
存储模块,用于将待发送数据存入缓存;
封装模块,用于从缓存中确定目标待发送数据,并将目标待发送数据封装到一个发送数据帧中,所述发送数据帧包括帧头、帧计数、帧长度、发送类型标识字符、目标待发送数据的个数、净荷以及校验字节,所述净荷由目标待发送数据组成;
发送模块,用于将所述发送数据帧通过串口DMA方式发送到双芯片中的另一芯片。
可选的,所述封装模块,用于:
根据待发送数据的ID确定缓存中优先级最高的待发送数据;
若优先级最高的待发送数据的类型为周期类型且到达发送时刻,则将优先级最高的待发送数据作为目标待发送数据;
若优先级最高的待发送数据的类型为事件类型且所述优先级最高的待发送数据与上一次收到的表征相同含义的数据相比存在差异,则将优先级最高的待发送数据作为目标待发送数据;
在排除已确定的优先级最高的待发送数据的基础上,返回执行所述根据待发送数据的ID确定缓存中优先级最高的待发送数据的步骤,直至满足停止条件。
可选的,所述停止条件包括:
发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且预设净荷大小与总大小的差值小于预设差值;
或,发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且缓存中的待发送数据均被确定为目标待发送数据。
可选的,所述芯片还包括筛选模块,用于:
收到类型为周期类型的数据时,将所述数据作为待发送数据;
收到类型为事件类型的数据时,在当前时刻与上一次发送与所述数据表征相同含义的数据的时间间隔等于预设时间间隔时,将所述数据作为待发送数据。
可选的,所述芯片还包括回复模块,用于:
对收到的发送数据帧进行解封装,得到目标待发送数据;
对目标待发送数据进行解析,得到目标待发送数据对应的回复数据;
将确认字符以及回复数据封装到一个回复数据帧中,所述回复数据帧包括帧头、帧计数、帧长度、回复类型标识字符、回复数据的个数、净荷以及校验字节,所述净荷由确认字符以及回复数据组成;
将所述回复数据帧通过串口DMA方式发送到双芯片中的另一芯片。
本发明中,将待发送数据存入缓存;从缓存中确定目标待发送数据,并将目标待发送数据封装到一个发送数据帧中,所述发送数据帧包括帧头、帧计数、帧长度、发送类型标识字符、目标待发送数据的个数、净荷以及校验字节,所述净荷由目标待发送数据组成;将所述发送数据帧通过串口DMA方式发送到双芯片中的另一芯片。通过本发明,目标待发送数据共用一组开销,减少了开销占比,从而提高了双芯片间的传输效率。
附图说明
图1为本发明双芯片间通信方法一实施例的流程示意图;
图2为本发明芯片一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供了一种双芯片间通信方法,所述双芯片间通信方法应用于双芯片中的任一芯片。
一实施例中,参照图1,图1为本发明双芯片间通信方法一实施例的流程示意图。如图1所示,双芯片间通信方法包括:
步骤S10,将待发送数据存入缓存;
本实施例中,对一芯片而言(该芯片可以是MCU芯片,也可以是SOC芯片),可将收到的所有数据作为待发送数据并存入缓存,也可以是从收到所有数据中筛选出待发送数据并存入缓存。其中,芯片可从车辆上器件接收数据,例如从传感器接收数据。传感器包括车速传感器、转速传感器、温度传感器、灯光传感器以及雷达传感器等等。在此仅为示意性说明,传感器还可以包括其他,芯片还可接收来自其他器件的数据。
步骤S20,从缓存中确定目标待发送数据,并将目标待发送数据封装到一个发送数据帧中,所述发送数据帧包括帧头、帧计数、帧长度、发送类型标识字符、目标待发送数据的个数、净荷以及校验字节,所述净荷由目标待发送数据组成;
本实施例中,容易理解的是缓存中的待发送数据一般有多个,需要从多个待发送数据中确定目标待发送数据。其中,可基于待发送数据的存入时刻,按照先入先出的原则,从缓存中的多个待发送数据中确定目标待发送数据;还可以是,按照待发送数据的优先级,按照优先级高先出的原则,从缓存中的多个待发送数据中确定目标待发送数据。
当然,还需要进一步考虑1个发送数据帧可承载的净荷大小。例如,发送数据帧的格式规定其最大净荷为P,则确定的目标待发送数据的总大小不能超过P,但要尽可能接近P。
例如,缓存中的待发送数据包括待发送数据1~10,且待发送数据1是最先存入缓存的,待发送数据2次之,以此类推,待发送数据10是最后存入缓存的。若按照先入先出的原则,则首先确定待发送数据1为目标待发送数据;而待发送数据1的大小小于P,则检测待发送数据1+待发送数据2的大小是否小于或等于P,若待发送数据1+待发送数据2的大小小于或等于P,则确定待发送数据2也为目标待发送数据。以此类推,若确定待发送数据1+待发送数据2+待发送数据3+待发送数据4的大小大于P,则确定待发送数据1、待发送数据2以及待发送数据3为目标待发送数据。
又例如,缓存中的待发送数据包括待发送数据1~10,且待发送数据1的优先级最高,待发送数据2次之,以此类推,待发送数据10的优先级最低。若按照优先级高先出的原则,则首先确定待发送数据1为目标待发送数据;而待发送数据1的大小小于P,则检测待发送数据1+待发送数据2的大小是否小于或等于P,若待发送数据1+待发送数据2的大小小于或等于P,则确定待发送数据2也为目标待发送数据。以此类推,若确定待发送数据1+待发送数据2+待发送数据3+待发送数据4的大小大于P,则确定待发送数据1、待发送数据2以及待发送数据3为目标待发送数据。
确定目标待发送数据(例如确定待发送数据1、待发送数据2以及待发送数据3为目标待发送数据)之后,则将待发送数据1、待发送数据2以及待发送数据3封装到一个发送数据帧中,所述发送数据帧包括帧头、帧计数、帧长度、发送类型标识字符、目标待发送数据的个数、净荷以及校验字节,所述净荷由待发送数据1、待发送数据2以及待发送数据3组成。其中,发送类型标识字符表示该发送数据帧是主发送类型,而非针对某次收到的数据帧的回复。
步骤S30,将所述发送数据帧通过串口DMA方式发送到双芯片中的另一芯片。
本实施例中,封装得到发送数据帧后,即可通过串口DMA方式将发送数据帧发送到双芯片中的另一芯片。
容易理解的是,常规方案中针对每个目标待发送数据都封装成一个发送数据帧,例如目标待发送数据包括待发送数据1、待发送数据2以及待发送数据3,则封装得到发送数据帧1、发送数据帧2以及发送数据帧3,然后分别发送,这种情况下,数据帧开销有三组。而本实施例中,是将待发送数据1、待发送数据2以及待发送数据3封装到同一个发送数据帧中,这种情况下,数据帧开销仅一组。可见,本实施例通过共享数据帧开销的方式,减少了开销占比,使得更多的传输资源用于传输有效数据,从而提高了双芯片间的传输效率。
本实施例中,将待发送数据存入缓存;从缓存中确定目标待发送数据,并将目标待发送数据封装到一个发送数据帧中,所述发送数据帧包括帧头、帧计数、帧长度、发送类型标识字符、目标待发送数据的个数、净荷以及校验字节,所述净荷由目标待发送数据组成;将所述发送数据帧通过串口DMA方式发送到双芯片中的另一芯片。通过本发明,目标待发送数据共用一组开销,减少了开销占比,使得更多的传输资源用于传输有效数据,从而提高了双芯片间的传输效率。
进一步地,一实施例中,所述待发送数据包括待发送信息及其ID,所述从缓存中确定目标待发送数据的步骤包括:
步骤S201,根据待发送数据的ID确定缓存中优先级最高的待发送数据;
本实施例中,待发送数据包括待发送信息及其ID,其中每个待发送数据的ID根据其表征含义设置,且随着表征含义的不同而不同。例如,待发送数据表征车速时,对应ID1;待发送数据表征转速时,对应ID2;待发送数据表征转向灯状态时,对应ID3。其中,根据ID还用于确定待发送数据的优先级。
例如,根据缓存中的待发送数据1~10的ID,确定缓存中的待发送数据1~10按照优先级由高到低的顺序为:
待发送数据1的优先级最高,待发送数据2次之,以此类推,待发送数据10。则初次确定缓存中优先级最高的待发送数据为待发送数据1,再进一步确定待发送数据1的类型。
步骤S2021,若优先级最高的待发送数据的类型为周期类型且到达发送时刻,则将优先级最高的待发送数据作为目标待发送数据;
步骤S2022,若优先级最高的待发送数据的类型为事件类型且所述优先级最高的待发送数据与上一次收到的表征相同含义的数据相比存在差异,则将优先级最高的待发送数据作为目标待发送数据;
本实施例中,待发送数据的类型分为两类:周期类型、事件类型。具体可根据待发送数据的来源确定其类型,或是待发送数据的ID确定其类型。例如,来自车速传感器或转速传感器的待发送数据为周期类型;来自灯光传感器的待发送数据为事件类型。
以待发送数据1的优先级最高为例:
若待发送数据1的类型为周期类型,由于对于周期类型的待发送数据1预先设置了发送周期,即可知晓是否达到其发送时刻,若到达发送时刻,则将待发送数据1作为目标待发送数据。相反,若未达到其发送时刻,则不将待发送数据1作为目标待发送数据。
若待发送数据1的类型为事件类型且且待发送数据1与上一次收到的表征相同含义的数据相比存在差异,则将待发送数据1作为目标待发送数据。相反,若不存在差异,则不将待发送数据1作为目标待发送数据。其中,例如,待发送数据1用于表征转向灯状态,上一次收到的表征转向灯状态的待发送数据为待发送数据11,若待发送数据1与待发送数据11相比存在差异(例如待发送数据1是转向灯开启信号+ID1,待发送数据11是转向灯关闭信号+ID1),则将待发送数据1作为目标待发送数据。
步骤S203,在排除已确定的优先级最高的待发送数据的基础上,返回步骤S201,直至满足停止条件。
本实施例中,执行完步骤S2021或步骤S2022后,在排除已确定的优先级最高的待发送数据的基础上,返回执行步骤S201,直至满足停止条件。即执行完步骤S2021或步骤S2022后,从缓存中的待发送数据2~10中确定优先级最高的待发送数据2,然后基于待发送数据2的类型执行S2021或步骤S2022后,从缓存中的待发送数据3~10中确定优先级最高的待发送数据3,然后基于待发送数据3的类型执行S2021或步骤S2022,以此类推,直至满足停止条件。
本实施例中,当优先级最高的待发送数据为事件类型时,若该优先级最高的待发送数据与上一次收到的表征相同含义的数据相比存在差异,则将其作为目标待发送数据,以供后续将所有目标待发送数据封装后发给另一芯片。容易理解的是,若优先级最高的待发送数据与上一次收到的表征相同含义的数据相同,则无需将其告知另一芯片,则不将其作为目标待发送数据,从而减少了不必要的数据传输,减轻了双芯片间的数据传输压力,使得更多的传输资源用于传输有效数据,提高了有效数据的传输效率。
进一步地,一实施例中,所述停止条件包括:
发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且预设净荷大小与总大小的差值小于预设差值;
或,发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且缓存中的待发送数据均被确定为目标待发送数据。
本实施例中,预设差值根据实际需要进行设置,若预设净荷大小与总大小的差值小于预设差值,表明发送数据帧的净荷部分仅能承载已确定的目标待发送数据,若再确定一个目标待发送数据,则无法承载,则停止上述步骤S201~步骤S203的循环。
若缓存中的待发送数据均被确定为目标待发送数据,则无需再从缓存中确定目标待发送数据,则停止上述步骤S201~步骤S203的循环。
进一步地,一实施例中,在步骤S10之前,还包括:
收到类型为周期类型的数据时,将所述数据作为待发送数据;
收到类型为事件类型的数据时,在当前时刻与上一次发送与所述数据表征相同含义的数据的时间间隔等于预设时间间隔时,将所述数据作为待发送数据。
本实施例中,收到类型为周期类型的数据时,将该数据作为待发送数据,以供后续存储缓存。
收到类型为事件类型的数据3为表征转向灯状态的数据为例,若当前时刻与上一次发送表征转向灯状态的数据4的时刻的时间间隔小于预设时间间隔,则不将数据3作为待发送数据。只有当时间间隔等于预设时间间隔时,将数据3作为待发送数据。
进一步地,一实施例中,双芯片间通信方法还包括:
对收到的发送数据帧进行解封装,得到目标待发送数据;对目标待发送数据进行解析,得到目标待发送数据对应的回复数据;将确认字符以及回复数据封装到一个回复数据帧中,所述回复数据帧包括帧头、帧计数、帧长度、回复类型标识字符、回复数据的个数、净荷以及校验字节,所述净荷由确认字符以及回复数据组成;将所述回复数据帧通过串口DMA方式发送到双芯片中的另一芯片。
本实施例中,对芯片A而言,其可以通过上述步骤S10~步骤S30向芯片B发送发送数据帧;同理,芯片B亦可以通过上述步骤S10~步骤S30向芯片A发送发送数据帧。
对芯片A或B而言,收到对端芯片发送的发送数据帧后,即可对收到的发送数据帧进行解封装,从而得到发送数据帧中的净荷部分,即得到目标待发送数据,例如得到待发送数据1、待发送数据2以及待发送数据3;然后,进一步对待发送数据1、待发送数据2以及待发送数据3进行解析,得到每个待发送数据对应的回复数据,例如回复数据1、回复数据2以及回复数据3;然后,将确认字符以及回复数据1~3封装到一个回复数据帧中,回复数据帧包括帧头、帧计数、帧长度、回复类型标识字符、回复数据的个数、净荷以及校验字节,净荷由确认字符以及回复数据1~3组成;最后,将回复数据帧通过串口DMA方式发送到对端芯片。其中,回复类型标识字符用于表示此次发送的回复数据帧是针对某次收到的发送数据帧的回复。
第二方面,本发明实施例还提供一种芯片。
一实施例中,参照图2,图2为本发明芯片一实施例的功能模块示意图。如图2所示,芯片包括:
存储模块10,用于将待发送数据存入缓存;
封装模块20,用于从缓存中确定目标待发送数据,并将目标待发送数据封装到一个发送数据帧中,所述发送数据帧包括帧头、帧计数、帧长度、发送类型标识字符、目标待发送数据的个数、净荷以及校验字节,所述净荷由目标待发送数据组成;
发送模块30,用于将所述发送数据帧通过串口DMA方式发送到双芯片中的另一芯片。
进一步地,一实施例中,封装模块20,用于:
根据待发送数据的ID确定缓存中优先级最高的待发送数据;
若优先级最高的待发送数据的类型为周期类型且到达发送时刻,则将优先级最高的待发送数据作为目标待发送数据;
若优先级最高的待发送数据的类型为事件类型且所述优先级最高的待发送数据与上一次收到的表征相同含义的数据相比存在差异,则将优先级最高的待发送数据作为目标待发送数据;
在排除已确定的优先级最高的待发送数据的基础上,返回执行所述根据待发送数据的ID确定缓存中优先级最高的待发送数据的步骤,直至满足停止条件。
进一步地,一实施例中,停止条件包括:
发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且预设净荷大小与总大小的差值小于预设差值;
或,发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且缓存中的待发送数据均被确定为目标待发送数据。
进一步地,一实施例中,芯片还包括筛选模块,用于:
收到类型为周期类型的数据时,将所述数据作为待发送数据;
收到类型为事件类型的数据时,在当前时刻与上一次发送与所述数据表征相同含义的数据的时间间隔等于预设时间间隔时,将所述数据作为待发送数据。
进一步地,一实施例中,芯片还包括回复模块,用于:
对收到的发送数据帧进行解封装,得到目标待发送数据;
对目标待发送数据进行解析,得到目标待发送数据对应的回复数据;
将确认字符以及回复数据封装到一个回复数据帧中,所述回复数据帧包括帧头、帧计数、帧长度、回复类型标识字符、回复数据的个数、净荷以及校验字节,所述净荷由确认字符以及回复数据组成;
将所述回复数据帧通过串口DMA方式发送到双芯片中的另一芯片。
其中,上述芯片中各个模块的功能实现与上述双芯片间通信方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种双芯片间通信方法,其特征在于,所述双芯片间通信方法应用于双芯片中的任一芯片,所述双芯片间通信方法包括:
将待发送数据存入缓存;
从缓存中确定目标待发送数据,并将目标待发送数据封装到一个发送数据帧中,所述发送数据帧包括帧头、帧计数、帧长度、发送类型标识字符、目标待发送数据的个数、净荷以及校验字节,所述净荷由目标待发送数据组成;
将所述发送数据帧通过串口DMA方式发送到双芯片中的另一芯片;
所述待发送数据包括待发送信息及其ID,所述从缓存中确定目标待发送数据的步骤包括:
根据待发送数据的ID确定缓存中优先级最高的待发送数据;
若优先级最高的待发送数据的类型为周期类型且到达发送时刻,则将优先级最高的待发送数据作为目标待发送数据;
若优先级最高的待发送数据的类型为事件类型且所述优先级最高的待发送数据与上一次收到的表征相同含义的数据相比存在差异,则将优先级最高的待发送数据作为目标待发送数据;
在排除已确定的优先级最高的待发送数据的基础上,返回执行所述根据待发送数据的ID确定缓存中优先级最高的待发送数据的步骤,直至满足停止条件。
2.如权利要求1所述的双芯片间通信方法,其特征在于,所述停止条件包括:
发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且预设净荷大小与总大小的差值小于预设差值;
或,发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且缓存中的待发送数据均被确定为目标待发送数据。
3.如权利要求1所述的双芯片间通信方法,其特征在于,在所述将待发送数据存入缓存的步骤之前,还包括:
收到类型为周期类型的数据时,将所述数据作为待发送数据;
收到类型为事件类型的数据时,在当前时刻与上一次发送与所述数据表征相同含义的数据的时间间隔等于预设时间间隔时,将所述数据作为待发送数据。
4.如权利要求1至3中任一项所述的双芯片间通信方法,其特征在于,所述双芯片间通信方法还包括:
对收到的发送数据帧进行解封装,得到目标待发送数据;
对目标待发送数据进行解析,得到目标待发送数据对应的回复数据;
将确认字符以及回复数据封装到一个回复数据帧中,所述回复数据帧包括帧头、帧计数、帧长度、回复类型标识字符、回复数据的个数、净荷以及校验字节,所述净荷由确认字符以及回复数据组成;
将所述回复数据帧通过串口DMA方式发送到双芯片中的另一芯片。
5.一种芯片,其特征在于,所述芯片包括:
存储模块,用于将待发送数据存入缓存;
封装模块,用于从缓存中确定目标待发送数据,并将目标待发送数据封装到一个发送数据帧中,所述发送数据帧包括帧头、帧计数、帧长度、发送类型标识字符、目标待发送数据的个数、净荷以及校验字节,所述净荷由目标待发送数据组成;
发送模块,用于将所述发送数据帧通过串口DMA方式发送到双芯片中的另一芯片;
所述封装模块,用于:
根据待发送数据的ID确定缓存中优先级最高的待发送数据;
若优先级最高的待发送数据的类型为周期类型且到达发送时刻,则将优先级最高的待发送数据作为目标待发送数据;
若优先级最高的待发送数据的类型为事件类型且所述优先级最高的待发送数据与上一次收到的表征相同含义的数据相比存在差异,则将优先级最高的待发送数据作为目标待发送数据;
在排除已确定的优先级最高的待发送数据的基础上,返回执行所述根据待发送数据的ID确定缓存中优先级最高的待发送数据的步骤,直至满足停止条件。
6.如权利要求5所述的芯片,其特征在于,所述停止条件包括:
发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且预设净荷大小与总大小的差值小于预设差值;
或,发送数据帧的预设净荷大小大于已确定的目标待发送数据的总大小,且缓存中的待发送数据均被确定为目标待发送数据。
7.如权利要求5所述的芯片,其特征在于,所述芯片还包括筛选模块,用于:
收到类型为周期类型的数据时,将所述数据作为待发送数据;
收到类型为事件类型的数据时,在当前时刻与上一次发送与所述数据表征相同含义的数据的时间间隔等于预设时间间隔时,将所述数据作为待发送数据。
8.如权利要求5至7中任一项所述的芯片,其特征在于,所述芯片还包括回复模块,用于:
对收到的发送数据帧进行解封装,得到目标待发送数据;
对目标待发送数据进行解析,得到目标待发送数据对应的回复数据;
将确认字符以及回复数据封装到一个回复数据帧中,所述回复数据帧包括帧头、帧计数、帧长度、回复类型标识字符、回复数据的个数、净荷以及校验字节,所述净荷由确认字符以及回复数据组成;
将所述回复数据帧通过串口DMA方式发送到双芯片中的另一芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210476126.0A CN114844740B (zh) | 2022-04-29 | 2022-04-29 | 双芯片间通信方法及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210476126.0A CN114844740B (zh) | 2022-04-29 | 2022-04-29 | 双芯片间通信方法及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114844740A CN114844740A (zh) | 2022-08-02 |
CN114844740B true CN114844740B (zh) | 2024-01-30 |
Family
ID=82567688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210476126.0A Active CN114844740B (zh) | 2022-04-29 | 2022-04-29 | 双芯片间通信方法及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114844740B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627894B (zh) * | 2023-07-20 | 2023-10-20 | 之江实验室 | 一种介质访问控制层、通信方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102026045A (zh) * | 2009-09-17 | 2011-04-20 | 华为技术有限公司 | 数据帧的发送处理和接收处理方法、装置和系统 |
CN102835127A (zh) * | 2012-06-07 | 2012-12-19 | 华为技术有限公司 | Otn开销的发送、接收方法和装置 |
CN103914419A (zh) * | 2012-12-29 | 2014-07-09 | 北京谊安医疗系统股份有限公司 | 一种板级mcu间通信的方法及系统 |
WO2019072103A1 (zh) * | 2017-10-11 | 2019-04-18 | 阿里巴巴集团控股有限公司 | 目标数据的获取方法和装置 |
WO2019179359A1 (zh) * | 2018-03-21 | 2019-09-26 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
CN112799992A (zh) * | 2021-02-08 | 2021-05-14 | 燕山大学 | 现场总线芯片架构 |
CN113032465A (zh) * | 2021-05-31 | 2021-06-25 | 北京谷数科技股份有限公司 | 数据查询方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865827B (zh) * | 2020-08-31 | 2023-10-27 | 上海兆芯集成电路股份有限公司 | 数据链路层设备及其组包方法 |
-
2022
- 2022-04-29 CN CN202210476126.0A patent/CN114844740B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102026045A (zh) * | 2009-09-17 | 2011-04-20 | 华为技术有限公司 | 数据帧的发送处理和接收处理方法、装置和系统 |
CN102835127A (zh) * | 2012-06-07 | 2012-12-19 | 华为技术有限公司 | Otn开销的发送、接收方法和装置 |
CN103914419A (zh) * | 2012-12-29 | 2014-07-09 | 北京谊安医疗系统股份有限公司 | 一种板级mcu间通信的方法及系统 |
WO2019072103A1 (zh) * | 2017-10-11 | 2019-04-18 | 阿里巴巴集团控股有限公司 | 目标数据的获取方法和装置 |
WO2019179359A1 (zh) * | 2018-03-21 | 2019-09-26 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
CN112799992A (zh) * | 2021-02-08 | 2021-05-14 | 燕山大学 | 现场总线芯片架构 |
CN113032465A (zh) * | 2021-05-31 | 2021-06-25 | 北京谷数科技股份有限公司 | 数据查询方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于RapidIO块数据传输设计与实现;朱道山;;现代雷达(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114844740A (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7826479B2 (en) | Communication message conversion device, communication method and communication system | |
CN110083088B (zh) | 信号控制转换装置以及信号控制转换方法 | |
CN114844740B (zh) | 双芯片间通信方法及芯片 | |
CN109408419B (zh) | Dsp硬件抽象层和dsp处理器 | |
EP0239937A2 (en) | Serial communications controller | |
EP4002137B1 (en) | Secure digital (sd) direct command for improving throughput with a reduced memory footprint | |
US10567194B2 (en) | User station for a bus system and method for increasing the transmission capacity in a bus system | |
CN109218154B (zh) | 一种基于fpga的千兆以太网到slip的转换系统 | |
CN113468097B (zh) | 基于片上系统的数据交换方法 | |
US7430259B2 (en) | Two-wire chip-to-chip interface | |
CN112835825A (zh) | 具有多模调制的增强虚拟gpio | |
CN110800328A (zh) | 一种缓存状态上报方法、终端和计算机存储介质 | |
US20200050210A1 (en) | Autopilot control system and method | |
EP1093269A2 (en) | Data transfer control device and electronic equipment | |
KR20030019093A (ko) | 패킷 제어 시스템 및 통신 방법 | |
GB2423165A (en) | Host controller interface for packet-based timeshared bus | |
CN116578524B (zh) | 多核控制器、控制方法、车辆控制系统及可读存储介质 | |
US20240163204A1 (en) | Multipath aggregation scheduling method and electronic device | |
CN108984324A (zh) | Fpga硬件抽象层 | |
US20220173772A1 (en) | Exchange of data between a nfc reader and a dual nfc interface transponder | |
CN111800224B (zh) | 通信设备 | |
CN114281499A (zh) | 一种总线互连时的中断传递处理方法及系统 | |
CN109862044B (zh) | 一种转换装置、网络设备及数据传输方法 | |
CN112231266B (zh) | 一种基于查找表的arinc 429总线控制方法 | |
CN114978916A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |