[发明专利]一种数据传输的方法和系统无效
| 申请号: | 200710178627.6 | 申请日: | 2007-12-03 |
| 公开(公告)号: | CN101170382A | 公开(公告)日: | 2008-04-30 |
| 发明(设计)人: | 艾国 | 申请(专利权)人: | 北京中星微电子有限公司 |
| 主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L12/40 |
| 代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 宋志强;麻海明 |
| 地址: | 100083北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据传输 方法 系统 | ||
技术领域
本发明涉及计算机技术,特别涉及一种数据传输的方法和系统。
背景技术
在计算机技术中,直接内存存取(DMA:Direct Memory Access)可以实现使设备绕过处理器(CPU:Central Processing Unit)直接和存储器进行数据传输。这样,可以减少CPU干预的输入/输出操作,进而提高整个计算机系统的效率。
DMA的具体功能是通过直接内存存取控制器(DMAC:Direct MemoryAccess Controller)来实现的。DMAC通过启动DMA可以实现设备直接进行数据的接收和发送。
参见图1a,图1a为现有技术中DMAC控制DMA进行数据传输的流程示意图。本流程以通用串行总线(USB:Universal Serial Bus)从设备中的USB控制器(USB Device)接收数据为例,对现有技术中DMAC控制DMA进行数据的传输进行描述。并且,在该流程中,USB主机(Host)传输的数据比较大,其不能一次将数据发送给USB控制器。则如图1a所示,该流程包括:
步骤101,USB主机发送数据给USB控制器。
本步骤中,USB控制器主要由端点(Endpoint)组成。其中,每个端点可以对应不同的数据传送类型。通常情况下,数据传送类型主要有控制数据传送、批量数据传送、中断数据传送以及同步数据传送四种类型。端点0一般对应控制数据传送的数据传送类型。
每个端点都有一个先入先出(FIFO:First-In-First-Out)缓存区域。其中,FIFO是发送数据和接收数据的一个缓存区域。FIFO有一个大小,根据需求不同其对应的大小也不同。通常情况下,FIFO的大小为8字节、64字节或者1k字节。
本步骤中,USB主机发送给USB控制器的数据一般存储在FIFO中。
步骤102,USB控制器根据数据传输的情况发送中断请求给微控制器(MCU:Micro-Controller Unit)。
本步骤中,USB控制器在每接收到USB主机发送的一个对应其FIFO大小的数据时,就会发送中断请求给MCU。通常情况下,USB主机一次发送的数据为一个对应USB控制器中FIFO大小的数据。USB规定,USB控制器接收的数据小于FIFO大小时,USB控制器默认USB主机完成数据的传输。
通常情况下,USB控制器默认USB主机完成数据的传输主要有以下两种情况:
第一种:USB控制器中的FIFO满了。这时,并不代表USB主机没有数据要发送,而是需要DMAC在USB主机开始新一轮的数据传输之前,执行步骤103,以便启动DMA把FIFO的数据搬运到内存(Memory)中。
第二种:FIFO没有满,但USB主机没有要传输的数据,这样,USB控制器接收的USB主机发送的数据大小有可能小于一个FIFO的大小。这种情况下,USB控制器也会默认USB主机完成数据传输,发送中断请求给MCU,执行步骤103。
步骤103,MCU配置DMAC。
本步骤中,MCU配置DMAC,具体为:MCU先查看USB端点中FIFO当前数据的大小,然后确定当前数据的初始地址,并根据USB端点中FIFO当前数据的大小和当前数据的初始地址配置DMAC。
步骤104,DMAC启动DMA进行数据的搬运。
本步骤中,DMAC启动DMA进行数据的搬运,具体为:DMAC根据上述USB端点中FIFO当前数据的大小和当前数据的初始地址启动DMA把FIFO中的数据搬运到内存中。DMAC在DMA搬运完一次数据后,发送中断请求给MCU。MCU通知USB控制器可以再次接收数据。通知情况下,USB主机和USB控制器通过握手或其它形式进行信息交流。这样,USB主机在交流到USB控制器已接收数据完毕,则再次发送数据给USB控制器,USB控制器再返回执行步骤102。
步骤105,在USB主机发送的总数据搬运完成后,DMAC发送中断请求给MCU。
由此可见,采用上述方式,假如USB主机发送给USB控制器的数据较大时,USB控制器会很频繁地发送中断请求给MCU,MCU也要不断地设置DMAC启动DMA进行数据的搬运。这样,就会加重MCU处理业务的负担,也会降低数据传输的速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中星微电子有限公司,未经北京中星微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710178627.6/2.html,转载请声明来源钻瓜专利网。





