[指导]DSP课程设计1_第1页
[指导]DSP课程设计1_第2页
[指导]DSP课程设计1_第3页
[指导]DSP课程设计1_第4页
[指导]DSP课程设计1_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、苏州市职业大学课程设计说明书名称正弦信号发生器2010年6月21日至2010年6月27日共1周院系电子信息工程系班级08通信(1)班姓名学号系主任曹丰文教研室主任苏品刚指导教师第一章绪论2第二章dsp芯片的介绍42. 1 dsp芯片的特点42. 1. 1 dsp芯片主要特点42. 1.2 dsp芯片的优缺点42.2 dsp芯片的分类52.3 dsp芯片的应用62.4 tms320c54x芯片的介绍7第三章ccs集成开发工具103. 1 ccs是什么103.2 ccs 窗 口简介113.2. 1 ccs 窗口示例113.2.2 ccs屮常用的工具123. 3 ccs的安装与设置12第四章正弦信号

2、发生器的实现过程 144.1止弦信号发生器的理论实现144. 1. 1常用的理论实现方法144. 1.2 编程实现 154. 2 调试过程20第五章实验心得与体会26第一章绪论数字信号处理是20世纪60年代,随着信息学科和计算机学科的高速发展而 迅速发展起來的一门新兴学科。它的重要性日益在各个领域的应用中表现出來。 其主要标志是两项重大进展,即快速傅里叶变换(fft)算法的提出和数字滤波器 设计方法的完善。数字信号处理是把信号用数字或符号表示成序列,通过计算机 或通用(专用)信号处理设备,用数值计算方法进行各种处理,达到提取有用信 息便于应用的目的。例如:滤波、检测、变换、增强、估计、识别、参

3、数提取、 频谱分析等。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在 进行数字信号处理z前需要将信号从模拟域转换到数字域,这通常通过模数转换 器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实 现的。数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器 (dsp)和专用集成电路(asic)等。数字信号处理的研究方向应该更加广泛、 更加深入特别是对于谱分析的本质研究,对于非平稳和非高斯随机信号的研究, 对于多维信号处理的研究等,都具有广阔前景。数字信号处理技术发展很快、应用很广、成果很多。多数科学和工程中遇到 的是模拟信号。以前都是研究模拟信号处

4、理的理论和实现。模拟信号处理缺点: 难以做到高精度,受环境影响较大,可靠性并,且不灵活等。数字系统的优点: 体积小、功耗低、精度高、可靠性高、灵活性大、易于大规模集成、可进行二维 与多维处理。随着大规模集成电路以及数字计算机的飞速发展,加z从60年代 末以來数字信号处理理论和技术的成熟和完善,用数字方法来处理信号,即数字 信号处理,已逐渐取代模拟信号处理。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、 变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们所需要的信号形 式。数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理 与模拟信号处理是信号处理的子集

5、。数字信号处理技术及设备具有灵活、精确、 抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技 术与设备所无法比拟的。数字信号处理(digital signal processing,简称dsp)是一门涉及许多学科 而又广泛应用于许多领域的新兴学科。数字信号处理是围绕着数字信号处理的理 论、实现和应用等几个方面发展起來的。数字信号处理在理论上的发展推动了数 字信号处理应用的发展。反过来,数字信号处理的应用乂促进了数字信号处理理 论的捉高。而数字信号处理的实现则是理论和应用z间的桥梁。数字信号处理是 以众多的学科为理论基础的,它所涉及的范围及其广泛。例如,在数学领域,微 积分、

6、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络 理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。-些新兴的学 科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说, 数字信号处理是把许多经典的理论体系作为t己的理论基础,同时又使自己成为 一系列新兴学科的理论基础。长期以來,信号处理技术一直用于转换或产生模拟或数字信号。其中应用得 最频繁的领域就是信号的滤波。此外,从数字通信、语咅、音频和生物医学信号 处理到检测仪器仪表和机器人技术等许多领域中,都广泛地应用了数字信号处理 (digital signal processing, dsp)技术。数字信号

7、处理己经发展成为一项成熟的 技术,并且在许多应用领域逐步代替了传统的模拟信号处理系统。世界上三大 dsp芯片生产商:1.德克萨斯仪器公司(ti) 2.模拟器件公司(adi) 3.摩托罗拉公司 (motorola)这三家公司几乎垄断了通用dsp芯片市场。数字信号处理的书籍很 多,其中以麻省理工学院奥本海姆编著的discrete time signal processing最为 经典,有中译本离散时间信号处理由西安交通大学出版。现在是第二版。第二章dsp芯片的介绍2. 1 dsp芯片的特点dsp芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。ds p芯片的内部采用程序和数据分开的哈佛结构,

8、具有专门的皱件乘法器,广泛采 用流水线操作,提供特殊的dsp指令,可以用来快速的实现各种数字信号处理 算法。2.1.1 dsp芯片主要特点根据数字信号处理的要求,dsp芯片一般具冇如下的一些主要特点: 错误!未找到引用源。在一个指令周期内可完成一次乘法和一次加法。 程序和数据空间分开,可以同时访问指令和数据。片内具有快速ram,通常可通过独立的数据总线在两块中同时访问。具有低开销或无开销循环及跳转的硕件支持。 快速的中断处理和硬件i/o支持。具有在单周期内操作的多个硬件地址产生器。 错误!未找到引用源。可以并行执行多个操作。错误!未找到引用源。支持流水线操作,使取指、译码和执行等操作可以 重叠

9、执行。错误!未找到引用源。与通用微处理器相比,dsp芯片的英他通用功能相对较 弱些。2. 1.2 dsp芯片的优缺点dsp芯片主要应用在信号处理、图像处理、仪器、声音语言、控制 军事、通讯、医疗、家用电器等诸多领域。其优点主要有:大规模集成 性、稳定性好、精度高、可编程性、高速性能、可嵌入性、接口和集成方 便;缺点主要有:成本较高、高频时钟的高频干扰、功率消耗较大等。2.2 dsp芯片的分类dsp芯片可以按照下列三种方式进行分类。1. 按基础特性分这是根据dsp芯片的工作吋钟和指令类型来分类的。如果在某时钟频 率范围内的任何时钟频率上,dsp芯片都能正常工作,除计算速度有变化外, 没冇性能的下

10、降,这类dsp芯片一般称为静态dsp芯片。例如,日本oki 电气公司的dsp芯片、ti公司的tms320c2xx系列芯片屈于这一类如果有两种或两种以上的dsp芯片,它们的指令集和相应的机器代码 机管脚结构相互兼容,则这类dsp芯片称为一致性dsp芯片。例如,美国t 1公司的tms320c54x就屈于这一类。2. 按数据格式分这是根据dsp芯片工作的数据格式來分类的。数据以定点格式工作的d sp 芯片称为定点 dsp 芯片,如 ti 公司的 tms320c1x/c2x、tms320c2xx/c5x、 tms320c54x/c62xx 系列,ad 公司的 adsp21xx 系列,at&t

11、公司的 dsp16/16 a, motolora公司的mc56000等。以浮点格式工作的称为浮点dsp芯片,如 ti 公司的 tms320c3x/c4x/c8x, ai)公司的 adsp21xxx 系列,at&t 公司的 d sp32/32c, motolora 公司的 mc96002 等。不同浮点dsp芯片所采用的浮点格式不完全一样,有的dsp芯片采用 自定义的浮点格式,如tms320c3x,而有的dsp芯片则采用ieee的标准浮 点格式,如 motorola 公司的 mc96002、fujitsu 公司的 mb86232 和 zoran 公司的zr35325等。3. 按用途分按照d

12、sp的用途来分,可分为通用型dsp芯片和专用型dsp芯片。通用型d sp芯片适合普通的dsp应用,如ti公司的一系列dsp芯片属于通用型dsp芯片。 专用dsp芯片是为特定的dsp运算而设计的,更适合特殊的运算,如数字滤波、 卷积和 fft,如 motorola 公司的 dsp56200, zoran 公司的 zr34881, inmos 公司 的tmsa1oo等就属于专用型dsp芯片。2.3 dsp芯片的应用数字信号处理(dsp)芯片是一种特别适合于进行数字信号处理运算的微处理 器可实时快速地实现各种数字信号处理算法。自20世纪80年代初诞生以來已广 泛应用于通信、电子、航空航天、军事及家电

13、产品成为一-种十分重要的电子产品 的核心部件。dsp芯片得到了飞速的发展。dsp芯片的高速发展,一方面得益于 集成电路技术的发展,另一方而也得益于巨大的市场。在近20年时间里,dsp 芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。目前,dsp芯片 的价格越來越低,性能价格比h益提高,具冇巨人的应用潜力。dsp芯片的应用 主要有:(1) 信号处理一一如数字滤波、自适应滤波、快速傅立叶变换、相关运算、 谱分析、卷积、模式匹配、加窗、波形产生等;(2) 通信如调制解调器、门适应均衡、数据加密、数据压缩、回波抵消、 多路复用、传真、扩频通信、纠错编码、可视电话等;(3) 语音如语音编码、语音

14、合成、语音识别、语音增强、说话人辨认、 说话人确认、语音邮件、语音存储等;(4) 图形/图像如二维和三维图形处理、图像压缩与传输、图像增强、 动画、机器人视觉等;(5) 军事如保密通信、雷达处理、声纳处理、导航、导弹制导等;(6) 仪器仪表一一如频谱分析、函数发生、锁相环、地震处理等;(7) 口动控制一一如引擎控制、声控、口动驾驶、机器人控制、磁盘控制等;(8) 医疗如助听、超声设备、诊断工具、病人监护等;(9) 家用电器一一如高保真音响、音乐合成、音调控制、玩具与游戏、数字 电话/电视等。随着dsp芯片性能价格比的不断提高,可以预见dsp芯片将会在更多的领域 内得到更为广泛的应用。2. 4

15、tms320c54x芯片的介绍tms320 c54x系列dsp芯片是使用静态cmos技术制造的。其方框图见图2-1, 从图屮可以看出c54x系列dsp芯片具有以下功能单元:总线c54x共冇八条总线分别是:pb:程序读取总线cb:数据读取总线1db:数据读取总线2eb:数据写入总线pab:程序读取地址总线cab:数据读取地址总线1dab:数据读取地址总线2eab:数据写入地址总线中央处理器(cpu)cpu由以下几个部件组成:先进的多总线结构:包描三个独立的数据总线和一个程序总线40位的算术逻辑单元:包括一个40位移位器和两个独立的40位累加 器17bit 17bit的并行乘法器同一个专用的加法器

16、相配合:用来执行不经 流水线的单周期乘加(mac)运算指数译码器:可以在一个周期里计算出一个40位累加器的指数值两个地址生成器:包括8个辅助寄存器和两个辅助寄存器算术单元程序控制器:对指令进行解码、管理流水线和程序流程片上存储器c54x共有192k字的寻址能力(64k字的程序区,64k字的数据区,和64k 字的i/o区)如图2-2所示。芯片内部采用改进的哈佛结构,允许同时取指令和取数据,而月述允许在程 序空间和数据空间之间相互传送数据。所谓哈佛结构,是将程序和数据的存贮空 间分开,各有各的地址总线和数据总线。这样同一条指令可以同吋对不同的存贮 空间进行读操作或写操作,从而提高了处理速度。c54

17、x dsp芯片述捉供了块指令循环功能,此功能可以大大地捉高执行循环 的速度,但是此功能只能在一重循环中使用,因为它只提供了一个循环记数寄存 器brc,所以在遇到多重循环吋就要尽量把这个功能用在最里层的循环中,最里 层循环是执行次数最多的循环。图2-1 c54x dsp结构框图订!器方式保留(ovi.y二1)或外部(ovly=0)片内 daram(ovly=1) 或外部(ovly=o)外部中断向量表(外部)存储器映像寄存器何存寄存器片内 daram(16k 字)外部片内rom(drom=1)或外部(drom=0)保留rom(drom= 1)或外部(drom-0)图2-2 tms320vc5402

18、存储器空间分配图-m算能力、工作电压等。运算能力用mips来度量,即每秒能执行一百力条指令的数量。表1:部分c54x芯片资料保留(ovly=1)或外部(ovly-0)片内 daram(ovly=1)或外部(ovly二0)外部片内rom (4k字)保留中断向量表(片内)dsp型号片内ram(字)寻址范国串口数内核电压(v)i/o电压(v)运算能力(mips)tms320vc5416128k64k/8m31.53. 3160tms320vc541064k64k/8m31.63. 3160tms320vc540964k64k/8m31.63.3160tms320lc54932k64k/8m32. 5

19、3. 3120tms320lc54210k64k/64k33. 33. 350第三章ccs集成开发工具3. 1 ccs是什么通常,dsp厂商和第三方都会为dsp的开发应用捉供各种各样的软硬件开发 工具(代码生成工具和代码调试工具等)。早期的dsp开发工具没有集成化,需 要在dos环境下键入比较复杂的命令,使用起來不很方便,调试、开发的效率也 不高。1999年,ti公司推出了 ccs (code composer studio)集成开发工具(直 译为代码设计工作室),为dsp用户提供了十分便利的开发环境。ccs内部集成了以卜软件工具: dsp代码生成工具(包括dsp的c编译器、汇编优化器、汇编器

20、和链接器等) ccs集成开发工具(编辑、链接和调试dsp g标程序)。实时分析插件dsp/b1os和实时数据交换模块rtdx等(必须冇硬件开发板)。ccs是一种町视化集成开发工具,它集代码生成软件和代码调试工具于一体,具有强大的应用开发功能:错误!未找到引用源。可视化代码编辑界而:可以直接编写汇编语言和c 语言程序、h头文件和cmd命令文件等。代码生成工具:包括dsp的汇编器、c编译器和链接器等。各种调试工具:包括加载执行文件、运行、单步操作、设置断点、查看编辑 存储器和寄存器、观察变量、评估程序和执行吋间等。探针工具:可将pc机数拯文件中的数拯传到dsp,或者将dsp中数据传到 pc机数据文

21、件屮,以便实现各种算法仿真和数据监视。图形显示工具:可以将dsp程序生成的数据绘制成时域/频域图等,以便于 观察和分析。通用扩展语言gel:可以让用户通过gel语言编程,建立需要的gel函数来 扩展ccs的功能,包描配置各种参数、修改变量等。错误!未找到引用源。dsp/b10s i具:它是dsp芯片简化了的操作系统内 核,即齐种dsp芯片操作系统的底层文件,为嵌入式系统应用提供基木的运行服 务,具有代码较少、逻辑精简等优点。错误!未找到引用源。开放式的插入架构技术:只需安装相应的驱动程序, 就能够集成第三方的专用插件。3. 2 ccs窗口简介3.2. 1 ccs窗口示例ccs系统设置完成后,就

22、可以打开ccs应用程序,在ccs集成开发环境下 完成工程定义,程序的编辑、编译、链接和调试,以及程序运行结果的分析和评 估等工作。一个典型的ccs集成开发环境住窗口如图3-1所示。该示例窗口由菜 单栏、工具栏、工程窗口、源程序编辑和调试窗口、存储器窗口、cpu寄存器窗 口、输出窗口等组成。此外,还可以根据需要打开反汇编窗口、图形显示窗口、 变量观察窗口,以及吋钟窗口等。exit edit yz erojtct "by gel option ptofil« lools dsp/bios jindow h«lp嵩岔喻i &臥丨禽峪阿冷|恭恭|匡 | debug

23、三彥筋绘岳|也奏 理0-e?里 files2 一)gel files d 二3 project%f shiyan. pj tlj dependent "i docuraentslj dsp/bios (h generated,_| include o libraries hsource l hide gsdjdjsin.ikd"sin asm1't_c_int00smx,d xsd smx,sin-x,360,cosx>.11 stack", 102860# stack" cusp k_thetararo o,ar1k 4 “” a id

24、g0x000000000x0000x0x000000010x00000x000000020x00000x000000030x00000x000000040x00000x000000050x00000x000000060x18000x000000070x29000x000000080x00000x000000090x00000x0000000a0x0000¥oxooooooob0x0000xj 匡jjhqx 16 bit二二1)x0200cpu registers4pc00l±|觀cpu registeiljtrn001 peripheral regs spoolsto181

25、_ii x t-» r»n n i2zjq |haltedname| value| t. | r.船 watch locals 血 klatch 1|图3-1 ccs应用窗口示例3.2.2 ccs中常用的工具菜单栏和ccs所冇功能相关的菜单都在这里而。编译工具栏编译程序吋常用的一些工具。调试工具栏调试程序时常用的一些工具。工程文件框打开的工程所有文件会按类别放在这里,便于我们编程时在 各个文件z间的切换。代码编辑区顾名思义,代码都是在这里编辑完成的了,是我们最主要的 工作区域。编译信息输出区一一编译时产生的信息会在这个区域内输出,能让我们直观 的了解到正在编译哪个文件,编译

26、过程屮是否产生了错误,而这些错误是哪些, 由于什么原因引起的,这些内容都会显示在这里。3.3 ccs的安装与设置ccs的安装步骤如下:(1)将ccs的安装光盘插入计算机的cd-rom光盘驱动器屮,运行ccs安装 程序set-up. exo.按屏幕提示,将ccs系统安装到c:ti (默认系统)安装目录 下。安装完成后:错误!未找到引用源。在桌而上将出现set-upccs2(, c5000)和 ccs2 c c5000)两个快捷方式图标,分别对应ccs配置程序和ccs应用程序。在 c:ti 目录 卜冇 bin、c5400> c5500> cc> docs> drivers、

27、examples、 myprojects> plugins、 tutoria> uninstall 共1 个文件夹,以及 dosrun 等 3 个文件夹,用户的工程文件都将存放在myprojects文件夹下。(2)单击set-upccs2( c5000)快捷方式图标,运行ccs配置程序,弹出 对话框如图3-2所示。drag a dovica driver to theto add a bord to th« system图32 css配置对话框从对话框的available configurations列表框中选择应用平台类型。配置完成后,保存设置并退岀。ccs系统将c54

28、02软件仿真器作为系统配置,显示在 system configuration 列表框屮。4.1.1常用的理论实现方法重复向pa 口输出正眩波第四章正弦信号发生器的实现过程4.1正弦信号发生器的理论实现在通信、仪器和控制等领域的信号处理 系统屮,可能会用到正弦波信号发生器。一 般来说产生止弦波的方法有两种:错误!未找到引用源。查表法:此方法 用于对精度要求不高的场合,如果要求精度 高,表就很人,相应的存储器容量也要壇人。泰勒级数展开法。这是一种更为有效的 方法。与查表法相比,该方法需要的存储单 元很少,而且精度高。一个角度止弦和余弦函数,都可以展开 成泰勒级数,取其前5项进行近似。本次课程设计利

29、用泰勒级数展开法求正弦值,产生正弦波枷休流程图如图 结束4-1图4j程序流程图4.1.2编程实现先计算045° (间隔为0. 5° )的sin和cos值,在利用sin2a=2sina*cosa 求出sin值(间隔为1° )。然后,通过复制,获得0359°的正弦值。重复向 pa 口输出,便可得到正弦波。程序如下:1.产生正弦波程序清单sin. asm: title sin. asm;为汇编文件取名为"sin. asm” mmregs定义存储器映像寄存器.defcintoorefsinx, d_xs, d sinx, cosx, d_xc, d c

30、osx; 定义标号sin_x: useet“sin x",360;为sin_x保留360个存储空间stack:usect"stack", 10;为堆栈保留10个存储空间k_tbeta set286;theta二pi/360(0. 5deg)pao set0_c_int00 text;定义文本程序代码段stm#stack+10, sp;设置堆栈指针stmk theta, aro;aro->k_theta(increment)stm0, ari;(ari)=x (rad)stm#sin_x, ar6;ar6>sin(x)stm#90, brc;form s

31、ino(deg.) sin90(deg);重复执行块语句(卜条语句开始至loopl-1 ) 91次rptbloopl-1ldmari, ald#d_xs, dp;dpdxsstla, d_xs;(a)低 16位 fd_xsstla, d_xc;(a)低 16位 fd_xccallsinx;调用sinx程序callcosx;调用conx程序ldttd sinx, dp;dp<- d_sinxldd_sinx, 16, a;a=si n(x)mpyad_cosx;b= sin(x)*cos(x)sthb, 1, *ar6+;ar6>2*sin(x)*cos (x)loopl:marst

32、m*ar1+o#sin_x+89, ar7;修改辅助寄存器ari;sin9l (deg)sinl79(deg.)stm#88, brc;重复执行下条指令至loop2-lrptbloop2-l;处90次ld*ar7-,a;(ar7) -a,然后ar7减去lstla,*ar6+;(a)低 16位-ar6loop2:stm#179,brc;sinl80 (deg.)sin359(deg.);(brc) =179,重复执行180次stmttsin x, ar7;ar7指向sin_x首地址rptbloop3-lld*ar7+, a;(ar7) -a,然后ar7加 1nega;累加器变负stla,*ar6

33、+;a低 16位-> ar61oop3:stm#sin x, ar6;generate sin wave ar6指向sin xstm#1, aro;arg 01stm#360, bk;bkc360loopd:portw*ar6+0%, pao;pa0=*ar6+0%,向pao输出数据sinx:bloop4.def datad_xs, d sinx; 定义标号d xs, d sinx ;定义数据代码段table_s.word01c7h;cl二l/(8*9).word030bh;cl二l/(6*7).word0666h;cl二l/(4*5).word1556h;cl二l/(2*3)d_coe

34、f_s.usectcoef_s,4;为coef_s保留4个存储空间d_xs uscctsin vats , 1;为d_xs中sin_vars保留1个存储空 间d_squr_xs useet呻sin_vars , 1;为d squr xs中s in vars保留1个存 储空间d_temp_s usectsin_vars , 1;为d temp s中sin vars保留1个存 储空间d_sinx useetsin_vars , l;为d_s inx屮s in_vars保留1个存储 空间c_l_s.usectsin_vats , l;为d_xs中sin_vars保留1个存储空 textssbxfrc

35、t;定义代码开始段;设置frct二1以解决冗余符号位stm#d_cocf_s, ar5;ar5指向d_cocf_s首地址rpt#3;重复下条指令4次mvpdtttables,*ar5+;table_s中的数复制到ar5指向的单 元stm#d_cocf_s, ar3;ar3指向d_cocf_s首地址stm#d xs, ar2;ar2指向d_xs首地址stm#c_l_s, ar4;ar4指向c_l_s首地址st#7fffh, c 1 s;7fffh fc 1 ssqur*ar2+, a;ar2指向累加器a中的数值求其平方sta,*ar2;(a)左移 16位一ar2ld*ar4, b;(ar4)左移

36、 16位一bmasr*ar2+, *ar3+, b, a;从累加器a中减去(ar2) * (ar3)mpyaa;操作数与累加器a中高位相乘stha, *ar2;(a)高 16位一ar2masr*ar2-, *ar3+, b, a;从累加器a中减去(ar2) * (ar3)mpya*ar2+;ar2指向的数与累加器a的高16位相 乘stb, *ar2;(b)左移 16位一ar2ld*ar4, b;(ar4)左移 16位一bmasr*ar2-, *ar3+, b, a;从累加器a中减去(ar2) * (ar3)mpya*ar2+;与累加器a中高16位相乘stb, *ar2;(b)左移 16位-&g

37、t;ar2ld*ar4, b;(ar4)左移 16位一bmasr*ar2-, *ar3+, b, a;从累加器a中减去(ar2) * (ar3)mpyasthd_xsb, d sinx;d_xs指向的操作数与累加器a屮高 16位相乘;(b)高 16位d sinxret;返回cosx:.defd_xc, d cosx;定义标号d_xc, d cosxd_coef_c useet"coef_c, 4;为coe仁c保留4个存储空间table_c data word0249h;定义数据代码段;cl二 1/(7*8).word0444h;c2=l/(6*5) wordoaabh;c3二 1/(

38、3*4).word4000h;c4二1/2d_xc useet,cos_vars/,, 1;为d_xc中cos_vars保存1个存储单元d_squr_xc useet呻cos_vars , 1;为d squr xc中cos vars保存1个存d_temp_c usect,/cos_vars,/, 1储单元;为d temp c中cos_vars保存1个存dcosx useetcos_vars , l储单元;为d_cosx屮cos_vars保存1个存储c_l_c.usectz/cos_vars/z, l单元一;为c_l_c屮cos vars保存1个存储单.textssbxfrct元;定义文木代码段

39、;frct二1以清除兀余符号位stmttd coef c, ar5;ar5指向d coef c首地址rpt#3;重复卜'条指令4次mvpd#table_c, *ar5+;把table_c中的数复制到+ar5stmttdcoefc,ar3;ar3指向d coef c首地址stm#d_xc, ar2;ar2指向d_xc首地址stm#c_l_c, ar4;ar4指向c丄c首地址st#7fffh, c_l_c;7fffh*c 1 csqur*ar2+, a;求x的平方存放在累加器a中sta, *ar2;(a)左移 16位一ar2ld*ar4, b;(ar4)左移 16位一bmasrmpya*a

40、r2+, *ar3+, b, aa;a二l-x八2/56, t=x 2;a二t*a二x"2 仃-x"2/56)stha, *ar2;(d_temp)= x 2 (1-x 2/56)masr*ar2-, *ar3+, b, a;a二l-xj/30(l-x"2/56),t= x2(l-xa2/56)mpya*ar2+;b=x2 (l-xa2/30 (l-xa2/56)stb, *ar2;(d_temp) =x"2(l-x2/30(l-x2/56)ld*ar4, b;b=1masr*ar2-, *ar3+, b, a;a=1-x"2/12 (lx&q

41、uot;2/30 (1-xj/56)sftanegmpyaa,-1,aa*ar2+;-1/2;b二l-xj/2(l-xj/12(l-xj/30mar*ar2+;(1 -xj/56)retdadd*ar4, 16, b;b二l-xj/2(l-xj/12(l-xj/30sthb, *ar2;(1 -xj/56);cos (theta)ret; end;2. .cmd文件描述输入文件和输出文件,说明系统屮冇哪些可用存储器、程 序段、堆栈及复位向量和中断向量等安排在什么地方。其中memory段就是用来 规定口标存储器的模型,通过这条指令,可以定义系统小所包含的各种形式的 存储器,以及它们占据的地址范围

42、;sections段说明如何将输入段组合成输出 段以及在可执行文件中定义输出段、规定输出段在存储器中的位置等。止弦波程序链接命令文件sin. cmd:memorypage 0:eprom:org = oeoooh,len=looohvecs:org = 0ff80h,len=0080hpage 1:spram:org = 0060h,len = 0020hsections text:>eprompage 0 ;文本代码段其实地址为oeoooh,长度为1000h data:>eprompage 0 ;数据代码段具实地址为odooohstack:>sprampage 1 ;堆栈起

43、始地址为0060h,长度为0020hsinvars:>daram1page 1 ;标号为sin_vars段的起始地址为0080coef_s:>daram1page 1 ;长度为0010h标号为cocf_s段的起始地址为0070hcos_vars:>daram2page 1 ;长度为0010h标号为cosvars段的起始地址为0090hcoef_c:>daram2page 1 ;长度为0010h标号为coef_c段的起始地址为0080h长度为0020hsin_x : align(512) > daram3 page 1.vectors :>vecs page

44、0daram1:daram2:daram3:org = 0080h,org = 0090h,org = 0200h,len = 001oh len = ooloh len = 0200h3. 复位向量文件sin v. asm:.titlesin_v. asm,/ref_c_int00 sect" vectors"b_c_int00.end4.2调试过程1.打开 setup ccstudio v33 如图 4-2 所示。ct code composer studi o setupsystem configurationljavailable factory boardsf.p

45、.e.z jdl山zjialla:akmll - vf0m2420 fl.araiusim*- vf0m2430 fll.armusim*ra:arm7 - vp0m2420 pl a.arm7sim.*3:akm7 simulator big.arm?zimbigsimulator, lit.arm7simlittlev8-arm7 xds510 emulatorarm7xds*b:arm7 xds560 emulatorarm7xds.*m:akm9 xdss1o emulatorarm9xds*m:arm9 xds560 emulatorarmsxds*b:arm926ej-s simu

46、latoarmssimlittle"f240 xdss1o emulatorc24xxxds.*s:f240 xds560 emulatorc24xxxds*n=f2401 xds510 emulatorc24xxxds*wf2401 xds560 emulatorc24xxxds*"f2402 xdss1o emulatorc24xxxds.*s:f2402 xdss6o emulatorc24xxxds*ff2403 xds510 emulatorc24xxxds*wf2403 xds560 emulatorc24xxxds*"f2406 xdss1o emu

47、latorc24xxxds.*ff2406 xdss6o emulatorc24xxxds*c54x simulator (texasinstruments)number of devices:1my systems*v© & qui t iremove1ram|: add multipl|3 di £y pr oper t iselect the system node to add a new bo&rd to the sysietn confi gurati on.图 4-1 setup ccstudio v3.3 的打开界面2.选择c5402芯片并加

48、载,如图431、图4-3-2和图4-3-3所示:图4-3-1选择c5402芯片filo edit view 县。丄 psystem configurationcurrent proc.dri ver locali oncpu3 my syxt«ab: c54x simulator (texas insti santms320c5400device typecpugel file:c:ccstudio_v3.3ccvgerc54cmaster/slave: n/aess custom boardscreate bo<rd图4-3-2加载芯片ts)/cpu - c54x (siau

49、lfttor)cod* compok«r* s tudi ojlnj 2<1eilc edit ki cw eroject fiebue £el option profile lools dsp/bios window help倉 2 u | * 弔 g ic 11 '三i氏&嗨荻臥嚅i孕 w 陽陽|朋層|匡三|z i龄豳型压i ©會.些购 时 qc3旦3空回回 £1f£p('-lf仝窘容曰图4-33确定已加载3输入4. 1.2节的三个程序,保存名称分别为"sin. asm “sin.cmd”、 sin

50、v. asm”。如图 4-4 所示。4 7 d<-m)/cfvc o «!c5<x cspto£i le tooxxdszbios wi xdow help£lx x« edit.*£x*o5v<.qel qs> t a崗 £ iqiiqosstk)曰回匹陌小帀忡<-£: fe>仝仝空旦口阖中回图4-4输入程序4. 新建丄程名为"shiyan”,保存路栓为 c: /ccstudio v3.3/myprojects/shiyano 如图45所示。图4-5新建工程对话框5. 将三个程

51、序加载入新建工程“shiyan”里,对三个文件进行编译链接, 若有错误进行改正,直至无误,如图4-6所示:倉色ih | %屉亀厂"| 8a皤住 *三 m): m''= o| shiyan pjt |debug二|翳窗描屋也g及(11| q |§ ss 国田画 ilsin. cadjal x|file edi t vi ew project debug gel option profile tools dsp/bios window helpf /c54x smulator (t ex as xnstrubents)/cpu 一 c54x (siaulator) - code composer studio?e?pprt念套鄴聖 files田二gel filese projects=1 :冬 shiyan pjt (d 口 dependent pr _| documents1 dsp/bios con 口 generated fii include1 libr&ri es0 cj source 盘sin.memory11sin. asae rrcsm asm.title .ref .sectb.end"sinv.a

温馨提示

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

评论

0/150

提交评论