dsp课程设计基于DSP的信号发生器设计.docx
- 文档编号:3611007
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:17
- 大小:445.10KB
dsp课程设计基于DSP的信号发生器设计.docx
《dsp课程设计基于DSP的信号发生器设计.docx》由会员分享,可在线阅读,更多相关《dsp课程设计基于DSP的信号发生器设计.docx(17页珍藏版)》请在冰豆网上搜索。
dsp课程设计基于DSP的信号发生器设计
一、摘要··················································3
二、概述··················································4
2.1设计要求············································4
2.2基本组成············································4
三、系统设计·············································4
四、硬件设计·············································5
4.1组成及实现功能·······································5
4.2硬件电路方案及电路原理································5
4.3核心电路芯片TMS320VC5402······························6
4.4D/A转换器TLC7528设计·······························6
4.5电源电路复位电路和晶振电路设计·························8
五、软件设计··············································11
5.1方波的设计方案·······································11
5.1余弦波的设计方案·····································13
5.3三角波的设计方案·····································17
六、实验结果·············································19
七、总结··············································20
八、参考文献············································21
附录····················································22
摘要
根据已掌握的《手把手教你学DSP》课程知识,完成课程设计要求的项目。
了解正弦波方波三角波的产生,以及幅值和频率的调整方法,掌握信号产生的一般方法并学习使用CCS图形显示功能进行程序调试。
通过硬件设计和程序编写过程,加深对课程知识的理解和掌握,培养应用系统设计的能力,以及分析问题和解决问题的方法,并进一步拓宽专业知识面,培养实践应用技能和创新意识。
信号发生器发展到今天,在电子测试、电子设计、模拟仿真、通信工程中,扮演着一个相当重要的角色,有着相当广泛的应用,极大加快了电子测试与设计工作中的效率,在电子技术和信号仿真应用中已发挥了巨大的作用。
本文主要介绍了基于TMS320VC5402DSP的信号发生器的设计情况。
这是一个以DSP为核心来实现信号发生器的系统,该系统具有结构简单灵活,抗干扰能力强、产生频率较高、应用广泛等特点。
该系统的组成核心TMS320VC5402DSP芯片,这个设计的硬件部分是有该DSP芯片和D/A转换芯片TLC7528组成,DSP芯片用于产生各种波形,D/A转换芯片用于把数字信号转换为模拟信号。
在以上硬件的基础上,通过软件编程来实现三角波,方波和余弦波等波形。
关键词:
DSP,D/A转换器,波形
概述
2.1设计要求:
(1)绘制出系统框图;
(2)包括电源设计、复位电路设计、时钟电路设计、JTAG接口设计等,绘制原理图;
(3)给出程序流程图;
(4)能够实现方波信号(余弦信号、三角波信号)通过对系统的全面分析得出设计结论(被处理信号的频率范围、采用的信号处理算法等);
2.2基本组成:
硬件电路是由TMS320VC5402DSP芯片和D/A转换芯片TLC7528组成,通过ICETEK-5100USBV2.0A连接PC机和DSP芯片。
软件方面,我们使用C语言来进行软件编程,通过C5000对软件程序进行调试,以得到所需要波形。
系统设计
本次设计所设计的信号发生器是采用TI公司生产的DSP芯片TMS320VC5402和D/A转换芯片TLC7528组成,其中DSP芯片TMS320VC5402是系统的核心。
整个系统设计简单灵活,功能却很强大,通过软件编程可实现以下功能:
1)能产生余弦波、三角波、方波等常用波形。
2)产生的各种波形可以改变相位、频率和幅度。
硬件设计
4.1组成及实现功能
本次设计所设计的信号发生器是采用TI公司生产的DSP芯片TMS320VC5402和D/A转换芯片TLC7528组成,其中DSP芯片TMS320VC5402是系统的核心。
本次设计主要实现波形发生器能产生余弦波、三角波、方波等常用波形,并且产生的各种波形可以改变相位、频率和幅度。
4.2硬件电路方案及电路原理
这个硬件方案是由TMS320VC5402数字信号处理芯片和TLC7528D/A转换芯片所组成的,其核心部分就是TMS320VC5402数字信号处理芯片,它的作用是接受PC机传来的各种数据,然后再对接收到的数据进行加工和运算。
DSP芯片是通过使用ICETEK—5100.USB2.0作为连接PC机与DSP芯片的工具,当DSP对数据进行计算以后,它就把得到的数据输出到D/A转换器TLC7528,D/A转换器对接收到的离散的数字信号进行运算,把数字信号转换为连续的模拟信号,然后通过示波器把模拟波形输出到示波器上。
这就是整个硬件方案的工作原理。
整个硬件方案围绕DSP和D/A转换器展开,这个硬件方案可以产生余弦波、方波、三角波等常见波形。
这些波形的输出频率、幅度等值可以通过控制DSP的输入程序来控制,也就是说,这些波形的频率、幅度是可以调节的。
基于TMS320VC5402的信号发生器的硬件方案如下图所示:
图4—2信号发生器硬件方案
4.3核心电路芯片TMS320VC5402
TMS320VC5402数字信号处理器是TI公司为实现低功耗,高速实时信号处理而专门设计的16位定点数字信号处理器,采用改进的哈佛结构,具有高度的操作灵活性和运行速度,适用于远程通信等实时嵌入式应用的需要。
广泛应用于电子测试、电子设计、模拟仿真、通信工程中。
TMS320VC5402具有的主要优点如下:
(1)围绕一组程序总线、三组数据总线和四组地址总线而建立的改进哈佛结构,提高了系统的多功能性和操作的灵活性。
该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、执行指令操作、数据吞吐并行完成,大大提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。
(2)具有高度的并行性和专用硬件逻辑的CPU设计,提高了芯片的性能。
(3)具有完善的寻址方式和高度专业化指令系统,更适用于快速算法的实现和高级语言编程的优化。
(4)模块化结构设计,使派生器件得到了更快的发展。
(5)采用先进的IC制造工艺,降低了芯片的功耗,提高了芯片的性能。
(6)采用先进的静态设计技术,进一步降低了功耗,使芯片具有更强的应用能力。
TMS320VC5402主要有中央处理器CPU,特殊功能寄存器,数据存储器RAM,程序存储器ROM,I/O接口功能,串行口,主机通信接口HPI,定时器,中断系统等10部分组成。
4.4D/A转换器TLC7528设计
TLC7528C是双路、8位数字-模拟转换器,内部具有各自单独的数据锁存器,其特性包括两DAC非常精密的一致性,数据通过公共8位输入口转送至两DAC数据锁存器的任意一个。
控制输入端DACA/DACB决定哪一个DAC被装载。
器件的装载周期与随机存取存储器的写周期类似,能方便地与大多数通用微处理器总线或端口相接口。
器件的工作电压5V至15V,功耗小于15mW(典型值)。
2或4象限的乘法功能使该器件成为许多微处理器的增益设置和信号控制的良好选择。
它可工作于电压模式,与电流输出相比较,更适合于电压输出。
TLC7528C的工作温度范围从0℃至70℃。
TLC7528C的工作特点如下:
(a):
易于微处理器接口;
(b):
片内数据锁存;
(c):
在每一个A/D转换范围内具有单调性;
(d):
适合于包括TMS320借口的数字信号应用的快速控制信号;
(e):
价格便宜。
1.基本参考应用图示如下
图4—5TLC7528的基本参考应用图
2.TLC7528的工作原理:
TLC7528包括两个相同的8位乘法D/A转换器DACA和DACB。
每一个DAC由反相R-2R梯形网络、模拟开关以及数据锁存器组成。
二进制加权电流在DAC输出与AGND之间切换,于是在每一个梯形网络分支中保持恒定电流,与开关状态无关。
大多数仅需要加上外部运算放大器和电压基准。
TLC7528通过数据总线、CS、WR以及DACA与DACB等控制信号与微处理器接口。
当CS与WR均为低电平时TLC7528模拟输出对DB0~DB7数据总线输入端的活动做出响应。
在此方式下,输入锁存器是透明的,输入数据直接影响模拟输出。
当CS与WR信号变为高电平时,DB0~DB7输入端上的数据被锁存,直到CS与WR信号再次变为低电平时为止。
CS为高电平时,不管WR的信号为何种状态,数据输入被禁止。
当用5V电源电压工作时,此器件的数字输入提供TTL兼容,此器件可以用在5V~15V范围内任何电源电压工作,但是,电源电压工作在5V以上时,输入逻辑电平与TTL不兼容。
4.5电源电路复位电路和晶振电路设计
一个完整的DSP系统通常是由DSP芯片和其他相应的外围芯片组成的,下面介绍本次设计中用到的电源电路、复位电路和晶振电路。
1.电源电路
TMS320VC5402DSP芯片采用低电压设计,并且采用双电源供电,即内核电源CVDD和I/O电源DVDD。
I/O电源采用3.3V电源供电,而内核电源采用1.6V供电,降低内核电源的目的是为了降低功耗。
由于TMS320VC5402DSP芯片采用双电源供电,使用时需要考虑它们的加电次序。
在理想情况下,DSP芯片上的两个电源应该同时加电,但在有些场合很难做到。
若不能做到同时加电,应先对DVDD加电,然后再对CVDD加电,同时要求DVDD电压不超过CVDD电压2V。
这个加电次序主要依赖于芯片内部静电保护电路。
内部保护电路如图1—7所示:
图4—7内部静电保护电路图
从图中可以看出,DVDD电压不超过CVDD电压2V,即用4个二极管降压,而CVDD电压不超过DVDD电压0.5V,即一个二极管降压,否则有可能损坏芯片。
下图1—8是产生3.3V的电源电路:
图4—8产生3.3V的电源电路
这个是产生3.3V电压的电路图,考虑大部分数字系统使用的电源是5V,图中VCC采用5V电压。
通过电压调节器产生3.3V电压。
下图1—9是产生1.6V电压的电路:
图4—9产生1.6V的电源电路
这个是产生1.6V电压的电路图,和产生3.3V电压的电路相同,考虑大部分数字系统使用的电源是5V,所以图中VCC采用5V电压。
通过电压调节器产生1.6V电压。
2.晶振电路说明
振荡器是用来将直流电源能量转换为一定波形的交变振荡信号能量的转换电路。
利用石英晶体的压电效应可以做成晶体谐振器。
石英晶振的固有频率十分稳定,它的温度系数(温度变化1°C所引起的固有频率相对变化量)在10-6以下。
另外,石英晶振的振动具有多谐性,即除了基频振动以外,还可利用其泛音振动。
前者称基频晶体,后者称泛音晶体。
在工作频率较高的晶体振荡器中,多采用泛音晶体振荡电路。
在泛音晶振电路中,为了保证振荡器能准确地振荡在所需要的奇次泛音上,不但必须有效的抑制掉基频和低次泛音上的寄生振荡,而且必须正确的调节电路的环路增益,使其在工作泛音频率上略大于1,满足起振条件。
而在更高的泛音频率上都小于1,不满足起振条件。
本次设计所用的晶振电路如图1—10所示:
图4—10晶振电路图
软件设计
5.1方波的设计方案
方波的产生方法如流程图所示,初始化操作包括关闭所有中断,以免对输出波形产生影响,同时允许D/A输出,然后输出方波的高电平,经过一段时间的延时,接着输出方波的低电平,也经过一段时间的延时,一个方波就形成了,程序循环,就能够产生连续的方波波形。
整个程序经过D/A转换器的转换,可以以模拟波形输出,便于观察。
这个程序的输出是双通道的输出,即有两个通道同时输出波形,这两个通道的波形的频率、相位和幅度可以不同,我们可以用示波器上的双通道输入模式来同时观察两个波形的不同。
程序所输出的波形可以按照要求改变频率、相位和幅度,以满足不同的需要。
方波的设计方案是通过以下流程图实现的:
图5—1方波流程图
产生方波的程序如下:
ioportunsignedintport1000;port1001;port1002;
#defineDAC0port1000
#defineDAC1port1001
#defineLDACport1002
main()
{
unsignedintuDA0,uDA1,i;
for(; ;)
{
uDA0=256;
uDA1=256;
for(i=0;i<=255;i++)
{
DAC0=uDA0;
DAC1=uDA1;
LDAC=0x1f;
uDA0=255-0;
uDA1=255-0;
}
uDA0=0;
uDA1=0;
for(i=0;i<=255;i++)
{
DAC0=uDA0;
DAC1=uDA1;
LDAC=0x1f;
uDA0=0-0;
uDA1=0-0;
}
}
5.1余弦波的设计方案
余弦波的产生方法有两种,一种使通过查表的方法产生,这种方法主要用于对精度要求不高的场合,把计算过的余弦量存放在一个表格中,通过对表格的调用产生波形信号,所以,如果精度要求过高,表就会很大,相应的存储器容量也就要求很大;另外一种方法是泰勒级数展开法,这是一种比查表更为有用的方法,与查表法相比,这种方法需要的存储单元很少,而且精度高。
但是,这种方法需要的计算量就比较大,相应的速度就受到限制。
这里我们用查表的方法来设计正弦信号发生器。
程序开始首先进行初始化的操作,初始化操作包括关闭所有中断,以免对输出波形产生影响,同时允许D/A输出,初始化后设置读正弦波的指针,使这两个指针的初始值都为0,即读数时从正弦值表的第一个数开始读,然后输出到D/A转换器,接着指针加1,读下一个数,然后再输出。
程序就是这样循环运行,直到余弦波的所有值都被读出来为止,这样一个正弦波的所有值都被输出到D/A转换器,经过D/A转换器转换,形成模拟波形,这样我们就能够在示波器上观察产生的波形是否符合我们的要求。
这个程序的输出是双通道的输出,即有两个通道同时输出波形,这两个通道的波形的频率、相位和幅度可以不同,我们可以用示波器上的双通道输入模式来同时观察两个波形的不同。
当然,这个程序产生的余弦波的波形的频率、相位和幅度可以通过改变程序来改变,使用相当的灵活,可以满足不同的要求。
下面是产生余弦波的流程图:
图5—2余弦波流程图
产生余弦波的程序如下
ioportunsignedintport1000,port1001,port1002;
#defineDAC0port1000
#defineDAC1port1001
#defineLDACport1002
intCOSN[289]={219,128,131,134,137,141,144,147,150,
219,153,156,159,162,165,168,171,174,
219,177,180,183,186,188,191,194,197,
219,199,202,204,207,209,212,214,216,
219,218,221,223,225,227,229,231,233,
219,234,236,238,239,241,242,244,245,
219,246,247,248,249,250,251,252,253,
219,253,254,255,255,255,255,255,255,
219,255,255,255,255,255,255,254,253,
219,253,252,251,250,249,248,247,246,
219,245,244,242,241,239,238,236,234,
219,233,231,229,227,225,222,221,218,
219,216,214,212,209,207,204,202,199,
219,197,194,191,188,186,183,180,177,
219,174,171,168,165,162,159,156,153,
219,150,147,144,141,137,134,131,128,
219,128,124,121,120,114,113,111,108,
219,105,102,99,96,93,90,87,85,81,
219,78,76,72,69,67,64,61,58,
219,56,53,51,48,46,13,41,39,
219,37,34,32,30,28,26,24,22,
219,21,19,17,16,14,13,11,10,
219,9,8,7,6,5,4,3,2,
219,2,1,0,0,0,0,0,0,
219,0,0,0,0,0,0,1,2,
219,2,3,4,5,6,7,8,9,
219,10,11,13,14,16,17,19,21,
219,22,24,26,28,30,32,34,37,
219,39,41,43,46,48,51,53,56,
219,58,61,64,67,69,72,76,78,
219,81,85,87,90,93,96,99,102,
219,105,108,111,114,118,121,124,128,
};
main()
{
unsignedintuDA0,uDA1,i;
for(;;)
{
uDA0=0;
uDA1=0;
for(i=0;i<=289;i++)
{
DAC0=uDA0;
DAC1=uDA1;
LDAC=0x1f;
uDA0=COSN[i];
uDA1=COSN[i];
}
}
}
5.3三角波的设计方案
三角波的产生方法如流程图所示,初始化操作包括关闭所有中断,以免对输出波形产生影响,同时允许D/A输出,然后输出三角波的上升沿,即输出三角波形的值逐渐增大的那一部分,如果三角波的上升沿的值达到最大,接着输出三角波的下降沿部分,直到三角波的下降沿的值达到最小,程序循环就能产生三角波。
整个程序经过D/A转换器的转换,可以以模拟波形输出,便于观察。
这个程序的输出是双通道的输出,即有两个通道同时输出波形,这两个通道的波形的频率、相位和幅度可以不同,我们可以用示波器上的双通道输入模式来同时观察两个波形的不同。
程序所输出的波形可以按照要求改变频率、相位和幅度,以满足不同的需要。
图5—3三角波的流程图
产生三角波的程序如下:
ioportunsignedintport100,port1001,port1002;
#defineDAC0port1000
#defineDAC1port1001
#defineLDACport1002
main()
{unsignedintuDA0,uDA1,i;
for(;;)
{
uDA0=0;
uDA1=0;
for(i=0;i<=256;i++)
{
DAC0=uDA0;
DAC1=uDA1;
LDAC=0x1f;
uDA0=i;
uDA1=i;
}
uDA0=256;
uDA1=256;
for(i=0;i<=256;i++)
{
DAC0=uDA0;
DAC1=uDA1;
LDAC=0x1f;
uDA0=256-i;
uDA1=256-i;
}
}
}
}
实验结果
方波
余弦波
三角波
总结
在这次的DSP课程设计里,我学会了很多,了解了很多,在对于这门课的认识上也更加清晰。
学理论知识的时候我们总是觉得知识往往太过于晦涩难以理解,对于理解能力比较好的同学也许能快速接受,但是对于那些理解能力还在磨练中的学生而言就不是那么乐观了,然而在课程设计期间,却让我学到了比课堂上更多的东西。
其实在一开始我们也都是对DSP不是特别了解。
每天在老师和同学的帮助下每天解读程序修改程序,一步一步的完成。
同时,在这次课程设计中感受到了理论知识与实际的结合与运用,使我的动手能力和实际操作能力得到了进一步的提升。
比如一开始在运行的时候忘记掉设置断点,导致无法观察到正常的现象,波形波动起伏不标准。
程序输入过程中因为一开始对程序的一知半解所以打错了一些关键词和标点符号导致程序无法运行。
这也让我认识到了动手能力的重要性,在大学学习中我们不能仅仅看到书本上的知识,更多的应该培养我们动手能力。
我们要学会与社会接轨,毕竟大四了,我们更应该清晰地认识到动手能力的重要性,为我们即将走向社会打下良好的基础。
参考文献
【1】顾卫钢.手把手教你学DSP.北京:
北京航空航天大学出版社,2012.4
【2】谭浩强.C程序设计.第二版.北京:
清华大学出版社,1999.12
【3】汪安民.TMS320C54XX.北京:
清华大学出版社,2002
【4】郑红.TMS320C54XDSP应用系统设计.北京:
北京航空航天大学出版社,2002.5
【5】赵红怡.DSP技术与应用实例.北京:
电子工业出版社,2003.6
【6】何莉.微机原理与接口技术.北京:
机械工业出版社,2004.1
【7】王念旭.DSP基础与应用系统设计.北京:
北京航空航天大学出版社,2001.8
【8】郑秋宝.C语言高级编程教程-技巧与捷径.北京:
学苑出版社,1993.
附录
原理图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dsp 课程设计 基于 信号发生器 设计