版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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路10位30MSPS(每秒采样百万次)A/D转换通道,可以将YPbPr、NTSC、PAL信号的转换成YCbCr信号,在每个A/D通道中均包含模拟参考电压输入电路、可编程增益控制电路、输入信号偏移电路和可编程信号源选择电路。(2)内部采用5线自适应色度滤波器,能将复合视频信号进行亮度、色度分离,且这种形式的Y/C分离是完全互补的,不会丢失图像的亮度或色度信息,数字信号可选择20位4:2:2YCbCr或10位4:2:2YCbCr进行输出。(3)内部提供了多个图像预处理模块,可以对模数转换后的数字图像数据进行亮度、对比度和饱和度的处理。(4)提供I2C总线控制接口,可方便配置芯片初始化和相关寄存器的读写,实现芯片的可编程图像预处理功能。(5)可提供同步的行场视频信号输出时钟,在相应寄存器可配置接收视频的扫描方式。3.4基于ICETEK-DM6437-A的视频信号处理3.4.2视频解码芯片TVP5146TVP5146通过I2C配置总线和数字视频接口总线与上位机进行连接(TVP5146的I2C地址为BAH),其接口DM6437的视频前端示如图3-21所示。3.4基于ICETEK-DM6437-A的视频信号处理3.4.3视频处理子系统VPSSTMS320DM6437还提供了强大的视频处理子系统VPSS(VideoProcessingSubSysterm),如图3-22所示,其包括一个视频处理前端VPFE(VideoProcessingFrontEnd)和一个视频处理后端VPBE(VideoProcessingBackEnd),VPFE对输入的视频数据进行前端处理,通过配置视频前段寄存器可以对采集的图像进行缩放、图像亮度和对比度调节、直方图功能化等预处理;VPBE用于视频数据的输出处理,驱动液晶屏实时显示视频图像。3.4基于ICETEK-DM6437-A的视频信号处理3.4.4视频处理前端(VPFE)DM6437的视频处理前端VPFE由CCD控制器(CCDC)、图像预处理器、H3A模块、灰度直方图模块和缩放器五个部分构成,其内部结构框图如下图所示。3.4基于ICETEK-DM6437-A的视频信号处理3.4.5视频处理后端(VPBE)DM6437的视频处理后端VPBE完成视频数据的输出处理和驱动显示屏实现显示的、图像数据,内部由屏幕显示(OSD和视频编码(VENC)模块两个模块组成,VPBE内部结构框图如下图所示。3.5.1基于MATLAB的音频信号处理的流程
用MATLAB处理音频信号的基本流程是:先将.wav格式音频信号经wavread函数转换成MATLAB列数组变量;再用MATLAB进行数据分析和处理,如时域分析、频域分析、数字滤波、信号合成、信号变换、识别和增强等;处理后的数据如是音频数据,则可用wavwrite转换成.wav格式文件或用sound、wavplay等函数直接回放。处理流程如图3-26所示。下面分别介绍MATLAB在音量标准化、声道分离合并与组合、数字滤波、数据转换等音频信号处理方面的技术实现3.5基于MATLAB的音频信号处理3.5.1基于MATLAB的音频信号处理的流程
音频是多媒体信息的一个重要组成部分,音频信号的频率范围大约是20Hz~20kHz。音频信号的采集和处理已经广泛应用于材料无损检测、语音识别、噪声抑制等工程领域。对实时采集音频信号并进行分析处理的技术和方法进行探讨,具有一定的意义。下图是应用MATLAB进行音频信号处理的流程。3.5基于MATLAB的音频信号处理3.6.1.实验原理
ICETEK-DM6437-A评估板通过DM6437的I2C接口连接AIC23的配置接口,用McBSP1接口连接AIC23的数字音频串行接口。1.DM6437与AIC33通讯(1)配置DM6437:配置I2C总线接口:速度约为100kHz。(2)配置AIC33:通过I2C总线完成,DM6437为I2C总线的主端,AIC33为从端,时钟信号由DM6437的I2C总线接口SCL管脚输出提供。3.6基于ICETEK-DM6437-A的音频信号处理的实现3.6.2.实验步骤
(1)实验准备(2)启动CCS:点击桌面上相应图标启动CCS5(3)导入实验工程(4)编译例程(5)debug下载程序(6)结束实验3.6基于ICETEK-DM6437-A的音频信号处理的实现本章小结
本章详细介绍了基于ICETEK-DM6437-A实验系统。该综合教学实验平台是结合当今DSP图像处理课程教学与改革而研制开发的。它采用一体化教学实验箱,包括TIDSPC6000系列的DM6437、增强版仿真器、独立的数字信号源、PAL制式模拟摄像头、7寸PAL制式液晶屏/键盘等外设模块,DM6437能够直接对外设模块(液晶屏、蜂鸣器,步进电机,直流电机,交通灯,9键数字键盘等)进行控制。通过基于ICETEK-DM6437-A的试验系统组成的学习,具备初步的系统观。通过基于TMS320DM6437的系统与各子单元的学习理解系统观的内涵,注重自身系统观的培养DSP原理及应用
第四章:DSP集成开发环境第四章
DSP集成开发环境
4.1DSP软件开发工具4.2CCS集成开发环境4.3CCS的应用4.4DSP/BIOS实时操作系统4.5实验和程序实例4.1DSP软件开发工具通常DSPs芯片的开发工具可以分为代码生成工具和代码调试工具两大类。代码生成工具的作用是将C或汇编语言编写的DSP程序编译并链接成可执行的DSP程序。代码调试工具的作用是在DSPs编程过程中,按照设计的要求对程序及系统进行调试,使编写的程序达到设计目标。图4-1是典型的软件开发流程图,图中阴影部分表示般的C语言开发步骤,其他部分是为了强化开发过程而设置的附加功能。4.1DSP软件开发工具4.1.1代码生成工具代码生成工具奠定了CCS开发环境的基础,将用高级语言、汇编语言或两种语言混合编写的DSP程序转换为可执行的目标代码。它除了最基本的C编译器、汇编器和链接器外,还有归档器、运行支持库、十六进制转换程序、交叉引用列表器、绝对列表器等辅助工具。4.1.1.1.C编译器C编译器包括分析器、优化器和代码产生器,它接收C/C++源代码并产生TMS320Cxx汇编语言源代码。通过汇编和链接,产生可执行的目标文件。C编译器的主要特点是:●完全符合ANSIC标准。●支持库函数。●编译时可进行优化处理,产生高效的汇编代码。●用户可进行库和档案的管理,可以对库进行文件的添加、删除、替换等,可以将目标文件库作为链接器的输人。●可控制存储器的分配、管理和部分链接。●支持C和汇编混合编程。●可输出多种列表文件,如源代码文件、汇编列表文件和预处理输出文件等。4.1DSP软件开发工具4.1.1.2汇编器汇编器的作用是将汇编语言源程序转换成机器语言目标文件,它们都是通用目标文件格式(COFF)文件。汇编器的功能是:●处理汇编源文件(.asm),产生可重定位的目标文件(.obj)。●根据要求产生源程序列表文件(.Ist),并向用户提供对此列表的控制。●根据要求将交叉引用列表加到源程序列表中。●将代码分段,并为每个目标代码段设置段程序计数器。●D定义和引用全局符号。●汇编条件块。●支持宏调用,允许用户在程序中或在库内定义宏。4.1DSP软件开发工具4.1.1.3链接器链接器把多个目标文件组合成单个可执行目标模块。它在创建可执行模块的同时,完成重定位过程。链接器的输入是可重定位的目标文件和目标库文件。在汇编程序生成代码过程中链接器的作用如下:●根据链接命令文件(.cmd文件)将一个或多个COFF目标文件链接起来,生成存储器映射文件(.map文件)和可执行的输出文件(.out文件)。●将段定位于实际系统的存储器中,并给段、符号指定实际地址。●解决输人文件中未定义的外部符号引用。4.1.1.4归档器归档器允许用户把-组文件收集到一个归档文件中。归档器允许通过删除、替换、提取或添加文件来调整库。4.1DSP软件开发工具4.1.1.5运行支持库运行支持库包括C编译器所支持的ANSI标准运行支持函数、编译器公用程序函数、浮点运算函数和C编译器支持的I/O函数。用户可以利用建库应用程序建立满足设计要求的“运行支持库”。4.1.1.6.十六进制转换程序十六进制转换程序把COFE目标文件转换成TI-Tagged、ASCI-hex、Intel、Motorola-S或Txktronix等目标格式,可以把转换好的文件通过EPROM编程器下载到EPROM中。4.1.1.7.交叉引用列表器交叉用列表器用目标文件产生参照列表文件,可显示符号及其定义,以及符号所在的源文件。要使用交叉引用列表器,需要在汇编源程序的命令中加人一个适当的选项,在列表文件中产生一个交叉引用列表,并在目标文件中加入交叉引用信息。链接目标文件得到可执行文件,再利用交叉引用列表器,即可得到希望的交叉引用列表。4.1DSP软件开发工具4.1.1.8.绝对列表器绝对列表器输入目标文件,输出.abs文件,通过汇编.abs文件可产生含有绝对地址的列表文件。如果没有绝对列表器,这些操作将需要冗长乏味的手工操作完成。产生绝对列表所需要的步骤为:(1)汇编源文件。(2)链接所产生的目标文件。(3)调用绝对列表器,使用已链接的目标文件作为输人,它将创建扩展名为.abs的文件。(4)汇编.abs文件,这时用户在命令中需加入一个适当的选项来调用汇编器,以产生包含绝对地址的列表文件。4.1DSP软件开发工具4.1.2代码调试工具代码调试工具的作用是将代码生成工具生成的可执行.out文件,通过调试器接口加载到用户系统进行调试。4.1.2.1.C/汇编语言源码调试器C/汇编语言源码调试器是运行在PC或SPAKC等产品上的一种软件接口,与其他调试工具(软件模拟器、评估模块、软件开发系统、仿真器)配合使用。用户程序既可用C语言调试,也可用汇编语言调试,还可以用C和汇编混合调试。4.1.2.2.初学者工具DSK初学者工具DSK是TI公司为TMS320系列DSPS初学者设计和开发的廉价的实时软件调试工具,用户可以使用DSK来做DSP实验,进行诸如系统控制、语音处理的测试应用,也可以用来编写和运行实时源代码,并对其进行评估,还可以来调试用户自己的系统。4.1.2.3.软件仿真器软件仿真器是一种模拟DSPs芯片各种功能并在非实时条件下进行软件调试的工具,不需要目标硬件支持,只需要在计算机上运行,是一种廉价方便的调试工具,但它主要缺点是运行速度慢,无法保证实时性。4.1DSP软件开发工具4.1.2.4.评估模块EVM评估模块是一种低成本的用于器件评估、标准程序检查及有限系统调试的开发板。它配置了目标处理器、小容量的存储器和其他有限的硬件资源,可用来对DSPs芯片的性能进行评估,也可用来组成一-定规模的用户DSP系统。4.1.2.5.硬件在线仿真器硬件在线仿真器(XDSEmulator)是一-种功能强大的高速仿真器,可用来进行系统级的集成调试,是进行DSP系统开发的最佳工具。TI公司生产的DSPs都采用扫描仿真器。扫描仿真器克服了传统仿真器电缆过长引起的信号失真和仿真插头可靠性差等问题。使用扫描仿真器,程序可以从片内或片外的目标存储器实时执行,在任何时钟速度下都不会引人额外的等待状态。4.2CCS集成开发环境CCS(CodeCompseStudio)是TI公司为TMS320系列DSP芯片而开发的DSP集成开发环境。它提供了环境配置、源文件编辑、程序调试、跟踪和分析等工具,帮助用户在软件境下完成编辑、编译、链接、调试和数据分折等工具。CCS主要有以下特性和功能:●集成可视化代码编辑界面,可以直接编写C++、汇编、头文件及CMD文件等,●集成图形显示工具,可绘制时域、频域波形等。●集成调试工具,可以完成执行代码的装人、寄存器和存储器的查看、反汇编器交量官口的显示等功能,同时还支持C源代码级的调试。●集成代码生成工具,包括汇编器、C/C+编译器和链接器等。●支持多DSPs调试。●集成断点工具,包括设置硬件断点、数据空间读/写断点、条件断点等。●集成探针工具,可用于算法仿真、数据监视等。●提供代码分析工具,可计算某段代码执行时间,从而能对代码的执行效率做出评估。4.2CCS集成开发环境CCS主要有以下特性和功能:●支持通过GEL来扩展CCS的功能,可以实现用户自定义的控制面板、菜单、自动修改变量或配置参数的功能。●支持RTDX技术,可在不打断目标系统运行的情况下,实现DSPs与其他应用程序的数据交换●提供开放的plug-ins技术,支持第三方的ActiveX插件,支持包括软件仿真在内的各种!真器(需要安装相应的驱动程序)。●提供DSP/BIOS工具,增强了对代码的实时分析能力,如分析代码的执行效率、调度程序执行的优先级、方便对系统资源的管理或使用(代码/数据空间的分配、中断服务程序的调用、定时器的使用等),减小了开发人员对DSP硬件知识的依赖程度,从而缩短了软件系统的开发进程。4.2CCS集成开发环境4.2.1CCS的安装4.2CCS集成开发环境4.2.1CCS的安装4.2CCS集成开发环境4.2.2CCS的设置①定义工作区目录CCSv5首先要求定义一个工作区,即用于保存开发过程中用到的所有文件的目录。每次启动CCSv5都会要求输入工作区目录。默认情况下,会在“C:\Users\<用户>\Documents”或“C:\DocumentsandSettings\<用户>\workspace_v5_0”目录下创建工作区,用户也可以选择其他路径。如果对所有项目使用一个目录,只需选中“Usethisasthedefaultanddonotaskagain”,默认使用此目录且不再询问选项。4.2CCS集成开发环境4.2.2CCS的设置②建立目标板配置环境在CCS低版本中,用CCSSETUP进行配置,在CCSv5中建立目标板配置环境的步骤如下:在工具栏中选择“File/New/TargetConfigurationFile”,并为此配置命名后,单击“Finish”,在调试器类型“connection”一栏中选择仿真器和芯片类型,如果使用默认的GEL文件,单击“Save”即可;如果使用自己的GEL文件,单击“TargetConfiguration”,在InitializationScript中选择自己的GEL文件,之后单击“Save”,完成配置。③连接目标板选择菜单“View/Targetconfigurations”,在配置界面中右击配置文件选择“SetasDefault”将刚刚建立的配置文件设置为默认状态,启动调试,右击选择已配置的项目的“LaunchSelectedConfiguration”,当启动成功后,选择菜单“Run/ConnectTarget”t即可连接目标板。4.3CCS的应用4.3.1创建CCS工程创建CCS工程项目的步骤如下:(1)新建一个项目工程:“Project/NewCCSProject”。(2)在“ProjectName”字段设置工程文件名;可采用默认路径,选择“Browse”,可设置其他路径。(3)在菜单“Target”中选择芯片,在“Connection”中选择仿真器型号,高级设置中的内容直接使用默认设置就可以,设置完成后单击“Finish”。(4)新建源文件:选择菜单“Window/ShowView/Other”下的C/C++/C/C++Projects中项目,右击项目,并选择“File/New/SourceFile”,在打开的文本框中,设置源文件名称和源文件的类型。4.3CCS的应用4.3.1创建CCS工程(5)添加已有的源文件:右键单击工程,选择需要添加的文件,选择“AddFilestoProject”,将文件添加到项目中。(6)当所有的文件都添加完成后,对源文件进行编译选择“Pro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年矿山地质勘察合同2篇
- 内科病房护工劳动合同
- 城市供电管网改造民建施工合同
- 影视公司编剧合作协议聘用合同
- 食品安全顾问厨师长招聘合同
- 品牌旗舰店开业模特招聘合同
- 银行大楼真石漆涂装协议
- 社区菜市场耐磨地面施工合同
- 文化中心基础加固注浆合同
- 水产加工鱼塘施工合同范本
- 《数字信号处理(第2版)》本科全套教学课件
- 上市央国企数智化进程中人才就业趋势
- 2024版小学科学六年级上册第四单元《能量》教学课件
- 4 古代诗歌四首《 观沧海》教学设计
- 2024农村机井转让合同范本
- 2024公路工程危险性较大工程安全专项施工方案编制导则
- 2024-2030年中国巨菌草市场需求规模及未来发展战略研究报告
- 人教版高一上学期化学(必修一)《第四章物质结构元素周期律》单元测试卷-带答案
- 四年级上册道德与法治全册教案
- 2024至2030年中国文具市场发展预测及投资策略分析报告
- 《供应链管理》期末考试复习题库(含答案)
评论
0/150
提交评论