北邮DSP应用与设计期末论文_第1页
北邮DSP应用与设计期末论文_第2页
北邮DSP应用与设计期末论文_第3页
北邮DSP应用与设计期末论文_第4页
北邮DSP应用与设计期末论文_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、dsp设计及应用课程设计报告基于dsp最小应用系统设计实现学院: 电子工程学院 姓名: 学号: 班级: 学院: 电子工程学院 姓名: 刘博闻 学号: 2013211049 班级: 2013211209 学院: 电子工程学院 姓名: 刘博闻 学号: 2013211049 班级: 2013211209 2016年1月2日摘要dsp最小系统是dsp应用系统的最核心部分,本设计基于tms320vc5402 dsp芯片,构建了tms320vc5402 dsp最小系统,并通过i/o口电路测试了dsp最小系统板的可用性,为以后的学习提供了最核心的电路模块。本设计基于tms320vc5402的结构和功能,结合

2、tms320vc54x系列dsp实验教学的内容和要求,对dsp最小系统进行总体设计。基于tms320vc5402的dsp最小系统的设计,包括电源电路、时钟和复位电路、片外存储器电路以及jtag仿真电路的设计。在ccs集成开发环境下,实现系统自举加载和i/o口电路测试实验。关键词:tms320vc5402,电路仿真设计,系统自举加载,i/o口电路测设一、 引言dsp(digital signal processing)也称数字信号处理器,是一种具有特殊结构的微处理器,是建立在数字信号处理的各种理论和算法基础上,专门完成各种实时数字信息处理的芯片。与单片机相比,dsp有着更适合数字信号处理的优点。

3、芯片内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,具有良好的并行特性,提供特殊的dsp指令,可以快速地实现各种数字信号处理算法1。随着信息技术的飞速发展,数字信号处理技术已经发展成为一门关键的技术学科,而dsp芯片的出现则为数字信号处理算法的实现提供了可能,这一方面促进了数字信号处理技术的进一步发展,也使数字信号处理的应用领域得到了极大的拓展。在近20年里,dsp芯片已经在通信和家用电器等领域得到了广泛的应用。二、 系统方案1. 系统功能方框图基于tms320vc5402 dsp最小系统的设计,此最小系统主要由时钟及复位电路、电源电路、jtag仿真接口电路以及片外

4、存储器电路等构成。系统框图如图1所示6。图1 tms320vc5402最小系统框图2. 系统的设计方法 本系统设计以模块电路为基础,主要采用实验和仿真的设计方法对各模块电路硬件和软件展开设计。整个系统设计的大致步骤如图2所示。软件部分的设计步骤为:a) 根据需要用汇编语言或c语言编写程序。b) 将程序转化成dsp汇编,并送到编译器进行编译,生成目标文件。c) 将目标文件送链接器进行链接,得到可执行文件。d) 将可执行文件调入调试器进行调试,检查运行结果是否正确。如果正确继续,否则返回修改。e) 进行代码转换,将代码写入flash,并脱离仿真器运行程序,检查结果是否正确。硬件部分设计步骤为:a)

5、 设计硬件实现方案,即根据性能指标、功能要求等确定最优硬件实现方案,并画出其硬件系统框图。b) 进行器件选型,根据功能、成本和使用经验等要求确定系统中的主要器件,最重要的是根据需要选择系统中主要芯片型号。c) 设计原理图,在原理图的设计时必须熟悉系统的工作原理和器件的使用方法,对于一些关键的环节有必要进行一定的实验或仿真,原理图设计的成功与否是dsp系统能否正常工作的一个最重要因素。 图2实验开发系统的设计步骤三、 硬件设计最小系统是使得dsp芯片tms320vc5402能够工作的最精简模块,它主要包括电源电路、复位电路、时钟电路、片外存储器接口电路和jtag仿真接口电路。dsp最小系统原理图

6、见附录一。1. 电源电路本系统中除了dsp以外其它器件工作电压为3.3v,所以我们采用5v电源供电。vc5402所要的工作电压分别是1.8v内核电压(cvdd)和3.3v i/o电压(dvdd),并且dsp对这两种电源加电次序也有要求,理想情况下两个电源同时加电,但是一般场合很难做到,这时应先对cvdd加电,然后对dvdd上电。讲究供电次序的原因在于:如果只有cpu内核获得供电,周边i/o没有供电,对芯片是不会产生任何损害的,只是没有输入/输出能力而已;如果反过来,周边i/o得到供电而cpu内核没有供电。那么芯片缓冲/驱动部分的三极管在一个未知状态下工作,这是非常危险的7。我们通过ti公司提供

7、的dsp专用电源芯片tps73hd318来构建电源电路,实现5v向3.3v和1.8v的电压转换,同时也避免了上电次序的问题。图3为根据tps73hd318芯片性能设计实现双电压输出的电源电路方案,具体分析如下8:a) tps73hd318芯片可以提供最高750ma的电流,为了适应较大的电流输出场合,该芯片输入和输出的管脚都采用两个管脚,这样可以提高电流的通过率并有利于芯片散热。b) 1.8v稳压器输入部分为1in两个管脚,输入+5v的vcc,用10pf的电容对输入电源滤波;输出部分为1out两个管脚,以提供高稳定性的1.8v输出。c) 3.3v稳压器输入部分为2in两个管脚,输入+5v的vcc

8、,用10pf的电容对输入电源滤波;输出部分为两个20ut管脚,以提供高稳定性的3.3v输出。d) 系统的电源输入为+5v,同时设计电源指示灯led,用来指示电源的通断。图3 电源电路2. 复位电路c5402的复位输入引脚rs为处理器提供了一种硬件初始化的方法,它是一种不可屏蔽的外部中断,可在任何时候对c54x进行复位。当系统上电后,rs引脚应至少保持5个时钟周期稳定的低电平,以确保数据、地址和控制线的正确配置。复位后,cpu从程序存储器的ff80h单元取指,并开始执行程序。c5402的复位分为软件复位和硬件复位,软件复位是通过执行指令实现芯片的复位,硬件复位是通过硬件电路实现芯片的复位,硬件复

9、位有上电复位、手动复位和自动复位三种9。在dsp最小系统中采用手动复位方式。手动复位电路是通过上电或按钮两种方式对芯片进行复位,如图4所示。当按钮闭合时,电容c5通过按钮和r9进行放电,使电容c5上的电压降为0;当按钮断开时,对电容c5进行充电,从而实现手动复位。 图4 手动复位电路3. 时钟电路时钟电路用来为c5402芯片提供时钟信号,由一个内部振荡器和一个锁相环pll组成,可通过芯片内部的晶体振荡器或外部的时钟电路驱动。c5402时钟信号的产生有两种方法:使用外部时钟源、使用芯片内部的振荡器。若使用外部时钟源,只要将外部时钟信号直接加到dsp芯片的x2/clkin引脚,而x1引脚悬空;若使

10、用芯片内部的振荡器,只要在芯片的x1和x2/clkin引脚之间接入一个晶体,用于启动内部振荡器。本系统采用内部振荡器,在管脚x1和x2/clkout之间连接一个10mhz晶体来启动内部振荡器,如图5所示10。为了实现dsp系统实时处理信号的效果,希望系统频率越快越好。c5402最高可达100mhz工作频率,如果仍采用传统的2分频或4分频的方式,势必要求外部频率很高,这里我们采用了更加灵活的可编程pll(programmable phaselocked loop)方式。c5402内部具有一个可编程锁相环(pll),它可以配置为以下两种模式:a) pll模式,输入时钟乘以一个l31之间的常数。b)

11、 div模式,输入时钟除以2或40。pll有倍频的功能,其输出信号的频率是输入信号的频率乘上一个倍数,正是pll把外部基准频率变成多种频率提供给不同的具体系统,以满足各种应用的需要。pll受存储器映射的时钟模式寄存器clkmd控制,复位后clkmd的值根据dsp芯片三根输入引脚clkmd1clkmd3确定,从而确定dsp的工作时钟。本方案中,外接晶体频率为10mhz,为了得到倍频系数10,需设置时钟模式寄存器clkmd的值为9007h,引脚clkmdlclkmd3设计成001,则复位后c5402的工作频率是101o=1oomhz。图5 时钟电路4. 片外存储器c5402的存储空间可达192k1

12、6bits,64k程序空间,64k数据空间,64ki/o空间。c5402片内具有4k16bits的rom和16k16bits的ram。片内rom和ram可以根据pmst寄存器中的drom、ovly来灵活设置,使其映像在程序空间和数据空间。程序空间和数据空间未被映像的部分和64k的i/o空间全部在片外,用片外存储器来补充。在实际的应用中,应该根据程序量的大小来选择作为片外空间的存储芯片的容量,以免造成不必要的浪费,本文选择is61lv25616al(256k16bits)作为程序存储器的片外存储芯片,选择sst39lf200a(128k16bits)的flash作为数据存储器的片外存储芯片,以实

13、现自举加载,使c5402自成独立系统,图6为硬件连接图11。图6 外部存储器扩展电路图is61lv25616al的工作电压为3v3.6v,可以直接与tms320c5402接口连接,而不必再使用电压接口芯片进行转接,使硬件电路更为简单。sst39lf200a是sst公司生产的flash存储器,其主要特点有:3v3.6v单电源供电,可使内部产生高电压进行编程和擦除操作;支持jedec单电源flash存储器标准;只需向其命令寄存器写入标准的微处理器指令,具体编程、擦除操作由内部嵌入的算法实现,并且可以通过查询特定的引脚或数据线监控操作是否完成;可以对任一扇区进行读、写或擦除操作,而不影响其它部分的数

14、据12。 访问存储空间时,当地址落在片内存储区域内,自动对这些区域进行访问;当地址落在片外区域,自动访问外部存储器。使用片内存储器有三个优点:高速执行(不需要等待),低开销,低功耗,所以我们应尽量使用片内存储器。5. 仿真接口电路在做实验时,需要一个dsp仿真器,把在计算机上编译并生成的执行代码下载到c5402芯片上,实现在线调试dsp硬件和软件。仿真器有两端接口,其中一端与计算机的并行口或usb口相连,这取决于仿真器的类型,另一端与dsp芯片的jtag接口相连,这是一个14针的接口,其硬件连接如图7所示13。图 7 jtag接口电路四、 自举加载器的设计ti公司的dsp芯片出厂时,在片内ro

15、m中固化有引导装载程序bootloader,其主要功能就是将外部的程序装载到片内ram中运行,以提高系统的运行速度。tms320vc5402的bootloader程序位于片内rom的0f800hofbffh空间。系统上电时,dsp将检查外部引脚mp/mc的状态,如果该引脚为高电平,则dsp按微处理器模式启动,从片外off80h地址处开始执行程序;如果该引脚为低电平,则dsp按微计算机模式启动,系统从片内off80h地址处开始执行程序,片内off80hoffffh是固化的中断矢量表,此处有一条跳转指令。因此,如果系统上电时mp/mc的状态为低电平,dsp复位后将从ff80h处跳转到0f800h开

16、始执行bootloader自动装载程序。在装载程序之前,先自动进行如下初始化工作:intm=1(使中断无效),ovly=1(内部ram映像程序数据存储器),对程序和数据区均设置7个等待状态等。然后,选择有效的自举方式进行自举加载程序。1. 选择自举方式bootloader能提供许多种引导方式以适配不同的系统设备,包括两种并行总线方式、串口方式以及主机口方式(hpi),还可以支持8bits和16bits的模式,具有很强的系统灵活性。在判断前面的引导方式无效后,bootloader会进入并行引导装载模式,bootloader首先读取地址为offffh的i/o空间单元,并将该单元的值作为引导表的首地

17、址。在数据地址空间中读取引导表的第一个字,来判断是8bits引导模式还是16bits引导模式14。在本设计中,引导表的首地址是存放在数据存储器offffh单元,bootloader从i/o地址空间中读取的引导表首地址所对应的引导表中得不到正确的引导信息,于是bootloader会自动转向数据空间,从数据空间的offffh地址再去读一个字作为引导表首地址,进而再从引导表首地址读取一个字。如果该字为1oaah,则立即进入16bits引导模式,否则,将按8bits方式处理:从offffh读取一字节作为引导表首地址的低字节,从offfeh读取一字节作为引导首地址的高字节,再从引导表首地址读取一个值,如

18、果低字节为08h,则再读引导表的下一个值,如果为aah,则说明外部存储器是8 bits宽度,进入8bits引导装载模式。由于在本设计中是采用的16bits引导模式,bootloader不会进入8bits模式和后面的串行口引导方式。其选择流程图如图8所示。图8 tms320vc5402 16bits并行bootloader选择图2. flash的数据组织自举表内容包括boot表头和欲加载的应用程序代码。boot表头包括欲加载的应用程序代码长度、代码段存放的目标地址、程序入口地址等信息。若要完成自举引导功能,必须建立正确的自举表,如表115。自举表可以由hex500格式转换器自动生成,也可以手动建

19、立自举表,就是把被烧写的程序直接放在烧写程序中,根据被烧写程序的相关信息手动建立自举表。表1 自举表五、 i/o电路的测试通过构建基于tms320vc5402的dsp最小系统,为dsp开发系统版提供最核心硬件模块。通过基本i/o电路测试了最小系统版的可行性1617。1. ccs环境下通用i/o电路测试实验a) 实验目的tms320vc5402 的xf管脚外接led,通过程序控制led灯的闪烁,测试通用i/o口。b) 实验设备计算机、仿真器、dsp最小系统板c) 实验原理d) 实验流程图图9 程序流程图e) 主要程序代码asm(“rsbx xf”)/将状态寄存器指定为xf复位xf=0;asm(“

20、ssbx xf”)/将状态寄存器指定为xf置位xf=1;通过把xf位置位和复位来控制led灯的亮灭。源程序见附录三。f) 实验现象dsp最小系统版上i/o电路xf连接的led灯以一定的频率间隔闪烁。通过调整程序参数 “for(i=0;i30000;i+) for(j=0;j10;j+)”为“for(i=0;i30000;i+) for(j=0;j100;j+)”,led灯的闪烁频率减小,led灯闪烁变慢。1.2. 基本i/o电路测试实验a) 实验目的通过实验学习使用 c5402 dsp 的扩展端口控制外围设备的方法,测试基于tms320vc5402 dsp最小系统的基本i/o口。b) 实验设备

21、计算机、仿真器、dsp最小系统板c) 程序框图开始cpu初始化读取数据空间0xaaaa的内容将读取的数值写入0xaaaa单元结束图10程序流程d) 主要程序代码#define lbds (*(unsigned int *)0xaaaa)/定义指示灯寄存器地址和寄存器类型;for ( i=0;i8;i+ )lbds=uledi;delay(256);/向指示灯寄存器写数据。源程序见附录二。e) 实验现象数据口d0d3连接led灯后,led灯以bcd码的规律从全灭显示到全亮,当4个led灯全亮后,又以bcd码的规律从全亮减小到led灯全灭,并循环显示。六、 总结本课题的研究工作是以ti公司tms3

22、20vc5402芯片为核心,以模块电路为基础,构建dsp实验开发系统。本文从系统方案制定、模块电路软硬件实现、ccs环境下实验验证等方面,系统的阐述其设计过程。主要完成了以下内容:1. 参考了dsp技术的应用,分析信号信息处理的特点,制定了基于tms320vc5402芯片的最小系统设计的总体方案。2. 完成了系统各模块电路的软硬件设计。完成了电源、晶振、复位电路、jtag接口电路、sram接口电路、flash接口电路的设计。3. 在模块电路电路的基础上,采用层次原理图的设计方法,完成了系统原理图的绘制和pcb布线制版。4. 在ccs环境下测试了基于tms320vc5402最小系统的基本i/o电

23、路。通过课题的设计,使我进一步掌握了dsp基本理论,对dsp技术及dsp技术的应用有了更深刻的认识,并使自己所学的各种知识得到了全面的应用,提高了分析问题解决问题的能力。由于初次进行基于tms320vc5402的最小系统设计,缺少实际经验以及个人水平和实践的问题,要使系统更加实用化、完善化还需要做大量的探索和试验。在本文设计的实验系统的基础上,硬件资源还可以进一步扩展,软件功能也可进一步改进。参考文献1彭启宗.tms320vc54x实用教程c.成都:电子科技大学出版社,20002李利.dsp原理及应用c.北京:中国水利水电出版社,20043李哲英,骆丽,刘元盛.dsp基础理论与应用技术c.北京

24、:北京航空航天大学出版社,20024tms320vc5402 fixed-point digital signal processor datasheet,20005tms320vc54x dsp cpu and peripherals reference set,19996梁晓雯,裴小平,李玉虎.tms320c54x系列dsp的cpu与外设c.北京:清华大学出版社,20067张雄伟,陈亮,徐光辉.dsp芯片的原理与开发应用c.北京:电子工业出版社,20038tps73hd318 datasheet.texas instruments,19999邹彦,唐冬,宁志刚.dsp原理及应用c.北京:电

25、子工业出版社,200510陈财明.基于tms320c5402的客流统计系统d杭州:浙江大学,200511杨静基于dsp的嵌入式实时操作系统平台及其应用d杭州:浙江大学,200512is61lv25616al datasheet.integrated silion solution inc,200313汪安明.tms320c54xxdsp应用技术c.北京:清华大学出版社,200214沈琰.tms320vc5402 8位并行自举引导方案j.电脑知识与技术,200615吴晓春.用c语言设计tms320vc54x系列dsp的用户bootloader程序j.计算机与网络,200916汪烈军,贾振红.电子

26、综合设计与实验c.西安:西安交通大学出版社,201017汪安平,程昱.dsp应用开发实用子程序c.北京:人民邮电出版社,2005附录附录一 系统原理图dsp最小系统原理图pcb布线图dxp仿真dsp最小系统版附录二 基本i/o电路测试实验主程序:#include dspregdefine.h /vc5402 寄存器定义#include stdio.h #include e300_codec.h/ 定义指示灯寄存器地址和寄存器类型#define lbds (*(unsigned int *)0xaaaa)/ 子程序接口void delay(unsigned int ndelay);/ 延时子程序

27、void main()unsigned int uled9=0,1,2,3,4,5,6,7,8;/ 控制字,逐位置1int i;cpu_init();/ 初始化dsp运行时钟while ( 1 )for(;)for ( i=0;i=0;i- )lbds=uledi;/ 反向顺序送控制字delay(256);/ 延时void delay(unsigned int ndelay) /延时子程序 unsigned int i,j; for(i=0;i4000;i+) for(j=0;jndelay;j+);cpu初始化程序:#include dspregdefine.h /vc5402 寄存器定义#include e300_codec.h void cpu_init(void)asm( nop );asm( nop );asm( nop ); *(unsigned int*)clkmd=0x0; /switch to div mode clkout= 1/2 clkin while(*(u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论