数据交互系统及方法

文档序号:6380422阅读:391来源:国知局
专利名称:数据交互系统及方法
技术领域
本发明涉及一种数据交互系统及方法,特别是涉及一种能够用临时存储区代替Rx buffer来实现数据的替代硬件流控的数据交互系统以及一种利用该数据交互系统实现的数据交互方法。
背景技术
现在的外部设备与计算机进行数据交互有两种方式,无流控和硬件流控。其中无流控方式数据的传输效率高,但是不能保证准确无误的传输,而硬件流控方式可以保证正确的传输,但是传输效率相对较低。因此在数据交互时无论采用哪种方式都不能同时保证准确无误并且具有高传输效率,而且在外部设备与计算机进行较小数据量下的数据传输时均采用无流控方式就无法确保传输数据的正确性。发明内容
本发明要解决的技术问题是为了克服现有技术中外部设备与计算机进行较小数据量下的数据交互时无法确保传输的数据的正确性的缺陷,提供一种能够用临时存储区代替Rx (接收)buffer (缓冲寄存器)来实现数据的硬件流控的数据交互系统以及一种利用该数据交互系统实现的数据交互方法。
本发明是通过下述技术方案来解决上述技术问题的
本发明提供了一种数据交互方法,其特点在于,其用于控制一外部设备与一计算机进行数据交互,该数据交互方法包括以下步骤
S1、在该计算机中关闭数据通道中断并停止DMA (直接内存存取)传输;
S2、在该计算机中申请一临时存储区,并将指向Rx buffer的指针设置为指向该临时存储区;
S3、开启该数据通道中断及DMA传输;
S4、控制该外部设备与该计算机通过DMA传输进行数据交互。
其中,通过在步骤S1中关闭数据通道中断,就能够防止接收到MSG_ID_UART_ READY_TO_READ_IND消息(属于驱动层的消息),进而也就能防止在用该临时存储区替换Rx buffer时底层有消息上报。而步骤S2中申请的该临时存储区,存储容量可大可小,可以根据计算机系统性能来阶梯式的申请,如可以先申请100KB (千字节),若不成功则申请90KB 等,以此类推。
并且,通过将原来指向Rx buffer的指针设置为指向该临时存储区,就实现了用该临时存储区替代Rx buffer,进而也就实现了在较小数据传输量下以替代硬件流控方式进行该外部设备与该计算机之间的数据交互,而交互时可以采用DMA传输进行数据收发,这属于本领域的公知技术,在此就不再赘述,从而在保证正确传输的同时也提升了传输效率。
较佳地,步骤S2中该临时存储区的存储容量的取值范围为50-100KB。
较佳地,步骤S4中在数据交互完成后,还将该指针设置为重新指向Rxbuffer。3
本发明还提供了一种数据交互系统,其特点在于,其用于控制一外部设备与一计算机进行数据交互,该数据交互系统包括一控制模块、一指针设置模块以及一数据交互模块;
该控制模块用于首先在该计算机中关闭数据通道中断并停止DMA传输,并在该指针设置模块在该计算机中申请一临时存储区、将指向Rx buffer的指针设置为指向该临时存储区后,再开启该数据通道中断及DMA传输,该数据交互模块用于控制该外部设备与该计算机通过DMA传输进行数据交互。
较佳地,该指针设置模块申请的该临时存储区的存储容量的取值范围为 50-100KB。
较佳地,该指针设置模块还用于在该外部设备与该计算机完成数据交互后将该指针设置为重新指向Rx buffer ο
本发明的积极进步效果在于本发明能够用临时存储区替代Rx buffer,进而也就能够实现在较小数据传输量下以替代硬件流控方式进行外部设备与计算机之间的数据交互,在保证正确传输的同时也提升了传输效率。


图I为本发明的一较佳实施例的数据交互系统的结构图。
图2为本发明的一较佳实施例的数据交互方法的流程图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
如图I所示,本发明的数据交互系统包括一控制模块I、一指针设置模块2以及一数据交互模块3。
本发明的数据交互系统能够控制外部设备与计算机之间的数据交互,而首先该控制模块I会在该计算机中关闭数据通道中断并停止DMA传输,接着,该指针设置模块2则在该计算机中申请一临时存储区,并将指向Rx buffer的指针设置为指向该临时存储区,之后该控制模块I会再开启该数据通道中断并开启DMA传输,最后该数据交互模块3就控制该外部设备与该计算机通过DMA传输进行数据交互。
通过关闭数据通道中断,就能够防止接收到MSG_ID_UART_READY_TO_READ_IND消息,进而也就能防止在用该临时存储区替换Rx buffer时底层有消息上报。而该指针设置模块2申请的该临时存储区的存储容量可大可小,在本实施例中存储容量的取值范围可设置在50-100KB,具体可以根据计算机系统性能来阶梯式的申请,如可以先申请100KB,若不成功则申请90KB等,以此类推。
并且,通过将原来指向Rx buffer的指针设置为指向该临时存储区,就实现了用该临时存储区替代Rx buffer,进而也就实现了在较小数据传输量下以替代硬件流控方式进行该外部设备与该计算机之间的数据交互,而交互时可以采用DMA传输进行数据收发,这属于本领域的公知技术,在此就不再赘述,从而在保证正确传输的同时也提升了传输效率。
其中,该指针设置模块2还可以在该外部设备与该计算机完成数据交互后将该指针设置为重新指向Rx buffer ο
如图2所示,本发明利用本实施例的数据交互系统实现的数据交互方法包括以下步骤
步骤100、在该计算机中关闭数据通道中断并停止DMA传输。
步骤101、在该计算机中申请一临时存储区,并将指向Rx buffer的指针设置为指向该临时存储区。
步骤102、开启该数据通道中断及DMA传输;
步骤103、控制该外部设备与该计算机通过DMA传输进行数据交互,数据交互完成后将该指针设置为重新指向Rx buffer,然后结束流程。
虽然以上描述了本发明的具体实施方式
,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
权利要求
1.一种数据交互方法,其特征在于,其用于控制一外部设备与ー计算机进行数据交互,该数据交互方法包括以下步骤 51、在该计算机中关闭数据通道中断并停止DMA传输; 52、在该计算机中申请ー临时存储区,并将指向Rxbuffer的指针设置为指向该临时存储区; 53、开启该数据通道中断及DMA传输; 54、控制该外部设备与该计算机通过DMA传输进行数据交互。
2.如权利要求I所述的数据交互方法,其特征在于,步骤S2中该临时存储区的存储容量的取值范围为50-100KB。
3.如权利要求2所述的数据交互方法,其特征在于,步骤S4中在数据交互完成后,还将该指针设置为重新指向Rx buffer ο
4.一种数据交互系统,其特征在于,其用于控制一外部设备与ー计算机进行数据交互,该数据交互系统包括ー控制模块、一指针设置模块以及ー数据交互模块; 该控制模块用于首先在该计算机中关闭数据通道中断并停止DMA传输,并在该指针设置模块在该计算机中申请ー临时存储区、将指向Rx buffer的指针设置为指向该临时存储区后,再开启该数据通道中断及DMA传输,该数据交互模块用于控制该外部设备与该计算机通过DMA传输进行数据交互。
5.如权利要求4所述的数据交互系统,其特征在于,该指针设置模块申请的该临时存储区的存储容量的取值范围为50-100KB。
6.如权利要求5所述的数据交互系统,其特征在干,该指针设置模块还用于在该外部设备与该计算机完成数据交互后将该指针设置为重新指向Rx buffer0
全文摘要
本发明公开了一种数据交互系统及方法,用于控制一外部设备与一计算机进行数据交互,该数据交互方法包括以下步骤S1、在该计算机中关闭数据通道中断并停止DMA传输;S2、在该计算机中申请一临时存储区,并将指向Rx buffer的指针设置为指向该临时存储区;S3、开启该数据通道中断及DMA传输;S4、控制该外部设备与该计算机通过DMA传输进行数据交互。本发明能够用临时存储区替代Rx buffer,进而也就能够实现在较小数据传输量下以替代硬件流控方式进行外部设备与计算机之间的数据交互,在保证正确传输的同时也提升了传输效率。
文档编号G06F13/32GK102981986SQ201210434510
公开日2013年3月20日 申请日期2012年11月2日 优先权日2012年11月2日
发明者曹龙 申请人:上海移远通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1