一种时间触发的串口设备通信的管理方法技术

技术编号:34178079 阅读:15 留言:0更新日期:2022-07-17 12:24
本发明专利技术公开了一种时间触发的串口设备通信的管理方法,用于解决传统航空电子系统的由多任务访问串口设备而导致重要数据丢失或延迟到来的问题。本发明专利技术基于时间触发的思想,应用软件将数据发送给数据发送器,数据发送器接收应用软件的串口数据包,在规划的时间窗口内发送数据包;数据接收器统一的从串口设备中接收数据,完成组包后将其数据存放在数据缓冲区内。本发明专利技术能够有效的解决无规划串口传输而导致关键数据延迟或丢失的问题,提高了航空电子系统的可靠性。系统的可靠性。系统的可靠性。

A management method of time triggered serial port device communication

【技术实现步骤摘要】
一种时间触发的串口设备通信的管理方法


[0001]本专利技术涉及一种通信管理技术,具体是一种时间触发的串口设备通信的管理方法。

技术介绍

[0002]航空电子系统中有大量的处理单元之间使用串口进行通信。传统的串口通信管理是由一个任务负责收发串口的所有数据,通信的数据量大时,会导致非关键性的数据抢占串口资源,而导致关键性的数据包无法及时到达或者丢失,造成系统故障。

技术实现思路

[0003]本专利技术的目的:在航空电子系统中,由于串口数据无规划的发送,导致关键的数据包无法及时到达或者丢失而导致系统故障。为了解决上述问题,本专利技术提出一种时间触发的串口设备通信的管理方法,在规划的时间窗口内传输对应的数据包。该方法解决了串口数据无规划的传输而导致系统故障的问题,提高了航空电子系统的可靠性。
[0004]本系统串口通信的管理方式是基于时间触发的思想。应用软件将数据包发送给数据发送器,由数据发送器在该数据包的规划时间窗口内访问串口设备发送数据包;数据接收器统一从串口设备中接收数据,并按照规则组装成数据包,存放在数据缓冲区中;应用软件从数据缓冲区中获取数据包。
[0005]时间触发的串口设备通信管理分为两个部分:数据发送器和数据接收器。数据发送器负责统一的在规划的时间窗口内发送每包串口数据;数据接收器负责统一的从串口设备中获取数据,组装成完成的数据包,并将其存放在对应的缓冲区中。
[0006]完成时间触发的串口通信管理需要发送数据缓冲信息表、时间窗口配置表、接收数据缓冲信息表的支撑。r/>[0007]发送数据缓冲信息表:记录所有发送数据包的缓存地址,包括数据包ID、数据包长度、数据包个数和缓冲区地址信息。在系统初始化时,依据数据包ID和数据包长度为数据包创建发送缓冲区。应用软件依据发送数据缓冲信息表,将发送的数据存放在发送的缓冲区中;数据发送器依据发送数据缓冲信息表中从缓冲中取出数据包通过串口设备发送数据。
[0008]时间窗口配置表:记录所有数据包的窗口信息,包括数据包ID、窗口起始时间、窗口结束时间、数据包发送所需时间等信息。数据发送器依据时间窗口配置表,从数据包的缓冲区中获取数据包并在规划的时间窗口内发送数据。
[0009]接收数据缓冲信息表:记录所有接收数据包的缓存地址,包括数据包ID、数据包长度、数据包个数和缓存区地址信息。在系统初始化时为数据包创建接收缓冲区。数据接收器接收并组装成完整的数据包后依据接收数据缓冲信息表,将该数据包存放到缓冲区中;应用软件依据接收数据缓冲信息表从缓冲区中获取数据包。
[0010]本系统时间触发的串口设备通信管理方法有效的解决了串口数据无规划的发送导致关键性的数据延迟到达或者丢失的问题,提高了航空电子系统的可靠性。
附图说明
[0011]图1是时间触发的串口通信原理图
[0012]图2是数据发送器基于时间窗口发送数据原理图
[0013]表1是发送数据缓冲信息表
[0014]表2是时间窗口配置表
[0015]表3是接收数据缓冲信息表
具体实施方式
[0016]在航空电子系统中,串口设备无规划的传输数据,会导致关键数据延迟到达或丢失,从而造成系统故障。为了解决上述问题,本专利技术提出一种时间触发的串口设备通信的管理方式,串口数据包在规划的时间窗口在串口设备上传输。该方法解决了关键性的串口数据延迟到达或丢失而导致系统丧失的问题,提高了航空电子系统的可靠性。
[0017]基于时间触发的思想。应用软件将数据包发送给数据发送器,由数据发送器在该数据包的规划时间窗口内访问串口设备发送数据包;数据接收器统一从串口设备中接收数据,并按照规则组装成数据包,存放在数据缓冲区中;应用软件从数据缓冲区中获取数据包。
[0018]完成时间触发的串口通信需要发送数据缓冲信息表、时间窗口配置表、接收数据缓冲信息表的支撑。
[0019]发送数据缓冲信息表:记录所有发送数据包的缓存地址,包括数据包ID、数据包长度、数据包个数和缓冲区地址信息。packetID代表数据包ID,为一个8位的数据,为0xff时表示发送数据缓冲信息表结束;packLen为一个8位的数据,为该数据包的长度;packetNum为一个8位的数据,代表最大缓冲数据包个数;buffID为一个32位的数据,为数据包缓冲区的地址,为0x0时表示未给该数据包分配发送缓冲区。
[0020]时间窗口配置表:记录所有数据包的窗口信息,包括数据包ID、窗口起始时间、窗口结束时间、数据包发送所需时间等信息。packetID代表数据包ID,为一个8位的数据,为0xff时表示时间窗口配置表结束,为0x0时代表无效;startTime为一个32位的数据,精度为ms,代表该数据包的窗口的起始时间;endTime为一个32位的数据,精度为ms,代表该数据包窗口的结束时间;needTime为一个32位的数据,精度为ns,代表发送完该数据包所需的总时间;flag为一个8位的数据,代表对应的数据包ID是否有数据需要发送,0代表无法送数据包,1代表有发送的数据包,其他值为无效。
[0021]接收数据缓冲信息表:记录所有接收数据包的缓存地址,包括数据包ID、数据包长度、数据包个数和缓存区地址信息。packetID代表数据包ID,为一个8位的数据,为0xff时表示接收数据缓冲信息表结束;packetLen为一个8位的数据,为该数据包的长度;packetNum为一个8位的数据,代表最大缓冲数据包个数;buffID为一个32位的数据,为数据包缓冲区的地址,为0x0时表示未给该数据包分配接收缓冲区。
[0022]系统运行方案的如下:
[0023]1.系统初始化
[0024]处理器节点在完成操作系统初始化后,获取发送数据缓冲信息表中的数据包信息,使用操作系统创建消息队列的接口,以数据包长度和数据包个数作为输入参数,创建发
送数据缓冲区,并将消息队列ID回填到buffID中。
[0025]获取接收数据缓冲信息表中的数据包信息,使用操作系统创建消息队列的接口,以数据包长度和数据包个数作为输入参数,创建接收数据缓冲区,并将消息队列ID回填到buffID中。
[0026]2.获取系统的主时间框架sysFrameTime
[0027]从时间窗口配置表中获取最后一个有效的数据包的窗口结束时间,该时间即为系统的主时间框架sysFrameTime。
[0028]3.应用数据包的发送
[0029]应用软件在发送数据包时,依据数据包ID,从发送数据缓冲信息表中查找buffID,使用操作系统消息队列的发送接口,将数据发送到发送缓冲区中。
[0030]4.时间触发的数据发送
[0031]数据发送器定时获取当前的时间currentTime,依据时间窗口配置表判断currentTime%sysFrameTime是否大于等于某个数据包的窗口的起始时间并且小于窗口的结束时间,如果是则表明是该数据包的时间窗口,否则不做任何动作。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种时间触发的串口设备通信的管理方法,其特征在于:所述应用软件将数据包发送给数据发送器;数据发送器接收应用软件的串口数据包,在规划的时间窗口内发送数据包;数据接收器统一接收串口设备上的数据,并将其组成完整的数据包存放在数据缓冲区内;应用软件从数据缓冲区中收取数据。2.根据权利要求1所述的时间触发的串口设备通信的管理方法,应用软件将数据包发送给数据发送器,特征在于:所述应用软件不直接访问串口设备,将数据包发送给数据发送器,由数据发送器访问串口设备发送数据。3...

【专利技术属性】
技术研发人员:段海军范超赵琳占水旺刘伟陈昊
申请(专利权)人:沈阳飞机设计研究所扬州协同创新研究院有限公司
类型:发明
国别省市:

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

1