[发明专利]一种保证小容量缓存串口通讯安全性的数据传输方法有效
申请号: | 201310371637.7 | 申请日: | 2013-08-23 |
公开(公告)号: | CN103488595A | 公开(公告)日: | 2014-01-01 |
发明(设计)人: | 陈尧;王佳佳;李晓锋;胡洪凯;张洪华;陈朝晖;党纪红;杜建伟;李经松 | 申请(专利权)人: | 北京控制工程研究所 |
主分类号: | G06F13/38 | 分类号: | G06F13/38 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 范晓毅 |
地址: | 100080 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保证 容量 缓存 串口 通讯 安全性 数据传输 方法 | ||
技术领域
本发明涉及一种保证小容量缓存串口通讯安全性的数据传输方法,属于串口通讯领域。
背景技术
串口通讯是嵌入式系统普遍采用的一种通讯方式,保证通讯的实时性、正确性是通讯逻辑设计需要关注的重点。在嵌入式系统中,中断是威胁串口正常通讯的重要因素,为防止外部中断对串口通讯的影响,目前业内多从硬件资源入手,采用大容量的缓存(FIFO)保证数据传输的连续性。在具备大容量缓存的情况下,软件可每次向缓存一次性写入足够量的数据,通过使能传送状态机使之从发送FIFO中读取数据传送到移位寄存器,移位寄存器通过FSM完成数据的输出。这样,即便软件的某一发送过程被中断打断,由于发送FIFO中有足够的数据,中断过程不会影响传送状态机的正常传输工作,从而保证了数据传输的实时性和连续性。然而,采用大容量缓存需要增加外围电路和芯片,这无疑增加了系统的复杂度和成本。此外若采用传统大缓存的通讯方式一次性将FIFO填满,由于仍存在尚未发完的数据,在两次写数的过程之间仍有可能无法避免中断的打断。此外特别是针对小容量的缓存,数据传输过程中打断的概率更加频繁,一旦中断打断,无法保证数据传输的连续性。
发明内容
本发明的目的在于克服现有技术的上述缺陷,提供一种保证小容量缓存串口通讯安全性的数据传输方法,该方法能够有效保证数据传输的连续性,防止中断打断对数据传输的影响,该方法同时适用于大容量缓存FIFO与小容量缓存FIFO,尤其适用于容量≤10字节的小容量缓存FIFO。
本发明的上述目的主要是通过如下技术方案予以实现的:
一种保证小容量缓存串口通讯安全性的数据传输方法,所述串口为上位机与下位机的接口,串口包括缓存FIFO、传送状态机和移位寄存器,其特征在于:所述缓存FIFO的容量为N,单字节的数据传输时间为T,最大中断时间为T中断,满足:其中ε为温度损耗系数,具体实现方法如下:
(1)、上位机对串口进行初始化,完成串口工作状态配置;
(2)、上位机向传送状态机发送控制指令,传送状态机根据所述控制指令停止数据传输;
(3)、上位机将数据写入缓存FIFO,写入的数据个数小于或等于缓存FIFO的容量N,同时上位机向传送输状态机发出控制指令;
(4)、传送状态机根据所述控制指令从缓存FIFO中读取数据并传送到移位寄存器,移位寄存器将所述数据输出给下位机;
(5)、上位机判断缓存FIFO的状态,若缓存FIFO容量已满,则等待,若缓存FIFO容量未满,则进入步骤(6);
(6)、若缓存FIFO中已使用容量≥2字节,则上位机向缓存FIFO中未使用容量写入数据,进入步骤(7);若缓存FIFO中已使用容量<2字节,则上位机停止向缓存FIFO中写入数据,待传送状态机将缓存FIFO中的数据取空后,进入步骤(7);
(7)、上位机判断数据是否发完,若已发完,结束数据发送;若未发完,则进入步骤(2)。
在上述保证小容量缓存串口通讯安全性的数据传输方法中,步骤(1)中上位机对串口进行初始化,完成串口工作状态配置包括波特率设置、奇偶校验设置、停止位个数设置、中断方式设置和清除缓存FIFO。
在上述保证小容量缓存串口通讯安全性的数据传输方法中,步骤(6)中传送状态机将缓存FIFO中的数据取空时间为:传送状态机从缓存FIFO中读取数据时间+传送状态机数据传送时间+移位寄存器的数据输出时间。
在上述保证小容量缓存串口通讯安全性的数据传输方法中,温度损耗系数ε在串口标称工作温度范围内,取值为1。
在上述保证小容量缓存串口通讯安全性的数据传输方法中,最大中断时间T中断可以为连续的多个中断时间的累加。
在上述保证小容量缓存串口通讯安全性的数据传输方法中,缓存FIFO的容量N≤10字节。
本发明与现有技术相比具有如下有益效果:
(1)、本发明设计了一种全新的串口数据传输方法,首先给出了缓存FIFO的容量N,单字节的数据传输时间T以及最大中断时间T中断之间的关系,在不同的数据传输时刻判断缓存FIFO的工作状态,根据缓存FIFO不同状态采取不同的传输策略,从而保证了串口通讯的可靠性和连续性,防止中断打断对数据传输的影响;
(2)、本发明数据传输方法根据缓存FIFO容量、单字节的数据传输时间、最大中断处理时间等固有特性设计,同时适用与大容量FIFO与小容量FIFO,尤其适用于容量≤10字节的小容量FIFO;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京控制工程研究所,未经北京控制工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310371637.7/2.html,转载请声明来源钻瓜专利网。