页数:115页文件大小:1.18 MB来源: 数字信号处理器DSP原理与应用ppt课件
本课件从DSP系统的构成与设计方法入手,说明项目目标需求分析、算法仿真与软硬件协同设计的流程,介绍常用仿真调试工具与DSP系统开发环境,并演示CC’C2000编译器与调试器的工程建立、编译链接和在线调试操作。
DSP原理与应用
DSP系统构成及设计方法2.DSP系统的仿真调试工具3.DSP系统开发环境4.CC’C2000应用介绍
的目标需求分析的目的就是我们究竟要做什么?把要做什么做一个比较细的划分,包括:a.画一个DSP系统的功能框图b.作原理图设计,得到一张网表c)做PCB设计d)调试
(4)精度;(5)成本;(6)可靠性;(7)方便开发和使用;(8)与其它系统的配合;如:设计PC机上的DSP卡,就应注意PC机的环境,如何与PCI总线打交道的问题等;(9)系统的可升级性和可移植性
DSP技术计算机电子计算机硬件计算机软件电子线路数字信号处理
DD/ADSP输出信号处理输入输出存储器通讯及人机DSP系统
接口自下而上从使用者看从设计者看8DSP系统设计方法自上而下
接口从中间开始软硬件交界面从使用计者看
DSP芯片及外围芯片软件设计说明书硬件设计说明书软件编程与测试硬件电路与调试系统集成DSP总体设计框图系统测试,样机、中试与产品
ANSIC编译器汇编语言汇编器生成目标文件链接器生成TMS320汇编文件编写TMS320汇编源程序宏汇编源文件文档管理器宏汇编库输出执行文件调试器TMS320目标系统写EEPROM软件仿真软件开发系统评测模块EVM系统仿真XDS软件系统设计框图
PCB板设计硬件调试A/D,D/A内存,逻辑控制通信,总线人机接口硬件系统设计框图
磁卡音频键盘显示打印机系统设计实例POS机
音箱D/AD/A低音家庭设计实例家庭影院
音频接口电源专用接口PCI总线系统设计实例视频会议系统
CPU稳压源电源存储器功率转换电机驱动器传感器电机控设计实例
专用电路通讯接口控制器D/A电机从CPU存储专用电路系统设计实例雷达
专用电路从CPU从CPU显示驱动显示器从CPU控制控制通讯接口专用电路图像设计实例医学图像监视系统输入
PCB图设计硬件调试系统硬件实现过程系统分析系统综合第4章硬件实现:程序编写和调试环境简介
可测试性和可维护性硬件方案无论是自己设计还是购买,都需要注意这个问题.特别是产品,由于是生产线造作,特别要注意设计要方便生产线生产。软件实现:1软件需求分析2算法仿真:利用高级语言3编码:可读性4软件调试、测试:代码效率、执行效率
,可维护性很好,但代价是效率很低,主要是C语言编译器的效率太低。3.混合语言编程,主程序全部用C语言编写,这样结构性很好;需要提高速度的地方,用汇编写,来调用.这是目前主要使用的编程方式。
P软件方案选型1.全汇编方案,这种方案只适用于比较小的程序
1.选优秀的项目负责人对项目负责人的要求很高:要知识全面;最好有系统设计经验;有很好的个人品格等;也就是要德才兼备。这里最重要的是要允许自己犯错误,能从容面对项目开发中的不可预知的因素
课题组成员的选择,注重在职培训。原则是选择聪明人,经验重要,但最重要的是有很快学习新事物的悟性.在选择完成员后,一定要重视在职培训,人力投资比物质投资还重要.最后要注意适才适用。3.建立有效的内部,外部交流机制。例子:闻亭公司的周记制度
项目经费预算
1.里程碑式的管理控制将大目标分解,分成5个里程碑,将每个成员的任务,完成时间规定的很详细.也就是设定了阶段性的检查点,避免水桶效应。2.项目的进度应该由项目组成员一起讨论决定,使每个人的主动性得到激发
要让小组成员解决问题,一般不要让小组成员加班。4.防止团队内部出现”江郎才尽“的感觉,里程碑式的管理也正是让项目组成员感到阶段性成功的成就感。5.发现错误立即修改.错误无论大小,都必须立即解决,因为时间一久就得多花几倍的时间去修改,而且对系统的影响越大.里程碑式的进度是零缺点的进度
防止出现项目的孤儿。7.不要因为一个进度落后,将整个项目拖延。8.开发队伍中,除技术人员外还要有质量监控人员,文档人员。9.工程师要求心胸开阔,自信心要强,团队精神要好
系统集成与系统测试:
4DSP系统的仿真调试工具1标准评估模块(EVM)2DSP入门套件(DSK)3硬件仿真器(Emulator/XDS)4软件仿真器(Simulator)5DSP软件开发平台(CC/CCS)
DSP硬件开发工具
(EVM,Evaluation Module)是TI或TI的第三方为TMS320DSP的使用者设计和生产的的一种评估平台,它的运行环境和资源较为完善,可用于某型号DSP的器件评估、程序调试与检查以及系统的调试。EVM提供了一套完整的DSP系统,包括A/D、D/A、外部程序/数据存储器、外部I/O等,用户可以使用EVM来进行DSP的实验、编写和运行实时的源代码,对代码进行评估,且可用来调试用户自己的系统
/OJTAG模拟信号接口I/O接口串行口JTAG接口串行BOOTROM开关指示灯CAN驱动器串行接口驱动器SRAM128K*16地址数据接口控制接口CAN接口D/ADAC7625ADDRESSCONTROL
MIPS
(DSK,DSP Starter Kit)是TI公司为TMS320DSP的初学者设计和生产的一种评价DSP平台的廉价开发工具板。在PC机环境下,用户可以使用DSK来做系统实验和应用,进行诸如自动控制系统、语音处理等应用;
也可以编写和运行实时的代码;还可以用来建立和调试用户自己的系统
为基础的电路板、配套的电源和电缆、专用的C编译器、汇编器/链接器以及相应的调试软件和文档。DSK电路板上除了DSP之外,一般还带有一定的存储器,并配有通信接口(并口或串口,用来和PC机通信)、电源插口、模拟信号I/O接口、扬声器接口等,可以很容易地实现一个简单的控制系统或语音系统,为初学者学习DSP开发提供了一个良好的平台
TI公司推出,也称开发系统(XDS,e Xtended Development System),是基于边界扫描(Boundary Scan)的在线系统仿真技术。
它用于系统集成阶段的原理样机软硬件联合调试。扫描式仿真是一种独特的、非插入式的系统仿真与系统调试方法,程序可以从片外或片内的目标存储器实时执行,在任何时钟速度下都不会引入额外的等待状态
是PC或工作站。主机通过仿真器与目标系统的JTAG接口相连,控制目标板上的DSP器件。目标板上的DSP本身带有仿真功能,硬件仿真器本身只是一个控制器,它通过DSP芯片内部的串行扫描路径对处理器进行控制,完成实时测试和调试
的14针接口(JTAG接口)来实现的(JTAG-IEEE1149.1标准)
仿真器与主机的接口有多种形式:
性能。DSP硬件仿真器也出现了USB接口的产品,而且发展迅速,USB接口仿真器已经成为目前最常见的DSP硬件仿真器。4.2.4DSP软件仿真器软件仿真器是一个软件程序,使用主机的处理器和存储器来仿真TMS320DSP的微处理器和微计算机模式,从而进行软件开发和非实时的程序验证
对非法操作码和无效数据输入等提供出错信息
软件开发平台软件开发平台,也称为代码生成工具,是DSP系统软件开发中必不可少的工具,它对用户程序进行管理,经过编译、链接后产生真正可以在DSP上运行的程序。目前常见的DSP软件开发平台主要有CC(Code Composer)和CCS(Code Composer Studio)。
软件开发平台主要包含了DSP代码生成过程中所必需的C编译器、汇编器和链接器
完全集成的开发环境
源文件C编译器汇编源文件汇编器COFF文件链接器可执行代码交叉引用列表绝对列表器EPROM编程器十六进制转换工具目标库文件文档管理器宏库文档管理器宏文件汇编源文件汇编工具运行支持库库工具调试工具
DSP开发工具:
(COFF)CCS的汇编器输出的目标文件和链接器输出的可执行文件都是公共目标文件格式(Common Object File Format,COFF)。由于COFF在编写程序时采用代码和数据块的形式,因此有利于模块化编程。
这些代码和数据块称为段。所谓段(sections)是指连续地占有存储空间的一个数据或代码块。在编写程序时,程序按段组织。段是目标文件中可重新定位的最小单元,一个目标程序中的每个段通常是分开的和不同的
COFF目标文件至少包含以下3个默认的段:57(1).txt(2).data(3).bss文本段,通常包含可执行代码数据段,通常包含初始化的数据保留空间段,通常为没有初始化的变量保留空间此外,还有命名段。汇编器和链接器可用来产生、命名和链接命名段,这些段的使用和.data,.text和.bss段相同
RAMEEPROMROM因为大多数系统中包含有几种存储器,所以使用段可以使目标存储器的使用更为有效。所有的段都是独立可重新定位的,可将任何段放入目标存储器的任何位置。
例如,可以定义一个包含有初始化程序的段,然后将它分配到包含ROM的存储器空间中去。目标文件目标存储器
CCS软件界面
支持多CPU
同时打开多个项目
为每个配置设置编译器、连接器等的选项
可以设置连接器的连接顺序,有时候连接顺序很重要
C语言和汇编可混编
书签定义书签使用书签
选择使用外部编辑器
结构体变量成员提示
能
寄存器的查看与修改CPU寄存器外设寄存器
存储器显示与修改
选择Quick Watch
探针点工具程序运行到探针点处会执行特定的操作,如刷新图形、文件输入输出等文件IO
探针点与文件IO的连接
数字信号可直接存入文件中,便于I/O
pjt文件CCS工程文件。在CC中,工程文件的扩展名为.mak。82(2).lib文件(3).h文件(4).c文件(5).asm文件(6).cmd文件(7).obj文件(8).out文件CCS运行支持库。
头文件。C源文件。汇编语言源文件。链接命令文件。目标文件,COFF格式。可执行文件,COFF格式
头文件CCS工程中的头文件与其它基于C语言的开发环境中的头文件基本相同,主要是用来定义工程中的常量和数据结构。为了提高开发效率,开发人员往往会将DSP片内的控制寄存器定义写成一个头文件,这样在各个基于相同型号DSP的开发中,可以共享这个定义控制寄存器的头文件*文件名: 2407c.h*/83sk Register*/ag RegisterRx000Rx0006;…
844.3.7中断向量定义与传统的单片机类似,DSP的中断也可以采用查询和回调两种方式来处理。如果采用回调方式处理,其实现方式是在中断向量地址处放置一个跳转语句,跳转到相应的中断处理函数。
在CCS中,需要编写一个.asm文件,定义所有的中断向量。.ref_gptime1,_c_inct;Reset Vector_c_int0BRSVECvel1PHANTOMBINTvel2_gptime1BINTvel3GISR3BINTvel4GISR4BINTvel5GISR5BINTvel6GISR6BINT6......
854.3.8链接命令文件CCS的链接器也可以有很多选项,如-l、-stack、-o等,另外在链接器选项中还应该将开发中的逻辑段与目标系统存储器物理地址的对应关系定义清楚。
这些链接器选项的实现有三种方式:1利用命令行实现:即在命令行中link命令后面将所有的链接选项写明,使链接器按照选项设定去工作。2利用工程选项菜单实现:在CCS菜单Project>>Build Options>>Linker页面中可以对链接器选项进行设置
输入文件名。就是链接的目标文件和文档库文件或者是其他的命令文件,可以没有。2链接器选项。如-l、-stack、-o等,这些选项可以用在链接命令行,也可以用在命令文件中。
3MEMORY和SECTIONS都是链接命令,MEMORY命令定义目标存储器的配置,SECTIONS命令定义逻辑段与目标存储器的对应关系
objb.obj-stack200-lrts2xx.lib MEMORY{PAGE0:PAGE1:VECS:origin=PROG:origin=MMRS:origin=0h,length=040h40h,length=,length=060h:origin=0060h,length=020hB2B1:origin=0200h,DATA:origin=8000h,length=0200hlength=8000h}SECTIONS{PAGE0PAGE0:{}>VECS:{}>PROG.vectors.textPAGE0PAGE1:{}>PROG:{}>MMRS.data.mmrsPAGE1:{ }>DATA.bss}
1.CC’C2000的安装把CC’C2000安装光盘放入光驱,系统会自动运行出对应的安装界面,使用鼠标单击安装的第一项“安装Code Composer”,按照系统提示可以很容易的完成安装过程
单击“Setup CC’C2000”的图标,进入系统的配置环境,如图所示
CC’C2000使用简介-准备工作
快捷键栏工程栏调试界面主栏
菜单栏该菜单可以查看基本菜单的工具条图标
(包括程序存储器、数据存储器和I/O存储器)内容,该界面包含了存储器的一些基本内容项
该项在调试过程中非常有用
源程序界面调试配置设置项
程序调试菜单,包括断点、探测点、单步、全速等运行方式
2.显示打开的工程名字3.2407头文件4.将要调试的源程序5.命令栏
CC’C2000使用举例在进行CC程序的编写之前,需要做好以下的准备工作:1.书写三种文件2.新建一个工程3.文件添加4.程序调试
汇编语言源程序(扩展名为*.asm)C-命令文件(*.cmd)
2.输入新建的工程名字3.选择工程扩展名4.工程
1.打开工程菜单选择“添加文件项”2.打开添加文件所在的目录3.选择要添加的文件类型,鼠标双击或者选择“打开”按钮
1.程序自动下载界面2.主程序调试界面
程序编减法和乘法指令,因此算法和加法流程差不多除法,但是可以采用以下算法:算法1.把被除数作为被减数、除数作为减数,做减运算,如果够减,那么预先设定一个寄存器的内容从0开始不断加1,直到被减数不够减为止。
此时,寄存器内容为商,余数放在被减数内。算法2.把被除数放在累加器的低16位,累加器的高16位清零;除数放在一个内存单元内。对累加器连续执行16次条件减指令(SUBC),那么累加器的低6位内部存储除法得到的商,累加器的高16位存储着除法得到的余数。
另外数据的矩阵运算与数据块运算相同算法略
在定点DSP芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。一个整型数的最大表示范围取决于DSP芯片所给定的字长,一般为16位或24位。显然,字长越长,所能表示的数的范围越大,精度也越高。
点DSP,因此不能直接进行浮点计算,但是可以采用定标的方式进行计算
f2407regs.h".def_c_int0.seVECTB_c_int0
112.text_c_int0clrcC;清除进位位ldp#0larar0,#0060hlarar1,#0060hmar*,ar0lacc#1111h;数据存放60hsacl*+lacc#2222h;
数据存放61hsacl*+lacc#0ffffh;数据存放62hsacl*+lacc#4444h;数据存放63hsacl*+
zac;ACC=0ldp#0larar0,#0062h;113mar*,ar1lacc*+mar*,ar0add*+sacl64h;;ACC=(60h);;ACC=ACC+(62h);(64h)=ACC
(63H);(65H)=ACC;ACC=(65H)114wait:mar*,ar1lacc*mar*,ar0addc*sacl65hlacc65h,16nopbwaitend;主程序结束
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}