DSP原理及应用-TMS320DM6437 课件 第1-3章 DSP概述、TMS320DM6437的硬件结构、CETEK-DM6437-A综合实验系统_第1页
DSP原理及应用-TMS320DM6437 课件 第1-3章 DSP概述、TMS320DM6437的硬件结构、CETEK-DM6437-A综合实验系统_第2页
DSP原理及应用-TMS320DM6437 课件 第1-3章 DSP概述、TMS320DM6437的硬件结构、CETEK-DM6437-A综合实验系统_第3页
DSP原理及应用-TMS320DM6437 课件 第1-3章 DSP概述、TMS320DM6437的硬件结构、CETEK-DM6437-A综合实验系统_第4页
DSP原理及应用-TMS320DM6437 课件 第1-3章 DSP概述、TMS320DM6437的硬件结构、CETEK-DM6437-A综合实验系统_第5页
已阅读5页,还剩125页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DSP原理及应用

第一章

绪论第一章

绪论

1.1数字信号处理概述1.2DSP芯片1.3DSP系统1.4实验和程序实例1.1数字信号处理概述1.1DSP(数字信号处理)简介

算法研究数字信号处理的实现

1、利用X86处理器完成

2、利用通用微处理器3、利用可编程逻辑阵列(FPGA)

4、利用数字信号处理器

数字信号处理器是具有特定处理单元的、专门用于实时实现各种数字信号处理算法的微处理器。

1.2DSP芯片1.2.1.DSP芯片的发展概况1、第一阶段:DSP的雏形阶段(1980年前后)

20世纪70年代末第一个DSP芯片诞生。

1982年TI公司

第一款商用数字信号处理器。

单指令周期200∽250ns

2、第二阶段:DSP的成熟阶段(1990年前后)

20世纪80年代中期第二代CMOS工艺的DSP芯片TMS320C2x系列

随后,第三代DSP芯片TMS320C30/C31/C32,

第四代DSP芯片TMS320C40/C44等

第五代DSP芯片TMS320C5000系列,

单指令周期为80-100ns。

3、第三阶段:DSP的完善阶段(2000年以后)

第六代DSP芯片TMS320C6000系列。当前运算速度最快

单指令周期可达10ns

左右

1.2DSP芯片1.2.1.DSP芯片的发展概况4、DSP的发展趋势(1)DSP的内核结构将进步改善

(2)运算速度更快、运算精度更高、动态范围更大(3)DSP与MPU、CPU的融合(4)DSP和SOC的融合(5)DSP和FPGA的融合(6)实时操作系统RTOS与DSP的结合(7)DSP的并行处理结构(8)功耗越来越低(9)开发工具1.2.2.DSP芯片的特点(1)存储器采用哈佛结构微处理器的存储器结构主要有冯·诺依曼(VonNeumann)结构和哈佛(Harvard)结构两类。

冯·诺依曼(VonNeumann)结构,只有一个存储器空间、一套地址总线和一套数据总线,程序和数据都存放到这个存储器空间,且统一分配存储地址。因此执行运算时,处理器必须分时访问程序和数据空间。

图1-1冯·诺依曼1.2DSP芯片

哈佛(Harvard)结构,程序存储器和数据存储器分开,每个存储器都有独立的地址总线和数据总线,可同时从程序存储器取指令和从数据存储器取操作数,从而实现并行工作,提高运算速度。图1-2哈佛结构1.2DSP芯片(2)多通路、多总线结构

DSP芯片都采用多总线结构,可同时进行取指令和多个数据存取操作,使CPU在一个机器周期内可多次对程序空间和数据空间进行访问,大大提高了DSP的运行速度1.2DSP芯片(3)流水线操作

流水线(Pipeline)操作是将指令的执行分解为预取指(Prefetch)、取指(Fetch)、译码(Decode)、寻址(Access)、取数(Read)、执行(Execute)等几个阶段。如图所示。在TMS320C64x+DSP中,每个周期内可执行8条指令。图1-3流水线操作示意图1.2DSP芯片(4)独立的硬件乘法累加单元

由于数字信号处理任务中,都包含有大量重复的乘法和累加操作,通用处理器的乘法运算使用软件进行移位或加法来实现,需要若干个机器周期,而DSP处理器使用专门的硬件乘法器,并使用累加器来处理多个乘积的累加,即通过DSP指令集中的MAC指令实现单周期乘加运算,从而有效提高了数字信号处理的速度。(5)具有特殊的DSP指令1.2DSP芯片(6)独立的DMA总线和控制器DSP处理器中设置了独立的DMA总线和控制器,通过与CPU的程序总线和数据总线并行工作,使得在数据传输时不影响CPU及其总线的工作,从而提高数据吞吐率,加快信号处理速度,如TMS320C64x中使用了64个独立通道的增强型DMA(EDMA)总线及控制器。1.2DSP芯片(7)硬件配置强新一代DSP芯片集成了众多类型的硬件设备,包括定时器、串行口、并行口、主机接口(HPI)、DMA控制器、等待状态发生器、中断处理器、PLL时钟产生器、JTAG标准测试接口、ROM、RAM及FLASH等,从而提高了DSP的处理速度、降低了系统功耗,简化了接口设计、方便了多处理器扩展,非常适于嵌入式便携数字设备应用。(8)支持多处理器结构支持多处理器结构,可以实现完成巨大运算量的多处理器系统,即将算法划分给多个处理器,借助高速通信接口来实现计算任务并行处理的多处理器阵列1.2DSP芯片1.2.3.DSP的分类DSP芯片可以按照基础特性(工作时钟或指令类型)、用途、数据格式进行分类。基础特性(工作时钟或指令类型):静态DSP:在一定时钟频率范围内的任何频率上都能正常工作。一致性DSP:对于两种或两种以上DSP芯片,其指令集和相应机器代码及管脚结构相互兼容。用途:通用型DSP:可用指令编程的DSP芯片,通过编程可实现复杂的数字信号处理算法,具有较强处理能力。专用型DSP:为特定DSP运算而设计,针对某一应用算法,由内部硬件电路实现,适于数字滤波、FFT、卷积等特殊运算。1.2DSP芯片数据格式:定点DSP:以定点数据格式工作,大多数定点DSP芯片采用16位定点运算。浮点DSP:以浮点数据格式工作,浮点格式包括自定义浮点格式和IEEE标准浮点格式。1.2DSP芯片数据格式:定点DSP:以定点数据格式工作,大多数定点DSP芯片采用16位定点运算。浮点DSP:以浮点数据格式工作,浮点格式包括自定义浮点格式和IEEE标准浮点格式。1.2DSP芯片1.2DSP芯片1.2.4TI公司的DSP芯片

1982年,TI推出TMS32010——第一款商用定点DSP,TMS320系列拥有多款16位和32位定点/浮点DSP,C1x、C2x、C2xx、C5x、C54x、C55x、C6x、C62x、C64x系列为定点DSP,C3x、C4x、C67x系列为浮点DSP,C8x系列为多处理器模式DSP。其每代定点/浮点DSP的源代码均向上兼容。

TMS320系列DSP主要由三大支撑平台构成,包括:TMS320C2000(主要用于包括电机控制等的系统控制优化领域)TMS320C5000(主要用于便携式、低功耗消费电子产品)TMS320C6000(主要用于高速信号处理及高性能图像、

视频处理领域)1.2DSP芯片1.3.1DSP系统的构成1.3实时DSP系统设计1.3.2

DSP系统的设计流程1.3实时DSP系统设计1.3.3

算法开发1.3.4

DSP芯片的选择(1)速度(2)价格(3)硬件资源(4)运算精度(5)芯片的功耗1.3实时DSP系统设计1.3.5DSP技术的应用

(1)信号处理:滤波,FFT,(2)通信:调制解调,自适应滤波(3)语音:语音编码,语音合成(4)图形图像:图像增强,图像处理,(5)军事:雷达,制导(6)仪器仪表:频谱分析,数据采集(7)自动控制:发动机控制(8)医疗工程:医疗设备(9)家用电器:音响,机顶盒(10)计算机1.3实时DSP系统设计(1)Matlab完成抽样定理的验证(2)使用ICETEK-DM6437实验箱完成抽样定理的验证

参照实验Lab0406-Nyquist指导书相关内容完成实验1.4实验和程序实例本章小结

本章作为DSP的绪论,对DSP基本知识、DSP芯片的特点及发展现状和趋势做了简要介绍;然后比较详细地介绍了DSP系统的基本特征和设计过程;最后对TI公司的DSP芯片进行了简单的介绍。通过本章的学习,对数字信号处理数本知识、DSP芯片、DSP系统和DSP的产品有所熟悉和了解,为后续内容的学习奠定一定的基础。DSP原理及应用

第二章:TMS320DM6437的硬件结构第二章TMS320DM6437的硬件结构

2.1TMS320DM6437的基本结构2.2TMS320DM6437CPU结构2.3片内存储器及数据访问2.4实验和程序实例TMS320DM6437采用TMS320C64x+DSP内核,32位定点处理器,工作频率可达700MHz,处理速度最高可达5600MIPS。TMS320DM6437具有64个32位通用寄存器和8个独立计算功能单元,这些功能单元包括2个用于存储32位结果的乘法器和6个算术逻辑单元(ALU)。TMS320DM6437的内核采用TI开发的第三代高性能支持超长指令字(VLIW)的VelociTI.2结构。图2-1TMS320DM6437DSP硬件结构框图TMS320DM6437采用2级Cache存储结构,片上有32KBRAM/Cache可配置的1级程序存储器L1P,48KBRAM+32KBRAM/Cache可配置的1级数据存储器L1D和128KBRAM/Cache可配置的2级程序/数据存储器L2,存储器体系结构比较灵活。此外,TMS320DM6437还集成了片上ROMBootloader、兼容的JTAG接口、灵活的OSC/PLL时钟发生器、独立的节电模式等。

TMS320DM6437硬件结构的另一特点是包含了一个视频处理子系统(VPSS),它分为2部分:一部分是视频处理前端输入部分(VPFE),由CCD控制器、预览器、柱状显示模块、自动曝光/白平衡/聚焦模块和缩放模块组成,用于视频采集;另一部分是视频处理后端输出部分(VPBE),由屏幕显示设备和视频编解码组成,这增强了TMS320DM6437的视频处理能力。

TMS320DM6437集成了丰富的片内外设,包括以下4部分。(1)系统外设:包括2个64位通用定时器、1个64位看门狗定时器、3个脉冲宽度调制(PWM)和111个通用输入/输出引脚(GPIO),每个通用定时器可分别配置成2个独立的32位定时器。(2)多种接口:包括多通道音频串口(McASP)、2个多路缓冲串口(McBSP)、1个I2C总线接口、高端控制器局域网(CAN)控制器(HECC)及2个通用异步收发器(UART)接口。(3)连接器:包括1个外围设备互连接口(PCI)(33MHz)、4个收发VLYNQ(FPGA)接口、10/100Mbps以太网媒体存取控制器(EMAC)及1个可编程的16位主机接口(HPI)。(4)外部存储器接口:包括1个用于32位DDR2SDRAM高速存储控制器接口,具有256MB寻址空间,1个8位异步外部存储器接口(EMIFA),具有64MB寻址空间,如与NORFlash或NANDFlash存储器相连,用于低速率的存储器或外部设备接口。CPU的组成

TMS320DM6437的CPU主要包括以下几个部分●程序取指单元;●指令分配单元;●指令译码单元;●2个数据通路A和B●64个32位寄存器;●控制寄存器组;●控制逻辑、测试、仿真及中断逻辑。

图2-2TMS320DM6437的CPU结构2.2.1.CPU通用寄存器组每个通用寄存器组包含32个32位寄存器,如下表所示,这些寄存器可用于数据、数据地址指针或状态寄存器。

表2-1控制寄存器组个字段功能通用寄存器组支持数据范围大小从封装的(packed)8位到64位定点,其值大于32位的,如40位和64位,被存储到寄存器对中,即低32位数据存放到偶数序列寄存器中、剩余的高8位或高32位存放到紧挨的下一个奇数序列寄存器中。寄存器名间的冒号表示寄存器对,奇数序列的寄存器首先被指定。

下图显示了40位长数据的寄存器存储方法,一个长整型数输入的操作将忽略奇寄存器中的高24位,即奇寄存器中的高24位自动补0,偶寄存器以操作码方式进行编码。图2-340位数据在寄存器对中的存储方法2.2.2TMS320DM6437CPU控制寄存器组1、用户可以通过控制寄存器组来选用CPU的部分功能。下表列出了C62xx/C64xx/C67共有的控制寄存器组,并对每个控制寄存器做了简单描述。

表2-2控制寄存器组个字段功能缩写寄存器名称描述AMR寻址模式寄存器分别指定8个寄存器的寻址模式(线性寻址或循环寻址),也包括循环寻址的大小CSR空置状态寄存器包含全局中断使能定位,高速缓存控制位及其他控制和状态位IFR中断标志寄存器显示中断状态ISR中断设置寄存器允许手动设置挂起的中断ICR中断清除寄存器允许手动清除挂起的中断IER中断使能寄存器允许使能/禁止单个中断ISTP中断服务表指针指向中断服务表的起点IRP中断返回指针含有从可屏蔽中断返回的地址NRP非可屏蔽中断返回指针含有从非可屏蔽中断返回的地址PCE1程序计数器,E1街拍含有E1街拍中获取包的地址2.2TMS320DM6437CPU结构

2、CPU状态控制寄存器

状态控制寄存器(CSR)包含控制位和状态位,如图2-4所示。表2-3详细说明了各状态位的功能。图2-4状态控制寄存器(CSR)

表2-3控制状态寄存器(CSR)域描述在TMS320C64x+CPU中,PCC和DCC域被忽略。CSR的位15-10为PWRD域,用于节电和唤醒模式,如图2-5所示。图2-5状态控制寄存器中的PWRD域2.2.3TMS320DM6437的CPU数据通路TMS320DM6437CPU包含2条数据通路(A和B),如图2-6所示,其组成包括:2个通用寄存器组(A和B)、8个功能单元(.L1、.L2、.S1、.S2、.M1、.M2、.D1和.D2)、2个存储器加载数据通路(L1D和L2D)、2个存储器保存数据通路(ST1和ST2)、2个数据地址通路(DA1和DA2)和2个寄存器数据交叉通路(1X和2X)。图2-6CPU的数据通路TMS320DM6437CPU数据通路的功能单元功能单元定点操作.L单元(.L1、.L2)32/40位算术和比较运算32位逻辑运算32位数最左边1或0计数32位和40位数的归一化计算字节移位数据压缩/解压5位常数生成双16位算术运算4个8位算术运算双16位最小/最大运算4个8位最小/最大.S单元(.S1、.S2)32位算术运算32/40位移位运算和32位位操作32位逻辑运算分支操作常数生成寄存器与控制寄存器间传送(仅限.S2)字节移位数据压缩/解压双16位比较运算4个8位比较运算双16位移位运算双16位饱和算术运算4个8位饱和算术运算.M单元(.M1、.M2)32×32位乘法运算16×16位乘法运算16×32位乘法运算4个8×8位乘法运算双16×16位乘法运算双16×16位乘、加/减运算4个8×8位乘、加运算位扩展运算位交错/去交错运算变量移位运算反转有限域(GaloisField)乘法运算.D单元(.D1、.D2)32位加、减、线性和循环地址计算5位15位常数偏移的加载和保存(仅限.D2)带5位常数双字的加载和保存非定向字和双字的加载和保存5位常数生成32位逻辑运算2.3.1、片内存储器结构

TMS320DM6437片内存储器是一个两级缓存结构,如图2-7所示。图2-7存储空间两级缓存结构第一级L1包含了程序缓存区L1P(32KB)和数据缓存区L1D(80KB)两个独立的高速缓存模块,这体现了程序与数据分开存储的哈佛结构,提高了DSP的并行运行效率,L1能与DSP内核直接进行数据交换。第二级程序/数据缓冲区L2(128KB)不能与DSP内核直接交换数据,L2可以整体作为SRAM映射到存储空间,或者整体作为第二级Cache,或者配置成SRAM和Cache混合使用,其中配置成RAM的部分从起始地址Ox00000000开始编址,并且可被直接寻址,而配置成Cache的部分其容量必须是0KB、32KB、64KB或128KB。

TMS320DM6437在进行数据访问时:(1)查看L1中是否有该数据存在,若L1中存在该数据,则直接从L1读写数据;(2)若L1没有存储该数据,则访问二级缓存L2;(3)若L2也没有缓存数据,则通过EMIF接口访问外部SDRAM,把数据从外部SDRAM拷贝到L2缓存区,再从L2缓存区拷贝到L1,最后由TMS320DM6437从L1读写该数据。2.3.2、存储器空间分配要充分利用片内+片外三级存储器结构,必须提高DSP内核读取数据时的命中率,对Cache大小进行配置的原则是将尽量多的关键数据分配在片内,Cache越大越好,对于不同的应用需要用不同的配置。最优配置需要在开发中根据经验和实际测试结果进行选择。起始地址结束地址大小/KB存储器映射0x008000000x0080FFFF128L2RAM/Cache0x00E000000x00E0FFFF32L1PRAM/Cache0x00F040000x00F0FFFF48L1DRAM0x00F100000x00F1FFFF32L1DRAM/Cache0x108100000x1081FFFF128L2RAM/Cache0x10E000000x10E0FFFF32L1PRAM/Cache0x10F040000x10F0FFFF48L1DRAM0x10F100000x10F1FFFF32L1DRAM/Cache2.3.3一级片内程序存储器片内程序存储器L1P(Level1programmemoryandcache)的主要功能是最大化代码执行的性能,L1P的可配置性提高了系统灵活性,其配置成cache的容量支持0K、4K、8K、16K和32K。

L1P存储器最大可支持1MB的RAM和ROM,存储空间可分割成2个区域,每个区域不大于512KB。L1P存储器的基址被约束在1MB范围内,其总的大小必须是16KB的倍数。L1P存储器被分割成2个区域,表示为L1P区域0和L1P区域1,它们的主要特点是:(1)每个区域有不同数量的等待状态(2)每个区域有单独的存储保护条目。CPU中含有一个内部控制寄存器——控制状态寄存器(CSR),它为cache控制操作规定了一个字段(PCC),从而为C64x+/C64x/C62x/C67x设备提供反相兼容。L1P配置寄存器(L1PCFG)控制L1Pcache的大小,如图2-7和表2-5所示。图2-7L1P配置寄存器(L1PCFG)

表2-5L1P配置寄存器(L1PCFG)字段描述

L1Pcache控制寄存器(L1PCC)控制L1P是否为冻结模式,如图2-8和表2-6所示。图2-8LIPcache控制寄存器(L1PCC)表2-6LIPcache控制寄存器(L1PCC)字段描述L1P无效基址寄存器(L1PIBAR)定义了一致性操作作用的无效块的基址,如图2-9和表2-7所示。图2-9L1P无效基址寄存器(L1PIBAR)表2-7L1P无效基址寄存器(L1PIBAR)字段描述L1P无效字计数寄存器(L1PIWC)定义了一致性操作作用的无效块的大小,如图2-10和表2-8所示。图2-10L1P无效字计数寄存器(L1PIWC)表2-8L1P无效字计数寄存器(L1PIWC)字段描述L1P无效寄存器(L1PINV)控制L1Pcache的全局无效,如图2-11和表2-9所示。表2-9L1P无效寄存器(L1PINV)字段描述图2-11L1P无效寄存器(L1PINV)L1Pcache是直接映射缓存,这意味着系统的每一个物理内存单元在cache中都保留一个可能的位置,当CPU试图取一段程序代码时,L1P必须检查是否在L1Pcache中保留了需要的地址。为此,CPU提供的32位地址被分割成3个字段(tag、set和offset),如图2-12所示。图2-12数据存取地址结构偏置(Offset)字段占用了32位L1Pline的前5位,其被cache控制逻辑忽略。设置(Set)字段指明L1Pcacheline的地址,其缓存数据将被保留,设置字段的宽度取决于L1P配置成cache的数量。L1P使用设置字段来查找和检查任意已缓存数据的标签(Tag)和有效位,这反映了标签地址是否真正是cache中的有效地址。标签字段占据存储地址的上部,它确定了数据单元的真实物理位置。L1P结构允许在运行时选择L1Pcache大小,通过写请求模式到L1PCFG寄存器的L1PMODE字段来选择L1Pcache大小,如表2-10所示。表2-10通过L1PCFG寄存器中的L1PMODE位指定Cache大小当设计的程序需要一定量的cache时,应该设置为模式值的上界。为了确保正确的cache,需要进行无效设置,然而由于部分L1PRAM变成cache,为了安全的改变L1Pcache模式,在应用中还需要遵守表2-11中的规则。表2-11L1P模式转换规则2.3.4、一级片内数据存储器片内数据存储器L1D(Level1DataMemoryandCache)主要功能是最大化数据处理性能,L1D的可配置性为系统使用L1D提供了灵活性。片内数据存储器L1D具有以下特点:(1)可配置成cache的大小包括0K、4K、8K、16K和32K(2)支持存储保护(3)提供块缓存和全局一致操作

L1D存储器最大可支持1MB的存储映射RAM和ROM,L1D存储器的基址被约束在1MB范围内,其总的大小必须是16KB的倍数。L1D存储器被分割成2个区域,表示为L1D区域0和L1D区域1,其有以下特点:(1)每个区域有单独的内存保护条目;(2)部分L1D区域1可被转换为数据cache。L1D存储器结构允许将部分或全部的L1D区域1转换成读分配、写返回和双向集关联的cache。为了便于以全CPU时钟频率读写数据,同时具有大的系统内存,cache是非常必要的,其主要是用于缓解从较慢的系统存储单元进行读/写操作带来的延迟。

表2-12L1Dcache控制操作

L1Dcache操作受控于如表2-12所示的控制寄存器,这些寄存器允许改变cache的模式和手动初始cache一致操作,L1Dcache也会受到写入L2指定控制的影响。CPU有一个内部控制寄存器,其给出一个字段用于cache控制操作,即CSR。CSR控制寄存器中的DCC字段以多种方式控制L1D操作。L1Dcache配置寄存器(L1DCFG)控制L1Dcache的大小,如图2-13和表2-13所示。图2-13L1D配置寄存器(L1DCFG)表2-13L1D配置寄存器(L1DCFG)字段描述L1Dcache控制寄存器(L1DCC)控制L1D是否为冻结模式,如图2-14和表2-14所示。图2-14LIDcache控制寄存器(L1DCC)表2-14LIDcache控制寄存器(L1DCC)字段描述L1D无效寄存器(L1DINV)控制L1Dcache的全局无效,如图2-15和表2-15所示。图2-15L1D无效寄存器(L1DINV)表2-15L1D无效寄存器(L1DINV)字段描述

L1D写回寄存器(L1DWB)如图2-16和表2-16所述。图2-16L1D写回寄存器(L1DWB)表2-16L1D写回寄存器(L1DWB)字段描述L1D无效写回寄存器(L1DWBINV)控制L1Dcache的无效写回操作,如图2-17和表2-17所示。图2-17L1D无效写回寄存器(L1DWBINV)表2-17L1D无效写回寄存器(L1DWBINV)字段描述L1D无效基址寄存器(L1DIBAR)定义了无效块基址,如图2-18和表2-18所示。图2-18L1D无效基址寄存器(L1DIBAR)表2-18L1D无效基址寄存器(L1DIBAR)字段描述L1D无效字计数寄存器(L1DIWC)定义了无效块的大小,其定义的大小为32位,如图2-19和表2-19所示。图2-19L1D无效字计数寄存器(L1DIWC)表2-19L1D无效字计数寄存器(L1DIWC)字段描述L1D写回基址寄存器(L1DWBAR)定义写回块的基址,如图2-20和表2-20所示。图2-20L1D写回基址寄存器(L1DWBAR)表2-20L1D无效基址寄存器(L1DWBAR)字段描述L1D无效写回字计数寄存器(L1DWIWC)定义了无效写回块的大小,其定义的大小为32位,如图2-21和表2-21所示。图2-21L1D无效写回字计数寄存器(L1DWIWC)表2-21L1D无效字计数寄存器(L1DWIWC)字段描述L1Dcache是一个双向集关联cache,这意味着系统的每个物理内存单元在cache中都保留2个可能的位置,当CPU试图访问一段数据时,L1D必须检查是否在L1Dcache中保留了需要的地址。为此,CPU提供的32位地址被分割成6个数据字段,如图2-22所示。图2-22数据存取地址结构L1Dline大小为64位,偏置(Offset)字段占用了前6位。设置(Set)字段表明L1Dcache线地址,其缓存数据将被保留,设置字段的宽度取决于L1D配置成cache的大小,如表2-22所示。使用设置字段来查找和检查任意已缓存数据的标签和有效位,这表明标签地址是否真正代表cache中的有效地址。

表2-22设置(Set)字段宽度对应的数据访问地址2.3.5、二级片内存储器二级片内存储器(L2memoryandcache)为较快的一级片内存储器(L1P和L1D)与较慢的外部存储单元间数据传送存储提供了一个片上存储解决方案,其优势在于提供了比L1存储器更大的存储空间,同时也提供了比外部存储更快的数据访问。类似于L1存储器,L2可配制成cache和非cache(可寻址)存储器。

L2存储器提供了设备需要的灵活存储方式,包括2个存储端口(port0和port1),可配置的L2cache大小,存储保护,支持缓存块和全局一致操作,4个可配置的节电模式页。L2存储器提供的2个256位宽的存储接口称为port0和port1,这两个端口的使用依赖于设备,在多数设备中,2个存储端口使用如下:(1)Port0:L2RAM、L2cache(2)Port1:L2ROM、L2RAM、共享存储接口这两个存储端口可编址存储段,其编址可能是不连续的,表2-23阐明了port0和port1如何在2×128位bank的情况下用于低位优先(littleendian)模式。表2-232×128位banking方案L1P“读漏”(32字节)需要单一端口的全部存储bank,当L2存储器具有高延迟时,在同一周期或直到该端口完成访问前,其他访问不能进行。L1D的读漏(64字节)或写回也需要单一端口的全部存储bank,用于两次连续访问。L2cache的操作通过以下寄存器进行控制,如表2-24对这些控制寄存器进行了总结。表2-24L2cache控制寄存器这些寄存器分为3类,涉及以下部分:

Cache大小和操作模式控制,这些寄存器控制cache大小和cache是否为冻结模式或正常操作模式;

面向块和全局一致性操作,这些操作允许从cache中手动移出数据;

可缓存性控制,这些寄存器控制cache是否允许存储一定范围内存的副本。L2配置寄存器(L2CFG)控制L2cache操作,可设置L2内存作为cache的大小、控制L2冻结模式及保持L1D/L1P无效位,如图2-23和表2-25所示。图2-23L2配置寄存器(L2CFG)表2-25L2配置寄存器(L2CFG)字段描述

L2写回基址寄存器(L2WBAR)如图2-24和表2-26所示。图2-24L2写回基址寄存器(L2WBAR)表2-26L2写回基址寄存器(L2WBAR)字段描述L2写回字计数寄存器(L2WWC)定义无效块的大小,其大小以32位字进行定义,写入一个大于FFE0h的数字会导致写入单元不被修改,如图2-25和表2-27所示。图2-25L2写回字计数寄存器(L2WWC)表2-27L2写回字计数寄存器(L2WWC)字段描述L2无效写回字计数寄存器(L2WIWC)定义无效块的大小,其大小以32位字进行定义,写入一个大于FFE0h的数字会导致写入单元不被修改,如图2-26和表2-28所示。图2-26L2无效写回字计数寄存器(L2WIWC)表2-28L2无效写回字计数寄存器(L2WIWC)字段描述L2无效基址寄存器(L2IBAR)定义无效块的基址,如图2-27和表2-29所示。图2-27L2无效基址寄存器(L2IBAR)表2-29L2无效基址寄存器(L2IBAR)字段描述L2无效字计数寄存器(L2IWC)定义了无效块的大小,其大小以32位字进行定义,写入一个大于FFE0h的数字会导致写入单元不被修改,如图2-28和表2-30所示。图2-28L2无效字计数寄存器(L2IWC)表2-30L2无效字计数寄存器(L2IWC)字段描述L2写回寄存器(L2WB)控制L2cache的全局写回操作,如图2-29和表2-31所示。图2-29L2写回寄存器(L2WB)表2-31L2写回寄存器(L2WB)字段描述L2无效写回寄存器(L2WBINV)控制L2cache的无效写回操作,如图2-30和表2-32所示。图2-30L2无效写回寄存器(L2WBINV)表2-32L2无效写回寄存器(L2WBINV)字段描述L2无效寄存器(L2INV)控制L2cache的全局无效,如图2-31和表2-33所示。图2-31L2无效寄存器(L2INV)表2-33L2无效寄存器(L2INV)字段描述L2内存属性寄存器(MARn)定义外部存储空间的可缓冲性,只在管理员模式下可写,其通用结构如图2-32所示,功能描述如表2-34所示。图2-32L2无效寄存器(L2INV)表2-34L2无效寄存器(L2INV)字段描述L2内存结构提供了存储保护支持,详细的存储保护权限如表2-35所示。表2-35L2cache控制寄存器权限L2cache是一种读写分配、四路集关联的cache,为了跟踪L2cache的状态,还包含一个四路的tagRAM。L2标签的地址组织是关于cache和RAM间划分比例的函数,其通过L2CFG寄存器L2MODE字段进行控制。

偏置(Offset)字段占用了128位L2line大小的前7位,cache控制逻辑忽略了这部分地址,如图2-33所示。图2-33L2cache地址结构

设置(Set)字段指出了L2cacheline的地址,其缓存数据将以各自方式被保留,设置字段的宽度依赖于L2配置成cache的大小,

L2cache允许在运行时配置其大小,如表2-36所示。表2-36L2MODE描述当程序写入新的cache模式到L2CFG寄存器,L2执行以下步骤:(1)L2cache使能,则写回并置为无效。(2)L2cache设置为需要的模式,需要注意的是改变L2模式不会影响L1cache的内容。表2-37L2模式转换规则重置后,程序设置L2模式并保持不变,一些程序会在工作中改变L2cache模式,需要注意确保遵循表2-37所示步骤来保持存储系统一致和正确的cache操作。

L2cache支持冻结模式,L2cache内容被冻结,即它将不能像正常操作一样被更新。L2冻结模式允许实时应用程序在各部分代码中限制从L2发出的数据量,如中断处理程序。使用L2CFG寄存器中的L2CC字段来设置冻结模式。冻结模式只影响L2cache操作,而不影响L2RAM,其也不影响L1P和L1D,同样,L1冻结模式也不影响L2cache。表2-38总结了通过使用L2CFG寄存器中L2CC字段来设置冻结模式的方式。表2-38L2冻结模式2.4.1卷积的MATLAB实现2.4.2基于ICETEK-DM6437-A的卷积DSP实现本章小结TMS320C6437DSP处理器主要有CPU内核、外设和存储器3个部分组成。本章从芯片设计的角度出发介绍了TMS320C6437DSP芯片的CPU结构,讨论了CPU数据通路和控制,介绍了片内存储器和二级内部存储器的原理、寄存器及工作方式。DSP原理及应用

第三章ICETEK-DM6437-A综合实验系统第三章

ICETEK-DM6437-A综合实验系统3.1ICETEK-DM6437-A综合实验系统的组成3.2实验系统的硬件模块3.3

基于ICETEK-DM6437-A的语音信号处理3.4基于ICETEK-DM6437-A的视频信号处理3.5

基于MATLAB的音频信号处理3.6

基于ICETEK-DM6437-A的音频信号处理的实现3.1ICETEK-DM6437-A综合实验系统的组成3.2实验系统的硬件模块3.2.1.CPU单元

3.2实验系统的硬件模块3.2.2.电源模块TMS320DM6437实验系统正常工作电压共包括5V,3.3V,1.8V,1.2V四种电源电压。系统的工作电压及电压范围如表3-1所示。芯片电压最大值典型值最小值TMS320DM6437内核电压1.26V1.2V1.14VI/O、FLASH、外设2.97V3.3V3.63VDDR2、PLL1.71V1.8V1.89表3-1系统的工作电压及电压范围3.2.3数字信号源实验系统提供独立的数字信号源,数字信号源上提供五种波形(方波、三角波、正弦波、上下两路信号混频、白噪声),数字信号源上提供语音录放功能,提供语音实时采集回放功能,麦克风、直接音频输入,耳机、扬声器输出。独立的数字信号源(该信号源应是一个独立的信号发生器,可单独从实验箱上取下,为任何实验设备提供数字信号波形输出):(1)可同时提供两路波形输出,每一路均可单独控制;信号的波形、频率、幅度可调;具有语音录放功能;(2)波形切换:提供五种波形(方波、三角波、正弦波、上下两路信号混频、白噪声),可通过拨动开关进行选择;(3)频率范围:分为4段(10Hz—100Hz、100Hz—1KHz、1KHz—10KHz、10KHz—30KHz),可通过拨动开关进行选择;(4)频率微调:在每个频率段范围内进行频率调整;(5)幅值微调:0-3.3V平滑调整;(6)语音录放:提供语音实时采集回放功能,麦克风、直接音频输入、耳机、扬声器输出。3.2实验系统的硬件模块3.2实验系统的硬件模块3.2.4.A/D实验系统采用TLV0832芯片来实现ADC功能。TLV0832可以将收到的模拟电压信号(0~3.3V范围)进行定时采集,采集速率(A/D转换时间)最短为13.3微秒,可以转换两路模拟信号输入(分时转换),转换后生成的数字量为8位二进制数精度,通过串行通讯可将结果传送给上位机处理。其接口管脚定义如右图3-6所示。其中,CH0和CH1连接两路独立的模拟信号通道,这些信号电压范围图3-6引脚定义限定在0V~3.3V之间,CS、CLK、DO、DI为数字串行控制信号,控制ADC转换的通道、何时开始转换,转换结束后也通过这一接口将结果传送给DSP。TLV0832与DM6437的接口比较简单,请参看下面的接口如图所示。3.2实验系统的硬件模块3.2.5.D/A实验系统采用TLC7528C芯片来实现DAC功能。TLC7528可以将收到的8位数字信号转换成相应的模拟输出,每次转换最高速率是0.1微秒,可以支持两路模拟量输出。其接口管脚定义如下图。图3-9TLC7528引脚TLC7528与DM6437的接口比较简单,如下图:3.2实验系统的硬件模块3.2.6.JTAGTI在其TMS320系列芯片上设置了符合IEEEI149.1

标准的JTAG(JoimTest

ActionGroup)标准测试接口及相应的控制器,如图3-11所示。主要用于边界测试和DM643在线仿真,方便DSP应用系统开发调试.JTAG接口可对芯片内部部件编程,外部中断计数等。使用JTAG仿真开发工具实现对DM6437片内和片外资源进行全透明访问,同时还可以通过它向DM6437加载程序,对程序进行调试。JTAG引脚定义如表3-2

所示。TCK测试时钟输入TDI测试数据,数据通过TDI输入JTAG口TDO测试数据输出,数据通过TD0从JTAG口输出TMS测试模式选择,用来设置JTAG所处的测试模式TRST测试复位,输入引脚,低电平有效3.2实验系统的硬件模块3.2.7.DM6437核CPU时钟系统中用到很多种不同的时钟频率,TMS320DM6437有两个独立控制的PLL。PLL产生DSP,DMA,VPFE以及其他外设所需要的时钟频率。PLL2产生DDR2接口和VPBE在特定模式下的时钟频率。根据TMS320DM6437的数据手册,PLL锁相环的输入频率范围在20-30MHz,选择27MHz外部无源晶振作为系统的外部时钟源。在MXI/CLKIN引脚输入的27MHz时钟,经过PLL1Controller1和PLL2Controller2寄存器的配置,便能得到系统时钟SYSCLK1、SYSCLK2、SYSCLK3和各个模块的吋钟。具体的时钟产生如图3-15所示。3.2实验系统的硬件模块3.2.7.DM6437核CPU时钟3.2实验系统的硬件模块3.2.8.网络接口DM6437集成了片上以太网MAC部分。此以太网接口连接到PHY上。EVM使用一个MicrelKS8001LPHY。10/100MBit的接口被接出到一个标准以太网连接器J8。PHY直接与DM6437外设接口相连。以太网的地址可以在生产时存储在I2C串行的ROM中,也可在程序中更改。RJ-45有两个液晶指示灯集成在连接器上。灯有绿和黄两种,指示出以太网链路的状态,

绿灯亮,表示有链路连接,闪时,表示链路在工作,黄灯亮时,表示全双工模式。3.3

基于ICETEK-DM6437-A的语音信号处理3.3.1音频编解码芯片TLV320AIC33简介TLV320AIC33是一款支持低功耗与噪声滤波功能的立体声数字信号编解码器。可以支持六路信号输入和六路信号输出,支持差分和单端两种信号输入形式。相比较其他音频编码芯片,TLV320AIC33具有以下优势:支持8~96ksps的采样率;数模转换与模数转换的信噪比(SNR)分别达到了102dB与92dB;集成锁相环(PLL)支持各种音频时钟;支持便携式系统的低功耗耳机、扬声器以及回放模式;可编程数字音效,包括3D音效、低音、高音、EQ以及去加重等;I2C和SPI控制接口,便于控制;声音串行数据总线支持模式。如图3-16是TLV320AIC33的内部结构与外部接口。3.3

基于ICETEK-DM6437-A的语音信号处理3.3.1音频编解码芯片TLV320AIC33简介TLV320AIC33是一款支持低功耗与噪声滤波功能的立体声数字信号编解码器。可以支持六路信号输入和六路信号输出,支持差分和单端两种信号输入形式。相比较其他音频编码芯片,TLV320AIC33具有以下优势:支持8~96ksps的采样率;数模转换与模数转换的信噪比(SNR)分别达到了102dB与92dB;集成锁相环(PLL)支持各种音频时钟;支持便携式系统的低功耗耳机、扬声器以及回放模式;可编程数字音效,包括3D音效、低音、高音、EQ以及去加重等;I2C和SPI控制接口,便于控制;声音串行数据总线支持模式。如图3-16是TLV320AIC33的内部结构与外部接口。3.3

基于ICETEK-DM6437-A的语音信号处理3.3.2TLV320AIC33和TMS320DM6437通讯接口及模式编解码器用两个串行通道通讯,一个是控制编解码器的配置寄存器,另一个语音信号输入与输出通道。如3-17图是DM6437与编解码器TLV320AIC33接口示意图。音频编解码芯片TLV320AIC33和DM6437芯片的外设I2C连接,由I2C实现对AIC33和DM6437芯片的控制;TLV320AIC33与DM6437的外设McBSP相连,用于两芯片间的音频数据交换。3-18图是DM6437与编解码器TLV320AIC33接口。3.3

基于ICETEK-DM6437-A的语音信号处理3.3.2.1TLV320AIC33和多通道缓冲串口的通信在标准同步串口基础上,为了扩展其功能,提供高效同步串口通信机制,多通道缓冲串口(MultichannelBufferedSerialPort,McBSP)得到使用。它拥有双缓冲发送结构及三级缓冲接收结构,数据在此结构下能连续发送。McBSP可配置性很强,通过对其相应的寄存器的配置,可控制其工作方式。此外,它的每个串口支持128个通道,速度达到100Mbit/s。3.3.2.2I2C控制接口DM6437对音频芯片AIC33进行控制的命令流程如下:由总线发送开始指令信号,即时钟总线(SCL)高电平时,数据总线(SDA)出现从高到低的一个跳变,DM6437发送一个从属设备地址,该地址为7位,但在传送时数据变为8位,而多出来的最后一位是用来对从属设备说明是读操作还是写操作。系统中与主控设备有关的都是写操作。当从属设备接收到来自主控设备信号时,从属设备会回馈一个应答信号告诉主设备继续改善指令。当主设备在控制命令后发送停止标志,即SCL是高电平时,SDA会出现由低到高的一具跳变,至此,一个完整的通信过程结束。3.4基于ICETEK-DM6437-A的视频信号处理3.4.1DSP视频处理系统概述

数字视频(图像)处理是DSP技术的重要应用领域

摄像头作为输人视频传感器是系统的信息来源,它输出的模拟视频信号不能直接被DSP处理,因此,需要利用视频解码芯片完成图像的数字化过程。DSP可完成图像去噪声、图像增强、图像配准等一系列软件算法处理,视频编码芯片将DSP处理后的数字视频(图像)数据编码成普通电视所能接收的NTISC或PAL制的复合视频信号,实现视频输出。DM6437的VPFE接口主要解决与视频ADC或数字摄像机直接接口的问题。接口的数据出口为EMIF接口的存储器(SDRAM/DDRAM),功能是将接收到的数字化的视频采样数据解码后,通过DMA直接存放到扩展存储器中,并实现缩放、预显示、H3A(Hardware3Astatisticgrnerator)处理、直方图统计等辅助功能。由于接口设计的通用和灵活性很好,可以接口各种视频采集芯片和数字摄像机。

DM6437的VPBE接口用于连接数字接口的LCD显示器或视频编码器(DAC),负责将存放在DSP存储器中的视频图像数据按照既定的时序输出,可以支持标清和高清显示。DM6437的VPBE包含视频处理系统(VPSS,VideoprocessingSubSystem),可以利用DMA和硬件逻辑,将视频数据组合、叠加后进行编码输出。3.4基于ICETEK-DM6437-A的视频信号处理3.4.1DSP视频处理系统概述

ICETEK-DM6437-A的视频处理系统工作流程:(1)插座上的摄像机将PAL制式的模拟复合视频信号输入;(2)复合视频信号接入U5-TVP5146进行解码,输出YCbCr格式的数字分量信号;(3)数字分量信号通过DM6437的VPFE接口输入DSP,存放到DM6437片外扩展的DDR2SDRAM中;(4)DM6437将存放在DDR2SDRAM中的视频数据取到DSP片内进行处理运算,结果输出存放到DDR2SDRAM中的输出缓存区;(5)DM6437的VPBE接口自动获取DDR2SDRAM中输出缓冲区的视频数据,将之进行编码后输出;(6)DM6437的VPBE接口的视频DAC将编码的视频数据进行DA转换后发送到相应输出管脚,通过J12插座输出,连接在J12上的TV显示器接收视频模拟信号进行显示。3.4基于ICETEK-DM6437-A的视频信号处理3.4.2视频解码芯片TVP5146图像传感器进行光电转换将光信号转换成电信号,之后的视频解码芯片起一个模数转换的作用,将模拟信号数字化。所有最终得到的视频信号都将存储在外部存储器SDRAM中,最后传递到数字信号处理器DSP中,交给DSP进行图像处理与计算。由于本系统采用的图像传感器OV7959输出的是模拟视频信号,不能直接被DSP处理,因此选用视频编码芯片TVP5146来完成图像的模数转换以及相应控制信号的分离。TVP5146是TI公司的一款高性能视频信号解码芯片,能将NTSC、PAL制式的混合视频信号解码成数字信号输出。TVP5146内部主要包含以下功能:(1)提供4路

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论