[发明专利]基于DMA的SPI数据传输方法及装置无效
申请号: | 201010585571.8 | 申请日: | 2010-12-13 |
公开(公告)号: | CN102567253A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 刘京芝 | 申请(专利权)人: | 深圳市硅格半导体有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28;G06F9/445 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 dma spi 数据传输 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用于加载/或启动程序代码的基于DMA(Direct Memory Access,直接存储器访问)的SPI(Serial PeripheralInterface,串行外围设备接口)数据传输方法及装置。
背景技术
目前,在嵌入式系统中,当系统上电后,需要启动加载程序初始化硬件设备、完成内存空间映射,以使系统进入到合适的软硬件环境。启动加载程序通常写在系统中某些固态存储设备中,例如ROM(Read-Only Memory,只读存储器)或Flash(Flash Memory,闪存)等。因此,固态存储设备与RAM(random access memory,随机存储器)间需要可靠无差错的数据交换。
目前通用方式包括使用NAND FLASH/NOR FLASH加载启动程序,通过加载启动程序的方式,MCU(MicroControllerUnit,微控制器)在控制加载过程中,由于CPU(Central Processing Unit,中央处理器)的大量中断负载以及中断处理而影响了加载效率,进一步降低了系统效率,同时也对数据代码传输的可靠性造成影响。
发明内容
本发明的主要目的在于提供一种基于DMA的SPI数据传输方法及装置,旨在提高启动加载程序传输的可靠性以及系统效率。
为了达到上述目的,本发明提出一种基于直接存储器访问DMA的串行外围设备接口SPI数据传输方法,包括:
为SPI配置DMA控制器;
通过所述DMA控制器在外部存储设备与随机存储器RAM之间进行SPI数据传输加载/下载启动程序代码。
优选地,所述通过DMA控制器在外部存储设备与RAM之间进行SPI数据传输加载/下载启动程序代码的步骤包括:
当系统上电后需要启动加载程序时,在所述DMA控制器的控制下,将预先固化在该外部存储设备中的启动加载程序代码通过SPI加载到所述RAM中。
优选地,所述通过DMA控制器在外部存储设备与RAM之间进行SPI数据传输的步骤加载/下载启动程序代码还包括:
当系统需要启动下载程序时,在所述DMA控制器的控制下,将RAM中的启动下载程序代码通过SPI下载到所述外部存储设备中。
优选地,该方法还包括对所述加载/下载启动程序代码进行更新。
优选地,所述外部存储设备包括只读存储器ROM或闪存Flash。
优选地,所述SPI总线支持为standard SPI、dual SPI和quad SPI三种SPI模式;SPI数据总线宽度可配置。
本发明还提出一种基于DMA的SPI数据传输装置,包括:
DMA配置模块,用于为SPI配置DMA控制器;
数据传输模块,用于通过所述DMA控制器在外部存储设备与RAM之间进行SPI数据传输加载/下载启动程序代码。
优选地,所述数据传输模块还用于当系统上电后需要启动加载程序时,在所述DMA控制器的控制下,将预先固化在该外部存储设备中的启动加载程序代码通过SPI加载到所述RAM中。
优选地,所述数据传输模块还用于当系统需要启动下载程序时,在所述DMA控制器的控制下,将RAM中的启动下载程序代码通过SPI下载到所述外部存储设备中。
优选地,所述装置还包括:
代码更新模块,用于对所述加载/下载启动程序代码进行更新。
本发明提出的一种基于DMA的SPI数据传输方法及装置,通过引入DMA机制,并结合采用SPI串行总线的方式,在加载/下载启动程序代码时,由DMA控制器控制数据直接传输,其传输过程释放了MCU控制权,从而保证了启动加载程序准确且连续的读/写,增强了启动加载程序传输的可靠性,提高了系统传输效率,而且本发明可以DMA的方式灵活支持基于SPI之上的各种通讯协议,兼容不同形式的程序代码构成,使得系统传输数据可配置特性增强。
附图说明
图1是本发明基于DMA的SPI数据传输方法一实施例流程示意图;
图2是本发明基于DMA的SPI数据传输装置一实施例结构示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
本发明实施例解决方案主要是通过引入DMA机制,并结合采用SPI串行总线的方式,以增强启动加载程序传输的可靠性,提高系统效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市硅格半导体有限公司,未经深圳市硅格半导体有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010585571.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种火电厂凝汽器不停运清洗方法
- 下一篇:一种高效气液分离器