论文格式范例.docx
《论文格式范例.docx》由会员分享,可在线阅读,更多相关《论文格式范例.docx(17页珍藏版)》请在冰豆网上搜索。
论文格式范例
摘要
DSP发展历程大致分为三个阶段:
70年代理论先行,80年代产品普及,90年代突飞猛进。
在DSP出现之前数字信号处理主要依靠MPU(微处理器)来完成。
但MPU较低的处理速度无法满足高速实时的要求。
因此,直到70年代才提出了DSP的理论和算法基础。
随着大规模集成电路技术的发展,1982年世界上诞生了首枚通用可编程DSP芯片TI的TMS32010。
关键词:
(3-5个关键词)
目录
1绪论1
1.1本论文的背景1
1.1.1数字信号处理器的发展状况1
1.1.2数字信号处理的实现方法1
1.2本论文目的及意义2
1.3本论文的主要内容2
2系统总体设计3
2.1TMS320VC5402简介3
2.2系统功能方框图3
2.3系统的设计方法4
3系统硬件设计5
3.1电源电路5
3.2复位电路5
3.3时钟电路6
3.4片外存储器6
3.5JTAG仿真接口电路7
4系统软件设计8
4.1软件开发工具介绍8
4.1.1CCS的组成8
4.1.2CCS的主要功能8
4.2系统自举加载器的设计9
4.2.1选择自举方式9
4.2.2FLASH的数据组织10
5I/O电路的测试11
5.1CCS环境下通用I/O电路测试实验11
5.2基本I/O电路测试实验12
总结14
参考文献15
附录16
1绪论
1.1本论文的背景
随着信息技术的飞速发展,数字信号处理技术已经发展成为一门关键的技术学科,而DSP芯片的出现则为数字信号处理算法的实现提供了可能,这一方面促进了数字信号处理技术的进一步发展,也使数字信号处理的应用领域得到了极大的拓展。
在近20年里,DSP芯片已经在通信和家用电器等领域得到了广泛的应用。
1.1.1数字信号处理器的发展状况
DSP(DigitalSignalProcessing)也称数字信号处理器,是一种具有特殊结构的微处理器,是建立在数字信号处理的各种理论和算法基础上,专门完成各种实时数字信息处理的芯片。
与单片机相比,DSP有着更适合数字信号处理的优点。
芯片内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,具有良好的并行特性,提供特殊的DSP指令,可以快速地实现各种数字信号处理算法[1]。
DSP发展历程大致分为三个阶段:
70年代理论先行,80年代产品普及,90年代突飞猛进。
在DSP出现之前数字信号处理主要依靠MPU(微处理器)来完成。
但MPU较低的处理速度无法满足高速实时的要求。
因此,直到70年代才提出了DSP的理论和算法基础。
随着大规模集成电路技术的发展,1982年世界上诞生了首枚通用可编程DSP芯片TI的TMS32010。
DSP芯片的问世是个里程碑,它标志着DSP应用系统由大型系统向小型化迈进了一大步。
进入80年代后期,随着数字信号处理技术应用范围的扩大,要求提高处理速度,到1988年出现了浮点DSP,同时提供了高级语言的编译器,使运算速度进一步提高,其应用范围逐步扩大到通信、计算机领域。
90年代相继出现了第四代和第五代DSP器件。
…………
1.1.2数字信号处理的实现方法
数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。
数字信号处理在理论上的发展推动了其应用的发展。
反过来,数字信号处理的应用又促进了其理论的提高。
而数字信号处理的实现则是理论和应用的桥梁。
数字信号处理的实现方法一般有以下几种[1]:
(1)
(2)
(3)………
1.2本论文目的及意义
DSP最小系统是DSP应用系统的最核心部分,本课题设计基于TMS320VC5402DSP芯片,构建了TMS320VC5402DSP最小系统,并通过I/O口电路测试了DSP最小系统板的可用性,为以后的学习提供了最核心的电路模块,方便今后的DSP学习和实验。
1.3本论文的主要内容
本论文的主要内容有:
(1)
(2)
(3)
………
2系统总体设计
本章介绍了TMS320VC5402芯片的结构和功能,在此基础上对DSP最小系统的功能方框图进行了规划,并对整个系统的设计方法进行了介绍。
2.1TMS320VC5402简介
TMS320VC54X是为实现低功耗、高性能而设计的定点DSP芯片,主要应用在通信系统方面。
它的主要特点[3][4][5]是:
CPU特点:
(1)先进的多总线结构。
(2)40位算术逻辑运算单元(ALU)。
(3)17位x17位并行乘法器与40位专用加法器相连。
(4)
(5)
(6)
在片仿真接口特点:
具有符合IEEEll49.1标准的在片仿真接口(JTAG)。
…………
2.2系统功能方框图
基于TMS320VC5402DSP最小系统的设计,此最小系统主要由时钟及复位电路、电源电路、JTAG仿真接口电路以及片外存储器电路等构成[6]。
系统框图如图2-1所示。
图2-1TMS320VC5402最小系统框图
2.3系统的设计方法
本系统设计以模块电路为基础,主要采用实验和仿真的设计方法对各模块电路硬件和软件展开设计。
整个系统设计的大致步骤如图2-2所示。
软件部分的设计步骤为:
(1)根据需要用汇编语言或C语言编写程序。
(2)将程序转化成DSP汇编,并送到编译器进行编译,生成目标文件。
(3)将目标文件送链接器进行链接,得到可执行文件。
(4)
(5)………………
硬件部分设计步骤为:
(1)
(2)
(3)…………
图2-2实验开发系统的设计步骤
3系统硬件设计
最小系统是使得DSP芯片TMS320VC5402能够工作的最精简模块,它主要包括电源电路、复位和时钟电路、片外存储器接口电路和JTAG仿真接口电路[9]。
DSP最小系统原理图见附录1。
3.1电源电路
本系统中除了DSP以外其它器件工作电压为3.3V,所以我们采用5V电源供电。
VC5402所要的工作电压分别是1.8V内核电压(CVDD)和3.3VI/O电压(DVDD),并且DSP对这两种电源加电次序也有要求,理想情况下两个电源同时加电,但是一般场合很难做到,这时应先对CVDD加电,然后对DVDD上电。
讲究供电次序的原因在于:
如果只有CPU内核获得供电,周边I/O没有供电,对芯片是不会产生任何损害的,只是没有输入/输出能力而已;如果反过来,周边I/O得到供电而CPU内核没有供电。
那么芯片缓冲/驱动部分的三极管在一个未知状态下工作,这是非常危险的[10]。
………………
图3-1为根据TPS73HD318芯片性能设计实现双电压输出的电源电路方案,具体分析如下[11]:
(1)…………………
图3-1电源电路
3.2复位电路
C5402的复位输入引脚RS为处理器提供了一种硬件初始化的方法,它是一种不可屏蔽的外部中断,可在任何时候对C54X进行复位。
当系统上电后,RS引脚应至少保持5个时钟周期稳定的低电平,以确保数据、地址和控制线的正确配置。
复位后,CPU从程序存储器的FF80H单元取指,并开始执行程序。
C5402的复位分为软件复位和硬件复位,软件复位是通过执行指令实现芯片的复位,硬件复位是通过硬件电路实现芯片的复位,硬件复位有上电复位、手动复位和自动复位三种[12]。
在DSP最小系统中采用手动复位方式。
3.3时钟电路
时钟电路用来为C5402芯片提供时钟信号,由一个内部振荡器和一个锁相环PLL组成,可通过芯片内部的晶体振荡器或外部的时钟电路驱动。
C5402时钟信号的产生有两种方法:
使用外部时钟源、使用芯片内部的振荡器。
若使用外部时钟源,只要将外部时钟信号直接加到DSP芯片的X2/CLKIN引脚,而X1引脚悬空;若使用芯片内部的振荡器,只要在芯片的X1和X2/CLKIN引脚之间接入一个晶体,用于启动内部振荡器。
本系统采用内部振荡器,在管脚X1和X2/CLKOUT之间连接一个10MHz晶体来启动内部振荡器,如图3-3所示[13]。
图3-2时钟电路
3.4片外存储器
C5402的存储空间可达192K×16bits,64K程序空间,64K数据空间,64KI/O空间。
C5402片内具有4K×16bits的ROM和16K×16bits的RAM。
IS61LV25616AL的工作电压为3V~3.6V,可以直接与TMS320VC5402接口连接,而不必再使用电压接口芯片进行转接,使硬件电路更为简单。
SST39LF200A是SST公司生产的Flash存储器,其主要特点有:
3V~3.6V单电源供电,可使内部产生高电压进行编程和擦除操作;支持JEDEC单电源Flash存储器标准;只需向其命令寄存器写入标准的微处理器指令,具体编程、擦除操作由内部嵌入的算法实现,并且可以通过查询特定的引脚或数据线监控操作是否完成;可以对任一扇区进行读、写或擦除操作,而不影响其它部分的数据[15]。
访问存储空间时,当地址落在片内存储区域内,自动对这些区域进行访问;当地址落在片外区域,自动访问外部存储器。
使用片内存储器有三个优点:
高速执行(不需要等待),低开销,低功耗,所以我们应尽量使用片内存储器。
3.5JTAG仿真接口电路
实验时,需要一个DSP仿真器,把在计算机上编译并生成的执行代码下载到C5402芯片上,实现在线调试DSP硬件和软件。
仿真器有两端接口,其中一端与计算机的并行口或USB口相连,这取决于仿真器的类型,另一端与DSP芯片的JTAG接口相连,这是一个14针的接口,其硬件连接如图3-3所示[16]。
图3-3JTAG接口电路
4系统软件设计
本章介绍系统软件的实现方法。
主要介绍了自举加载器的设计。
4.1软件开发工具介绍
CCS(CodeComposerStudio)[2][19]是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,能完成DSP系统开发过程的各个环节,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。
CCS有两种工作模式,即:
软件仿真器模式和硬件在线编程模式;前者可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试;后者可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。
4.1.1CCS的组成
CCS的开发系统主要由以下组件构成:
(1)TMS320VC54X集成代码产生工具;
(2)CCS集成开发环境;
(3)DSP/BIOS实时内核插件及其应用程序接口API;
(4)实时数据交换的RTDX插件以及相应的程序接口API;
(5)由TI公司以外的第三方提供的各种应用模块插件。
4.1.2CCS的主要功能
CCS的功能十分强大,它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持C/C++和汇编的混合编程,其主要功能如下:
(1)具有集成可视化代码编辑界面,用户可通过其界面直接编写C、汇编、.cmd文件等;
(2)含有集成代码生成工具,包括汇编器、优化C编译器、链接器等,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中;
(3)高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误;
(4)工程项目管理工具可对用户程序实行项目管理。
在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理;
4.2系统自举加载器的设计
TI公司的DSP芯片出厂时,在片内ROM中固化有引导装载程序Bootloader,其主要功能就是将外部的程序装载到片内RAM中运行,以提高系统的运行速度。
TMS320VC5402的Bootloader程序位于片内ROM的0F800H~OFBFFH空间。
系统上电时,DSP将检查外部引脚MP/MC的状态,如果该引脚为高电平,则DSP按微处理器模式启动,从片外OFF80H地址处开始执行程序;如果该引脚为低电平,则DSP按微计算机模式启动,系统从片内OFF80H地址处开始执行程序,片内OFF80H~OFFFFH是固化的中断矢量表,此处有一条跳转指令。
4.2.1选择自举方式
图4-1TMS320VC540216bits并行Bootloader选择图
Bootloader能提供许多种引导方式以适配不同的系统设备,包括两种并行总线方式、串口方式以及主机口方式(HPI),还可以支持8bits和16bits的模式,具有很强的系统灵活性。
在判断前面的引导方式无效后,Bootloader会进入并行引导装载模式,Bootloader首先读取地址为OFFFFH的I/O空间单元,并将该单元的值作为引导表的首地址。
在数据地址空间中读取引导表的第一个字,来判断是8bits引导模式还是16bits引导模式[17]。
在本设计中,引导表的首地址是存放在数据存储器OFFFFH单元,Bootloader从I/O地址空间中读取的引导表首地址所对应的引导表中得不到正确的引导信息,于是Bootloader会自动转向数据空间,从数据空间的OFFFFH地址再去读一个字作为引导表首地址,进而再从引导表首地址读取一个字。
由于在本设计中是采用的16bits引导模式,Bootloader不会进入8bits模式和后面的串行口引导方式。
其选择流程图如图4-1所示。
4.2.2FLASH的数据组织
自举表内容包括Boot表头和欲加载的应用程序代码。
Boot表头包括欲加载的应用程序代码长度、代码段存放的目标地址、程序入口地址等信息。
若要完成自举引导功能,必须建立正确的自举表,如表4-1[18]。
表4-1自举表
5I/O电路的测试
通过构建基于TMS320VC5402的DSP最小系统,为DSP开发系统板提供最核心硬件模块。
通过基本I/O电路测试了最小系统版的可行性[19][20]。
5.1CCS环境下通用I/O电路测试实验
为了测试基于TMS320VC5402DSP最小系统的可用性,将TMS320VC5402的XF管脚外接LED灯构建通用I/O测试电路,通过程序控制LED灯的闪烁,测试通用I/O电路。
(1)实验流程图
程序框图如图5-1所示。
图5-1程序流程图
(2)主要程序代码
通过把XF位置位和复位来控制LED灯的亮灭,主要程序代码如下:
asm(“rsbxxf”)//将状态寄存器指定为xf复位xf=0;
asm(“ssbxxf”)//将状态寄存器指定为xf置位xf=1;
for(i=0;i<30000;i++)
asm("nop");
}
源程序见附录。
(3)实验结果
DSP最小系统版上I/O电路XF管脚连接的LED灯以一定的频率间隔闪烁。
图5-2XF复位LED灯变亮
5.2基本I/O电路测试实验
通过使用C5402DSP的扩展端口控制外围设备的实验,测试基于TMS320VC5402DSP最小系统的基本I/O电路。
(1)程序框图如图5-4所示。
图5-3程序流程图
(2)主要程序代码
#defineLBDS(*((unsignedint*)0xaaaa))
//定义指示灯寄存器地址和寄存器类型;
////////////////////////////
}
源程序见附录二。
(3)实验结果
数据口D0—D3连接LED灯后,LED灯以BCD码的规律从全灭显示到全亮,当4个LED灯全亮后,又以BCD码的规律从全亮减小到LED灯全灭,并循环显示。
下图为实物操作图,图5-4为I/O电路LED测试图。
图5-4I/O电路LED测试图
总结
本课题的研究工作是以TI公司TMS320VC5402芯片为核心,以模块电路为基础,构建DSP最小应用系统。
本文从系统方案制定、模块电路硬件实现和CCS环境下I/O电路实验验证等一系列方面,系统的阐述其设计过程。
主要完成了以下内容:
(1)参考了DSP技术的应用,分析信号信息处理的特点,制定了基于TMS320VC5402芯片的最小系统设计的总体方案。
(2)
(3)
(4)
(5)
通过课题的设计,使我进一步掌握了DSP基本理论,对DSP技术及DSP技术的应用有了更深刻的认识,并使自己所学的各种知识得到了全面的应用,提高了分析问题解决问题的能力。
由于初次进行基于TMS320VC5402的最小系统设计,缺少实际经验以及个人水平和实践的问题,要使DSP最小系统更加实用化、完善化还需要做大量的探索和试验。
在本文设计的实验系统的基础上,硬件资源还可以进一步扩展,软件功能也可进一步改进。
参考文献
[1]彭启宗.TMS320VC54X实用教程[M].成都:
电子科技大学出版社,2000:
1-35.
[2]李利.DSP原理及应用[M].北京:
中国水利水电出版社,2004:
1-120.
[3]李哲英,骆丽,刘元盛.DSP基础理论与应用技术[M].北京:
北京航空航天大学出版社,2002:
1-20.
[4]RabinerLR,GoldB.TheoryandApplicationofDigitalSignalProcessing[M].Prentice-HallInc,1998.
[5]FliegeNJ.MultiratetoWavelets[M].Boston:
AcademicPress,1992:
1-36.
[6]梁晓雯,裴小平,李玉虎.TMS320C54X系列DSP的CPU与外设[M].北京:
清华大学出版社,2006:
56-112.
[7]李迎春,王玉峰.基于TMS320VC5402的DSP最小系统设计[J].北京航天工业学院学报,2012,22
(1):
16-18.
[8]杨明远,何颖.基于TMS320VC5402的DSP实验开发系统的研究与设计[J].中国高新技术企业,2009,1:
120-121.
[9]杨明远.基于TMS320VC5402的DSP实验开发系统的设计[D].长沙:
中南大学硕士论文,2008:
1-18.
[10]张雄伟,陈亮,徐光辉.DSP芯片的原理与开发应用[M].北京:
电子工业出版社,2003:
112-145.
[11]TexasInstruments.TPS73HD318Dual-outputLow-dropoutvoltageregulators[EB/OL].,1999/2013.
[12]邹彦,唐冬,宁志刚.DSP原理及应用[M].北京:
电子工业出版社,2005:
225-235.
[13]陈财明.基于TMS320C5402的客流统计系统[D].杭州:
浙江大学,2005.
[14]杨静.基于DSP的嵌入式实时操作系统平台及其应用[D].杭州:
浙江大学硕士论文,2005.
[15]GoldB,RaderCM.DigitalProcessingofSignal[M].McGraw-Hill,1997.
[16]汪安明.TMS320C54XXDSP应用技术[M].北京:
清华大学出版社,2002.
[17]沈琰.TMS320VC54028位并行自举引导方案[J].电脑知识与技术,2006
(2):
161-162.
[18]吴晓春.用C语言设计TMS320VC54X系列DSP的用户bootloader程序[J].计算机与网络,2009
(1):
18-22.
[19]汪烈军,贾振红.电子综合设计与实验[M].西安:
西安交通大学出版社,2010.
[20]汪安平,程昱.DSP应用开发实用子程序[M].北京:
人民邮电出版社,2005:
9-35.
附录
附录1DSP最小系统原理图
DSP最小系统原理图
PCB布线图
附录2基本I/O电路测试实验
主程序:
#include"DspRegDefine.h"//VC5402寄存器定义
#include"stdio.h"
#include"e300_codec.h"
//定义指示灯寄存器地址和寄存器类型
#defineLBDS(*((unsignedint*)0xaaaa))
//子程序接口
voidDelay(unsignedintnDelay);//延时子程序
voidmain()
{
//反向顺序送控制字
Delay(256);//延时
}
}
}
}
voidDelay(unsignedintnDelay)//延时子程序
{
unsignedinti,j;
for(i=0;i<4000;i++)
for(j=0;j}
……………………
附录3CCS环境下通用I/O电路测试实验
#include
#definepi3.1415926
#defineN500
voidmain()
{
inti,j;
int*p;
intx[500];
for(i=0;ix[i]=0;
for(i=0;i{
for(;;)
{
f");
for(i=0;i<30000;i++)
for(j=0;j<10;j++)
{
asm("nop");
asm("nop");
}
}
}
………………