数据交互系统及方法技术方案

技术编号:8452950 阅读:220 留言:0更新日期:2013-03-21 14:56
本发明专利技术公开了一种数据交互系统及方法,用于控制一外部设备与一计算机进行数据交互,该数据交互方法包括以下步骤:S1、在该计算机中关闭数据通道中断并停止DMA传输;S2、在该计算机中申请一临时存储区,并将指向Rx?buffer的指针设置为指向该临时存储区;S3、开启该数据通道中断及DMA传输;S4、控制该外部设备与该计算机通过DMA传输进行数据交互。本发明专利技术能够用临时存储区替代Rx?buffer,进而也就能够实现在较小数据传输量下以替代硬件流控方式进行外部设备与计算机之间的数据交互,在保证正确传输的同时也提升了传输效率。

【技术实现步骤摘要】

本专利技术涉及一种,特别是涉及一种能够用临时存储区代替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传输进行数据本文档来自技高网...

【技术保护点】
一种数据交互方法,其特征在于,其用于控制一外部设备与一计算机进行数据交互,该数据交互方法包括以下步骤:S1、在该计算机中关闭数据通道中断并停止DMA传输;S2、在该计算机中申请一临时存储区,并将指向Rx?buffer的指针设置为指向该临时存储区;S3、开启该数据通道中断及DMA传输;S4、控制该外部设备与该计算机通过DMA传输进行数据交互。

【技术特征摘要】

【专利技术属性】
技术研发人员:曹龙
申请(专利权)人:上海移远通信技术有限公司
类型:发明
国别省市:

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

1