【本科优秀毕业设计】基于tms320vc5402-dsp芯片的信号发生器的设计_第1页
【本科优秀毕业设计】基于tms320vc5402-dsp芯片的信号发生器的设计_第2页
【本科优秀毕业设计】基于tms320vc5402-dsp芯片的信号发生器的设计_第3页
【本科优秀毕业设计】基于tms320vc5402-dsp芯片的信号发生器的设计_第4页
【本科优秀毕业设计】基于tms320vc5402-dsp芯片的信号发生器的设计_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

基于TMS320VC5402DSP芯片的信号发生器的设计摘要信号发生器发展到今天,在电子测试、电子设计、模拟仿真、通信工程中,扮演着一个相当重要的角色,有着相当广泛的应用,极大加快了电子测试与设计工作中的效率,在电子技术和信号仿真应用中已发挥了巨大的作用。本文主要介绍了基于TMS320VC5402DSP的信号发生器的设计情况。这是一个以DSP为核心来实现信号发生器的系统,该系统具有结构简单灵活,抗干扰能力强、产生频率较高、应用广泛等特点。该系统的组成核心TMS320VC5402DSP芯片是TI公司生产的16位定点处理芯片,它有运算速度快、具有可编程特性、接口灵活和外围电路丰富等特点。选择该芯片作为设计信号发生器的核心芯片,能够提高信号发生器所产生信号的频率,使信号发生器有更加广泛的应用。这个设计的硬件部分是有该DSP芯片和D/A转换芯片TLC7528组成,DSP芯片用于产生各种波形,D/A转换芯片用于把数字信号转换为模拟信号。在以上硬件的基础上,通过软件编程来实现锯齿波、三角波,方波、梯形波和正弦波等波形。通过软件调试后,所要求的各种波形都能按要求实现。由于设计的时间短等原因,本次设计只是原理性的设计,要达到实用,还有许多的工作要做。由于经验不足,在设计中还有许多不足之处,需要进一步改进。关键词DSP,D/A转换器,信号发生器,波形THEDESIGNOFTHESIGNALGENERATORBASEDONTMS320C5402DSPCMOSCHIPABSTRACTSIGNALGENERATORWHICHISDEVELOPEDNOWISPLAYINGANIMPORTANTROLEINTHEELECTRONTEST、ELECTRONDESIGN、SIMULATEEMULATE、COMMUNICATIONENGINEERINGANDSOON,SIGNALGENERATORISUSEDVERYCOMPREHENSIVEANDEXPEDITETHEEFFICIENCYOFTHEELECTRONDESIGNANDELECTRONDESIGN,SIGNALGENERATOREXERTIMMENSEEFFECTINTHEELECTRONTECHNOLOGYANDTHESIGNALEMULATETHISTEXTMAINLYINTRODUCETHEDESIGNOFTHESIGNALGENERATORBASEDONTMS320VC5402DSPCMOSCHIPTHISISASIGNALGENERATORSYSTEMWHICHISMAKEDSPASITSCORE,THISSYSTEMWITHCONFIGURATIONSIMPLENESSAGILITY,ANTIJAMMINGCAPABILITYBETTER,FREQUENCYHIGHER,APPLICATIONABROADANDSOONTHECOREOFTHISSYSTEMTMS320VC5402DSPCMOSCHIPISMADEBYTICOMPANYWHICHHAS16BITPOINTINGDISPOSECHIP,ITHASOPERATIONRATEHIGH,HAVINGPROGRAMMECHARACTERISTIC,INTERFACEAGILITYANDPERIPHERYCIRCUITABUNDANCECHARACTERISTICCHOOSINGTHISCHIPASTHECOREOFTHESIGNALGENERATOR,ITCOULDENHANCETHEFREQUENCYOFTHESIGNALGENERATORANDMAKETHESIGNALGENERATORUSEDMOREWIDELYTHEHARDWAREOFTHISDESIGNISMADEBYTMS320VC5402DSPCCHIPANDD/ACONVERSIONCHIPTLC7528DSPCHIPPRODUCEWAVESANDD/ACONVERSIONCHIPISUSEDCHANGEDIGITALSIGNALSTOANALOGSIGNALSBASEDONTHESEHARDWARE,WEUSESOFTWARETOCARRYOUTSAWTOOHWAVE,TRIANGLEWAVE,SQUAREWAVE,TRAPEZIAWAVEANDSINEWAVEAFTERSOFTWAREDEBUGGINGANDALLTHEWAVESCOULDBEACTUALIZEDASWENEEDBECAUSEOFTHETIMEISSHORT,THISDESIGNISONLYELEMENTSDESIGN,IFWEWANTUSEITINLIFE,WENEEDDOMUCHMOREBECAUSEEXPERIENCELACKING,THEDESIGNHASMUCHSHORTAGE,NEEDINGMORECHANGEKEYWORDSDSP,D/ACONVERSIONAPPARATUS,SIGNALGENERATOR,WAVE目录摘要IABSTRACTII目录IV前言1第一章系统的硬件设计211组成及实现功能212硬件系统设计思想213件电路方案及电路原理计214相关电路介绍3141核心电路芯片TMS320VC5402使用说明3142D/A转换器TLC7528使用说明8143电源电路和晶振电路使用说明11第二章软件系统设计1421ICETEK5100USB20使用说明1422锯齿波的设计方案1423三角波的设计方案1724方波的设计方案1925梯形波的设计方案2226正弦波的设计方案2627软件系统调试29结论34参考文献35致谢36附录设计图37英语译文38前言信号发生器,主要作为激励信号或仿真信号,广泛应用于航空航天、国防、电力电子、电子设计、生物医疗、环保、机械运动、新型材料等各个领域。随着技术的进步,各领域对信号发生器的要求也越来越高,最早的信号发生器多是用模拟电路设计的,这使信号发生器的性能受到了很多的限制,随着大规模集成电路的应用,信号发生器也开始数字化,但是大部分都用硬件设计很少有用软件来设计,由于用硬件设计的电路存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点,所以一旦工作需求功能有增加,则电路复杂程度会大大增加。本设计“基于TMS320VC5402DSP芯片的信号发生器的设计”所设计的信号发生器正是针对以上缺点,利用DSP芯片采用程序设计的方法来产生信号,由于DSP芯片具有小巧灵活、控制方便、成本低、易于产品化、抗干扰能力、,适应范围广、运算速度快,控制加灵活等特点,所以,该设计所设计的的信号发生器能够达到更高的频率,控制改变波形也更加灵活。本文第一章主要介绍了硬件电路的组成和主要芯片的使用方法,硬件电路是由TMS320VC5402DSP芯片和D/A转换芯片TLC7528组成,通过ICETEK5100USBV20A连接PC机和DSP芯片。第二章则主要介绍了软件编程和软件的调试方法,我们使用C语言来进行软件编程,通过C5000对软件程序进行调试,以得到所需要波形。由于本人水平有限,设计中难免出现不妥或错误,恳请各位老师,同学,及其他读者给予批评指教。第一章硬件系统设计11系统的组成及实现功能本次设计所设计的信号发生器是采用TI公司生产的DSP芯片TMS320VC5402和D/A转换芯片TLC7528组成,其中DSP芯片TMS320VC5402是系统的核心。整个系统设计简单灵活,功能却很强大,通过软件编程可实现以下功能1)能产生正弦波、三角波、锯齿波、方波、梯形波等常用波形。2)产生的各种波形可以改变相位、频率和幅度。12硬件系统设计思想本系统是以TMS320VC5402这个DSP芯片为核心,通过DSP芯片产生各种的波形,通过D/A转换芯片实现把数字信号转换为模拟信号。整个硬件系统所要做的就是正确连接DSP芯片和D/A转换芯片,确保芯片正常工作,整个系统能正常运行。13硬件电路方案及电路原理设计这个硬件方案是由TMS320VC5402数字信号处理芯片和TLC7528D/A转换芯片所组成的,其核心部分就是TMS320VC5402数字信号处理芯片,它的作用是接受PC机传来的各种数据,然后再对接收到的数据进行加工和运。DSP芯片是通过使用ICETEK5100USB20作为连接PC机与DSP芯片的工具,当DSP对数据进行计算以后,它就把得到的数据输出到D/A转换器TLC7528,D/A转换器对接收到的离散的数字信号进行运算,把数字信号转换为连续的模拟信号,然后通过示波器把模拟波形输出到示波器上。这就是整个硬件方案的工作原理。整个硬件方案围绕DSP和D/A转换器展开,这个硬件方案可以产生正弦波、方波、锯齿波、三角波、梯形波等常见波形。这些波形的输出频率、幅度等值可以通过控制DSP的输入程序来控制,也就是说,这些波形的频率、幅度是可以调节的。近年来,由于DSP技术的飞速发展,其运算速度有了很大的提高,由于本方案选择了DSP作为产生信号源的芯片,所以,相对于运算速度较慢的单片机来说,DSP产生的信号源频率可以达到更高。基于TMS320VC5402的信号发生器的硬件方案如下图所示D0D7ISTMS320VC5416A15R/WDB0DB7CSTLC7528DACA/DACBWRDA/0DA7图11信号发生器硬件方案这个硬件方案的原理图见附录。14相关电路介绍下面介绍一下本次设计中用到的电路和芯片,其中包括电源电路,晶振电路,TMS320VC5402DSP芯片,D/A转换芯片TLC7528。141核心电路芯片TMS320VC5402使用说明TMS320VC5402数字信号处理器是TI公司为实现低功耗,高速实时信号处理而专门设计的16位定点数字信号处理器,采用改进的哈佛结构,具有高度的操作灵活性和运行速度,适用于远程通信等实时嵌入式应用的需要。广泛应用于电子测试、电子设计、模拟仿真、通信工程中。TMS320VC5402具有的主要优点如下1围绕一组程序总线、三组数据总线和四组地址总线而建立的改进哈佛结构,提高了系统的多功能性和操作的灵活性。该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、执行指令操作、数据吞吐并行完成,大大提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。2具有高度的并行性和专用硬件逻辑的CPU设计,提高了芯片的性能。3具有完善的寻址方式和高度专业化指令系统,更适用于快速算法的实现和高级语言编程的优化。4模块化结构设计,使派生器件得到了更快的发展。5采用先进的IC制造工艺,降低了芯片的功耗,提高了芯片的性能。6采用先进的静态设计技术,进一步降低了功耗,使芯片具有更强的应用能力。TMS320VC5402主要有中央处理器CPU,特殊功能寄存器,数据存储器RAM,程序存储器ROM,I/O接口功能,串行口,主机通信接口HPI,定时器,中断系统等10部分组成。各部分功能如下1中央处理器(CPU)它是DSP芯片的核心,它有以下特点A采用多总线结构,通过一组程序总线、三组数据总线和四组地址总线来实现。B40位算术逻辑运算单元ALU,包括一个40位的桶形移位寄存器和两个独立的40位累加器。C1717位并行乘法器,与40位专用加法器相连,可用于进行非流水线的单周期乘法累加运算。D比较、选择、存储单元,可用于VITERBI译码器的加法比较选择运算。E指数编码器,是一个支持单周期指令EXP的专用硬件。可以在一个周期内计算40位累加器数值的指数。F配有两个地址生成器,包括8个辅助寄存器和2个辅助寄存器运算单元。2数据存储器RAMTMS320VC5402有两种片内数据存储器A双寻址RAM在一个指令周期内,可对其进行两次存取操作,一次读出和一次写入;B双寻址RAM在一个指令周期内,只能进行一次存取操作。3程序存储器ROMTMS320VC5402的程序存储器可由ROM和RAM配置而成,程序空间可以定义在ROM上,也可以定义在ROM上。当需要高速运行程序时,可以将片外ROM中的程序调入到片内RAM中,以提高程序运行速度。降低对外部ROM的要求,增强系统整体抗干扰性能。4I/O口TMS320VC5402芯片只有两个通用I/O引脚BIO和XF,BIO主要用来监测外部设备工作状态,而XF用来发信号给外部设备。另外,芯片还配有主机接口HPI,同步串行口和64K字的I/O空间,HPI和串行口通过控制,用做通用I/O口使用。而64K字I/O空间可通过外加缓冲器或锁存电路,配合外部I/O读写控制时序构成片外外设的控制电路。5定时器定时器是一个软件可编程计数器,用来产生定时中断。定时器主要由定时寄存器TM,定时周期寄存器PRD,定时控制寄存器TCR及相应的逻辑控制电路组成。其中寄存器TIM、PRD和TCR都是存储映象寄存器,它们在数据存储器中的地址分别为0024H、0025H和0026H。TIM是一个减1寄存器。PRD用来存放定时时间常数。TCR中包含定时器的控制位和状态位。定时器结构图如图12所示预定分频系数预标定时器周期寄存器定时寄存器错位错位SRESETTRBCLCKOUTTSSTINTTOUT图12定时器结构框图6中断系统TMS320VC5402的中断系统具有硬件中断和软件中断。硬件中断由外围设备引起的中断分为片外外设所引起的中断和片内外设所引起的中断。软件中断有程序指令INTR、TRAP和RESET所引起的中断。中断管理优先级为1116个固定级,有4种工作方式。TMS320VC5402中断系统设置有两个中断寄存器,分别为中断标志寄存器和中断屏蔽寄存器。中断标志寄存器是一个存储映象寄存器,当一个中断出现时,IFR中相应的中断标志位置1,直到CPU识别该中断为止。中断屏蔽寄存器也是一个存储映象的CPU寄存器,主要用于屏蔽外部和内部的硬件中断。如果状态寄存器ST1中的INTM0,IMR寄存器中的某位置1,就能开放相应的中断。由于RS和NMI都不包含在IMR中,因此IMR对这两个中断不能进行屏蔽。7主机接口HPIHPI是一个与主机通信的并行接口,主要用于DSP与其他总线或CPU进行通信,信息可通过TMS320VC5402的片内存储器与主机进行数据交换。不同型号的器件配置不同的HPI口,可分为8位标准HPI口、8位增强型HPI接口和16位增强型HPI接口。其框图如图13所示HPI控制寄存器MUXMUXHPI控制逻辑HPI寄存器816DSP地址DSP数据HD接口控制信号HPI数据锁存器168图13HPI接口框图8指令系统支持单指令重复和块指令重复;支持存储器块传送指令;支持32位长操作数指令;具有支持2操作数或3操作数的读指令;具有能并行存储和并行加载的算术指令;支持条件存储指令及中断快速返回指令。9片外围电路具有软件可编程等待状态发生器;设有可编程分区转换逻辑电路;带有内部震荡器或外部时钟源的片内锁相环发生器;支持全双工操作的串行口,可进行8位或16位串行通信。分为单通道同步串行口SP、带缓冲器多通道同步串行口BSP、并行带缓冲器多通道同步串行口MCBSP及时分多通道带缓冲器串行口TMD;带4位预定标器的16位可编程定时器;设有与主机通信的并行接口HPI;具有外部总线判断控制,以断开外部的数据总线、地址总线和控制信号;数据总线具有总线保持器的特性。142D/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结构框图TLC7528的结构框图如图14所示图14TLC7528的结构框图2基本参考应用图示如下INPUTBUFFERLATCHCONTROLLOGICLATCHDACADACAVDD17DB014DB77DACA/6DACBCS15WR16DGNDREFBREBAOUTAOUTBRFBBAGND图15TLC7528的基本参考应用图3TLC7528的引脚描述引脚名称描述引脚名称描述1AGND模拟地11OUTB通道2输出2OUTA通道1输出12RFTB通道2反馈电压3RFBA通道1反馈电压13REFB通道2参考电压4REFA通道1参考电压14VDD驱动电压5DGND数字地15WR读写选通6A/B通道1,2选通16CS片选7DB7数据位717DB0数据位08DB6数据位618DB1数据位19DB5数据位519DB2数据位210DB4数据位420DB3数据位3表11TLC7528的引脚定义4简单应用及时序介绍TLC7528的两路转换通道分别映射在5416I/O空间的地址0X1000和0X1001。向该地址写入的数据会直接送到TLC7528进行转换。TLC7528启动转换时序如图所示图16TLC7528启动转换时序5TLC7528的工作原理TLC7528包括两个相同的8位乘法D/A转换器DACA和DACB。每一个DAC由反相R2R梯形网络、模拟开关以及数据锁存器组成。二进制加权电流在DAC输出与AGND之间切换,于是在每一个梯形网络分支中保持恒定电流,与开关状态无关。大多数仅需要加上外部运算放大器和电压基准。TLC7528通过数据总线、CS、WR以及DACA与DACB等控制信号与微处理器接口。当CS与WR均为低电平时TLC7528模拟输出对DB0DB7数据总线输入端的活动做出响应。在此方式下,输入锁存器是透明的,输入数据直接影响模拟输出。当CS与WR信号变为高电平时,DB0DB7输入端上的数据被锁存,直到CS与WR信号再次变为低电平时为止。CS为高电平时,不管WR的信号为何种状态,数据输入被禁止。当用5V电源电压工作时,此器件的数字输入提供TTL兼容,此器件可以用在5V15V范围内任何电源电压工作,但是,电源电压工作在5V以上时,输入逻辑电平与TTL不兼容。143电源电路和晶振电路使用说明一个完整的DSP系统通常是由DSP芯片和其他相应的外围芯片组成的,下面介绍本次设计中用到的电源电路、复位电路和晶振电路。1电源电路使用说明TMS320VC5402DSP芯片采用低电压设计,并且采用双电源供电,即内核电源CVDD和I/O电源DVDD。I/O电源采用33V电源供电,而内核电源采用16V供电,降低内核电源的目的是为了降低功耗。由于TMS320VC5402DSP芯片采用双电源供电,使用时需要考虑它们的加电次序。在理想情况下,DSP芯片上的两个电源应该同时加电,但在有些场合很难做到。若不能做到同时加电,应先对DVDD加电,然后再对CVDD加电,同时要求DVDD电压不超过CVDD电压2V。这个加电次序主要依赖于芯片内部静电保护电路。内部保护电路如图17所示DVDDCVDD图17内部静电保护电路图从图中可以看出,DVDD电压不超过CVDD电压2V,即用4个二极管降压,而CVDD电压不超过DVDD电压05V,即一个二极管降压,否则有可能损坏芯片。下图18是产生33V的电源电路1234ABCD4321DCBATITLENUMBERREVISIONSIZEA4DATE12JUN2007SHEETOFFILED启启启TWTWDDBDRAWNBYC10104C26104VIN1GND2VOUT3U6111733VCC33V图18产生33V的电源电路这个是产生33V电压的电路图,考虑大部分数字系统使用的电源是5V,图中VCC采用5V电压。通过电压调节器产生33V电压。下图19是产生16V电压的电路1234ABCD4321DCBATITLENUMBERREVISIONSIZEA4DATE12JUN2007SHEETOFFILED启启启TWTWDDBDRAWNBYR49200KR5056KC9104C11104VIN1GND2VOUT3U9111733C310UC510UVCC16VGND图19产生16V的电源电路这个是产生16V电压的电路图,和产生33V电压的电路相同,考虑大部分数字系统使用的电源是5V,所以图中VCC采用5V电压。通过电压调节器产生16V电压。2晶振电路说明振荡器是用来将直流电源能量转换为一定波形的交变振荡信号能量的转换电路。利用石英晶体的压电效应可以做成晶体谐振器。石英晶振的固有频率十分稳定,它的温度系数(温度变化1C所引起的固有频率相对变化量)在106以下。另外,石英晶振的振动具有多谐性,即除了基频振动以外,还可利用其泛音振动。前者称基频晶体,后者称泛音晶体。在工作频率较高的晶体振荡器中,多采用泛音晶体振荡电路。在泛音晶振电路中,为了保证振荡器能准确地振荡在所需要的奇次泛音上,不但必须有效的抑制掉基频和低次泛音上的寄生振荡,而且必须正确的调节电路的环路增益,使其在工作泛音频率上略大于1,满足起振条件。而在更高的泛音频率上都小于1,不满足起振条件。本次设计所用的晶振电路如图110所示1234ABCD4321DCBATITLENUMBERREVISIONSIZEA4DATE12JUN2007SHEETOFFILED启启启TWTWDDBDRAWNBYY116C112PC212PX1X2图110晶振电路图第二章软件系统设计在应用系统中,系统软件是建立在具体的硬件基础上的,根据系统功能要求可靠的实现系统的各种功能。好的软件设计能够充分发挥微控制器的运算和逻辑控制功能,从而提高仪器的精度和使用的方便性。在DSP的开发应用系统中,汇编语言虽然仍然为主要编程语言,但C语言也已经逐渐被引入,C语言是一种通用的计算机程序设计语言,和汇编语言相比,用C语言开发的程序有可读性好,移植性较高,编程简单,可缩短开发周期等等优点。所以,在这个设计中,我们产生各种波形所用到的软件程序都用C语言来编写应用程序。由于调试程序需要使用CCS系统,而连接PC机和DSP芯片需要ICETEK5100USB20系统,所以下面对它们分别做以介绍。21ICETEK5100USB20使用说明本次设计使用的是ICETEK5100USB20作为连接PC机与DSP芯片的工具,ICETEK5100是使用并口和PC机相连接的,在使用该系统之前要正确配置并行端口和开发系统相应的设置,一般的,台式机并行端口有三种工作模式SPP、EPP、ECP,ICETEK5100可以在SPP和EPP两种模式下工作,所以要把计算机的并行端口配置为SPP或EPP模式。我们把并行端口配置为EPP模式。ICETEK5100有如下优点兼容TI全系列DSP产品,包括TMS320C2000,C5000,C6000,VC33等;完全通用,只需改变软件就可以实现所有DSP器件开发;USB20接口,仿真速度快,调试方便;支持CCS集成调试环境;USB20接口,支持热插拔;仿真不占用任何DSP资源;支持多DSP同时调试仿真;可在多种操作系统如WIN98/WIN2000/WXP下使用。由于以上这些优点,所以选择该器件作为连接PC机与DSP的工具。22锯齿波的设计方案锯齿波的产生方法流程图所示,初始化操作包括关闭所有中断,以免对输出波形产生影响,同时允许D/A输出,然后置锯齿波的初值0,把锯齿波的初值输出到D/A转换芯片,然后再对锯齿波的值加1,输出到D/A转换芯片,接下来判断锯齿波是否达到最大值,如果达到最大值,则代表一个锯齿波输出完成,程序返回,如果没有达到最大值,则说明锯齿波的输出没有完成,就返回加1指令,直到锯齿波的输出值达到最大。整个程序输出经过D/A转换器转换后能够以模拟波形输出,便于观察。程序设置是双通道输出,即有两个通道同时输出波形,这两个通道的波形的频率、相位和幅度可以不同,我们可以用示波器上的双通道输入模式来同时观察两个波形的不同。程序所输出的波形可以通过改变程序改变频率、相位和幅度,以满足不同的需要。锯齿波的设计方案是根据以下流程图实现的开始初始化置锯齿波初值UDA00,UDA10把UDA0和UDA1的值输出到D/A对UDA0和UDA1加1UDA0和UDA1达到最大NOYES图21锯齿波流程图产生锯齿波的程序如下IOPORTUNSIGNEDINTPORT1000,PORT1001,PORT1002;DEFINEDAC0PORT1000DEFINEDAC1PORT1001DEFINELDACPORT1002MAINUNSIGNEDINTUDA0,UDA1,I;UDA00;UDA10;FOR;FORI0;I10000;IDAC0UDA0;DAC1UDA1;LDAC0X1F;UDA00X01;UDA0256;UDA10X05;UDA1256;23三角波的设计方案三角波的产生方法如流程图所示,初始化操作包括关闭所有中断,以免对输出波形产生影响,同时允许D/A输出,然后输出三角波的上升沿,即输出三角波形的值逐渐增大的那一部分,如果三角波的上升沿的值达到最大,接着输出三角波的下降沿部分,直到三角波的下降沿的值达到最小,程序循环就能产生三角波。整个程序经过D/A转换器的转换,可以以模拟波形输出,便于观察。这个程序的输出是双通道的输出,即有两个通道同时输出波形,这两个通道的波形的频率、相位和幅度可以不同,我们可以用示波器上的双通道输入模式来同时观察两个波形的不同。程序所输出的波形可以按照要求改变频率、相位和幅度,以满足不同的需要。初始化三角波的上升沿输出大到D/A三角波的下降沿输出大到D/A开始图22三角波的流程图产生三角波的程序如下IOPORTUNSIGNEDINTPORT100,PORT1001,PORT1002;DEFINEDAC0PORT1000DEFINEDAC1PORT1001DEFINELDACPORT1002MAINUNSIGNEDINTUDA0,UDA1,I;FOR;UDA00;UDA10;FORI0;I256;IDAC0UDA0;DAC1UDA1;LDAC0X1F;UDA0I;UDA1I;UDA0256;UDA1256;FORI0;I256;IDAC0UDA0;DAC1UDA1;LDAC0X1F;UDA0256I;UDA1256I;24方波的设计方案方波的产生方法如流程图所示,初始化操作包括关闭所有中断,以免对输出波形产生影响,同时允许D/A输出,然后输出方波的高电平,经过一段时间的延时,接着输出方波的低电平,也经过一段时间的延时,一个方波就形成了,程序循环,就能够产生连续的方波波形。整个程序经过D/A转换器的转换,可以以模拟波形输出,便于观察。这个程序的输出是双通道的输出,即有两个通道同时输出波形,这两个通道的波形的频率、相位和幅度可以不同,我们可以用示波器上的双通道输入模式来同时观察两个波形的不同。程序所输出的波形可以按照要求改变频率、相位和幅度,以满足不同的需要。方波的设计方案是通过以下流程图实现的开始初始化置方波的高电平UDAO0FFH和UDA10FFHUDA0和UDA1输出到D/A延时置方波的低电平UDAO0和UDA10延时UDA0和UDA1输出到D/A图23方波流程图产生方波的程序如下IOPORTUNSIGNEDINTPORT1000;PORT1001;PORT1002;DEFINEDAC0PORT1000DEFINEDAC1PORT1001DEFINELDACPORT1002MAINUNSIGNEDINTUDA0,UDA1,I;FOR;UDA0256;UDA1256;FORI0;I255;IDAC0UDA0;DAC1UDA1;LDAC0X1F;UDA02550;UDA12550;UDA00;UDA10;FORI0;I255;IDAC0UDA0;DAC1UDA1;LDAC0X1F;UDA000;UDA100;25梯形波的设计方案梯形波的产生方法如程序流程图所示,初始化操作包括关闭所有中断,以免对输出波形产生影响,同时允许D/A输出,梯形波的产生方法中同时用到方波和三角波的产生方法,首先,是输出梯形波的上升沿,使输出值达到最大,接着保持这个最大值输出一段时间,即输出梯形波的高电平,然后输出梯形波的下降沿,使输出值达到最小,保持这个最小值一段时间,就是保持梯形波的低电平输出,这样,一个梯形波就产生了,程序循环,就能连续输出梯形波。整个程序经过D/A转换器的转换,可以以模拟波形输出,便于观察。这个程序的输出是双通道的输出,即有两个通道同时输出波形,这两个通道的波形的频率、相位和幅度可以不同,我们可以用示波器上的双通道输入模式来同时观察两个波形的不同。程序所输出的波形可以按照要求改变频率、相位和幅度,以满足不同的需要。梯形波的设计方案是通过以下流程图实现的开始初始化梯形波的上升沿输出到D/A梯形波的高电平输出到D/A梯形波的下降沿输出到D/A延时梯形波的低电平输出到D/A延时图24梯形波流程图产生梯形波的程序如下IOPORTUNSIGNEDINTPORT1000;PORT1001;PORT1002;DEFINEDAC0PORT1000DEFINEDAC1PORT1001DEFINELDACPORT1002MAINUNSIGNEDINTUDA0,UDA1,I;FOR;UDA00;UDA10;FORI0;I255;IDAC0UDA0;DAC1UDA1;LDAC0X1F;UDA0I;UDA1I;UDA0256;UDA1256;FORI0;I255;IDAC0UDA0;DAC1UDA1;LDAC0X1F;UDA02550;UDA12550;FORI0;I255;IDAC0UDA0;DAC1UDA1;LDAC0X1F;UDA0255I;UDA1255I;UDA00;UDA10;FORI0;I255;IDAC0UDA0;DAC1UDA1;LDAC0X1F;UDA000;UDA100;26正弦波的设计方案正弦波的产生方法有两种,一种使通过查表的方法产生,这种方法主要用于对精度要求不高的场合,把计算过的正弦量存放在一个表格中,通过对表格的调用产生波形信号,所以,如果精度要求过高,表就会很大,相应的存储器容量也就要求很大;另外一种方法是泰勒级数展开法,这是一种比查表更为有用的方法,与查表法相比,这种方法需要的存储单元很少,而且精度高。但是,这种方法需要的计算量就比较大,相应的速度就受到限制。这里我们用查表的方法来设计正弦信号发生器。程序开始首先进行初始化的操作,初始化操作包括关闭所有中断,以免对输出波形产生影响,同时允许D/A输出,初始化后设置读正弦波的指针,使这两个指针的初始值都为0,即读数时从正弦值表的第一个数开始读,然后输出到D/A转换器,接着指针加1,读下一个数,然后再输出。程序就是这样循环运行,直到正弦波的所有值都被读出来为止,这样一个正弦波的所有值都被输出到D/A转换器,经过D/A转换器转换,形成模拟波形,这样我们就能够在示波器上观察产生的波形是否符合我们的要求。这个程序的输出是双通道的输出,即有两个通道同时输出波形,这两个通道的波形的频率、相位和幅度可以不同,我们可以用示波器上的双通道输入模式来同时观察两个波形的不同。当然,这个程序产生的正弦波的波形的频率、相位和幅度可以通过改变程序来改变,使用相当的灵活,可以满足不同的要求。下面是产生正弦波的流程图开始初始化设置读正弦波的值的指针UDAO0和UDA10读取正弦波的值存于寄存器寄存器中的值输出到D/A读取正弦波的值的指针加1图25正弦波流程图产生正弦波的程序如下IOPORTUNSIGNEDINTPORT1000,PORT1001,PORT1002;DEFINEDAC0PORT1000DEFINEDAC1PORT1001DEFINELDACPORT1002INTCOSN289219,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,;MAINUNSIGNEDINTUDA0,UDA1,I;FOR;UDA00;UDA10;FORI0;I289;IDAC0UDA0;DAC1UDA1;LDAC0X1F;UDA0COSNI;UDA1COSNI;27软件调试系统使用说明CCS是一种针对TMS320系列DSP芯片的集成开发环境,在WINDOWS操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调试、跟踪和分析等工具,可以帮助用户在一个软件环境下完成编辑、编译、连接、调试和数据分析等工作。CCS有两种工作模式,即软件仿真器和硬件在线编程,软件仿真器模式可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。硬件在线编程可以实时运行在DSP芯片上,与硬件开发板相结合进行在线编程和调试应用程序。TI公司有多种不同时期的版本,针对不同系列的DSP器件可分为C2000、C3000、C5000和C6000等不同型号。通常一种型号的CCS只适用于一种系列的DSP芯片,由于本次设计选择了TMS320VC5402这种芯片,所以我们选择C5000作为开发环境。C5000具有以下特点1TI编译器的完全集成环境C5000目标管理系统、内建编辑器,以及所有的调试和分析能力都集成在一个WINDOWS环境中。2对C和DSP汇编文件的目标管理目标文件保持对所有文件及相关内容的跟踪。它只对最近一次编译中改变过的文件重新编译,以节省编译时间。3高集成的编辑器调整C和DSP汇编代码C5000的内建编辑器支持C和汇编文件的动态语法加亮显示,使用户很容易的阅读代码和当场发现语法错误。4编辑和调试时的后台编辑用户在使用编译器和汇编器时没必要退出系统到DOS环境中。因为C5000会自动将这些工具交互式的装载到它的环境中。在编译器和汇编器窗口中,错误会加亮显示,只要双击错误就可以直接对错误进行修改。5对C语言文件和DSP汇编语言的目标管理编辑器能跟踪所有文件及相关内容,这样,编辑只对最近一次编译中改变过的文件进行编译,节省了编译时间。C5000在WINDOWS98、WINDOWS2000以及XP支持多处理,并行管理调试器允许将命令传送给所有的或选择的处理器。6在任何算法点可观察信号的图形窗口探针通过图形显示窗口能够观察时域或频域内的信号。对于频域图,FFT在主机内执行,这样就可以观察所感兴趣的部分而不必改变它的DSP代码。图形显示也可以同探针连接,当前显示窗口被更新时,探针被指定,这样当代码执行到达该点时,就可以迅速观察到信号。7文件探针在算法处通过文件提取加入信号或者数据C5000允许用户从PC读或写信号流,而不是实时的读信号,这就可以用已知的例子来仿真算法。8图形分析C5000的分析能力在其环境中是集成的。9在后台执行用户的DOS程序用户可以执行C5000中的DOS程序,并将其输出以流水方式送到C5000的输出窗口,且允许用户将应用集成到C5000。10技术状态观察窗口C5000的可视窗口允许用户进入C表达式及相关变量。结构,数组,指针都能简单地递归扩展,以便进入复杂结构。11代数分析窗口允许用户选择查看写成代数表达式的C格式。从而容易读懂操作码。12目标DSP上的帮助DSP结构和寄存器上的在线帮助可以使用户不必查看技术手册。13用户扩展扩展语言使用户可以将菜单项加到C5000的菜单栏中。14完全的开发环境C5000将TI的编译器、汇编器、链接工具都集成到他的开发环境中。用户可以从菜单栏中选用TI的工具,并可以直接看到输出到窗口的编译结果。同时,出错信息将加亮显示,双击出错信息可以打开原文件,光标将会停在出错行。在WINDOWS环境下,用户可以很方便的同时编辑、调试、编译原程序。代码编译器可以跟踪一个项目中所有的文件以及相关内容。用户可以选择编译单个文件或将所有文件建到一个项目中,或逐步建项目。在编译器、汇编器和链接器选项中有很容易使用的对话框。C5000的可视窗口使用户能够容易理解复杂结构。只要将光标在相关变量处并按下回车键,诸如数组、结构、指针的变量就可以递归增加或减少。另外,添加到可视窗口的变量可以通过双击该变量来编辑。C表达式和GEL函数也可以添加到可视窗口。将GEL函数添加到可视窗口,就可以在每个断点处执行。通过GEL函数,可以执行更复杂任务,将结果输出到窗口。探针允许用户观察信号或在算法上加入或提取数据。它可以链接到结构点或存储空间。到达算法里的指定点时,已链接的信号探针就会从目标DSP中提取数据并显示。如果将文件同指定点链接,数据就会在指定的存储空间与文件进行传输。操作一结束,执行就开始。这种特性使开发者能够很快地观察到目标内存并通过文件在特定的算法点增加或提取数据。利用动画特性,开发者可以通过使用PC磁盘中的实信号细致的观察和执行信号,而不用改变源代码。C5000的主要功能1具有可视化代码编辑界面,用户可通过界面直接编写C语言程序、汇编语言程序、CMD文件。2含有集成代码生成工具,包括汇编器、优化C编译器、链接器等,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中。3高性能的编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码和发现语法错误。4工程项目管理工具可对用户程序实行项目管理,在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理。5基本调试工具具有装入执行代码、查看寄存器、存储器、反汇编、变量窗口等功能,并支持C源代码级调试。6断点工具能在程序调试的过程中,完成硬件断点、软件断点和条件断点的设置。7探测点工具可用于算法仿真、数据的实时监视等。8分析工具包括模拟器分析和仿真器分析,可进行模拟和监视硬件的功能、评价代码执行的时钟。9数据的图形显示工具可以将运算结果用图形显示,包括显示时域/频域波形、眼图、星座图、图象等,并能自动刷新。10提供GEL工具。利用GEL扩展语言,用户可以编写自己的控制面板/菜单,设置GEL菜单功能,可方便直观地修改变量和配置参数等。11支持RTDX(REALTIMEDATAEXCHANGE)技术,可在不中断目标系统运行的情况下,实现DSP与其他应用程序的数据交换。12提供DSP/BIOS工具,可增强对代码的实时分析能力,如代码执行的效率、调度程序执行的优先级、方便管理或使用系统资源,从而减少开发人员对硬件熟悉程度的依赖性。下面以介绍如何调试软件1首先创建一个新文件,方法如下首先选择主菜单的“FILE”中的“NEW”项,将在编辑窗口中显示一个新的窗口,在该窗口中编辑文本输入正弦波源程序,程序编写完成后,保存该程序,我们选择暂时保存与桌面,暂时文件名命名为ZHENGXIAN,扩展名为“C”。保存文件。2然后创建一个工程文件,选择“PROJECTNEW工程新工程”,在PROJECT栏中输入工程名字ZHENGXIAN,工程文件的扩展名是PJT。默认的工作目录是CTIMYPROJECTS,其他两项默认即可。单击完成按钮,将在工程窗口的PROJECT下面创建ZHENGXIAN工程。3然后我们向工程中添加源文件,将刚才保存与桌面的ZHENGXIANC文件复制到新建的“CTIMYPROJECTSZHENGXIAN”目录下。接着选择“PROJECTADDFILESTOPROJECT”在文件加载对话框中选择ZHENGXIANC文件,单击“打开”按钮将ZHENGXIANC添加到工程中。4接着我们将VECTORASM添加到工程中。VECTORASM中包含的将是RESET中断指向C程序入口CINT00的汇编指令和其他中断的入口指令。5将VOLUMECMD添加到工程文件中。该文件的作用是将段分配到存储器中。将LOADASM添加到工程文件中。该文件包含一个简单的汇编循环程序,被C程序调用,调用时带有一个参数(ARGUMENT),执行次程序共需约1000VOLUME个指令周期。6将“CTIC5400CGTOOLSLIB”下的RTSLIB加入到工程文件中。该文件是采用C语言开发DSP应用程序的运行支持库函数。把文件添加完以后我们进行编译和运行程序1选择“PROJECTREBUILDALL(工程重新编译)”,对工程进行重新编译。在编译过程中,如果出现错误,编译结果就会有提示,并且用红色字体显示,双击即可发现错误出现位置便于修改。2选择“FILELOADPROGRAM文件下载程序”,选ZHENGXIANOUT并打开,将BUILD生成的程序加载到DSP。3选择“DEBUGRUN(调试运行)”程序开始执行。程序执行以后,我们就可以根据显示出来的波形来发现程序编写的是

温馨提示

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

评论

0/150

提交评论