基于PSoC3的多通讯接口时的DMA设计
图3 是DFB 的模块框图,典型应用是将某个片内数据源(例如ADC 或某个DMA)的数据连接到DFB,经DFB 处理后将结果输出到另一个片内数据源(例如DAC 或另一个DMA)。数据的移入和移出可以设定由特定的DMA 控制,也可以由MCU 直接移动。
图3 DFB 结构图
除了可编程的资源之外,PSoC3内部还提供了特定功能的模块。这些模块可以不占用模拟,数字可编程以及MCU资源,完成相应的功能。这些模块包括:
·支持高达1MBPS的Can总线控制器,兼容ISO-11898-1标准。
·全速USB2.0控制器,支持8个端点和DMA数据传输控制。
·支持50k/100k/400k/1M BPS的I2C主/从总线控制器,兼容Philips ‘The I2C Specification’ Version 2.1。
·16 Bit专用的定时,计数和PWM等常用的嵌入式系统模块。
二、 Cypress PSoC®Creator#8482; 集成开发环境
Cypress PSoC Creator 开发环境是Cypress 为PSoC3 / PSoC5可编程片上系统提供的高效,易用的继承开发环境。
该独特的新型设计软件使得工程师能够按照自己的思维方式进行设计。使用基于电路图的方式完成对可编程模拟,数字以及布线资源的设计。该软件还提供了特有的嵌入式系统的组件库来应用其内部的资源,通过在组件库中选择组件并使用基于电路图的方式可以使得整个开发过程就像搭积木一样,简单高效的实现工程师的设计。该软件工具通过电路综合可以自动的把用户的设计转化成对可编程电路的配置,使得用户即使不了解芯片的细节也可以完成复杂的电路设计。使用PSoC Creator进行设计的时候,客户是根据应用需求急性设计,而不是目标器件的限制。重新构建设计就像修改程序一样,不需要复杂的电路板级修改。
PSoC Creator将一个最新的软件开发IDE与一个*性的图形设计编辑器结合在一起,构成一个独特的强有力的软硬件同步设计环境。它提供内容丰富的、存有几十个预先配置过的模拟和数字外设库,可以方便地拖放进电路图设计界面并组成强大的系统。该工具还可以自动为所有片上信号分配管脚,如有需要,甚至还能将I/O分配到最佳管脚。每个外设元件的参数均经过仔细的配置,以保证应用效果能最好地满足设计者的要求,且没有资源浪费。构建过程会为每一个元件产生一个一致的、容易记住的API系列,这样,软件开发者即可控制硬件,而无需为基本执行指令操心。 定制的设计及其相关的API还可以方便地存储在库中,用于将来的项目或在组织内部分享。
PSoC Creator内部包含了全功能免费的编译器,其独特的综合布线工具能够自动综合客户的设计输入,并生成相应的API。PSoC3的工程采用了工业界常用的Keil CA51编译器,而GNU GCC-ARM编译器也包含其中,能够针对PSoC5的设计进行编译。在综合,编译等完成之后,生成兼容Intel Hex格式的配置文件对芯片进行配置。
PSoC Creator目前的版本是: PSoC Creator 1.0 Production. 该软件运行界面如下图4。
图4 PSoC Creator 运行界面
PSoC Creator提供给用户的设计入口如下:
● 原理图编辑器:该编辑器是创建设计的主要工具。支持对设计进行原理图编辑。
● 文本编辑器:该工具允许用户编辑C,汇编,Verilog, C#等语言代码。
● 设计资源编辑器:该工具用于配置整个设计的参数,包括电源,编译开关,调试开关,FLASH保护信息,以及管脚分配等。
● 图标编辑器:允许用户创建自己的模块图标
● 其他工具:
- 原理图宏编辑器:允许用户对原理图设置不同的宏以完成不同的功能。
- 原理图模板编辑器:允许用户对原理图的模板进行编辑
- 图标形状编辑器:允许用户在创建模块以及原理图中使用自定义的形状。
PSoC Creator在用户通过设计入口完成设计之后,对设计进行一系列的处理并完成最终的结果输出。该工具的对工程的构建过程如图5所示。
图5 PSoC Creator工程构建过程
从图5中可以看出,工程构建过程包括以下步骤:
·通过设计输入接口完成设计
·综合器完成对电路图的综合,并进行布局,布线,映射等工作
·代码生成器生成对应电路的API控制接口
·构建器准备设计源文件,读取构建数据库,获得构建配置,库文件等信息
·编译器完成编译,链接器对生成的文件进行链接
·输出配置Hex文件。
三、 Cypress PSoC3应用于多通讯接口的DMA设计
DMA是PSoC3中用于处理快速数据搬运的模块。DMA的控制器可以在不需要CPU干预的情况下处理数据的传输。通过DMA处理数据传输可以有效地降低CPU的负担,同时也能够提高数据传输的时间。PSoC3内置的DMA可以完成四种基本的数据传输:
·内存到内存
·内存到外设
·外设到内存
·外设到外设
PSoC3中,采用PHUB来连接各个内部设备。DMA和CPU都需要使用PHUB来完成数据传输。PHUB上的两个主设备分别是DMA和CPU,而从设备是内存,外设以及控制和配置寄存器。PSoC3支持多个DMA的通道,DMA主控制器对通道的请求按照优先级进行仲裁。单个DMA的通道可以传输高达64KB的数据。
PSoC3的DMA控制器支持如下特性:
·支持24个DMA通道
·8优先级判决
·128个事务描述符
8/16/32 位的数据传输
·完全可配置的源和目标地址
·兼容不同数端
·在完成数据传输之后能够生成中断
·DMA 向导能够加速基于DMA 的开发
·DMA 事务可以有可编程数字逻辑或者CPU 触发
·支持多个DMA 通道和描述符的级联以完成复杂的功能。
3.1 在PSoC Creator 中使用DMA
PSoC Creator 做为PSoC3 和PSoC5 开发的设计工具,其内部集成了DMA 模块来配置DMA 和生成相关的控制代码,同时提供的DMA 向导实现了图形化操作界面。
DMA 模块位于组件窗口的System 目录下,如图所示。
图6 DMA 模块位置
![](https://webstorage.eepw.com.cn/images/2014/m/wx.png)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码