课程简介
21世纪是数字化的时代,随着越来越多的电子产品将数字信号处理作为技术核心,数字信号处理器(DSP)已经成为推动数字化进程的动力。
上学期学习的《数字信号处理》课程重点是数字信号处理的原理、算法,比如频谱分析FFT、数字滤波技术FIR、IIR。而本学期的《DSP原理及应用》课程则是《数字信号处理》的后续课程,在DSP芯片上实现上述数字信号处理算法。具体内容包括:DSP芯片的基本结构和特征,以及定点和浮点DSP处理中的一些关键问题;TMS320C5000系列及其硬件结构、汇编指令和寻址方式;基于C和汇编语言的开发方法、DSP芯片的开发工具及使用,DSP系统的软硬件设计方法,数字滤波器和FFT等常用数字信号处理算法的DSP实现;
通过本课程的学习应了解DSP芯片的基本原理和常用DSP芯片的应用,熟悉DSP芯片开发工具及使用,掌握DSP系统的软硬件设计和应用系统开发方法,具备从事DSP应用开发的能力。
生产DSP的厂家比较多,其中美国的TI及ADI公司影响力最大,本课程以TI公司的5000系列为例来学习DSP技术。
芯片图样:
学校电子信息楼数字信号处理实验室的实验箱(DSP芯片为TMS320VC5509A):
数字信号处理的应用是本课程研究的重要方面,应用范围非常广泛,涉及到语音、雷达、声呐、地震、图像处理、通信系统、系统控制、生物医学工程、机械振动、遥感受遥测、航空航天、电力系统、故障检测和自动化仪表等众多领域,但各个应用领域的专业知识并不是本课程的学习重点,本课程的学习重点是数字信号处理及其实现方法和技术,是脱离具体应用学科的专业基础。
典型应用举例:
语音处理:语音编码、语音合成、语音识别、语音增强、语音邮件、语音储存等。
图像/图形:二维和三维图形处理、图像压缩与传输、图像识别、动画、机器人视觉、多媒体、电子地图、图像增
强等。
军事:保密通信、雷达处理、声呐处理、导航、全球定位、跳频电台、搜索和反搜索等。
仪器仪表:频谱分析、函数发生、数据采集、地震处理等。
自动控制:控制、深空作业、自动驾驶、机器人控制、磁盘控制等。
医疗:助听、超声设备、诊断工具、病人监护、心电图等。
家用电器:数字音响、数字电视、可视电话、音乐合成、音调控制、玩具与游戏等。
应用例子1:
家庭视听产品
教 材
新编电气与电子信息类本科规划教材
一、教材名称
邹彦、唐冬、宁志刚编著,DSP原理及应用, 北京:电子工业出版社出版,2005.1
二、教材简介
本书以TI公司的TMS320C54x系列芯片为描述对象,以应用系统设计为主线,系统地介绍了DSP芯片的基本结构、开发和应用。全书共分为9章,首先详细介绍了TMS320C54x的体系结构、原理和指令系统;其次介绍了汇编语言开发工具、汇编程序设计和应用程序开发实例;然后从应用的角度介绍了DSP芯片的片内外设应用和DSP系统的硬件设计,并通过两个应用系统设计实例介绍了DSP芯片的开发过程;最后对集成开发环境CCS软件的使用方法进行了详尽的描述。
本书旨在使读者了解TMS320C54x的体系结构和基本原理,熟悉DSP芯片的开发工具和使用方法,掌握DSP系统的设计和应用系统的开发方法。
本书内容全面、通俗易懂、实用性强,可作为电子信息、通信工程、自动化等专业高年级本科生和研究生的教材或参考书,也可供从事DSP芯片开发应用的工程技术人员参考。
三、教材目录
第1章 绪论
1.1 数字信号处理概述
1.2 可编程DSP芯片
1.3 DSP系统
1.4 DSP产品简介
本章小结
思考题与习题
第2章 TMS320C54x的硬件结构
2.1 'C54x的基本结构
2.2 'C54x的主要特性和外部引脚
2.3 'C54x的内部总线结构
2.4 'C54x的中央处理器
2.5 'C54x的存储空间结构
2.6 'C54x的片内外设电路
2.7 'C54x的系统控制
2.8 'C54x的外部总线
本章小结
思考题与习题
第3章 TMS320C54x的指令系统
3.1 寻址方式
3.2 TMS320C54x指令的表示方法
3.3 TMS320C54x的指令系统
本章小结
思考题与习题
第4章 汇编语言程序的开发工具
4.1 TMS320C54x软件开发过程
4.2 汇编语言程序的编辑、汇编和链接过程
4.3 COFF的一般概念
4.4 源程序的汇编
4.5 链接器的使用
本章小结
思考题和习题
第5章 TMS320C54x的汇编语言程序设计
5.1 概述
5.2 堆栈的使用方法
5.3 控制程序
5.4 算术运算程序
5.5 重复操作程序
5.6 数据块传送程序
5.7 小数运算程序
5.8 浮点运算程序
本章小结
思考题与习题
第6章 应用程序设计
6.1 FIR滤波器的DSP实现
6.2 IIR滤波器的DSP实现
6.3 快速傅里叶变换(FFT)的DSP实现
6.4 正弦波信号发生器
本章小结
思考题与习题
第7章 TMS320C54x片内外设、接口及应用
7.1 'C54x的主机接口
7.2 'C54x的定时器
7.3 'C54x的串行口
7.4 'C54x的中断系统
本章小结
思考题与习题
第8章 TMS320C54x的硬件设计
8.1 硬件设计概述
8.2 DSP系统的基本设计
8.3 DSP的电平转换电路设计
8.4 DSP存储器和I/O的扩展
8.5 DSP与A/D和D/A转换器的接口
8.6 DSP系统的硬件设计实例
本章小结
思考题与习题
第9章 DSP集成开发环境CCS
9.1 CCS的简介
9.2 CCS的安装及设置
9.3 CCS的基本操作
9.4 CCS工程项目的创建
9.5 CCS工程项目的调试
9.6 CCS开发软件使用举例
本章小结
思考题与习题
附录A TMS320C54x芯片引脚图
附录B TMS320C54x系列DSP芯片汇总表
附录C TMS320C54x助记符汇编指令集
参考文献
主讲教师个人简介
课程学习目标
本课程的目标是使学生掌握利用数字信号处理器实现数字信号处理的基本理论,掌握DSP的结构、工作原理、特性、应用及发展方向,具体包括以下内容:(本网站以TMS320C5000DSP为例)
理论知识层面的目标:
1、掌握数字信号处理系统的基本组成;
2、了解DSP的硬件结构;
3、了解DSP的指令系统;
4、熟练应用DSP的开发工具;
5、掌握DSP的程序设计方法;
6、掌握DSP的片内外设的使用方法。
7、掌握如何设计开发一个DSP系统:
(1) DSP系统的开发流程;
(2) DSP的选型;
(3) DSP技术资料的获取;
(4) 如何进行硬件设计;
(5) 如何进行软件设计;
(6) DSP系统的软硬件调试方法。
实践能力层面的目标:
学习方法建议
学习进度建议
教学计划
常见问题解答
1. 问: 数字信号处理器(DSP)是什么?
答: 数字信号处理器,简称DSP,是运算密集型的微处理器;这决定了DSP完成滤波和FFT算法比一般的事务型处理器快的多;DSP的另一重要特征是采用改进的哈佛结构,使得处理器指令和数据并行,与冯诺依曼结构相比,大大提高了信号处理的效率。
2. 问: DSP同MCU相比有哪些特点?
答: 1) DSP的速度比MCU快,主频较高;
2) DSP适于数据处理,数据处理的指令效率较高;
3) DSP均为16位以上的处理器,不适于低档的场合;
4) DSP可同时处理的事件较多,系统级成本有可能较低;
5) DSP的灵活性较好,大多数算法都可软件实现;
6) DSP的集成度较高,可靠性较好。
3. 问: 为什么要选择DSP呢?
答: 随着3G技术和Internet的发展,要求处理器的速度越来越高和体积越来越小,而DSP的发展正好能满足这一要求;传统的其它处理器都有不同的 缺陷:MCU的速度较慢,CPU体积较大且功耗较高,嵌入式CPU的成本较高;因此,DSP的发展使得DSP在许多度要求较高及算法较复杂的场合取代了 MCU或其它处理器,且成本有可能更低。
4. 问: 如何选择适用的DSP?
答: 选择适用的DSP可参考以下几个方面:
1) 速度:DSP的速度一般用MIPS表示,即百万次/秒;
2) 精度:DSP芯片分为定点和浮点处理器,对于运算精度要求很高的处理,可选择浮点处理器;
3) 寻址空间:不同系列DSP的程序空间、数据空间和I/O空间大小不一;
4) 成本:一般定点DSP的成本会比浮点DSP的要低,速度也较快;
5) 实现便易:浮点DSP的结构实现DSP系统较容易,不用考虑寻址空间的问题;
6) 内部部件:根据应用要求,选择具有特殊部件的DSP。
5. 问: DSP的发展动态如何?
答: 目前,TI的TMS320系列DSP主要有以下几大类型:
1) C2000(Digital Signal Controllers):又分为C24x和C28x两类;
2) C5000(Power-Efficient DSPs):又分为C54x和C55x两类,其中C55x+ARM9构成了OMAP;
3) C6000(High Performance DSPs):又分为C62x、C64x和C67x三类,其中C67x是浮点型的;
4) 其它类:有浮点型C33类,等等。
6.问:P184 最顶行 MAR *+AR1(2)%为什么地址加2?
答: 在执行这条语句之前,AR1指向的地址是83h(参考P182图6.1.12的地址),执行完这条语句后AR1指向81h,即x(n-3). 目的是用 x(n-3)的值覆盖x(n-7),同时将新输入的x(n+1)放入81h另外:P182页图6.1.12上面一行第④点,AR1+1à AR1应改为 circ(AR1-1)àAR1
7.问:P186 FIR_INIT: …… RPTZ A, #K_FIR_BFFR-1 STL A,*AR4+ 这一行作用是什么?
答:这行的作用是对D_DATA_BUFFER缓冲区清零,相当于初始化。
8.Problem: Why do I get the errors "Cannot Set Break point", "Break Point Not at a valid line" with C6000 CCS?
Solution: This error message is generated when attempting to set a breakpoint at an invalid DSP memory location. In general the breakpoint can be set on a valid line of assembly. Code Composer Studio allows for setting of breakpoints only at those source file lines for which valid assembly information exists. If the file is compiled without - g option (no symbolic debugging), no disassembly information will be present. If disassembly information is displayed for some source file lines, but not others, the breakpoint will be moved to the next source line which has assembly informa tion beneath it.
9、Problem:Why does my watch window say `Identifier Not Found` when I place a variable in the watch window?
Solution:Identifier not found usually means that the variable that is trying to be watched is out of scope. Which means that it is trying to watch a function that the processor is not running. You will need to insert a breakpoint within th efunctionthat you want to watch.
10、问: TI能否尽可能将闪存集成在今后的DSP产品中,以减少外设和提高线路精度?
答: TI具备将FLASH集成到DSP中的能力。但是不同的用途有不同的要求。所以我们针对用量较大的客户会进行集成以满足客户要求。
11、问: 以5409为例,很多DSP产品在使用前必需进行内存分配,该工作目前由用户自己进行,虽提供了很大的灵活性,但对经验较少的人来说会耗费很多不必要的精力,所以请问TI能否在发货时就为芯片提供标准的配置文件?
答: DSP link comand file is effective tool to manage DSP memory configure tion to improve system feature. DSP BIOS has visuable tool to deliver the function.