UART软件流控方法、装置、设备及介质制造方法及图纸

技术编号:36607804 阅读:10 留言:0更新日期:2023-02-04 18:32
本申请公开了UART软件流控方法、装置、设备及介质,包括:接收发送方发送的数据帧;若数据缓冲区已满,则向所述发送方返回携带第一预设确认帧标识的确认数据帧,以便所述发送方将所述数据帧确定为未成功发送数据帧,并停止向所述接收方发送数据帧;当已满的所述数据缓冲区出现可用空间,则向所述发送方返回携带第二预设确认帧标识的确认数据帧,以便所述发送方重新发送所述未成功发送数据帧。这样,通过接收数据帧以及返回确认数据帧,将未发送成功的数据帧在缓冲区出现可用空间时再次发送,能够避免数据丢失,保障数据收发的实时性和可靠性。性。性。

【技术实现步骤摘要】
UART软件流控方法、装置、设备及介质


[0001]本申请涉及UART流控
,特别涉及UART软件流控方法、装置、设备及介质。

技术介绍

[0002]UART(即Universal Asynchronous Receiver/Transmitter,通用异步收发传输器),是一种通用串行数据总线,用于异步通信,可双向通信,可以实现全双工传输和接收。常见的UART流控为通过添加硬件管脚,根据管脚电平高低通知发送方是否可以发送数据。比如,常用的CTS,RTS管脚,CTS可用来通知接收方可以接收数据,RTS可用来通知发送方可以发送数据。但这种硬件流控的方式,需要添加额外的硬件支持,如果没有硬件支持,串口无法流控,增加了设计成本,并且由于是硬件流控,无法做到跨平台使用,每个平台都需要适配驱动层接口。
[0003]目前,存在发送XON/XOFF的UART软件流控方式,当接收方的输入缓冲区内数据量超过设定的高位时,就向数据发送方发出XOFF字符,发送方收到XOFF字符后就立即停止发送数据,当接收方的输入缓冲区内数据量低于设定的低位时,就向数据发送端发出XON字符,发送方收到XON字符后就立即开始发送数据。但标志字符XON/XOFF可能在数据流中出现而引起误操作,因此XON/XOFF的方式至少要等待发送一个字节的时间,此时发送的数据无法确认收到,有可能造成数据丢失。

技术实现思路

[0004]有鉴于此,本申请的目的在于提供UART软件流控方法、装置、设备及介质,能够避免数据丢失,保障数据收发的实时性和可靠性。其具体方案如下:
[0005]第一方面,本申请公开了一种UART软件流控方法,应用于接收方,包括:
[0006]接收发送方发送的数据帧;
[0007]若数据缓冲区已满,则向所述发送方返回携带第一预设确认帧标识的确认数据帧,以便所述发送方将所述数据帧确定为未成功发送数据帧,并停止向所述接收方发送数据帧;
[0008]当已满的所述数据缓冲区出现可用空间,则向所述发送方返回携带第二预设确认帧标识的确认数据帧,以便所述发送方重新发送所述未成功发送数据帧。
[0009]可选的,所述接收发送方发送的数据帧之后,还包括:
[0010]若所述数据缓冲区未满,则将所述数据帧中携带的净荷数据存入所述数据缓冲区,并向所述发送方返回携带数据帧标识的确认数据帧;其中,所述数据帧标识为所述数据帧携带的帧标识。
[0011]可选的,所述将所述数据帧中携带的净荷数据存入所述数据缓冲区之前,还包括:
[0012]检验所述数据帧标识是否正确,若所述数据帧标识正确,则触发所述将所述数据帧中携带的净荷数据存入所述数据缓冲区的步骤。
[0013]可选的,还包括:
[0014]接收所述发送方发送的同步帧;其中,所述同步帧携带起始数据帧标识;
[0015]向所述发送方返回携带所述起始数据帧标识的确认同步帧,以便所述发送方基于所述起始数据帧标识发送起始数据帧,并在后续发送数据帧时,基于预设标识变化规则确定该数据帧所携带的数据帧标识。
[0016]可选的,所述检验所述数据帧标识是否正确,包括:
[0017]基于所述起始数据帧标识以及所述预设标识变化规则,检验所述数据帧标识是否正确。
[0018]可选的,所述确认数据帧、所述同步帧、所述确认同步帧以及数据帧均携带相应的帧类型信息。
[0019]第二方面,本申请公开了一种UART软件流控方法,应用于发送方,包括:
[0020]向接收方发送数据帧;
[0021]若接收到所述接收方返回的携带第一预设确认帧标识的确认数据帧,则将所述数据帧确定为未成功发送数据帧,并停止向所述接收方发送数据帧;其中,所述第一预设确认帧标识表征所述接收方的数据缓冲区已满;
[0022]若接收到所述接收方返回的携带第二预设确认帧标识的确认数据帧,则重新发送所述未成功发送数据帧;其中,所述第二预设确诊帧标识表征已满的所述数据缓冲区出现空闲空间。
[0023]第三方面,本申请公开了一种UART软件流控装置,应用于接收方,包括:
[0024]帧接收模块,用于接收发送方发送的数据帧;
[0025]帧返回模块,用于若数据缓冲区已满,则向所述发送方返回携带第一预设确认帧标识的确认数据帧,以便所述发送方将所述数据帧确定为未成功发送数据帧,并停止向所述接收方发送数据帧;当已满的所述数据缓冲区出现可用空间,则向所述发送方返回携带第二预设确认帧标识的确认数据帧,以便所述发送方重新发送所述未成功发送数据帧。
[0026]第四方面,本申请公开了一种电子设备,包括存储器和处理器,其中:
[0027]所述存储器,用于保存计算机程序;
[0028]所述处理器,用于执行所述计算机程序,以实现前述的UART软件流控方法。
[0029]第五方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的UART软件流控方法。
[0030]可见,本申请接收发送方发送的数据帧;若数据缓冲区已满,则向所述发送方返回携带第一预设确认帧标识的确认数据帧,以便所述发送方将所述数据帧确定为未成功发送数据帧,并停止向所述接收方发送数据帧;当已满的所述数据缓冲区出现可用空间,则向所述发送方返回携带第二预设确认帧标识的确认数据帧,以便所述发送方重新发送所述未成功发送数据帧。也即,本申请在接收数据帧时,若数据缓冲区已满,则向发送方返回携带标识信息的确认数据帧,以便发送方停止发送数据,在数据缓冲区出现可用空间后,向发送方返回携带标识信息的确认数据帧,以便发送方将未发送成功的数据帧再次发送,这样,通过接收数据帧以及返回确认数据帧,将未发送成功的数据帧在缓冲区出现可用空间时再次发送,能够避免数据丢失,保障数据收发的实时性和可靠性。
附图说明
[0031]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0032]图1为本申请公开的一种UART软件流控方法流程图;
[0033]图2为本申请公开的一种具体的UART软件流控示意图;
[0034]图3为本申请公开的一种UART软件流控方法流程图;
[0035]图4为本申请公开的一种UART软件流控装置结构示意图;
[0036]图5为本申请公开的一种电子设备结构图。
具体实施方式
[0037]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种UART软件流控方法,其特征在于,应用于接收方,包括:接收发送方发送的数据帧;若数据缓冲区已满,则向所述发送方返回携带第一预设确认帧标识的确认数据帧,以便所述发送方将所述数据帧确定为未成功发送数据帧,并停止向所述接收方发送数据帧;当已满的所述数据缓冲区出现可用空间,则向所述发送方返回携带第二预设确认帧标识的确认数据帧,以便所述发送方重新发送所述未成功发送数据帧。2.根据权利要求1所述的UART软件流控方法,其特征在于,所述接收发送方发送的数据帧之后,还包括:若所述数据缓冲区未满,则将所述数据帧中携带的净荷数据存入所述数据缓冲区,并向所述发送方返回携带数据帧标识的确认数据帧;其中,所述数据帧标识为所述数据帧携带的帧标识。3.根据权利要求2所述的UART软件流控方法,其特征在于,所述将所述数据帧中携带的净荷数据存入所述数据缓冲区之前,还包括:检验所述数据帧标识是否正确,若所述数据帧标识正确,则触发所述将所述数据帧中携带的净荷数据存入所述数据缓冲区的步骤。4.根据权利要求3所述的UART软件流控方法,其特征在于,还包括:接收所述发送方发送的同步帧;其中,所述同步帧携带起始数据帧标识;向所述发送方返回携带所述起始数据帧标识的确认同步帧,以便所述发送方基于所述起始数据帧标识发送起始数据帧,并在后续发送数据帧时,基于预设标识变化规则确定该数据帧所携带的数据帧标识。5.根据权利要求4所述的UART软件流控方法,其特征在于,所述检验所述数据帧标识是否正确,包括:基于所述起始数据帧标识以及所述预设标识变化规则,检验所述数据帧...

【专利技术属性】
技术研发人员:孙大庆
申请(专利权)人:深圳市广和通无线股份有限公司
类型:发明
国别省市:

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

1