




免费预览已结束,剩余20页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP课程结题设计论文第一章 绪论1.1 DSP的基本原理数字信号处理(简称DSP)是一门涉及多门学科并广泛应用于很多科学和工程领域的新兴学科。数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效的传输与应用。数字信号处理是以众多学科为理论基础,它所涉及的范围极其广泛。如数学领域中的微积分、概率统计、随机过程、数字分析等都是数字信号处理的基础工具。它与网络理论、信号与系统、控制理论、通信理论、故障诊断等密切相关。DSP可以代表数字信号处理技术(Digital SignalProcessing),也可以代表数字信号处理器(Digital Signal Processor)。前者是理论和计算方法上的技术,后者是指实现这些技术的通用或专用可编程微处理器芯片。 数字信号处理包括两个方面的内容:1.法的研究 2数字信号处理的实现 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。数字信号处理的实现方法一般有以下几种: (1) 在通用的计算机(如PC机)上用软件(如Fortran、C语言)实现;(2)在通用计算机系统中加上专用的加速处理 (3) 用通用的单片机(如MCS-51、96系列等)实现,这种方法可用于一些不太复杂的数字信号处理,如数字控制等;(4) 用通用的可编程DSP芯片实现。与单片机相比,DSP芯片具有更加适合于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法;(5) 用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现,例如专用于FFT、数字滤波、卷积、相关等算法的DSP芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无需进行编程。在上述几种方法中,第1种方法的缺点是速度较慢,一般可用于DSP算法的模拟;第2种和第5种方法专用性强,应用受到很大的限制,第2种方法也不便于系统的独立运行;第3种方法只适用于实现简单的DSP算法;只有第4种方法才使数字信号处理的应用打开了新的局面。虽然数字信号处理的理论发展迅速,但在20世纪80年代以前,由于实现方法的限制,数字信号处理的理论还得不到广泛的应用。直到20世纪70年代末80年代初世界上第一片单片可编程DSP芯片的诞生,才将理论研究结果广泛应用到低成本的实际系统中,并且推动了新的理论和应用领域的发展。可以毫不夸张地说,DSP芯片的诞生及发展对近20年来通信、计算机、控制等领域的技术发展起到十分重要的作用。1.2 DSP芯片的基本结构,原理和功能数字信号处理器(DSP)是一种特别适合于进行数字信号处理运算的微处理器,主要用于实时快速实现各种数字信号处理的算法。数字信号处理不同于普通的科学计算与分析,它强调运算的实时性。除了具备普通微处理器所强调的高速运算和控制能力外,针对实时数字信号处理的特点,在处理器的结构、指令系统、指令流程上作了很大的改进,其主要特点如下:(1) 冯诺伊曼(Von Neuman)结构该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。图1 冯诺伊曼(Von Neuman)结构(2)哈佛(Harvard)结构该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。微处理器的哈佛结构如图2所示。 图2 哈佛结构(3)改进型的哈佛结构改进型的哈佛结构是采用双存储空间和数条总线,即一条程序总线和多条数据总线。其特点如下: 允许在程序空间和数据空间之间相互传送数据,使这些数据可以由算术运算指令直接调用,增强芯片的灵活性; 提供了存储指令的高速缓冲器(cache)和相应的指令,当重复执行这些指令时,只需读入一次就可连续使用,不需要再次从程序存储器中读出,从而减少了指令执行作需要的时间。如:TMS320C6200系列的DSP,整个片内程序存储器都可以配制成高速缓冲结构。 1.3 DSP芯片的特点(1)采用多总线结构 DSP芯片都采用多总线结构,可同时进行取指令和多个数据存取操作,并由辅助寄存器自动增减地址进行寻址,使CPU在一个机器周期内可多次对程序空间和数据空间进行访问,大大地提高了DSP的运行速度。如:TMS320C54x系列内部有P、C、D、E等4组总线,每组总线中都有地址总线和数据总线,这样在一个机器周期内可以完成如下操作: 从程序存储器中取一条指令;从数据存储器中读两个操作数;向数据存储器写一个操作数。 (2)采用流水线技术 利用这种流水线结构,加上执行重复操作,就能保证在单指令周期内完成数字信号处理中用得最多的乘法 - 累加运算。如: 图3 四级流水线(3) 配有专用的硬件乘法-累加器 为了适应数字信号处理的需要,当前的DSP芯片都配有专用的硬件乘法-累加器,可在一个周期内完成一次乘法和一次累加操作,从而可实现数据的乘法-累加操作。如矩阵运算、FIR和IIR滤波、FFT变换等专用信号的处理。 (4) 具有特殊的DSP指令 为了满足数字信号处理的需要,在DSP的指令系统中,设计了一些完成特殊功能的指令。如:TMS320C54x中的FIRS和LMS指令,专门用于完成系数对称的FIR滤波器和LMS算法。 (5)快速的指令周期 由于采用哈佛结构、流水线操作、专用的硬件乘法器、特殊的指令以及集成电路的优化设计,使指令周期可在20ns以下。如:TMS320C54x的运算速度为100MIPS,即100百万条/秒。(6)硬件配置强 新一代的DSP芯片具有较强的接口功能,除了具有串行口、定时器、主机接口(HPI)、DMA控制器、软件可编程等待状态发生器等片内外设外,还配有中断处理器、PLL、片内存储器、测试接口等单元电路,可以方便地构成一个嵌入式自封闭控制的处理系统。 (7)支持多处理器结构 为了满足多处理器系统的设计,许多DSP芯片都采用支持多处理器的结构。如:TMS320C40提供了6个用于处理器间高速通信的32位专用通信接口,使处理器之间可直接对通,应用灵活、使用方便;(8)省电管理和低功耗 DSP功耗一般为0.54W,若采用低功耗技术可使功耗降到0.25W,可用电池供电,适用于便携式数字终端设备。1.4 TMS320C54xDSP芯片的主要特性TMS320C54x(简称C54x)是TI公司为实现低功耗、高速实时信号处理而专门设计的16位定点数字信号处理器,采用改进的哈佛结构,具有高度的操作灵活性和运行速度,适应于远程通信等实时嵌入式应用的需要,现已广泛地应用于无线电通信系统中。 TMS320C54X是为实现低功耗、高性能而专门设计的定点DSP芯片,其主要应用是无线通信系统等。该芯片的内部结构与TMS320C5X不同,因而指令系统与TMS320C5X和TMS320C2X等是互不兼容的。1.4.1 TMS320C54X的主要特点包括:(1) 运算速度快。指令周期为25/20/15/12.5/10ns,运算能力为40/50/66/80/100 MIPS;(2) 优化的CPU结构。内部有1个40位的算术逻辑单元,2个40位的累加器,2个40位加法器,1个1717的乘法器和1个40位的桶形移位器。有4条内部总线和2个地址产生器。此外,内部还集成了维特比加速器,用于提高维特比编译码的速度。先进的DSP结构可高效地实现无线通信系统中的各种功能,如用TMS320C54X实现全速率的GSM 需12.7 MIPS,实现半速率GSM 需26.2 MIPS,而实现全速率GSM 语音编码器仅需2.3 MIPS,实现IS-54/136 VSELP语音编码仅需12.8 MIPS;(3) 低功耗方式。TMS320C54X可以在3.3V或2.7V电压下工作,三个低功耗方式(IDLE1、IDLE2和IDLE3)可以节省DSP的功耗,TMS320C54X特别适合于无线移动设备。用TMS320C54X实现IS54/136 VSELP语音编码仅需31.1mW,实现GSM 语音编码器仅需5.6mW;(4) 智能外设。除了标准的串行口和时分复用(TDM)串行口外,TMS320C54X还提供了自动缓冲串行口BSP(auto-Buffered Serial Port)和与外部处理器通信的HPI(Host Port Interface)接口。BSP可提供2K字数据缓冲的读写能力,从而降低处理器的额外开销,指令周期为20ns时,BSP的最大数据吞吐量为50M bit/s,即使在IDLE方式下,BSP也可以全速工作。HPI可以与外部标准的微处理器直接接口。表1是TMS320C54X系列部分DSP芯片比较表。TMS320C54X指令周期(ns)工作电压(V)片内RAM(字)片内ROM(字)串行口BSPHPIC54120/255/3.3/3.05K28K2个标准口C54220/255/3.3/3.010K 2K1个TDM口11C54320/253.3/3.010K2K1个TDM口1C54520/253.3/3.06K48K1个标准口11C54620/253.3/3.06K48K1个标准口1C54815/20/253.3/3.032K2K1个TDM口21LC/VC54910/12.5/153.3/2.532K16K1个TDM口21VC5402103.3/1.816K4K21表1 TMS320C54X的资源配置1.4.2 TMS320C54xDSP芯片的主要特性:(1)CPU1、先进的多总线结构。2、40位算术逻辑运算单元(ALU),包括1个40位桶形移位寄存器和2个独立的40位累加器。3、17位*17位并行乘法器,与40位专用加法器相连,用与非流水线式单周期乘法/累加(MAC)运算。4、比较、选择、存储单元(CSSU),用于加法/比较选择。5、指数编码器,可以在单个周期内计算40位累加器中数值的指数。6、双地址生成器,包括8个辅助寄存器和2个辅助寄存器算术运算单元(ARAU)。(2)存储器1、192K字可寻址存储空间(64K字程序存储器、64K字数据存储器以及64K字I/O空间),在C548和C549中存储空间可扩展至8M字。2、片内ROM,可配置为程序/数据存储器。3、片内双寻址RAM(DARAM)。4、片内单寻址RAM(SARAM)(仅C548和C549)。(3)指令系统1、单指令重复和块指令重复操作。2、块存储器传送指令。3、32位长操作数指令。4、同时读入2或3个操作数的指令。5、能并行存储和并行加载的算术指令。6、条件存储指令。7、从中断快速返回。(4)在片外围电路1、软件可编程等待状态发生器。2、可编程分区转换逻辑电路。3、带有内部振荡器或用外部时钟源的片内锁相环(PLL)时钟发生器。4、全双工串行口,支持8位或16位传送(仅C541、LC545和LC546)。5、时分多路(TDM)串行口(仅C542、C543、C546、C548和C549)。6、缓冲串行口(BSP)(仅C542、C543、C545、C546、C548和C549)。7、16位可编程定时器。8、8位并行主机接口(HPI)(C542、C545、C548和C549)。9、外部总线关断控制,以断开外部的数据总线、地址总线和控制信号。10、数据总线具有总线保持器特性。(5)电源1、可用IDLEI、IDLE2和IDLE3指令控制功耗,以工作在省电方式。2、CLKOUT输出信号可以关断。(6)在片坊真接口1、具有符合IEEE1149.1标准的在片坊真接口。(7)速度1、单周期定点指令执行时间为:25/20/15/12.5/10ns(40/50/66/80/10/MIPS)。1.5 用DSP实现正弦函数的基本算法在通信、仪器和控制等领域的信号处理系统中,可能会用到正弦发生器。产生正弦波的方法:1、查表法。此中方法用于对精度要求不是很高的场合。如果要求精度高,表就很大,相应的存储器容量也要增大。2、台劳级数展开法。这是一种更为有效的方法。与查表法相比,需要的存储单元很少,而且精度很高。一个角度的正弦和余弦函数,都可以展开成台劳级数,取其前5项进行近似:Sin=x-x3/3!+x5/5!-x 7/7!+x9/9!=x(1-x2/2*3(1-x2/4*5(1-x2/6*7(1-x2 /8*9)Cos=1-x2 /2!+x4 /4!-x6 /6!+x8 /8!=1-x2 /2!(1-x2 /3*4(1-x 2/5*6(1-x2 /7*8)上式中的X为的弧度值。也可以有递推公式求正弦和余弦值:Sin n=2cos*sin(n-1)-sin(n-2)Cos n=2cos*cos(n-1)-cos(n-2)利用递推公式计算正弦和余弦值需已知Cos和正、余弦的前两个值。用这种方法,求少数点还可以,如产生连续正弦、余弦波,则积累误差太大,不可取。第二章 CCS集成开发环境利用CCS集成开发环境,用户可以在一个开发环境下完成工程定义、程序编辑、编译链接、调试和数据分析等工作环节.2.1 CCS集成开发环境简介CCS开发应用程序的一般步骤:打开或创建一个工程文件.工程文件中包括源程序(C或汇编)、目标文件、库文件、连接命令文件和包含文件.编辑各类文件.如头文件(.h文件),命令文件(.cmd文件)和源程序(.c,.asm文件)等.可以使用一般的编辑软件或CCS集成编辑环境进行各类文件编辑.对工程进行编译.如果有语法错误,将在构建(Build)窗口中显示出来.用户可以根据显示的信息定位错误位置,更改错误.排除程序的语法错误后,用户可以对计算结果/输出数据进行分析,评估算法性能.CCS提供了探针、图形显示、性能测试等工具来分析数据、评估性能.图4 CCS集成环境窗口示例图4中为一个典型的CCS集成环境窗口示例.整个窗口由主菜单、工具条、工程窗口、编辑窗口、图形显示窗口、内存单元显示窗口和寄存器显示窗口等构成.2.2 建立工程文件CCS采用工程文件来集中管理一个工程.一个工程包括源程序、库文件、链接命令文件和头文件等,它们按照目录树的结构组织在工程文件中.工程构建(编译链接)完成后生成可执行文件.工程视窗显示了工程的整个内容.例如图2-4显示了工程codec_eg.mak所包含的内容.其中Include文件夹包含源文件中以”.include”声明的文件,Libraies文件夹包含所有后缀为”.lib”的库文件,Source文件夹包含所有后缀为”.c”和”.asm”的源文件.文件夹上的”+”符号表示该文件夹被折叠,”-“表示该文件夹被展开.命令Project New用于创建一个新的工程文件(后缀为”.mak”),此后用户就可以编辑源程序、链接命令文件和头文件等,然后加入到工程中.工程编译链接后产生的可执行程序后缀为”.out”.命令Project Open用于打一个已存在的工程文件. 例如用户打开位于”c:tic5400dsk examplesdsp” 目录下的codec_eg.mak工程文件时, 工程中包含的各项信息也被载入,其工程窗口。如图5所示。图5 工程目录2.3 在工程中添加删除文件以下任一操作都可以添加文件到工程中: 选择命令Project Add File to Project 在工程视图中右键单击调出关联菜单,选择Add File在工程中源文件、链接命令文件及库文件(Libraries)需要用户指定加入,头文件(Include文件)通过扫描相关性(Scan All Dependencies)自动加入到工程中.在工程视图中右键单击某文件,从关联莱单中选择”Remove from project”可以从工程中删除此文件.2.4 编辑源程序CCS集成编辑环境可以编辑任何文本文件(对C程序和汇编程序),可以打开多个窗口或对同一文件打开多个窗口,进行多窗口显示.点击主莱单命令File New Source File弹出编辑窗口进行编辑.2.5 编译和调试A, 载入可执行程序:命令File Load Program载入编译链接好的可执行程序.用户也可以修改”Program Load”属性,使得在构建工程后自动装入可执行程序.设置方法为选择命令Options Program Load.B, 使用反汇编工具:在某些时候(例如调试C语言关键代码),用户可能需要深入到汇编指令一级.此时可以利用CCS的反汇编工具.用户的执行程序(不论是C程序或是汇编程序) 载入到目标板或仿真器时,CCS调试器自动打开一个反汇编窗口.如图6所示.图6 反汇编窗口C, 断点:1、断点设置:有两种方法可以增加一条断点:1.使用断点对话框选择命令Debug Breakpoints将弹出对话框如图7所示.在”Breakpoint Type”栏中可以选择”无条件断点(Break at Location)”或”有条件断点(Break at Location if expression is TRUE)”.在”Location”栏中填写需要中断的指令地址.用户可以观察反汇编窗口,确定指令所处地址.对C代码,由于一条C语句可能对应若干条汇编指令,难以用唯一地址确定位置.为此可以采用”filename line lineNumber”的形式定位源程序中的一条C语句.断点类型和位置设置完成后,依次单击”Add”和”OK”按钮即可.断点设置成功后,该语句条用彩色光条显示.图7 设置断点对话框2.采用工程工具条 将光标移到需要设置断点的语句上,点击工程工具条上的”设置断点”按钮.则该语句位置一断点,默认情况下为”无条件断点”.用户也可以使用断点对话框修改断点属性,例如将”无条件断点”改为”有条件断点”.2、断点的删除在图7所示断点对话框中,单击”Breakpoint”列表中的一个断点,然后点击”Delete”按钮可删除此断点.点击”Delete all”按钮或工程工具条上的”取消所有断点”按钮,将删除所有断点.3、允许和禁止断点在图7所示断点对话框中,单击”Enable All”或”Disable All”将允许或禁止所有断点.”允许”状态下,断点位置前的复选框有”对勾”符号.注意只有当设一断点,并使其”允许”时,断点才发挥作用.D,查看、编辑内存CCS允许显示特定区域的内存单元数据.方法为选择View Memory或单击调试工具条上的”显示内存数据”按钮.在弹出对话框中输入内存变量名(或对应地址)、显示方式即可显示指定地址的内存单元.为改变内存窗口显示属性(如数椐显示格式,是否对照显示等),可以在内存显示窗口中单击右键,从关联莱单中选择Properties即弹出如图8所示的选项对话框. 图8 选项对话框内存窗口选项包括以下内容:Address:输入需要显示内存区域的起始地址.Q Value:显示整数时使用的Q值(定点位置).新的整数值=整数/2Q.Format:从下拉菜单中选取数据显示的格式.Use IEEE Float:是否使用IEEE浮点格式.Page:选择显示的内存空间类型-程序、数据或I/O.Enable Reference Buffer:选择此检查框将保存一特定区域的内存快照以便用于比较.Start Address:用户希望保存到参考缓冲区(Reference Buffer)的内存段的起始地址.只有当用户选中”Enable Reference Buffer”检查框时此区域才被激活.End Address:用户希望保存到参考缓冲区的内存段的终止地址.只有当用户选中” Enable Reference Buffer”检查框时此区域才被激活.Update Reference Buffer Automatically:若选择此检查框,则参考缓冲区的内容将自动被内存段(由定义参考缓冲区的起始/终止地址所规定的区域)的当前内容覆盖.第三章 用CCS环境编程,调试实现正弦函数信号3.1 编写汇编程序sin.asm和vectors.asm3.1.1 正弦波源程序清单sin.asm;This function generates the sine wave of angle using the Taylor series expansion;sin(theta)=x( I-x 2/2 * 3(1-x2/4 * 5(1-x 2/6 * 7(1-x2/8 * 9);cos(theta)=1-x2/2(1-x2/3 * 4(1-x2/5 * 6(1-x2/7 * 8);sin(2 * theta)=2 * sin(theta) * cos(theta).title sin.asm.mmregs.def start;.ref d_xs,d_sinx,d_xc,d_cosx;.ref sinx,d_xs,d_sinx,cosx,d_xc,d_cosxsin_x: .usect sin_x,360STACK: .usect STACK ,10k_theta .set 286 ;theta= pi/360(0. 5deg. )PA0 .set 0start:.textSTM #STACK + 10, SPSTM k_theta, AR0 ;ARO-k theta (increment)STM 0,AR1 ;(ARl)=x(rad. )STM #sin_x, AR6 ; AR6 - - sin xSTM #90, BRC ; form sinO (deg.) sin90 (deg. )RPTB loop1-1LDM AR1, ALD # d_xs, DPSTL A,d_xsSTL A, d_xcCALL sinx ; (d sinx) = sin(x)CALL cosx ; (d cosx) = cos(x)LD #d_sinx,DPLD d_sinx,16 , A ; A= sin(x)MPYA d_cosx ; B= sin(x) * cos(x)STH B,1, *AR6+ ;AR6-2 * sin(x) * cos(x)MAR *AR1+0loop1: STM #sin_x+89, AR7 ; sin91(deg. ).- sin179 (deg. )STM #88, BRCRPTB loop2-1LD *AR7-,ASTL A, *AR6+loop2: STM #179 , BRC ; sin180 (deg.) sin359 (deg. )STM #sin_x, AR7RPTB loop3-1LD *AR7+, ANEG ASTL A, *AR6+loop3: STM #sin_x, AR6 ;generate sin waveSTM #1, AR0STM #360,BKloop4: PORTW *AR6+0%, PA0B loop4sinx:.def d_xs,d_sinx.datatable_s .word 01c7h ;c1=1/(8 * 9) .word 030bh ;c2=1/(6 * 7) .word 0666h ;c3=1/(4 * 5) .word 1556h ;c4=1/(2 * 3)d_coef_s .usect coef_s,4d_xs .usect sin_vars ,1d_squr_xs .usect sin_vars ,1d_temp_s .usect sin_vars ,1d_sinx .usect sin_vars ,1c_1_s .usect sin_vars ,1.textSSBX FRCTSTM #d_coef_s, AR5RPT #3MVPD #table_s, *AR5+STM #d_coef_s, AR3STM #d_xs, AR2STM #c_1_s, AR4ST #7FFFh, c_1_sSQUR *AR2+, AST A, *AR2|LD *AR4, BMASR *AR2+, *AR3+, B, AMPYA ASTH A, *AR2MASR *AR2-, *AR3+, B, AMPYA *AR2+ST B, *AR2|LD *AR4, BMASR *AR2- , *AR3+, B, AMPYA *AR2+ST B, *AR2|LD *AR4, BMASR *AR2- , *AR3+ , B, AMPYA d_xsSTH B, d_sinxRETcosx:.def d_xc,d_cosxd_coef_c .usect coef_c , 4.datatable_c .word 0249h ;cl=1/(7 * 8) .word 0444h ;c2=1/(5 * 6) .word 0aabh ;c3=1/(3 * 4).word 4000h ;c4= 1 /2d_xc .usect cos_vars,1d_squr_xc .usect cos_vars,1d_temp_c .usect cos_vars,1d_cosx .usect cos_vars,1c_1_c .usect cos_vars,1.textSSBX FRCTSTM #d_coef_c, AR5 ;move coeff tableRPT #3MVPD #table_c, *AR5+STM #d_coef_c, AR3STM #d_xc, AR2STM #c_1_c, AR4ST #7FFFh,c_1_cSQUR *AR2+, A ; A= x-2ST A, *AR2 ;(AR2)= x2|LD *AR4,B ;B=1MASR *AR2+, *AR3+,B,A ;A=I-x-2/56 ;T= x2MPYA A ;A=T * A=x2(1-x2/56)STH A, *AR2 ;(d temp) =x2(1-x2/56)MASR *AR2-, *AR3+,B,A ;A=1-x2/30(1-x2/56) ;T=x2(1-x2/56)MPYA *AR2+ ;B=x2(1-x2/30(1-x2/56)ST B, *AR2 ;(d temp)=x2(1-x2/30(1-x2/56)|LD *AR4, B ;B=1MASR * AR2-, * AR3+,B,A ;A=1-x2/12(1-x2/30(1-x2/56)SFTA A,-1,A ;-1/2NEG AMPYA *AR2+ ;B=-x2/2(1-x2/12(1-x2/30 ;(1-x2/56) )MAR *AR2+RETDADD *AR4,16,B ;B=1-x2/2(1-x2/12(1-x2/30 ;(1-)c2/56)STH B, *AR2 ;cos(theta)RET.end3.1.2 正弦波源程序vectors.asm清单vectors.asm.title “vectors”.ref start.sect “.vectors”B start.end3.2 编写链接命令文件sin.cmd正弦波程序链接命令文件sin.cmd.Debugsin.obj.Debugvectors.obj-o sin.out-m sin.map-e startMEMORYPAGE 0:EPROM : org=0E000h, len=1000hVECS : org=0FF80h, len=0080hPAGE 1:SPRAM : org=0060h, len=0020hDARAM1 : org=0080h, len=0010hDARAM2 : org=0090h, len=0010hDARAM3 : org=0200h, len=0200hSECTIONS.text : EPROM PAGE 0.data : EPROM PAGE 0STACK : SPRAM PAGE 1sin_vars : DARAM1 PAGE 1coef_s : DARAM1 PAGE 1cos_vars : DARAM2 PAGE 1coef_c : DARAM2 PAGE 1sin_x : align(512) DARAM3 PAGE1.vectors : VECS PAGE 03.3 在CCS中生成项目,编译,调试在CCS中生成项目,编译,调试,用graph窗口观察结果:(1)在自己建立的工程文件中加载sin.asm,vectors.asm程序和sin.cmd程序。(2)程序全部输入以后,进行编译,连接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高级钳工测试题(附参考答案)
- 2025年河南许昌职业病诊断医师资格考试(职业性尘肺病及其他呼吸系统疾病)模拟练习题及答案
- 2025酒后驾驶的试题及答案
- 果露酒酿造工技能巩固考核试卷及答案
- 农发行株洲市茶陵县2025秋招笔试创新题型专练及答案
- 飞机无线电设备安装调试工理论知识考核试卷及答案
- 2025年基金从业资格《证券投资基金基础知识》新版真题卷(附答案)
- 2025年岗位理论考试试题及答案
- 2025年甘肃省建筑三类安全员考试题库附答案
- 2025年二级建造师机电实务真题及答案解析(A卷)
- 2025江西上饶市属国有企业第一批次招聘105人考试参考试题及答案解析
- 活动板房施工合同范本
- GB/T 7713.4-2025信息与文献编写规则第4部分:数据论文
- 2025关于上海市的劳动合同范本
- 2025年全国通信专业技术人员职业水平考试(通信专业实务终端与业务)(高、中级)练习题及答案
- 土地出让课件
- 法律职业资格考试客观题(试卷一)试题与参考答案(2025年)
- 江西中寰投资集团下属公司招聘笔试题库2025
- 弱电施工安全培训课件
- 特种作业考试试题(含答案)
- 2025年储能应用行业研究报告及未来行业发展趋势预测
评论
0/150
提交评论