资源描述
苏 州 市 职 业 大 学
课程设计任务书
课程名称: DSP原理和应用课程设计
起讫时间: 1月7日至1月11日
院 系: 电子信息工程系
班 级: 10应用电子技术5
指导老师: 范海健
系 主 任: 张红兵
一、 课程设计课题
基于泰勒级数算法正弦信号C54实现
二、 课程设计要求
1. 掌握CCS集成开发环境使用方法。
2. 了解正弦信号泰勒级数算法原理。
3. 了解实现正弦信号软件程序步骤。
4. 调试程序,生成对应正弦波数据。
5. 利用CCS集成开发环境软件作图程序,生成正弦波形。
6. 将结果向指导老师演示,由老师提问验收经过;
7. 打印程序清单,撰写程序说明,完成课程设计汇报书,进行分组讨论设计心得。
三、 课程设计工作量
1. 周一:明确课程设计任务和目标,从理论上了解设计原理。
2. 周二:明确设计指标,调试程序 ,统计得到数据。
3. 周三、周四:学生演示设计结果,老师提问评分。
4.周四、五:打印程序清单,撰写程序说明,完成课程设计汇报书。
四、 课程设计说明书内容
1. 掌握CCS集成开发环境使用方法
项目建立、程序加载、调试步骤
2. 正弦函数泰勒级数算法原理
3. 软件设计、调试过程
4. 软件清单和注释
5. 设计心得和体会
苏 州 市 职 业 大 学
课程设计说明书
名称 DSP原理和应用课程设计
1 月 7 日至 年 1 月 11 日共 1 周
院 系 电子信息工程系
班 级 10应用电子技术5
学 号
姓 名
系 主 任 张红兵
教研室主任 陆春妹
指导老师 范海健
目录
第1章 绪论 1
第2章CCS介绍 3
2.1 CCS集成开发环境介绍 3
2.2 CCS工作模式 3
2.3 CCS组成 3
2.4 CCS关键功效 4
2.5 CCS安装及设置 4
2.6 系统配置要求 4
第3章 实现原理 6
3.1正弦波信号发生器原理 6
3.2 正弦信号发生器实现 7
第4章 系统仿真 11
4.1建立工程项目和向工程项目添加文件 11
4.2 调试 11
4.3 仿真结果 12
第5章 心得体会 14
参考文件 15
第1章 绪论
数字信号处理是20世纪60年代,伴随信息学科和计算机学科高速发展而快速发展起来一门新兴学科。它关键性日益在各个领域应用中表现出来。
其关键标志是两项重大进展,即快速傅里叶变换(FFT)算法提出和数字滤波器设计方法完善。数字信号处理是把信号用数字或符号表示成序列,经过计算机或通用(专用)信号处理设备,用数值计算方法进行多种处理,达成提取有用信息便于应用目标。比如:滤波、检测、变换、增强、估量、识别、参数提取、频谱分析等。
数字信号处理目标是对真实世界连续模拟信号进行测量或滤波。所以在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常经过模数转换器实现。而数字信号处理输出常常也要变换到模拟域,这是经过数模转换器实现。数字信号处理算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理研究方向应该愈加广泛、愈加深入.尤其是对于谱分析本质研究,对于非平稳和非高斯随机信号研究,对于多维信号处理研究等,全部含有宽广前景。
数字信号处理技术发展很快、应用很广、结果很多。多数科学和工程中碰到是模拟信号。以前全部是研究模拟信号处理理论和实现。模拟信号处理缺点:难以做到高精度,受环境影响较大,可靠性差,且不灵活等。数字系统优点:体积小、功耗低、精度高、可靠性高、灵活性大、易于大规模集成、可进行二维和多维处理。伴随大规模集成电路和数字计算机飞速发展,加之从60年代末以来数字信号处理理论和技术成熟和完善,用数字方法来处理信号,即数字信号处理,已逐步替换模拟信号处理。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合大家所需要信号形式。数字信号处理是将信号以数字方法表示并处理理论和技术。数字信号处理和模拟信号处理是信号处理子集。数字信号处理技术及设备含有灵活、正确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些全部是模拟信号处理技术和设备所无法比拟。
数字信号处理(Digital Signal Processing,简称DSP)是一门包含很多学科而又广泛应用于很多领域新兴学科。数字信号处理是围绕着数字信号处理理论、实现和应用等多个方面发展起来。数字信号处理在理论上发展推进了数字信号处理应用发展。反过来,数字信号处理应用又促进了数字信号处理理论提升。而数字信号处理实现则是理论和应用之间桥梁。数字信号处理是以众多学科为理论基础,它所包含范围及其广泛。比如,在数学领域,微积分、概率统计、随机过程、数值分析等全部是数字信号处理基础工具,和网络理论、信号和系统、控制论、通信理论、故障诊疗等也亲密相关。部分新兴学科,如人工智能、模式识别、神经网络等,全部和数字信号处理密不可分。能够说,数字信号处理是把很多经典理论体系作为自己理论基础,同时又使自己成为一系列新兴学科理论基础。
长久以来,信号处理技术—直用于转换或产生模拟或数字信号。其中应用得最频繁领域就是信号滤波。另外,从数字通信、语音、音频和生物医学信号处理到检测仪器仪表和机器人技术等很多领域中,全部广泛地应用了数字信号处理(digital signal processing,DSP)技术。数字信号处理己经发展成为一项成熟技术,而且在很多应用领域逐步替换了传统模拟信号处理系统。世界上三大DSP芯片生产商:1.德克萨斯仪器企业(TI) 2.模拟器件企业(ADI) 3.摩托罗拉企业(Motorola).这三家企业几乎垄断了通用DSP芯片市场。数字信号处理书籍很多,其中以麻省理工学院奥本海姆编著《Discrete Time Signal Processing》最为经典 ,有中译本《离散时间信号处理》由西安交通大学出版。现在是第二版。
第2章CCS介绍
2.1 CCS集成开发环境介绍
利用CCS集成开发环境,用户能够在一个开发环境下完成工程定义、程序编辑、编译链接、调试和数据分析等工作步骤.使用CCS开发应用程序通常步骤为:
(1)打开或创建一个工程文件.工程文件中包含源程序(C或汇编)、目标文件、库文件、连接命令文件和包含文件.
(2)编辑各类文件.如头文件(.h文件),命令文件(.cmd文件)和源程序(.c,.asm文件)等.能够使用通常编辑软件或CCS集成编辑环境进行各类文件编辑.
(3)对工程进行编译.假如有语法错误,将在构建(Build)窗口中显示出来.用户能够依据显示信息定位错误位置,更改错误.
(4)排除程序语法错误后,用户能够对计算结果/输出数据进行分析,评定算法性能.CCS提供了探针、图形显示、性能测试等工具来分析数据、评定性能.
2.2 CCS工作模式
CCS是TI企业针对TMS320系列DSP集成开发环境,在Windows操作系统下,采取图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。
CCS有两种工作模式,即:
软件仿真器模式:能够脱离DSP芯片,在PC机上模拟DSP指令集和工作机制,关键用于前期算法实现和调试。
硬件在线编程模式:能够实时运行在DSP芯片上,和硬件开发板相结合在线编程和调试应用程序。
2.3 CCS组成
CCS开发系统关键由以下组件组成
1. TMS320C54x集成代码产生工具
用来对C语言、汇编语言或混合语言编程DSP源程序进行编译汇编,并链接成为可实施DSP程序。关键包含汇编器、链接器、C/C++编译器和建库工具等。
2. CCS集成开发环境
集编辑、编译、链接、软件仿真、硬件调试和实时跟踪等功效于一体。包含编辑工具、工程管理工具和调试工具等。
3. DSP/BIOS实时内核插件及其应用程序接口API
关键为实时信号处理应用而设计。包含DSP/BIOS配置工具、实时分析工具等。
4.实时数据交换RTDX插件和对应程序接口API
可对目标系统数据进行实时监视,实现DSP和其它应用程序数据交换。
5. 由TI企业以外第三方提供给用模块插件
2.4 CCS关键功效
CCS功效十分强大,它集成了代码编辑、编译、链接和调试等很多功效,而且支持C/C++和汇编混合编程,其关键功效以下
① 含有集成可视化代码编辑界面,用户可经过其界面直接编写C、汇编、.cmd文件等;
② 含有集成代码生成工具,包含汇编器、优化C编译器、链接器等,将代码编辑、编译、链接和调试等很多功效集成到一个软件环境中;
③ 高性能编辑器支持汇编文件动态语法加亮显示,使用户很轻易阅读代码,发觉语法错误;
④ 工程项目管理工具可对用户程序实施项目管理。在生成目标程序和程序库过程中,建立不一样程序跟踪信息,经过跟踪信息对不一样程序进行分类管理;
⑤ 基础调试工具含有装入实施代码、查看寄存器、存放器、反汇编、变量窗口等功效,并支持C源代码级调试;
⑥ 断点工具,能在调试程序过程中,完成硬件断点、软件断点和条件断点设置;
⑦ 探测点工具,可用于算法仿真,数据实时监视等;
⑧ 分析工具,包含模拟器和仿真器分析,可用于模拟和监视硬件功效、评价代码实施时钟;
⑨ 数据图形显示工具,能够将运算结果用图形显示,包含显示时域/频域波形、眼图、星座图、图像等,并能进行自动刷新;
⑩ 提供GEL工具。利用GEL扩展语言,用户能够编写自己控制面板/菜单,设置GEL菜单选项,方便直观地修改变量,配置参数等;
⑪ 支持多DSP调试;
⑫ 支持RTDX技术,可在不中止目标系统运行情况下,实现DSP和其它应用程序数据交换;
⑬ 提供DSP/BIOS工具,增强对代码实时分析能力。
2.5 CCS安装及设置
在使用CCS之前,必需首先根据CCS产品说明安装CCS软件;其次创建CCS系统配置,进行环境设置;最终,根据具体使用仿真器,安装目标板和驱动程序。
2.6 系统配置要求
① 机器类型:IBM PC及兼容机;
② 操作系统:Microsoft Windows 95/98/或Windows NT4.0;
③ 机器资源配置要求:
机器部件
最低配置
推荐配置
内存
32MB
128MB
剩下硬盘空间
100MB
200MB
CPU
Pentium
PentiumⅢ以上
显示分辨率
SVGA 800´600
SVGA 1024´768
主板插槽
一条空余EISA插槽
一条空余EISA插槽
图2-1 机器资源配置图
第3章 实现原理
3.1正弦波信号发生器原理
正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域信号处理系统中。
通常有两种方法能够产生正弦波,分别为查表法和泰勒级数展开法。
查表法是经过查表方法来实现正弦波,关键用于对精度要求不很高场所。
泰勒级数展开法是依据泰勒展开式进行计算来实现正弦信号,它能正确地计算出一个角度正弦和余弦值,且只需要较小存放空间。
此次关键用泰勒级数展开法来实现正弦波信号。
产生正弦波算法
正弦函数和余弦函数能够展开成泰勒级数,其表示式:
取泰勒级数前5项,得近似计算式:
递推公式:
sin(nx) = 2cos(x)sin[(n-1)x]-sin[(n-2)x]
cos(nx) = 2cos(x)sin[(n-1)x]-cos[(n-2)x]
由递推公式能够看出,在计算正弦和余弦值时,需要已知cos(x)、sin(n-1)x、sin(n-2)x和cos(n-2)x。
3.2 正弦信号发生器实现
先计算0~45°(间隔为0.5°)sin和cos值,在利用sin2a=2sina*cosa求出0°-90°sin值(间隔为1°)。然后,经过复制,取得0~359°正弦值。反复向PA0口输出,便可得到正弦波。程序以下:
源程序清单sim.asm
.title "sin.asm"
.mmregs
.def _c_int00
.ref sinx,d_xs,d_sinx,cosx,d_xc,d_cosx
sin_x: .usect "sin_x",360
STACK: .usect "STACK" ,10
k_theta .set 286
PA0 .set 0
_c_int00: .text
STM #STACK + 10, SP
STM k_theta, AR0
STM 0,AR1
STM #sin_x, AR6
STM #90, BRC
RPTB loop1-1
LDM AR1, A
LD # d_xs, DP
STL A,@d_xs
STL A, @d_xc
CALL sinx
CALL cosx
LD #d_sinx,DP
LD @d_sinx,16,A
MPYA @d_cosx
STH B,1, *AR6+
MAR *AR1+0
loop1: STM #sin_x+89, AR7
STM #88, BRC
RPTB loop2-1
LD *AR7-,A
STL A, *AR6+
loop2: STM #179 , BRC
STM #sin_x, AR7
RPTB loop3-1
LD *AR7+, A
NEG A
STL A, *AR6+
loop3: STM #sin_x, AR6
STM #1, AR0
STM #360,BK
loop4: PORTW *AR6+0%, PA0
B loop4
sinx:
.def d_xs,d_sinx
.data
table_s .word 01c7h
.word 030bh
.word 0666h
.word 1556h
d_coef_s .usect "coef_s",4
d_xs .usect "sin_vars" ,1
d_squr_xs .usect "sin_vars" ,1
d_temp_s .usect "sin_vars" ,1
d_sinx .usect "sin_vars" ,1
c_1_s .usect "sin_vars" ,1
.text
SSBX FRCT
STM #d_coef_s, AR5
RPT #3
MVPD #table_s, *AR5+
STM #d_coef_s, AR3
STM #d_xs, AR2
STM #c_1_s, AR4
ST #7FFFh, c_1_s
SQUR *AR2+, A
ST A, *AR2
|| LD *AR4, B
MASR *AR2+, *AR3+, B, A
MPYA A
STH A, *AR2
MASR *AR2-, *AR3+, B, A
MPYA *AR2+
ST B, *AR2
|| LD *AR4, B
MASR *AR2- , *AR3+, B, A
MPYA *AR2+
ST B, *AR2
|| LD *AR4, B
MASR *AR2- , *AR3+ , B, A
MPYA d_xs
STH B, d_sinx
RET
cosx:
.def d_xc,d_cosx
d_coef_c .usect "coef_c" , 4
.data
table_c .word 0249h
.word 0444h
.word 0aabh
.word 4000h
d_xc .usect "cos_vars",1
d_squr_xc .usect "cos_vars",1
d_temp_c .usect "cos_vars",1
d_cosx .usect "cos_vars",1
c_1_c .usect "cos_vars",1
.text
SSBX FRCT
STM #d_coef_c, AR5
RPT #3
MVPD #table_c, *AR5+
STM #d_coef_c, AR3
STM #d_xc, AR2
STM #c_1_c, AR4
ST #7FFFh,c_1_c
SQUR *AR2+, A
ST A, *AR2
|| LD *AR4,B
MASR *AR2+, *AR3+,B,A
MPYA A
STH A, *AR2
MASR *AR2-, *AR3+,B,A
MPYA *AR2+
ST B, *AR2
|| LD *AR4, B
MASR * AR2-, * AR3+,B,A
SFTA A,-1,A
NEG A
MPYA *AR2+
MAR *AR2+
RETD
ADD *AR4,16,B
STH B, *AR2
RET
.end
复位向量文件sin_v.asm
.title "sin_v.asm"
.ref _c_int00
.sect ".vectors"
B _c_int00
.end
链接命令文件sin.cmd
MEMORY
{
PAGE 0:
EPROM: org=0E000h, len=1000h
VECS: org=0FF80h, len=0080h
PAGE 1:
SPRAM: org=0060h, len=0020h
DARAM1: org=0080h, len=0010h
DARAM2: org=0090h, len=0010h
DARAM3: org=0200h, len=0200h
}
SECTIONS
{
.text : > EPROM PAGE 0
.data : > EPROM PAGE 0
STACK :> SPRAM PAGE 1
sin_vars : > DARAM1 PAGE 1
coef_s : > DARAM1 PAGE 1
cos_vars : > DARAM2 PAGE 1
coef_c :> DARAM2 PAGE 1
sin_x : align(512) { } > DARAM3 PAGE 1
.vectors : > VECS PAGE 0
}
(4)编辑输入和输出数据文件名为sinin.dat和sinout.dat,输出数据文件是一个空文件。分别存放输入单位冲击数据和输出单位冲击数据。Sinin.dat存放输入冲击数据共512个,第一个为0x7FFF,其它均为0.数据文件sinin.dat清单以下:
0x7fff
0x0
……
0x0
0x0
第4章 系统仿真
4.1建立工程项目和向工程项目添加文件
(1)打开Setup CCStudio v3.3,选择C5402芯片并加载
(2)选择Project→New命令,打开建立工程项目对话框,在Project框中键入要创建工程项目名为sin。工程项目建立以后,就能够选择Project→Add File to Project命令,向工程项目添加以下文件:
汇编语言源文件sin.asm;
复位向量文件sin_v.asm
链接命令文件sin.cmd
(3)选择Project→Build或Project→Rebuild All命令,对工程项目中文件进行编译、汇编和链接,生成能够在目标系统中运行、可实施输出文件(sin.out文件)
(4)选择File→Load Program命令,加载sin.out文件,以后就能够进入到调试阶段了。
4.2 调试
定义配置I/O口端GEL函数,在CCSC5402sin.gel文件中添加以下两个GEL函数:
GEL_MapAdd(0x0001u,2,0x0001u,1,0);
GEL_MapAdd(0x0000u,2,0x0001u,0,1);
以设置I/O口:将数据文件和I/O口相关联。方法是:选择Tool →PortConnect命令,打开连接对话框。单击Connect按钮,在弹出Connect按钮,在弹出Connect对话框中,选择Port;1;Length:1;Page:Read,单击OK后选择相关联输入数据文件sinin.dat.用一样方法,在Connect对话框中,选择Port;0;Length:1;Page:Read,单击OK后选择相关联输出数据文件sinout.dat. Connect对话框显示数据文件和I/O口地址相关联情况图4-1所表示。
图4-1数据文件和I/O口地址相关联情况
4.3 仿真结果
选择View→Graph→Time/Frequency命令,在弹出对话框中设置参数图4-2所表示
图4-2显示滤波器单位冲击响应图形参数设置对话框
运行结果图4-3所表示
图4-3正弦波波形
第5章 心得体会
此次课程设计,基于课程理论知识和网上资料,使我对数字信号处理课程有了更深一步了解和掌握,对利用CCS软件编程数字信号处理方法有了深入了解。在理论课基础上进行试验实习,是对本门课程深入学习和掌握,在以后工作学习中,数字信号处理全部是采取计算机仿真方法进行测试,所以,掌握基于计算机数字信号处理方法对以后工作和学习有很大帮助。这么一个课程设计对我们发展有着极大帮助!
基于DSP实现这种信号发生器充足发挥了DSP器件关键性能优势,它比传统信号发生器含有一定独到之处,它编程灵活、操作简单,体积小巧,电路结构简单,使用方便,而且还有很多可扩展功效,故其使用面愈加宽广,鉴于DSP含有较高性价比,且利用DSP作为主控制器来提升传统产品性能已成为大势所趋。所以,本系统应用对提升工程及教学试验水平含相关键意义。
作为一名专业学生掌握一门或几门专业软件一样是必不可少,对专业学习十分有利。另外,课堂上也有部分知识不太清楚,于是我又不得不边学边用,时刻巩固所学知识,这也是我作此次课程设计第二大收获。整个设计我基础上还满意,因为水平有限,难免会有错误。我会在以后学习中不停进步!
参考文件
[1] 戴明帧.数字信号处理硬件实现[M].北京:航空工业出版社,1988
[2] 张伟雄,陈亮,徐光辉.DSP集成开发和应用实例[M].北京:电子工业出版社,。
展开阅读全文