首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

深入了解PSoC5:DMA使用基础

深入了解PSoC5:DMA使用基础

关键字:PSoC5   DMA   ADC  
引言
PSoC5是Cypress可编程片上系统PSoC(Programmable System on Chip)家族中功能最强大的一个产品系列;采用工作频率高达 80 MHz 的 32 位三段流水线式 ARM Cortex-M3 处理器构建, 提供业界广泛采用的0.5V至5.5V宽电压范围和低至200nA的休眠电流。此外,PSoC5片内提供了极其丰富和业内独一无二的高性能可编程模拟和数字外设子系统,允许将任何模拟或数字信号(包括可编程时钟)分配到任何通用I/O引脚,这为使用者提供了真正的“系统级”可编程能力。DMA(直接存储器存储:Direct Memory Access)就是其中一种功能强大的外设模块。

本文以PSoC5平台为例,介绍了DMA的主要原理,配置过程方法及具体的典型工程设计。

PSoC5外设架构及DMA简介

PSoC5芯片内部集成了丰富的模拟与数字外设子系统,如图1所示,由外设集线器PHUB(Peripheral Hub)负责将不同的外设子系统之间以及外设子系统与CPU连接起来。PHUB内的连接数据总线共有8条,称之为spoke, 有16位和32位两种数据宽度。每个spoke都可以通过PHUB连接至不同的外设子系统或CPU。PHUB内包含的DMAC(DMA控制器:DMA Controller)能够使不同的外设子系统间通过spoke传递数据而不需要CPU的介入,可以极大的节省CPU资源,提高处理速度。

PSoC片内通过PHUB的数据传递可以分为两种:CPU与外设子系统之间的数据传递;不同的外设子系统之间的数据传递,这类传递可以在DMAC的控制下直接通过spoke进行,不需要CPU的主动介入。因此,CPU与DMAC可以在同一时刻访问不同的spoke;如果二者在同一时刻访问同一spoke,将会产生一个spoke仲裁(arbitration)。



返回列表