[发明专利]直接存储器存取装置及其数据接收方法有效
申请号: | 201110062571.4 | 申请日: | 2011-03-15 |
公开(公告)号: | CN102681953A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 邹桥;高兵 | 申请(专利权)人: | 联芯科技有限公司 |
主分类号: | G06F13/32 | 分类号: | G06F13/32 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 骆希聪 |
地址: | 201206 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 直接 存储器 存取 装置 及其 数据 接收 方法 | ||
技术领域
本发明涉及直接存储器存取方式,尤其是涉及一种直接存储器存取装置及其数据接收方法。
背景技术
直接存储器存取(Direct Memory Access;以下简称DMA)为本领域专业技术人员所熟知的一种数据传输模式,可用于从一个装置通过外围装置将数据传输至另一装置。与通过CPU来传输数据的方法相比,利用DMA传输方法进行数据传输时,其速度要快许多。
在手机、PDA等手持电子设备中,UART串口是调试中很重要的调试通讯接口。采用直接存储器存取方式进行串口传输时,接收比较复杂,因为接收是被动的,所以无法确定接收方接收数据的长度。鉴于这种情况,目前主要采取的接收方法有以下两种:
查询模式:提前启动直接存储器采用循环模式接收数据,启动定时器定时,以周期性地查询接收数据,接收数据长度是通过比较直接存储器当前地址与直接存储器起始地址比较获得。
中断模式:通过串口中断检测接收开始点,当检测到接收开始后禁止串口中断,启动直接存储器采用循环模式接收数据,启动定时器定时,以周期性地查询接收数据,接收数据长度是通过比较直接存储器当前地址与直接存储器起始地址获得。当定时器查询到接收数据长度为零时,则认为串口空闲,停止直接存储器接收,停止定时器查询,重新使能串口中断来检测接收开始点。
上面两种方法都通过直接存储器循环接收模式和定时器查询来解决无法确定接收方接收数据的长度的问题。对查询模式而言,由于在接受开始前提前启动定时器,因此在串口空闲时也会定时查询,导致增加系统开销。
对中断模式而言,从检测到接收开始到启动直接存储器接收数据需要一定的时间,而如果串口传输速率比较高,硬件FIFO(先进先出的数据缓存器)比较小,就存在FIFO溢出的可能,因此存在丢失数据的风险。
受硬件限制,当采用查询模式提前启动直接存储器接收数据时,就无法通过串口中断检测接收开始,所以无法结合查询模式和中断模式的优点。
发明内容
本发明的一个目的是提供一种直接存储器存取装置的数据接收方法,一解决现有接收方法存在的问题。
本发明的另一目的是提供一种直接存储器存取装置,其使用上述的数据接收方法。
本发明提出一种直接存储器存取装置的数据接收方法,包括以下步骤:首先,启动直接存储器循环接收数据,其次使能一GPIO中断口,该GPIO中断口用于检测接收开始点。当检测到接收开始后禁止该GPIO中断口,并且周期性地查询接收数据。
在本发明的一实施例中,上述方法还包括:比较直接存储器当前地址与直接存储器起始地址,获得接收数据长度。
在本发明的一实施例中,上述方法还包括:当获得的接收数据长度为零时,停止周期性查询,重新使能该GPIO中断口。
在本发明的一实施例中,上述方法该GPIO中断口的引脚是与一串口的Rx引脚相连。
在本发明的一实施例中,上述方法该GPIO中断口的引脚是与一串口的Rx引脚复用。
本发明另一种直接存储器存取装置,包括传输端口、GPIO单元、直接存储器单元、定时器和处理器。传输端口具有一接收引脚,GPIO单元具有一GPIO引脚,该GPIO引脚与该接收引脚相连,以根据接收引脚的电平变化产生指示该传输单元的接收开始点的中断。直接存储器单元连接该传输端口。处理器连接该GPIO单元、该直接存储器单元和该定时器,该处理器启动该直接存储器单元循环接收数据,并且不早于该直接存储器单元的启动而使能该GPIO单元的中断。当检测接收开始后,该处理器禁止该GPIO中断口,启动该定时器,利用该定时器产生的中断,周期性地查询接收数据。
在本发明的一实施例中,所述传输端口为串口。
在本发明的一实施例中,所述串口单元具有先进先出缓存。
本发明还提出一种可实现直接存储器存取的芯片,包括传输端口、GPIO单元、直接存储器单元、定时器和处理器。传输端口具有一接收引脚,GPIO单元具有一GPIO引脚,该GPIO引脚与该接收引脚复用,以根据接收引脚的电平变化产生指示该传输端口的接收开始点的中断。直接存储器单元连接该传输端口。处理器连接该GPIO单元、该直接存储器单元和该定时器,该处理器启动该直接存储器单元循环接收数据,并且不早于该直接存储器单元的启动而使能该GPIO单元的中断。当检测接收开始后,该处理器禁止该GPIO中断口,启动该定时器,利用该定时器产生的中断周期性地查询接收数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联芯科技有限公司,未经联芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110062571.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:混合晶向反型模式半导体纳米线MOSFET
- 下一篇:一种钻具