一种多路串口高可靠性传输方法技术

技术编号:20025542 阅读:16 留言:0更新日期:2019-01-06 04:27
本发明专利技术于数据传输技术领域,具体涉及一种多路串口高可靠性传输方法。本方法采用一种UART控制器冗余传输方案,通过设置双路UART通道通过比对来防止数据出错,并在系统层加入了数据监控模块,全面监控串口的数据传输,对出现的状况采取预处理方案,尽量保证数据传输的正确性,进一步保证串口传输过程中的可靠性。

【技术实现步骤摘要】
一种多路串口高可靠性传输方法
本专利技术属于数据传输
,具体涉及一种多路串口高可靠性传输方法。
技术介绍
随着嵌入式技术的发展,嵌入式微处理器在数据采集、工业控制、航空航天领域有着广泛的应用。为了满足数字化和智能化的需求,在这种以微处理器为核心的智能化测控系统中,处理器与外围电路功能模块、器件之间的通信大都采用简单高效的串口通信方式。这是由于串口通信设备具有控制灵活、接口简单、占用系统资源少的优点,且成本十分低廉,具有众多的接口标准,协议简单、程序设计简单方便。串口(UART)技术硬件的具体实物表现为独立的模块化芯片,或作为集成于微处理器的周边设备。UART作为一种通用串行数据总线,用于异步通信,该总线双向通信,可以实现全双工传输和接受。处理器内部采用并行数据,不能直接把数据发送到Modem,必须经过UART整理才能进行异步传输,其过程如图1所示。UART控制器传输协议作为异步通信协议的一种,工作原理是将传输数据的每个字符一位接一位的传输。主要有起始位、数据位、奇偶校验位、停止位。目前,UART控制器的传输协议使用了一套底层基于UART总线的通信协议,能保证命令和数据的传输,但是其并没有做冗余设计,若是由于电磁干扰或是严酷环境的影响,传输的数据产生错误,传统的UART控制器传输协议无法监测和避免这类错误,这会导致接收方接收到的数据与发送方发送的数据产生不一致,从而造成不可预估的错误,特别是在对数据一致性要求很高的航空航天领域,进而影响了UART控制器在严酷环境下的可靠性。
技术实现思路
(一)要解决的技术问题本专利技术提出一种多路串口高可靠性传输方法,以解决如何保证数据传输正确性的技术问题。(二)技术方案为了解决上述技术问题,本专利技术提出一种多路串口高可靠性传输方法,该传输方法包括如下步骤:S1、处理器将准备写入串行设备的数据发送到双路UART移位寄存器中;S2、通过数据监控模块对双路UART移位寄存器中的数据进行比对;S3、若比对结果一致,将数据存入FIFO缓冲区中;若比对结果不一致,通过数据监控模块丢弃该帧,并要求处理器重新传输该帧,并将此次错误信息记录到系统的错误日志中;S4、数据监控模块对错误进行分析,对不同的错误维持不同的错误计数器,在每次错误检测到后,相应的错误计数器上进行加1操作;S5、当错误计数器超过设定的阈值时,对不同的错误采取不同的处理措施;其中,对于溢出错误,数据监控模块通过降低波特率,降低数据传输速率;对于帧错误,数据监控模块通过向下位机发送检测包来查看串口是否正常连接;S6、在没有错误出现及比对结果一致后,数据监控模块重新加载串口驱动程序再次启动数据的传输;S7、将存储在FIFO缓冲区中的数据发送到双路UART接收寄存器中;S8、通过数据监控模块将双路UART接收寄存器中的数据传输到下位机。(三)有益效果本专利技术提出的多路串口高可靠性传输方法,采用一种UART控制器冗余传输方案,通过设置双路UART通道通过比对来防止数据出错,并在系统层加入了数据监控模块,全面监控串口的数据传输,对出现的状况采取预处理方案,尽量保证数据传输的正确性,进一步保证串口传输过程中的可靠性。附图说明图1为常规UART传输流程图;图2为本专利技术实施例的多路串口高可靠性传输方法流程图。具体实施方式为使本专利技术的目的、内容和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。本实施例提出一种多路串口高可靠性传输方法,其流程如图2所示。该传输方法包括如下步骤:S1、用户通过在UART的所有通道中选取两路不同的UART作为UART1和UART2;S2、处理器将准备写入串行设备的数据发送到双路UART寄存器中,包括分别通过UART1和UART2通道传输数据到UART1移位寄存器和UART2移位寄存器;S3、通过双路UART通道,对双路UART寄存器中的数据在数据监控模块中进行比对;S4、若比对结果一致,将数据存入FIFO缓冲区中;S5、若比对结果不一致,通过数据监控模块丢弃该帧,并要求处理器重新传输该帧,并将此次错误信息记录到系统的错误日志中;S6、数据监控模块对错误进行分析,对不同的错误维持不同的错误计数器,在每次错误检测到后,相应的错误计数器上进行加1操作;S7、当错误计数器超过设定的阈值时,对不同的错误采取不同的处理措施;其中,对于溢出错误,数据监控模块通过降低波特率,降低数据传输速率;对于帧错误,数据监控模块通过向下位机发送检测包来查看串口是否正常连接;S8、在没有错误出现及比对结果一致时,数据监控模块通过重新加载串口驱动程序再次启动数据的传输;S9、把存储在FIFO缓冲区中的数据发送到双路UART接收寄存器中;S10、通过数据监控模块将双路UART接收寄存器中的数据传输到下位机。以上所述仅是本专利技术的优选实施方式,应当指出,对于本
的普通技术人员来说,在不脱离本专利技术技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本专利技术的保护范围。本文档来自技高网
...

【技术保护点】
1.一种多路串口高可靠性传输方法,其特征在于,所述传输方法包括如下步骤:S1、处理器将准备写入串行设备的数据发送到双路UART移位寄存器中;S2、通过数据监控模块对双路UART移位寄存器中的数据进行比对;S3、若比对结果一致,将数据存入FIFO缓冲区中;若比对结果不一致,通过数据监控模块丢弃该帧,并要求处理器重新传输该帧,并将此次错误信息记录到系统的错误日志中;S4、数据监控模块对错误进行分析,对不同的错误维持不同的错误计数器,在每次错误检测到后,相应的错误计数器上进行加1操作;S5、当错误计数器超过设定的阈值时,对不同的错误采取不同的处理措施;其中,对于溢出错误,数据监控模块通过降低波特率,降低数据传输速率;对于帧错误,数据监控模块通过向下位机发送检测包来查看串口是否正常连接;S6、在没有错误出现及比对结果一致后,数据监控模块重新加载串口驱动程序再次启动数据的传输;S7、将存储在FIFO缓冲区中的数据发送到双路UART接收寄存器中;S8、通过数据监控模块将双路UART接收寄存器中的数据传输到下位机。

【技术特征摘要】
1.一种多路串口高可靠性传输方法,其特征在于,所述传输方法包括如下步骤:S1、处理器将准备写入串行设备的数据发送到双路UART移位寄存器中;S2、通过数据监控模块对双路UART移位寄存器中的数据进行比对;S3、若比对结果一致,将数据存入FIFO缓冲区中;若比对结果不一致,通过数据监控模块丢弃该帧,并要求处理器重新传输该帧,并将此次错误信息记录到系统的错误日志中;S4、数据监控模块对错误进行分析,对不同的错误维持不同的错误计数器,在每次错误检测到后,相应...

【专利技术属性】
技术研发人员:赵斌
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:天津,12

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

1