基于DSP数字波形的产生.docx
《基于DSP数字波形的产生.docx》由会员分享,可在线阅读,更多相关《基于DSP数字波形的产生.docx(8页珍藏版)》请在冰豆网上搜索。
基于DSP数字波形的产生
DSP技术论文
摘要DSP技术在各行各业的应用越来越广泛,在我国的市场前景也越来越广阔,了解和学习DSP技术知识也越来越重要,本文简要介绍了数字波形的产生,利用DSP芯片设计实现正切波形的产生和显示,通过主函数输入产生正切信号的数据,并设置图形观察窗口,以观察利用泰勒级数产生的波形;设置观察变量y,长度1024,32位浮点型数值,然后将数据发送给AD7303,最后在图像观察窗口中产生一个正切函数的波形。
关键字:
DSP正切数据主函数泰勒级数
Abstract:
DSPtechnologyinallwalksoflifemoreandmorewidelyusedinourcountry,themarketprospectisalsomoreandmorebroad,understandingandlearningtheknowledgeofDSPismoreandmoreimportant,thispaperbrieflyintroducesthedigitalwaveformgeneration,usingaDSPchipdesigntoachievetangentwaveformgenerationanddisplay,themainfunctionoftheinputsignalgeneratedbythetangentofthedata,andthesetgraphicsobservationwindow,inordertoobservethewaveformgeneratedbyusingTaylorseries;setofobservedvariablesy,length1024,32bitfloating-pointdata,andthentransmitsthedatatotheAD7303,inthefinalimageobservationwindowtoproduceatangentfunctionwaveform.
Keyword:
DSPTangentDataThemainfunctionTaylorseries
目录
摘要2
1DSP技术介绍4
1.1DSP简介4
1.2DSP特点4
1.2.1哈佛结构及改进的哈佛结构4
1.2.2专用的硬件乘法器4
1.2.3指令系统的流水线结构5
1.2.4片内外两级存储结构5
1.2.5特殊的DSP指令5
1.2.6快速指令周期6
2数字波形的概念6
3产生正切波形的方法及步骤6
4数字波形产生实验8
4.1实验结果8
4.2实验主程序8
5结论10
参考文献11
1DSP技术介绍
1.1DSP简介
数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
德州仪器等半导体厂商在这一领域拥有很强的实力。
1.2DSP特点
为适应快速数字信号处理运算的要求,DSP芯片普遍采用了特殊的硬件和软件结构,以提高数字信号处理的运算速度,并且多数DSP运算操作可以在一个指令周期内完成。
DSP芯片的结构特征主要是指:
1.2.1哈佛结构及改进的哈佛结构
哈佛结构不同于冯·诺依曼结构的并行体系结构,其主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。
与两个存储器相对应的是系统中设置了程序总线和数据总线两条总线,从而使数据的吞吐率提高了一倍。
而冯·诺曼结构则是将指令、数据、地址存储在同一存储器中,统一编址,依靠指令计数器提供的地址来区分是指令、数据还是地址。
取指令和取数据都访问同一存储器,数据吞吐率低。
在哈佛结构中,由于程序和数据存储器在两个分开的空间中,因此取指和执行能完全重叠运行。
为了进一步提高运行速度和灵活性,TMS320系列DSP芯片在基本哈佛结构的基础上作了改进,一是允许数据存放在程序存储器中,并被算术运算指令直接使用,增强了芯片的灵活性;二是指令存储在高速缓冲器(Cache)中,当执行此指令时,不需要再从存储器中读取指令,节约了一个指令周期的时间。
1.2.2专用的硬件乘法器
在通用微处理器中,乘法是由软件实现的,实际上是由时钟控制的一连串移位运算。
而在数字信号处理中,乘法和加法是最重要的运算,提高乘法运算的速度就是提高DSP的性能。
在DSP芯片中,有专门的硬件乘法器(DM642有两个乘法器,其他只有一个),使得一次或者两次乘法运算可以在一个单指令周期中完成。
大大提高了运算速度。
1.2.3指令系统的流水线结构
在流水线操作中,一个任务被分成若干子任务,这样,他们在执行时可以相重叠,与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行时间,从而增强了处理器的处理能力,把指令周期减小到最小值,同时也就增加了信号处理器的吞吐量。
第一代TMS320处理器采用二级流水线,第二代采用三级流水线,而第三代则采用四级流水线。
也就是说,处理器可以并行处理2~6条指令,每条指令处于流水线上的不同阶段。
在三级流水线操作中,取指、译码和执行操作可以独立地处理,这可使指令执行能完全重叠。
在每个指令周期内,三个不同的指令处于激活状态,每个指令处于不同的阶段。
1.2.4片内外两级存储结构
在片内外两级存储器结构中,片内存储器虽然不可能具有很大的容量,但速度快,可以多个存储器块并行访问。
片外存储器容量大,但速度慢,结合他们各自优势,实际应用中,一般将正在运行的指令和数据放在内存储器中,暂时不用的数据和程序放在外部存储器中。
片内存储器的访问速度接近寄存器访问速度,因此DSP指令中,采用存储器访问指令取代寄存器访问指令,而且可以采用双操作数和三操作数来完成多个存储器同时访问,使指令系统更加优化。
1.2.5特殊的DSP指令
DSP的另一个特征就是采用特殊的DSP指令,不同系列的DSP都具备一些特殊的DSP操作指令,以充分发挥DSP算法和各系列特殊设计的功能。
1.2.6快速指令周期
哈佛结构、流水线操作、专用的硬件乘法器、特殊的DSP指令再加上集成电路的优化设计,可使DSP芯片的指令周期在200ns以下。
TMS320系列处理器的指令周期已经从第一代的200ns降低至现在的2ns以下。
快速的指令周期使得DSP芯片能够实时实现许多DSP应用。
2数字波形的概念
数字波形是逻辑电平对时间的图形表示。
通常,我们将只有两个离散值的波形称之为脉冲波形,在这一点上脉冲波形与数字波形是一致的,只不过数字波形用逻辑电平表示,而脉冲波形用电压值表示而已。
与模拟波形的定义相同,数字波形也有周期性和非周期性之分。
3产生正切波形的方法及步骤
1.查表法。
此种方法用于对精度要求不是很高的场合。
如果要求精度高,表就很大,相应的存储器容量也要很大。
2.泰勒级数展开法。
这是一种更为有效的方法。
与查表法相比,需要的存储单元很少,而且精度高。
一个角度为θ的正切函数,可以展开成泰勒级数,取其前5项进行近似得:
经计算可得:
其中,x为θ的弧度值。
本实验用泰勒级数展开法产生一正切波,并通过D/A转换输出。
启动CCS2.0,并打开“exp11_cpu2\exp11.pjt”工程文件;
开关K9拨到右边,即仿真器选择连接右边的CPU:
CPU2;启动CCS2.0,用Project/Open打开exp11_cpu2\exp11目录下“exp11.pjt”;双击“exp11.pjt”及“Source”可查看各源程序;
加载“exp11.out”后;在“exp12.c”程序中,“j=0”处设置断点;
单击“Run”,程序运行到断点处停止;用View/Graph/Time/Frequency打开一个图形观察窗口,以观察利用泰勒级数产生的波形;设置观察变量y,长度1024,32位浮点型数值;
4数字波形产生实验
4.1实验结果
4.2实验主程序
************************************************************
******************主函数*******************
************************************************************
voidmain()
{
Inti,j;
doublex0,x1,x2,x3,x4,x5;
doublex,r,xx,y[N+1];
//----------系统初始化---------------------------------------
asm("nop");
cpu_init();//初始化CPU
//-----------------------------------------------------------
asm("nop");
mcbsp0_init_SPI();//MCBSP0设置为SPI模式
asm("nop");
//-----------------------------------------------------------
//----------产生正切波形的数据------------------------
r=2*pi/N;
for(i=0;i<=N;i++)//泰勒展开产生正切波
{
x=i*r-pi;
xx=x*x;
x0=1+62*xx/9;
x1=1+17*x0*xx/21;
x2=1+2*x1*xx/5;
x3=1+x2*xx/3;
y[i]=x*x3;
}
j=0;
//---------发送给AD7303-----------------------------
for(;;)
{
for(i=0;i{
//----------------------------------------------------------------
mcbsp0_write_rdy((127+(int)(127.0*y[i]))&0x00ff);//发送控制字、数据给AD7303
asm("nop");
//AD7303的控制字高8位
//15--------14-------13-----12-----11-----10------9-------8-----
//INT/EXT---X--------LDAC---PDB---PDA-----A/B-----CR1-----CR0---
//00000000
//内部参考电压源,DAC-A、B同时从移位寄存器更新DAC-A、B工作
//----------------------------------------------------------------
delay_3us();//延迟等待DA转换结束
/****outputhigh******************/
}
}
}
//-----------------------------------程序结束--------------------
5结论
随着信息技术革命的深入和计算机技术的飞速发展,数字波形的产生及其应用领域也越来越广泛,已经涉及到各个方面,通过这次考试设计我学到了很多关于数字波形面的理论知识,这些知识都具有很高的应用价值,在理论联系实际的过程中也遇到了一些困难,但通过老师和同学的帮助最终解决了问题。
参考文献
[1]赵俊梅,林祥德,朱林泉,基于DSP芯片的图像处理技术,高等教育出版社.2007
[2]彭启宗,李玉柏,管庆,DSP技术的发展与应用(第二版),高等教育出版社.2010
[3]赵明忠,顾斌,王钧铭,马才根,DSP应用技术,西安电子科技大学出版社.2007.1
[4]潘松,现代DSP技术,西安电子科技大学出版社.2008.2
[5]张雄伟,曹铁勇,DSP芯片的原理与开发应用,电子工业出版社.2003.1
.