电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>DSP>基于dMAX和EMIF接口的嵌入式FIFO的设计、配置及其使用

基于dMAX和EMIF接口的嵌入式FIFO的设计、配置及其使用

2017-10-30 | rar | 0.2 MB | 次下载 | 1积分

资料介绍

嵌入式设备由于具有硬件可在线配置,实现灵活等特点,使得其应用越来越广泛。尤其在基于FPGA的硬件系统中应用较多,目前在许多产品中实现了嵌入式网口、嵌入式PCI/PCI-E、嵌入式USB等各种模块。但在DSP中实现嵌入式设备还比较少,一般DSP都直接集成这些设备模块,用户选择不同型号的DSP芯片以满足产品应用要求。但对于一些较为特殊的嵌入式设备,DSP也可以实现该功能。
  TI公司的DSP芯片C6727B,由于其片内集成dMAX模块,使得实现嵌入式FIFO成为可能。其实现嵌入式FIFO的本质就是将DSP的片内一段RAM空间设置成FIFO空间,FIFO和外部设备的数据交换由EMIF接口完成。该FIFO的数据读写不需要DSP的CPU参与,从而提高整个系统性能,实现数据交换和数据处理的同时进行。本文以dMAX和EMIF接口的数据传输为例,介绍嵌入式FIFO的设计、配置及其使用。
  dMAX及其结构
  dMAX(Dual Data Movement Accelerator,双向数据传输加速器)是TI公司的DSP芯片C6727B特有的一种片内设备。应用dMAX和EMIF(External Memory Interface,外部存储器接口)可以实现片内RAM、片内和片外设备以及两个片外设备之间的数据传输。dMAX模块的内部结构如图1所示。
  基于dMAX和EMIF接口的嵌入式FIFO的设计、配置及其使用
  图1 dMAX内部结构图
  从图中可以看出,dMAX主要由事件和中断处理模块、事件编码器、传输事件模块等组成。事件模块分成高优先级和低优先级两个相互独立的模块,各自有独立的事件入口和事件参数表,和CPU有独立的接口。使得dMAX可以同时处理两个不同的事件。当访问CPU端口时,MAX0的优先级高,MAX1的优先级低。dMAX能够通过执行先进的一维、二维与三维数据的存储器传输工作,从而使DSP得以专注于信号处理任务,显著提高系统性能。适合图像的子帧提取或者语音信号的子信道提取。
  DSP内部的数据交换中心在dMAX的控制下,可以实现片内RAM、EMIF以及HPI接口之间的数据交换。本文介绍在dMAX控制下,实现片内RAM和EMIF接口之间的数据交换。如果DSP采用普通的异步接口方式,数据传输需要建立、选通和保持3个阶段,最少需要5个EMIF时钟(建立和保持各1个时钟,选通3个时钟)。为了保证通信的可靠性,一般采用10个EMIF时钟(建立3个时钟,保持2个时钟,选通5个时钟)。而EMIF时钟最快为133MHz;这样,采用异步接口的通信速率一般为13.3M×32b/s(采用32位数据总线宽度)。此外,异步接口数据传输必须在CPU的参与下,使用指令实现数据搬移。将占用大量的CPU开销,在很多高速的数据采集和处理中,将降低系统的整体性能。为此,采用dMAX实现嵌入式FIFO数据传输克服异步传输的缺点,其传输采用突发读写方式进行,可以连续突发读写8个数据,一共只需要20个时钟,通信速率提高为53.2M×32b/s,提高4倍读写速率。还可以采用和DMA后台运行,这样将大大降低整个系统数据读写的开销,从而可以实现更加复杂和可靠的算法处理。
  嵌入式FIFO设计
  嵌入式FIFO的设计主要就是控制FIFO的7个参数。这7个参数分别为基地址、空间大小、空标志、满标志、错误标志、读指针和写指针。它们之间的关系如图2所示。
  基于dMAX和EMIF接口的嵌入式FIFO的设计、配置及其使用
  图2 FIFO结构示意图
  基地址和空间大小用于规划出一段内存空间,该内存空间用于FIFO设备,并被FIFO设备保护起来,使得其他设备和程序不能访问该空间。为了便于操作方便,空间大小一般为2的整数次幂,但不做要求。具体到C6727B型号的DSP,空间大小最大为1M个元素,元素大小可以是8位、16位或者32位数据,不能为其他类型的数据。基地址可以为内存空间的任何一个地址,同样为了操作方便,一般为空间大小的边界点。例如,8个元素的FIFO,其基地址一般为XXXXX000b,也就是地址的低3位为0,基地址就肯定为8的整数次。同样,64个元素的FIFO,其低6位为0。基地址和空间大小的特殊要求避免访问时的地址跨越多页问题,可以提高FIFO的访问速度。
  空标志和满标志用于表示FIFO的存储状态。读指针和写指针用于表示读写的当前地址。错误标志表示对FIFO的错误操作。当FIFO处于满标志情况下仍然写FIFO,或者FIFO处于空标志情况下仍然读FIFO,FIFO都将终止当前操作,并将错误标志置位。
  FIFO的写操作只有一种工作方式,即每次写一个新的数据,写指针加1,直到写满。而FIFO读操作有两种工作方式,分别为标准操作和多阶延迟(Multi-tap Delay Transfer)操作。标准操作和写操作一样。多阶延迟操作一般用于滤波处理,当需要对输入信号进行滤波处理时候,每次希望从FIFO读取一段窗口的数据,进行滤波处理,数据窗口仍然只移动一个数据。在标准操作情况下,如果读取一段窗口的数据,FIFO则将该段窗口的数据全部弹出。多阶延迟操作则只弹出一个数据。该操作方法对语音或者AD采样数据的平滑、FIR等滤波非常适用。需要注意的是,多阶延迟操作的数据窗大小需要设置,如果FIFO存储的数据个数小于数据窗,FIFO则终止当前操作,并给出错误标志。
  系统硬件结构
  C6727B和其他DSP有一个较大的区别,就是C6727B不再提供专门的外部中断引脚,而是采用GPIO引脚和dMAX配合使用,通过寄存器的设置将GPIO引脚配置成外部中断引脚。本文为了实现FIFO的实时操作,一旦外设向FIFO写入数据,即发出中断信号到DSP的CPU,通知CPU读取数据。为此,需要使用1个外部中断引脚,将C6727B的音频串口的AXR[8]配置成通用的GPIO引脚,并在dMAX中设置成中断引脚。此时需要将音频串口的CONFIGMACSP0寄存器设置为0x0001,如图3所示。此时音频串口不能再作为普通的音频口使用,而是配置成IO接口。
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1489次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  91次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  9次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7基于单片机和 SG3525的程控开关电源设计
  14. 0.23 MB  |  3次下载  |  免费
  15. 8基于单片机的红外风扇遥控
  16. 0.23 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30319次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费