- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
直接存储器访问DirectMemoryAccessDMA-Cypress
®
PSoC Creator™ 组件数据手册
直接存储器访问(Direct Memory Access, DMA)
1.50
特性
24 通道
八个优先级别
128 个数据操作描述符(Transaction Descriptor, TD)
8 位、16 位、32 位数据传输
可配置源和目标地址
支持字节序兼容
数据传输完成后可生成中断
用于协助应用开发的DMA 向导
概述
DMA 组件使数据能传输出入存储器、组件和寄存器。控制器支持8 位宽、16 位宽和32 位宽的数
据传输,并且可以进行配置,以在具有不同字节序的源和目标之间传输数据。能将TD 串接在一起
进行复杂操作。
可根据电平或上升沿信号触发DMA。更多详细信息,请参考硬件要求参数选择。
Cypress Semiconductor Corporation • 198 Champion Court • San Jose, CA 95134-1709 • 408-943-2600
Document number: 001-67955 Rev *A 第1 页,共26 页
PSoC® Creator™ 组件数据手册 直接存储器访问(Direct Memory Access, DMA)
何时使用 DMA 组件
当您要释放CPU 的传输数据任务负担,或者当需要通过可预先设置的可预测方式传输数据时,
DMA 组件是很有用的。下面是几种基本的使用案例:
存储器到存储器
存储器到外设
外设到存储器
外设到外设
TD 可以单独执行或者链接在一起以执行复杂的传输。
DMA Wizard (DMA 向导)
PSoC Creator 提供了DMA 向导,以帮助快速、精确地开发使用DMA 的应用。向导会全程引导
您定义TD 并生成必需的C 代码 ,您可以将该代码复制并粘贴到您的应用中。
通过PSoC Creator 的Tools (工具)菜单中启动向导。相关详细信息 ,请参见PSoC Creator
帮助。
PSoC 3 Addresses (PSoC 3 地址)
在PSoC 3 中,除闪存外,DMA 传输中涉及的所有位置都在存储器的前64 K 空间中。对于除闪
存之外的所有位置,地址的高 16 位的值必须为0。Keil 编译器无法识别前64 K 空间以外的地
址,而是用高 16 位储存其他信息,导致高位字节不为0。因此,不能直接使用指向该位置指针的
高16 位。更多详细信息,请参见Keil 中的泛型指针。对于闪存而言,地址的高 16 位的使用正确
值为:
HI16(CYDEV_FLS_BASE)
这是由编译器完成的具体处理。要创建在PSoC 3 和PSoC 5 中都能够正确运行的代码,可以使
用以下代码格式。假设src 为闪存中的变量,dst 为SRAM 中的变量:
#if (defined(__C51__))
/* PSoC 3 - Source is Flash */
dmaChan = DMA_1_DmaInitialize(1, 0, HI16(CYDEV_FLS_BASE), 0);
#else
Document number: 001-67955 Rev*A 第2 页,共26 页
PSoC® Creator™ 组件数据手册 直接存储器访问(Direct Memory Access, DMA)
/* PSoC 5 */
dmaChan = DMA_1_DmaInitialize(1, 0, HI16(src), HI16(dst));
#endif
PSoC 5 SRAM Access (访问)
在PSoC 5 中,DMAC 无法从0x1FFF8000 到0x1FFFFFFF 访问SRAM ,但是可以访问同一存
文档评论(0)