1 dMAX及其结构
C6727B是在C671x基础上发展的浮点型DSP,其最高工作频率达到350 MHz。单个指令周期可以执行6个浮点数据运算,最高达到2 100MFLOPS;片内具有256KB的RAM,片内外设有。EMIF、UHPI、音频串口、dMAX、定时器以及I2C、SPI接口等。
dMAx模块是C672x系列DSP所特有的数据传输模块,可以实现内部存储器、片内外设和外部存储器两两之间的数据传输。其内部结构如图1所示。
从图中可以看出,dMAX主要由事件和中断处理模块、事件编码器、事件参数表、事件的地址生成硬件等组成。事件模块分成高优先级和低优先级两个相互独立的模块,各自有独立的事件入口和事件参数表,和CPU有独立的接口,使得dMAX可以同时处理两个不同的事件。当访问CPU端口时,MAX0的优先级高,MAXl的优先级低。
dMAX可以使用户定义的数据在内部数据存储器与外设之间移动,dMAX能够移动数据到任意能够寻址的存储器空间,包括内部存储器、外设存储器空间、扩展内存。dMAx能够同时处理2个数据转移请求,而且dMAX能够通过执行先进的一维、二维与三维数据的存储器传输工作,从而使DSP得以专注于信号处理任务,显著提高系统性能,适合图像的子帧提取或者语音信号的子信道提取。
为了方便CPU直接控制dMAX,C6727B还有2个专门的寄存器负责CPU与dMAX的通信,分别为DETR与DESR寄存器,CPU通过对这两个寄存器的读写就可以控制dMAX的操作。
2 系统硬件结构
C6727B和其他DSP有一个较大的区别就是,C6727B不再提供专门的外部中断引脚,而是使用一些GPIO引脚与dMAX配合使用,通过寄存器的设置将GPIO引脚配置成外部中断引脚。为了实现并行的数据传输,需要使用2个外部中断引脚。为此,使用C6727B的音频串口的AXR[8]和AXR[9]作为通用I/O引脚,同时需要将音频串口的CONFIGMCASP0和CONFIGMCASP1分别配置成Ox0001和0x0002,如图2所示。此时音频串口不能再作为普通的音频口使用,而是配置成I/0接口。
从图2可以看出,配置好音频串口后,一旦AXR[8]和AXR[9]引脚有上升沿到,则McASP0和McASP1激活dMAX的事件26和事件27。这两个事件分别连接到dMAX的低优先级和高优先级模块。即使两个中断同时发生,dMAX也可以同时响应事件,并处理相应的数据传输。