一种多处理器间的信息交互方式制造技术

技术编号:12272672 阅读:96 留言:0更新日期:2015-11-04 21:29
本发明专利技术涉及一种多处理器间的信息交互方式,应用于车载系统,系统预先配置有硬件FIFO,该方法为发送端预先划分传输数据的优先级;将帧数据重新分包;优先发送高优先级的数据包至硬件FIFO发送端口;接收端的硬件FIFO接收端口接收数据且优先处理高优先级的数据包;判断是否为高优先级,若是,向发送端返回ACK帧数据,若否,视为完成传输过程;判断是否发送成功,若是,完成数据传输过程,否则重新发送数据。与现有技术相比,本发明专利技术具有如下优点:保证数据传输的可靠性;利用硬件FIFO的原理,有效提高传输的效率;对帧数据进行等级的划分,高优先级的帧数据需要返回ACK帧数据,低优先级则不需要,从而增加了数据的吞吐量。

【技术实现步骤摘要】

本专利技术涉及一种多处理器间的信息交互方式,应用于车载系统中。
技术介绍
目前车载系统越来越复杂,需要多个处理器来实现多个不同的功能,用以实现多 个不同的任务,多个处理器之间需要进行通信交换相互的信息,一个稳定可靠的通信方式 是必要的。 为了保证数据的可靠性,常用的通信方式是采用帧同步的方式,在数据帧加上帧 同步ID (Frame ID)和校验数据,主机发送一帧数据出去,从机需要反馈相应的ACK帧数据 回来。ACK (Acknowledgement),即确认字符,在数据通信中,接收站发给发送站的一种传输 类控制字符,表示发来的数据已确认接受无误。具体的帧结构如表1所示。其中,Header为 帧头,起到开始标识的作用,Frame ID为每一帧定义的ID标识,Length为帧数据的长度, Checksum为数据校验和,是前面数据异或后所得到的结果数值。 表1?帧数据的帧结构。 表1中,中间加黑框显示的为数据部分,其具体结构如表2所示。其中,cmd Type 为命令类型,当从机发送数据到主机时,主机根据接收到命令类型,用以驱动或调用相应的 系统模块运作。 表2.为表1中数据部分的帧结构。CommandID为命令ID,其中CmptID用来区分不同的模块,cmdtype用来区别 具体模块下的命令类型(CmdType)(如sevice,quary,response),cmdnumber用来区别 同一模块不同的消息ID。 CMD SIZE:为CMD FLAG长度和所有param的长度的总和。 返回的ACK帧数据的帧结构如表3所示。Frame ID为已接收到的帧数据的帧同 步ID, Status为接收端的接收状态信息,Checksum为数据校验和,是前面数据异或后所得 到的结果数值。 表3.ACK帧数据的帧结构。 利用返回的ACK帧数据,发送端在成功发送一帧后帧同步ID(FrameID)的值加 1,出错重发此帧时帧同步ID(FrameID)不变;接收端收到一帧数据后,ACK的ID值不变, 这样能够有效保证数据传输的可靠性。但这种通信方式并没有利用硬件模块的原理,通信 速率较低,而且所有的消息采取一样的处理方式,容易造成通信效率的低下。
技术实现思路
针对上述现有技术,本专利技术要解决的技术问题是:提供一种应用于车载系统的多 处理器间的信息交互方式,有效改善其通信效率地下的问题。 为了解决上述问题,本专利技术的多处理器间的信息交互方式,应用于车载系统,所述 系统预先配置有硬件FIFO,该方法包括 51. 发送端预先划分传输数据的优先级并存储; 52. 将帧数据重新分包; 53. 根据预设的优先级,优先发送高优先级的数据包至硬件FIFO发送端口; 54. 接收端的硬件FIFO接收端口接收来自发送端的的数据包; 55. 根据预设的优先级,优先处理高优先级的数据包; 56. 判断是否为高优先级,若是,向发送端返回ACK帧数据并执行下一步操作,若否, 视为完成数据传输过程; 57. 根据ACK帧数据判断是否发送成功,若是,完成数据传输过程,否则返回步骤S3, 重新发送数据。 优选的,所述的帧数据重新分包后所得到的数据包长度与硬件FIFO的宽度一致。 优选的,所述的数据包格式定义为:第一字节为所传送帧数据所定义的FrameID, 最后一字节为检验数据,所述校验数据为本数据包传送的所有字节异或后的结果,中间的 其他字节为有效的帧数据。 优选的,所述的FrameID格式为:第一位为所传送消息的优先级信息,第二位为 消息发送端的主/从机信息,其余为计数位。 优选的,所述的重新发送数据的次数不大于3次。 与现有技术相比,本专利技术具有如下优点: 一、沿用帧同步方法,保证数据传输的可靠性。 二、利用主机和从机利用硬件FIFO的原理,每次发送和接收以一个数据包为单 位,有效提高传输的效率。 三、对帧数据进行等级的划分,分为高优先级和低优先级的数据,高优先级的帧数 据需要返回ACK帧数据,低优先级的帧数据不需要返回ACK帧数据,从而增加了数据的吞吐 量。【附图说明】 图1为本专利技术实施的信息交互方式的流程图。【具体实施方式】 为了让本领域的技术人员更好地理解本专利技术的技术方案,下面结合附图对本专利技术 作进一步阐述。 本专利技术的【具体实施方式】如图1所示,一种多处理器间的信息交互方式,应用于车 载系统,所述系统预先配置有硬件FIFO,该方法包括 51. 发送端预先划分传输数据的优先级并存储; 预设传输数据的优先级,例如:将电源状态、界面切换等预设为高优先级(HQ)数据,将 音量旋钮、按键等预设为低优先级(LQ)数据, 52. 将帧数据重新分包; 帧数据重新分包后所得到的数据包长度与硬件FIFO的宽度一致。本实施例中,所设长 度均为8个字节。 数据包格式定义为:第一字节为所传送帧数据所定义的FrameID,最后一字节为 检验数据,所述校验数据为本数据包传送的所有字节异或后的结果,即 CS=Byte2 "Byte3 "Byte7〇 中间的其他字节为有效的帧数据。如表4所示。其中,CS即为Checksum。 表4?数据包的帧结构。 为了更好的区分每一帧,我们为每一个帧数据定义了FrameID,即帧同步ID。 FrameID格式为:第一位为所传送消息的优先级信息,第二位为消息发送端的主/从机信 息,其余为计数位。其计数范围是1~63。具体如表5所示。表5中,bit7表示高优先级(HQ)和低优先级(LQ),用0、1表示,0表示高优先级, 1表示低优先级。bit6表示主机(master)或者从机(slave),用0、1表示,0表示主机,1 表示从机。后面6位为累加计数,每发一个帧数据,FrameID累加直到63。例如,第一个 Frame的ID为0x81,这时回ACK的FrameID也必须是0x81 (二进制1000 0000),下一个 Frame的ID则为0x82,这时回ACK的FrameID也必须是0x82,这样一直循环到OxBF(二 进制1011 1111),然后再从0x81开始计数。 表5.FrameID的帧结构。S3.根据预设的优先级,优先发送高优先级的数据包至硬件FIFO发送端口。S4.接收端的硬件FIFO接收端口接收来自发送端的的数据包。S5.根据预设的优先级,优先处理高优先级的数据包。 数据包中,包含了FrameID,通过FrameID,可以判断出当前接收的数据包中的相 关信息的优先级别。 例如,当接收到的信息为电源状态、界面切换等相关信息时,优先进行相关处理。 处理器间在进行信息交互的过程中,所利用的硬件FIFO指的是FIFO存储器,在系 统设计中,用以增加数据传输率、处理大量数据流、匹配具有不同传输率。S6.判断是否为高优先级,若是,向发送端返回ACK帧数据并执行下一步操作,若 否,视为完成数据传输过程。 根据FrameID中的bit7位,判断bit7位是0还是1,从而判断其优先级。当bit7 位为0时,判断接收到的数据包为高优先级的数据,返回ACK帧数据至发送端,以保证数据 传送的可靠性;当bit7位为0时,判断接收到的数据包为低优先级的数据,不返回ACK帧数 据,以增加数据的吞吐量。S7.根据ACK帧数据判断是否发送成功,若是,本文档来自技高网
...

【技术保护点】
一种多处理器间的信息交互方式,应用于车载系统,所述系统预先配置有硬件FIFO,其特征在于:该方法包括S1. 发送端预先划分传输数据的优先级并存储;S2. 将帧数据重新分包;S3. 根据预设的优先级,优先发送高优先级的数据包至硬件FIFO发送端口;S4. 接收端的硬件FIFO接收端口接收来自发送端的的数据包;S5. 根据预设的优先级,优先处理高优先级的数据包;S6. 判断是否为高优先级,若是,向发送端返回ACK帧数据并执行下一步操作,若否,视为完成数据传输过程;S7. 根据ACK帧数据判断是否发送成功,若是,完成数据传输过程,否则返回步骤S3,重新发送数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:伍宇志孙易林谢其怀
申请(专利权)人:惠州市德赛西威汽车电子有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1