第一篇:DSP与单片机的优缺点
简述DSP处理器 与单片机的优缺点
专业:
班级:
学号:
姓名:
简述DSP处理器与单片机的优缺点
内容摘要:在科技高速发展的今天,物联网等越来越多的嵌入式应用技术慢慢进入我们的生活中,而DSP技术和单片机在各行各业的应用也越来越广泛,在我国市场前景也越来越广阔。因此,了解和学习DSP技术的知识刻不容缓。下面简要介绍DSP处理器与单片机在体系结构和应用背景方面的发展历史;然后从各个方面对比描述DSP处理器与单片机在应用领域的优缺点,以及DSP处理器与单片机各自的发展前景。
DSP又称数字信号处理(Digital Signal Processing)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外 部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程 序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。
而单片机,又称单片微型计算机,是典型的嵌入式微控制器(MCU),它最早是被用在工业控制领域。单片机的特点: 所谓单片机就是在一块芯片上集成了CPU、RAM、ROM(EPROM或EEPROM)、时钟、定时/计数器、多种功能的串行和并行I/O口。如MCS-51系列单片机等。除了以上基本功能外,有的还集成有A/D、D/A,概括起来说,单片机具有如下特点: 具有位处理能力,强调控制和事务处理功能,价格低廉,开发环境完备,开发工具齐全,应用资料众多。
与单片机相比,DSP器件具有较高的集成度。DSP具有更快的CPU,更大容量的存储器,内置有波特率发生器和FIFO缓冲器。提供高速、同步串口和标准异步串口。有的片内集成了A/D和采样/保持电路,可提供PWM输出。DSP器件采用改进的哈佛结构,具有独立的程序和数据空间,允许同时存取程序和数据。内置高速的硬件乘法器,增强的多级流水线,使DSP器件具有高速的数据运算能力。DSP器件比16位单片机单指令执行时间快8~10倍,完成一次乘加运算快16~30倍。DSP器件还提供了高度专业化的指令集,提高了FFT快速傅里叶变换和滤波器的运算速度。此外,DSP器件提供JTAG接口,具有更先进的开发手段,批量生产测试更方便,开发工具可实现全空间透明仿真,不占用用户任何资源。软件配有汇编/链接C编译器、C源码调试器。目前国内推广应用最为广泛的DSP器件是美国德州仪器(TI)公司生产的TMS320系列。DSP开发系统的国产化工作已经完成,国产开发系统的价格至少比进口价格低一半,有的如TMS320C2XX开发系统只有进口开发系统价格的1/5,这大大刺激了DSP器件的应用。DSP与单片机的优缺点比较
DSP对元件值的容限不敏感,受温度、环境等外部因素影响小;容易实现集成;VLSI 可以分时复用,共享处理器;方便调整处理器的系数实现自适应滤波;
可实现模拟处理不能实现的功能:线性相位、多抽样率处理、级联、易于存储等;
可用于频率非常低的信号。但是DSP也存在一些弊端,比如说需要模数转换;
受采样频率的限制,处理频率范围有限;数字系统由耗电的有源器件构成,没有无源设备可靠。不过总体而言其优点远远超过缺点,实用性很强。
与DSP相比,单片机的优点是经济实惠,成本相对较低;而缺点在于,用单片机制作的主控板受制版工艺、布局结构、器件质量等因素的影响导致抗干扰能力差,故障率高,不易扩展,对环境依赖性强,开发周期长。一个采用单片机制作的主控板不经过很长时间的实际验证很难形成一个真正的产品。
从某种方面讲,DSP器件也可以说是一种具有高速运算能力的单片机。从应用角度看:DSP器件是运算密集型的,而单片机是事务密集型的,DSP器件可以取代单片机,单片机却不能取代DSP。随着技术的普及,DSP器件价格大幅度下滑,直逼单片机。DSP器件广泛使用了JTAG硬件仿真,比单片机更易于硬件调试。国产化的DSP开发系统为更多用户采用DSP器件提供了可能性。DSP取代单片机的技术和价格的市场条件已经成熟,大规模推广指日可待。
随着DSP性能不断改善,用DSP器件来作实时处理已成为当今和未来技术发展的一个新热点。TI公司推出的TMS320C2XX系列具有良好的性能价格比,基本可以取代16位单片机。其中TMS320C203芯片内置544字的高速SRAM。外部可寻址64K字程序/数据及I/O,指令周期在25ns~50ns之间,实时性处理比16位单片机快2倍以上,可取代一般的单片机。TMS320F206除了具有TMS320C203的功能外,内置32K字零等待快闪存储器,可满足单片设计的要求,能最大限度减少用户板的体积。TMS320F240的指令、DSP核与TMS320C203、F206完全兼容,内置8K/16K字快闪存储器,增加了两路10位A/D,每路采样频率可达166kHz,提供9路独立的PWM输出,内置SCI和SPI接口,内置CAN总线接口。这些大大增强了TMS320X240的处理能力,在电机控制领域显示了强大的生命力。它是一个典型的TMS320F240的用户系统,它实现如下功能: 3相PWM输出/3相电流测量/按键控制、液晶显示/RS232通信,A/D、D/A接口,62K字零等待SRAM,扩展的输入、输出及双向I/O口/JTAG接口。DSP技术不断完善,各种DSP器件的不断推出,如TMS320C54x等,必将为实时数字信号处理的应用创造前所未有的广阔空间。
同样的,目前单片机也渗透到我们生活的各个领域,单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:在智能仪器仪表上的应用;在工业控制中的应用 ;在家用电器中的应用;在计算机网络和通信领域中的应用;单片机在医用设备领域中的应用;在各种大型电器中的模块化应用;单片机在汽车设备领域中的应用。从单片机的发展历程看,未来单片机技术将向多功能、高性能、高速度、低电压、低功耗、外围电路内装化及片内储存器容量增加的方向发展。
不过,在科学技术高速发展的今天,普通单片机在一些复杂控制中已经渐渐跟不上时代的需求,对于一些高精尖的设备上DSP必将占有一定的地位。整体来看,DSP 应用在通讯领域、数字影音的产品将越来越普及,使得相关市场需求越来越大,未来 DSP 市场竞争将越趋激烈。虽然目前 DSP 的主要应用产品的市场都是由国际半导体大厂所控制,但是我国在政策的扶植下,本土厂商积极投入研发资源,以消费性产品作为进入 DSP 市场的一个敲门砖,也必将在 DSP 市场上争得一席之地。在可预见的一段时间内,无线应用仍将是可编程DSP市场的驱动引擎,而嵌入式DSP市场则更有潜力。不管是何种形式,DSP技术仍是新兴IP电话市场的枢纽。没有DSP技术就没有对互联网的访问和多媒体,也不可能有无线通讯。因此,DSP仍将是整个半导体产业的技术驱动力。
第二篇:DSP软件优缺点分析(0726)
交直流电力系统计算分析软件DSP优缺点分析
1潮流计算程序DSP的优点
1.1功能上的优点
DSP软件是南网科研院自主开发的交直流电力系统计算分析软件,包括了潮流计算、机电暂态计算、动态等值程序、短路电流计算程序四个基本模块并具备自定义建模功能。与传统仿真软件相比,DSP具有自己的特色和优势:
(1)DSP的潮流程序可实现常规的包含发电机、变压器、输电线路、负荷、直流输电系统、柔性直流输电系统等元件的电流系统的潮流计算,也可以实现FACTS装置(SVC,STATCOM,TCSC,SSSC,UPFC)、新能源发电系统(异步风力发电机、双馈风力发电机、直驱式永磁风力发电机、光伏电站)等的潮流计算,并且有良好的收敛性。潮流计算的输出结果较多,如图1-1所示,其中包括:低电压、高电压节点列表;线路和变压器负载超过额定负载80%数据列表;按分区分类系统损耗列表;线路和变压器效率分析列表等。有利于对潮流进行分析,为提高电压合格率措施的研究提供了很好的依据。潮流计算程序集成了N-1开断扫描功能,并采用两种方法实现潮流N-1开断扫描。一种方法将某条线路断开后直接进行潮流计算,得到潮流结果,该方法的计算结果准确,但是需要的计算时间较长,且存在某些线路断开后潮流不收敛的情况;另一种方法采用补偿电流法,可以快速扫描出N-1开断潮流结果,该方法的缺点的准确度较差。用户可根据需要选取合适的方法进行计算。
图1-1 潮流计算输出参数设置
(2)DSP的机电暂态计算程序具有实用的自定义建模功能,用户可方便地对发电机控制器和直流控制系统等进行自定义建模;
(3)DSP的机电暂态程序中建立了准确的直流准稳态模型,能够更为准确的模拟直流换相失败的过程;
(4)DSP的动态等值程序采用了程序计算代替人工干预,有效地提高了工作效率;
(5)DSP的短路电流程序同时支持ANSI和IEC60909两种计算标准,方便灵活。
1.2 支持的文件类型便于接口
DSP支持的文件类型包括潮流文件(*.dat、*.pfo)和稳定文件(*.swi、*.out、*.swx)等,另外支持ASCII文件打开。这些文件都可以使用matlab打开,可对其进行读写操作,经简单的编程,可对文件指定位置的数据进行大面积的自动修改,有利于对同一拓扑结构不同参数的模型进行多次仿真。有利于电压质量的聚类分析和改善措施的研究。
可把需要改入的数据存在一个文件中,然后自动读取文件中的数据,对需要进行仿真的dat文件或者swi文件进行修改。如图1-2是原来的数据,图1-3是修改后的数据。
图1-2 原来的数据
图1-3 修改之后的数据
1.3 可直接调用系统命令进行仿真
修改dat和swi等仿真文件之后,在DSP的安装包里找到潮流计算的.exe文件,如果是短路计算则找到短路计算的.exe文件。DSP中潮流计算使用到的.exe文件是潮流自动搜索程序pfauto.exe和潮流程序计算查询pwrflow.exe,这两个文件在安装包的EXE文件夹中,以dat文件作为参数,利用matlab调用外部程序进行仿真。如图1-4所示,将修改后的dat文件放在指定的文件夹中,matlab带参调用后会在该文件夹中自动生成潮流计算结果文件.pf文件。.pf文件中包含了输出设置中所有潮流计算的结果,并且matlab可以对.pf文件进行读操作,因此可根据需要对潮流计算结果中的数据进行读取,有利于对潮流计算进行分析。如图1-5和图1-6所示(截取部分),在DPS软件中进行仿真和利用matlab进行带参调用时的潮流计算结果是一致的,因此利用matlab调用潮流计算程序进行仿真的方法是可行的,所以对同一网络拓扑结构,改变其参数,可实现自动进行多次仿真。
图1-4 matlab带参调用自动生成的文件
图1-5 matlab中带参调用潮流计算结果
图1-6 DSP软件中仿真结果
2潮流计算程序DSP的缺点
2.1不能进行配电网三相潮流仿真
和digsilent、cyme等仿真软件相比,界面相对没有那么友好,不能进行配电网的三相潮流仿真。也没有以最小网损、最小燃料费用、最大利润及最小区域交换潮流为目标的最优潮流目标。digsilent等软件能够实现配网优化:电容器选址优化、解环点优化、电缆补强优化等功能;以及低压网络分析:根据连接到某一线路上的用户数量来定义负荷、考虑负荷的多样性、在进行潮流计算时考虑负荷多样性并计算电压最大跌落值和最大支路电流、自动进行电缆补强、电压跌落和电缆负载率分析等。DSP仿真软件没有和配电网潮流计算相关的模块,不利于配电网潮流的计算和分析。
第三篇:自我鉴定与优缺点
工作自我鉴定
进入公司参加工作已经有几个月的时间了,短短的几个月试用期经已接近尾声。工作以来,在单位领导的精心培育和教导下,通过自身的不断努力,无论是思想上、学习上还是工作上,都取得了长足的发展和巨大的收获,下面就是我试用期自我鉴定,也是对自己的工作的表现。
回复1:工作自我鉴定工作上,无论在总台、还是在客服部门,都是以客人为先,尽量满足客人的要求。那时候是学习GPS的操作技能,不管在哪个部门,都严格要求自己,刻苦钻研业务,就是凭着这样一种坚定的信念,争当行家里手。为我以后的工作顺利开展打下了良好的基础。
在学习上,严格要求自己,端正工作态度,作到了理论联理实际;从而提高了自身的一专多能的长处及思想文化素质,包括生活中也学到了养成良好的生活习惯,生活充实而有条理,有严谨的生活态度和良好的生活作风,为人热情大方,诚实守信,乐于助人,拥有自己的良好做事原则,能与同事们和睦相处。思想上,自觉遵守公司的的规章制度,坚持参加公司的每次的培训。要求积极上进,爱护公司的一砖一瓦,一直严谨的态度和积极的热情投身于学习和工作中,虽然有成功的泪水,也有失败的辛酸,然而日益激烈的社会竟争也使我充分地认识到成为一名德智体全面发展的优秀工作者的重要性。
在这段时间里我虽然是学校那学习了一些理论知识,但这一现状不能满足工作的需求。为了尽快掌握服务行业,每天坚持来到公司学习公司制度及理论知识等等,到了工作时间,就和那些前辈们学习实际操作及帮忙做点小事情,到了晚上思家的心情与日俱增,那时台长知道后常给我们开会,聊聊工作的不便及心中的不满加上自身不足,以给予工作上支持精神上的鼓励,经过较长时间的锻炼、克服和努力,使我慢慢成为一名合格的员工,就样度过这几个月的工作,让我收获最多的也就是在服务的时候,它让我了解到了人们最基本的交际礼仪,对待客人要热情、友好、耐心。
虽然只有短短的几个月,但中间的收获是不可磨灭的,这与单位的领导和同事们的帮助是分不开的。我始终坚信一句话“一根火柴再亮,也只有豆大的光。但倘若用一根火柴去点燃一堆火柴,则会熊熊燃烧”。我希望用我亮丽的青春,去点燃每一位客人,感召激励着同事们一起为我们的事业奉献、进取、创下美好明天。
以下是一份企业在职员工的工作自我鉴定范文,如果你需要实习自我鉴定范文,那么请点击这里。工作以来,在单位领导的精心培育和教导下,通过自身的不断努力,无论是思想上、学习上还是工作上,都取得了长足的发展和巨大的收获,现将工作总结如下:思想上,积极参加政治学习,坚持四项基本原则,拥护党的各项方针政策,自觉遵守各项法规。工作上,本人自xxxx年工作以来,先后在某某部门、某某科室、会计科等科室工作过,不管走到哪里,都严格要求自己,刻苦钻研业务,争当行家里手。就是凭着这样一种坚定的信念,我已熟练掌握储蓄、会计、计划、信用卡、个贷等业务,成为XX行业务的行家里手。记得,刚进XX行,为了尽快掌握XX行业务,我每天都提前一个多小时到岗,练习点钞、打算盘、储蓄业务,虽然那时住处离工作单位要坐车1个多小时,但我每天都风雨无阻,特别是冬天,冰天雪地,怕挤不上车,我常常要提前两、三个小时上班,就是那时起我养成了早到单位的习惯,现在每天都是第一个到行里,先打扫卫生,再看看业务书或准备准备一天的工作,也是这个习惯,给了我充足的时间学习到更多的业务知识,为我几年来工作的顺利开展打下了良好的基础。我工作过的岗位大部分在前台,为了能更好的服务客户,针对不同层次、不同需求的客户,我给予不同的帮助和服务,记得有一位第一次到我行客户,当我了解到他要贷款买二手房时,由于他不知该怎么办,只是有个想法,我便详细地向他介绍了个贷的所有手续。除了在服务客户上我尽心尽力,在行里组织的各项活动中我也积极响应,经常参加单位组织的各项竞赛,展示自我,并取得了优异的成绩,受到了单位的嘉奖。学习上,自从参加工作以来,我从没有放弃学习理论知识和业务知识。由于我毕业财校属于中专,刚工作我就利用业余时间自学大专,并于xx年毕业,但我没有满足于现状,又于xx年自修东北大学金融本科,由于学习勤奋刻苦,成绩优良,学习中受到老师
当你已满公司规定的一段时间的试用期后,当你已达到公司试用期的标准时,紧接着便是要转正的工作了。这时给自己最好的总结就是要进行这段时间的工作自我鉴定。如何写好工作转正自我鉴定呢?以下是试用期转正自我鉴定范文。
时间匆匆转走,现在的工作已经渐渐变得顺其自然了,这或许应该是一种庆幸,是让我值得留恋的一段经历。一个多月的试用期下来,自己努力了,也进步了不少,学到了很多以前没有的东西,我想这不仅是工作,更重要的是给了我一个学习和锻炼的机会。
在各部门的帮助和支持下,我做好统筹及上传下达工作,把工作想在前,做在前,无论是工作能力,还是思想素质都有了进一步的提高,较好地完成了公司宣传、人事管理、职工培训、档案管理、后勤服务及公司保卫等多方面的任务。为了加强对人、财、物的管理,我完善了过去的各种管理制度,突出制度管理,严格照章办事,进一步明确了工作职责,完善了公章使用、纸张使用、电脑使用、请假、值班等各种常规管理,充分体现了对事不对人的管理思想,各项工作井然有序。
做好办公室工作,有较高的理论素质和分析解决问题的能力。通过各种途径进行学习,为此各办公室都配备了电脑,利用网上资源学习与工作有关的知识,不断开阔视野,丰富头脑,增强能力,以便跟上形势的发展,适应工作的需要。提高了理论水平、业务素质和工作能力。
工作上我认真、细心且具有较强的责任心和进取心,勤勉不懈,具有工作热情;性格开朗,乐于与他人沟通,有很强的团队协作能力;责任感强,确实完成领导交付的工作,和公司同事之间能够通力合作,关系相处融洽而和睦,配合各部门负责人成功地完成各项工作。
在xxx上班的日子里,我渐渐喜欢上了这个地方,喜欢上了这份工作,想在这里慢慢成长成材,成为一名合格的正式xxx里的职工,一个月的学习与工作,让我成长了很多,今后我会继续努力,一如既往地保持着优良的作风,不断地完善自己,作出一番成绩。
如何巧妙介绍自己的优缺点
评析:“关于考生自己”是公务员面试常见题材。“人贵有自知之明”。一个人对自己的看法能不能体现出真实性、准确性、客观性、全面性,是素质能力体现的一个重要因素。在对自己的评价中,首先要充分肯定自己,这样可以充分突出自己的竞争能力和竞争优势,也给考官们一个坚定、自信的良好印象。但是,要切记:在对自己评价的表述中要真实,不能虚假。考官一般都是人力资源或人事组织部门的专家。在面试之前或面试之中,根据掌握的信息基本上可以归纳出应试者的能力特征。如果应试者忽略了这一点,为了达到求职目标而夸夸其谈,可能会适得其反。在任何一场面试中,品格特征是考官们最为看重的。如果失去了真实,应试者努力也不会取得理想的结果。在对自己的评价中,要注意运用非语言交流技巧,最主要的是把肯定和炫耀区别开来。人不可能没有缺点,在谈及缺点的时候要概括集中,不要出现过多的缺点描述,过多的否定自己,明明是谦虚,也会影响考官的判断。谈及缺点时,除了说明现已清醒地认识到了不足,要特别着重表明有改变缺点的信心和方法。在对自己的评价中,不要泛泛而谈,最好用事实说明问题。
常见问题解答:
1、你认为你自己有哪些优点,你认为你比较适合做哪些工作?
参考答案:该题没有标准答案,考生要根据自己的情况应答,以下是几种优点与其所对应的工作,供考生参考。
第一,性格内向,办事认真,适合做文秘、财会工作;
第二,性格外向,善于交际,适合做公关、营销工作;
第三,勤奋好学,善于总结,适合做教学、科研工作;
第四,责任心强,善于助人,适合做服务、保障工作;
第五,公正无私,处事公道,适合做执法、行管工作;
第六,吃苦耐劳,爱岗敬业,是做好一切工作的基础;
第七,和谐处人,服从领导,是做好一切工作的前提;
第八,专业过硬,学用结合,是做好一切工作的条件;
第九,适应环境,虚心好学,是做好一切工作的要素。
2、你有何特长?
参考答案:该题没有标准答案,考生要根据自己的情况应答,以下是几种特长的描述,供考生参考。
第一,我的性格较偏向文静,待人热情,彬彬有礼,办事稳重认真,有事业心。我觉得这个特长为做办公室、文秘等工作打下了基础;
第二,我的计算机操作能力较强,通过了计算机二级(或其它级别)等级考试,喜欢编程,对计算机网络、办公自动化知识有所了解,我觉得这个特长是做好公务员工作必备的技能之一;
第三,我善于写作,文字写作基础扎实(如果发表过文章可以列出),写作是公务的基本功之一;
第四,我在文体方面有特长(有什么特长,取得过什么级别及证书),车辆驾驶有什么级别的驾驶证,我觉得几个特长对做好公务员工作有所帮助;
第五,外语(或其它语种)有特长(取得过什么级别及证书),随着改革开放的进展,我的这个特长将来会有用武之地;
第六,我的语言表达能力强,普通话说的好,我觉得这个特长是做好公务员工作必备的基本功之一。
3、能谈谈你的缺点吗?
参考答案:该题没有标准答案,考生要根据自己的情况应答,关键是回答缺点既要要结合本人实际,又要回避本岗位的特点,把缺点转化为优点,以下是几种供缺点的回答,考生参考。
第一,我不太善于过多的交际,尤其是和陌生人交往有一定的难度。这虽然是缺点,但是说明你交友慎重;
第二,我办事比较死板,有时容易和人较真。这虽然是缺点,但是说明你比较遵守单位既定的工作规范,有一定的原则性;
第三,我什么知识或专业都想学,什么也没学精。这虽然是缺点,但是说明你比较爱学习,知识面比较广;
第四,我对社会上新兴的生活方式或流行的东西接受比较慢。这虽然是缺点,但是说明你比较传统,不盲目跟随潮流;
第五,我对我认为不对的人或事,容易提出不同意见,导致经常得罪人。这虽然是缺点,但是说明你比较有主见,有一定的原则性;
第六,我办事比较急,准确性有时不够。这虽然是缺点,但是说明你完成工作速度较快;
第七,对自己从事工作存在的困难,自己琢磨的多,向同事或领导请教的少。这虽然是缺点,但是说明你独立完成工作任务的能力较强;
4、如果你遇到了挫折你将怎么办?
参考答案:第一,对挫折要有一个正确的认识。事业有成一帆风顺时许多人的美好想法,其实很难做到一帆风顺,要接受这样一个现实,人的一生不可能是一帆风顺的,成功的背后会有许许多多的艰辛,痛苦甚至挫折.在人生的一段时期遇到一些挫折是很正常的.只有经验知识和经历的积累才能塑造出一个成功者,许多伟大的成功者,都经受过挫折的磨难(举例说明);
第二,要敢于面对.哪里跌倒要从哪里爬起来,不要惧怕困难,要敢于向困难挑战;
第三,要认真分析失败的原因,寻根究源,俗话说失败乃成功之母,在挫折中掌握教训,为下一次奋起提供经验.还有在平时的工作生化中要加强学习,人的一生是有限的,不可能经历所有的事,要在别人的经验吸取教训.最后可能由于当局者迷或者知识经历的不足,自己对于挫折并没有特别好的处理方法,这是可以求教自己的亲人朋友,群策群力渡过难关。
第四篇:DSP实验报告
实验0 实验设备安装才CCS调试环境 实验目的:
按照实验讲义操作步骤,打开CCS软件,熟悉软件工作环境,了解整个工作环境内容,有助于提高以后实验的操作性和正确性。实验步骤:
以演示实验一为例:
1. 使用配送的并口电缆线连接好计算机并口与实验箱并口,打开实验箱电源;
2.启动CCS,点击主菜单“Project->Open”在目录“C5000QuickStartsinewave”下打开工程文件sinewave.pjt,然后点击主菜单“Project->Build”编译,然后点击主菜单“File->Load Program”装载debug目录下的程序sinewave.out;
3. 打开源文件exer3.asm,在注释行“set breakpoint in CCS!!”语句的NOP处单击右键弹出菜单,选择“Toggle breakpoint”加入红色的断点,如下图所示;
4. 点击主菜单“View->Graph->Time/Frequency…”,屏幕会出现图形窗口设置对话框
5. 双击Start Address,将其改为y0;双击Acquisition Buffer Size,将其改为1;DSP Data Type设置成16-bit signed integer,如下图所示;
6. 点击主菜单“Windows->Tile Horizontally”,排列好窗口,便于观察
7. 点击主菜单“Debug->Animate”或按F12键动画运行程序,即可观察到实验结果:
心得体会:
通过对演示实验的练习,让自己更进一步对CCS软件的运行环境、编译过程、装载过程、属性设置、动画演示、实验结果的观察有一个醒目的了解和熟悉的操作方法。熟悉了DSP实验箱基本模块。让我对DSP课程产生了浓厚的学习兴趣,课程学习和实验操作结合为一体的学习体系,使我更好的领悟到DSP课程的实用性和趣味性。实验二 基本算数运算
2.1 实验目的和要求
加、减、乘、除是数字信号处理中最基本的算术运算。DSP 中提供了大量的指令来
实现这些功能。本实验学习使用定点DSP 实现16 位定点加、减、乘、除运算的基本方法
和编程技巧。本实验的演示文件为exer1.out。
2.2 实验原理 定点 DSP 中的数据表示方法
C54X 是16 位的定点DSP。一个16 位的二进制数既可以表示一个整数,也可以表
示一个小数。当它表示一个整数时,其最低位(D0)表示20,D1 位表示21,次高位(D14)表示214。实现 16 位定点加法
C54X 中提供了多条用于加法的指令,如ADD,ADDC,ADDM 和ADDS。其中
ADDS 用于无符号数的加法运算,ADDC 用于带进位的加法运算(如32 位扩展精度加
法),而ADDM 专用于立即数的加法。实现 16 位定点减法
C54X 中提供了多条用于减法的指令,如SUB,SUBB,SUBC 和SUBS。其中SUBS 用于无符号数的减法运算,SUBB 用于带进位的减法运算(如32 位扩展精度的减法),而SUBC 为移位减,DSP 中的除法就是用该指令来实现的。实现 16 位定点整数乘法
在C54X 中提供了大量的乘法运算指令,其结果都是32 位,放在A 或B 寄存器
中。乘数在C54X 的乘法指令很灵活,可以是T 寄存器、立即数、存贮单元和A 或B 寄存器的高16 位。实现 16 位定点小数乘法
在 C54X 中,小数的乘法与整数乘法基本一致,只是由于两个有符号的小数相乘,其结果的小数点的位置在次高的后面,所以必须左移一位,才能得到正确的结果。C54X 中提供了一个状态位FRCT,将其设置为1 时,系统自动将乘积结果左移一位。但注意
整数乘法时不能这样处理,所以上面的实验中一开始便将FRCT 清除。两个小数(16 位)
相乘后结果为32 位,如果精度允许的话,可以只存高16 位,将低16 位丢弃,这样仍可
得到16 位的结果。6 实现 16 位定点整数除法
在 C54X 中没有提供专门的除法指令,一般有两种方法来完成除法。一种是用乘法
来代替,除以某个数相当于乘以其倒数,所以先求出其倒数,然后相乘。这种方法对于
除以常数特别适用。另一种方法是使用SUBC 指令,重复16 次减法完成除法运算。实现 16 位定点小数除法
在 C54X 中实现16 位的小数除法与前面的整数除法基本一致,也是使用循环的
SUBC 指令来完成。但有两点需要注意:第一,小数除法的结果一定是小数(小于1),所以被除数一定小于除数。
2.3 实验内容
本实验需要使用C54X 汇编语言实现加、减、乘、除的基本运算,并通过DES 的存 贮器显示窗口观察结果。1 编写实验程序代码 用 ccs simulator 调试运行并观察结
2.4 实验结果
1、加法结果
2、乘法结果
3、减法结果
4、除
2.5 思考题(0.5、0.25)
实验三 C54X的浮点数的算术运
一、实验目的 练习TMS320C54X 汇编程序的编写与调试方法,重点练习C54X 程序流程控制的方法。学习并掌握应用 TMS320C54X 来进行浮点数的各种算术运算的算法实现。练习并掌握 TMS320C54X 的汇编语言的汇编指令系统的使用方法,重点练习具有C54X 特点的一些在功能上有所扩展的特殊指令,并了解这些指令在进行算术运算或各种控制时所带来的方便。练习并掌握用 CCS 调试程序的一些基本操作。二.实验原理 1 浮点数的表示方法
在定点运算中,小数点是在一个特定的固定位置。例如,如果一个 32-bit 的数把小数点放在最高有效位(也就是符号位)之后,那么就只有分数(绝对值小于1)才能被显示。在定点运
算系统中,虽然在硬件上实现简单,但是表示的操作数的动态范围要受到限制。3 浮点数运算的步骤
程序代码分成四个 ASM 文件输入,通过编译生成.obj 文件,连接生成.out 文件后就可以在DES320PP-U 实验系统上调试运行(先要创建一个工程文件,然后加入四个工程文件,并且一起编译,连接。因为每个文件都对下一个文件作了引用)。步骤如下:
a.首先启动 setup CCS C5000,在其中设置目前需要的CCS 的工作状态为C54xxsimulator,保存这一设置并退出。然后再启动CCS 实验系统软件CCS C5000。
b.在下拉菜单中选择“File”->“Load Program”以装入所要调试的程序fc.out,这时,在反汇编窗口中能看到程序的源代码。
c.在下拉菜单中选择“View”->“CPU Registers”->“CPU Register”,可以看见在CCS 界面下部份会出现CPU 中的相关寄存器;选择“View”->“Memory…”,在弹出的“Memory Window Options”窗口中选择要观察的区域为数据区,地址开始为0x80h,然后就可以看见出现一个Data Memory 窗口,其中显示了从0x80h 开始的.bss 区。
d.在反汇编窗口中需要观察的地方设置断点:在这条指令处双击将其点为红色即可。比如在加法程序中有指令nop 的位置都可以加一个断点。
e.在下拉菜单中选择“调试”——“连续运行”(或直接点击“运行程序”按钮)运行浮点数程序。如果编写程序时在计算完毕后遇到一个断点,那么程序到此会自动停止。
f.当示范程序在第一个断点处停下来时,此时就可以看见程序初始化后的情况:被加数12.0 以浮点数的格式放在内存区0x08a-0x08b 中,其值为4140h 和0000h。加数12.0 放在内存区0x08c-0x08d 中,其值也为4140h 和0000h。
g.再点击“运行程序”按钮,之后程序会在下一个断点处停下来,这时可以看见被加数被格式转换后的变量op1hm、op1lm 和op1se 的值在内存区0x084-0x086 中,分别为00c0h、0000h 和0082h。同样加数被格式转换后的变量op2se、op2hm 和op2lm的值在内存区0x087-0x089 中,分别为0082h、00c0h 和0000h。
h.再点击“运行程序”按钮,程序停下来时就可以观察到在存储器窗口中表示结果的变量rlthm、rltlm、rltsign 和rltexp 的值在内存区0x080-0x083 中,其值分别为0040h、0000h、0180h 和0083h。
i.这时可以看到 A 寄存器中的值为AH=41c0h,AL=0000h 这就是最后的以浮点数的格式表示的结果值24(=12+12)。加法运算到此结束。
j.继续点击“运行程序”按钮,当程序再次停下来时就可以看见在A 寄存器中显示的13.0 与12.0 进行减法运算的结果:AH=3f80h,AL=0000h。这是用浮点数格式表示的数1(=13-12)。减法运算的程序到此结束。
k.继续点击“运行程序”按钮,当程序再次停下来时就可以看见在A 寄存器中显示的12.0 与12.0 进行乘法运算的结果:AH=4310h,AL=0000h。这是用浮点数格式表示的数144(=12*12)。乘法运算的程序到此结束。
l.继续点击“运行程序”按钮,当程序再次停下来时就可以看见在A 寄存器中显示的12.0 与4.0 进行除法运算的结果:AH=4040h,AL=0000h。这是用浮点数格式表示的数3(=12/4)。至此加、减、乘、除四种运算都运行完毕。
m.如果程序运行不正确,请检查源程序是否有误,必要时可以在源程序中多插入断点语句。程序在执行到断点语句时自动暂停,此时可以通过检查各个寄存器中的值以及内存单元中的值来判断程序执行是否正确。
三.在 CCS 的C54xx simulator 上调试观察实验结果
浮点加法断点一:
浮点加法断点二:
浮点加法断点三:
浮点减法
浮点数乘法
浮点数除法
四 心得体会
通过学习C54X的浮点数的算术运算,以及实验结果的观察,使我了解了浮点数运算的原理,学习并掌握用TMS320C54X来进行浮点数的各种算术运算的算法实现。实验四用定时器实现数字振荡器
实验四 用定时器实现数字振荡器
4.1 实验目的
在数字信号处理中,会经常使用到正弦/余弦信号。通常的方法是将某个频率的正弦/余弦值预先计算出来后制成一个表,DSP 工作时仅作查表运算即可。在本实验中将介绍另一种获得正弦/余弦信号的方法,即利用数字振荡器用叠代方法产生正弦信号。本实验除了学习数字振荡器的DSP 实现原理外,同时还学习C54X 定时器使用以及中断服务程序编写。另外,在本实验中我们将使用汇编语言和C 语言分别完成源程序的编写。
4.2
本实验利用定时器产生一个 2kHz 的正弦信号。定时器被设置成每25uS 产生一次中断(等效于采样速率为40K)。利用该中断,在中断服务程序中用叠代算法计算出一个SIN值,并利用CCS 的图形显示功能查看波形。
4.3 实验原理 数字振荡器原理
sinkωT,其
z 变换为
H(z=
其中,A=2cosωT, B=-1, C=sinωT。设初始条件为0,求出上式的反Z 变换得:
y[k]=Ay[k-1]+By[k-2]+Cx[k-1] 2 C54X 的定时器操作
C54X 的片内定时器利用CLKOUT 时钟计数,用户使用三个寄存器(TIM,PRD,TCR)来控制定时器,参见表4-1。在表4-2 中列出了定时器控制寄存器的各个比特位的具体定义。‘VC5402 的另一个定时器(定时器1)的控制寄存器分别为:0x30
TIM1),0x31(PRD1),0x32(TCR1)。C54X 中断的使用
C54X 中用户可以通过中断屏蔽寄存器 IMR 来决定开放或关闭一个中断请求。图 4-1 给出了 C5402 的 IMR 寄存器的各个比特位的定义。
图 4-1 ‘C5402 的IMR 寄存器
其中,表示HPI 接口中断,INT3-INT0 为外部引脚产生的中断,TXINT 和TRINT 为TDM 串口的发送和接收中断,BXINT0 和BRINT0 BSP 串口的发送和接收中断,14
为定时器 0 中断。在中断屏蔽寄存器 IMR 中,1 表示允许 CPU 响应对应的中断,0 表示禁止。当然要 CPU 响应中断,INTM 还应该为 0(允许所有的中断)。
本实验的初始化程序读取中断向量表的启始地址,然后设置的高
DSP 能正确响应中断,代码如下:
ld #0,dp ;设置DP 页指针 ssbx intm ;关闭所有中断
ld #vector, a ;读出中断向(地址vector 在中断向量表程序中定义)
and #0FF80h, a ;保留高9 位(IPTR)andm #007Fh, pmst ;保留PMST 的低7 位 or pmst, a ;
stlm a, pmst ;设置PMST(其中包括IPTR)
4.4 实验内容
C54X 汇编语言或C 语言实现数字振荡器,并通过CCS 提供的图形显示窗口观察出信号波形以及频谱。实验分下面几步完成: 根据确定数字振荡器的频率,确定系数。2 启动 CCS,新建工程文件。
选择 Project 菜单中的Options 选项,或使用鼠标右键单击工程文件名(如sinewave.pjt)并选择build options 项来修改或添加编译、连接中使用的参数。选择Linker Output Filename”栏中写入输出OUT 文件的名字,如sine.out,你还可以设置生成的MAP 文件名。4 完成编译、连接,正确生成OUT 文件。5 选 View→Graph→
5…打开图形显示设置窗口。在汇编源程序的中断服务程序(_tint)中的“nop”语句处设置断点。用右键单击图形显示窗口,并选择“Proporties”项以便修改显示属性。清除所有断点,关闭除波形显示窗口外的所有窗口,并关闭工程文件。完成编译、连接,正确生成OUT 文件。
10打开 C 源程序(timer.c)窗口,在中断服务程序(函数tint()的“con_buf=0
Start Address ”改为 buf ;“ Acquisition Buffer Size ”改为“ Display Data Size 128,“DSP DataType”为“32-bit floating point”
11选择 Debug→Animate,运行程序,观察输出波形。
第五篇:DSP实验报告
实验0 实验设备安装才CCS调试环境
实验目的:
按照实验讲义操作步骤,打开CCS软件,熟悉软件工作环境,了解整个工作环境内容,有助于提高以后实验的操作性和正确性。实验步骤:
以演示实验一为例:
1. 使用配送的并口电缆线连接好计算机并口与实验箱并口,打开实验箱电源; 2.启动CCS,点击主菜单“Project->Open”在目录“C5000QuickStartsinewave”下打开工程文件sinewave.pjt,然后点击主菜单“Project->Build”编译,然后点击主菜单“File->Load Program”装载debug目录下的程序sinewave.out;
3. 打开源文件exer3.asm,在注释行“set breakpoint in CCS!!”语句的NOP处单击右键弹出菜单,选择“Toggle breakpoint”加入红色的断点,如下图所示; 4. 点击主菜单“View->Graph->Time/Frequency„”,屏幕会出现图形窗口设置对话框
5. 双击Start Address,将其改为y0;双击Acquisition Buffer Size,将其改为1;DSP Data Type设置成16-bit signed integer,如下图所示;
6. 点击主菜单“Windows->Tile Horizontally”,排列好窗口,便于观察
7. 点击主菜单“Debug->Animate”或按F12键动画运行程序,即可观察到实验结果:
心得体会:
通过对演示实验的练习,让自己更进一步对CCS软件的运行环境、编译过程、装载过程、属性设置、动画演示、实验结果的观察有一个醒目的了解和熟悉的操作方法。熟悉了DSP实验箱基本模块。让我对DSP课程产生了浓厚的学习兴趣,课程学习和实验操作结合为一体的学习体系,使我更好的领悟到DSP课程的实用性和趣味性。
实验二 基本算数运算
2.1 实验目的和要求
加、减、乘、除是数字信号处理中最基本的算术运算。DSP 中提供了大量的指令来 实现这些功能。本实验学习使用定点DSP 实现16 位定点加、减、乘、除运算的基本方法 和编程技巧。本实验的演示文件为exer1.out。
2.2 实验原理
1)定点 DSP 中的数据表示方法
C54X 是16 位的定点DSP。一个16 位的二进制数既可以表示一个整数,也可以表
示一个小数。当它表示一个整数时,其最低位(D0)表示20,D1 位表示21,次高位(D14)表示214。
2)实现 16 位定点加法
C54X 中提供了多条用于加法的指令,如ADD,ADDC,ADDM 和ADDS。其中
ADDS 用于无符号数的加法运算,ADDC 用于带进位的加法运算(如32 位扩展精度加 法),而ADDM 专用于立即数的加法。
3)实现 16 位定点减法
C54X 中提供了多条用于减法的指令,如SUB,SUBB,SUBC 和SUBS。其中SUBS 用于无符号数的减法运算,SUBB 用于带进位的减法运算(如32 位扩展精度的减法),而SUBC 为移位减,DSP 中的除法就是用该指令来实现的。
4)实现 16 位定点整数乘法
在C54X 中提供了大量的乘法运算指令,其结果都是32 位,放在A 或B 寄存器 中。乘数在C54X 的乘法指令很灵活,可以是T 寄存器、立即数、存贮单元和A 或B 寄存器的高16 位。
5)实现 16 位定点小数乘法
在 C54X 中,小数的乘法与整数乘法基本一致,只是由于两个有符号的小数相乘,其结果的小数点的位置在次高的后面,所以必须左移一位,才能得到正确的结果。C54X 中提供了一个状态位FRCT,将其设置为1 时,系统自动将乘积结果左移一位。但注意 整数乘法时不能这样处理,所以上面的实验中一开始便将FRCT 清除。两个小数(16 位)相乘后结果为32 位,如果精度允许的话,可以只存高16 位,将低16 位丢弃,这样仍可 得到16 位的结果。
6)实现 16 位定点整数除法
在 C54X 中没有提供专门的除法指令,一般有两种方法来完成除法。一种是用乘法 来代替,除以某个数相当于乘以其倒数,所以先求出其倒数,然后相乘。这种方法对于 除以常数特别适用。另一种方法是使用SUBC 指令,重复16 次减法完成除法运算。
7)实现 16 位定点小数除法
在 C54X 中实现16 位的小数除法与前面的整数除法基本一致,也是使用循环的
SUBC 指令来完成。但有两点需要注意:第一,小数除法的结果一定是小数(小于1),所以被除数一定小于除数。
2.3 实验内容
本实验需要使用C54X 汇编语言实现加、减、乘、除的基本运算,并通过DES 的存 贮器显示窗口观察结果。
1)编写实验程序代码
2)用 ccs simulator 调试运行并观察结
2.4 实验结果
1、加法结果
2、乘法结果
3、减法结果
4、除2.5 思考题(0.5、0.25)实验三 C54X的浮点数的算术运
一、实验目的
1)练习TMS320C54X 汇编程序的编写与调试方法,重点练习C54X 程序流程控制的方法。2)学习并掌握应用 TMS320C54X 来进行浮点数的各种算术运算的算法实现。
3)练习并掌握 TMS320C54X 的汇编语言的汇编指令系统的使用方法,重点练习具有C54X 特点的一些在功能上有所扩展的特殊指令,并了解这些指令在进行算术运算或各种控制时所带来的方便。
4)练习并掌握用 CCS 调试程序的一些基本操作。
二.实验原理
1)浮点数的表示方法
在定点运算中,小数点是在一个特定的固定位置。例如,如果一个 32-bit 的数把小数点放在最高有效位(也就是符号位)之后,那么就只有分数(绝对值小于1)才能被显示。在定点运算系统中,虽然在硬件上实现简单,但是表示的操作数的动态范围要受到限制。
3)浮点数运算的步骤
程序代码分成四个 ASM 文件输入,通过编译生成.obj 文件,连接生成.out 文件后就可以在DES320PP-U 实验系统上调试运行(先要创建一个工程文件,然后加入四个工程文件,并且一起编译,连接。因为每个文件都对下一个文件作了引用)。步骤如下:
a.首先启动 setup CCS C5000,在其中设置目前需要的CCS 的工作状态为C54xxsimulator,保存这一设置并退出。然后再启动CCS 实验系统软件CCS C5000。
b.在下拉菜单中选择“File”->“Load Program”以装入所要调试的程序fc.out,这时,在反汇编窗口中能看到程序的源代码。
c.在下拉菜单中选择“View”->“CPU Registers”->“CPU Register”,可以看见在CCS 界面下部份会出现CPU 中的相关寄存器;选择“View”->“Memory…”,在弹出的“Memory Window Options”窗口中选择要观察的区域为数据区,地址开始为0x80h,然后就可以看见出现一个Data Memory 窗口,其中显示了从0x80h 开始的.bss 区。
d.在反汇编窗口中需要观察的地方设置断点:在这条指令处双击将其点为红色即可。比如在加法程序中有指令nop 的位置都可以加一个断点。
e.在下拉菜单中选择“调试”——“连续运行”(或直接点击“运行程序”按钮)运行浮点数程序。如果编写程序时在计算完毕后遇到一个断点,那么程序到此会自动停止。
f.当示范程序在第一个断点处停下来时,此时就可以看见程序初始化后的情况:被加数12.0 以浮点数的格式放在内存区0x08a-0x08b 中,其值为4140h 和0000h。加数12.0 放在内存区0x08c-0x08d 中,其值也为4140h 和0000h。g.再点击“运行程序”按钮,之后程序会在下一个断点处停下来,这时可以看见被加数被格式转换后的变量op1hm、op1lm 和op1se 的值在内存区0x084-0x086 中,分别为00c0h、0000h 和0082h。同样加数被格式转换后的变量op2se、op2hm 和op2lm的值在内存区0x087-0x089 中,分别为0082h、00c0h 和0000h。
h.再点击“运行程序”按钮,程序停下来时就可以观察到在存储器窗口中表示结果的变量rlthm、rltlm、rltsign 和rltexp 的值在内存区0x080-0x083 中,其值分别为0040h、0000h、0180h 和0083h。
i.这时可以看到 A 寄存器中的值为AH=41c0h,AL=0000h 这就是最后的以浮点数的格式表示的结果值24(=12+12)。加法运算到此结束。
j.继续点击“运行程序”按钮,当程序再次停下来时就可以看见在A 寄存器中显示的13.0 与12.0 进行减法运算的结果:AH=3f80h,AL=0000h。这是用浮点数格式表示的数1(=13-12)。减法运算的程序到此结束。
k.继续点击“运行程序”按钮,当程序再次停下来时就可以看见在A 寄存器中显示的12.0 与12.0 进行乘法运算的结果:AH=4310h,AL=0000h。这是用浮点数格式表示的数144(=12*12)。乘法运算的程序到此结束。
l.继续点击“运行程序”按钮,当程序再次停下来时就可以看见在A 寄存器中显示的12.0 与4.0 进行除法运算的结果:AH=4040h,AL=0000h。这是用浮点数格式表示的数3(=12/4)。至此加、减、乘、除四种运算都运行完毕。
m.如果程序运行不正确,请检查源程序是否有误,必要时可以在源程序中多插入断点语句。程序在执行到断点语句时自动暂停,此时可以通过检查各个寄存器中的值以及内存单元中的值来判断程序执行是否正确。
三.在 CCS 的C54xx simulator 上调试观察实验结果
浮点加法断点一: 浮点加法断点二:
浮点加法断点三: 浮点减法
浮点数乘法 浮点数除法
四 心得体会
通过学习C54X的浮点数的算术运算,以及实验结果的观察,使我了解了浮点数运算的原理,学习并掌握用TMS320C54X来进行浮点数的各种算术运算的算法实现。实验四用定时器实现数字振荡器 实验四 用定时器实现数字振荡器
4.1 实验目的
在数字信号处理中,会经常使用到正弦/余弦信号。通常的方法是将某个频率的正弦/余弦值预先计算出来后制成一个表,DSP 工作时仅作查表运算即可。在本实验中将介绍另一种获得正弦/余弦信号的方法,即利用数字振荡器用叠代方法产生正弦信号。本实验除了学习数字振荡器的DSP 实现原理外,同时还学习C54X 定时器使用以及中断服务程序编写。另外,在本实验中我们将使用汇编语言和C 语言分别完成源程序的编写。
4.2 实验要求
本实验利用定时器产生一个 2kHz 的正弦信号。定时器被设置成每25uS 产生一次中断(等效于采样速率为40K)。利用该中断,在中断服务程序中用叠代算法计算出一个SIN值,并利用CCS 的图形显示功能查看波形。
4.3 实验原理
1)数字振荡器原理
设一个传递函数为正弦序列 sinkωT,其z 变换为 H(z)=
其中,A=2cosωT, B=-1, C=sinωT。设初始条件为0,求出上式的反Z 变换得:
y[k]=Ay[k-1]+By[k-2]+Cx[k-1] 2)C54X 的定时器操作
C54X 的片内定时器利用CLKOUT 时钟计数,用户使用三个寄存器(TIM,PRD,TCR)来控制定时器,参见表4-1。在表4-2 中列出了定时器控制寄存器的各个比特位的具体定义。‘VC5402 的另一个定时器(定时器1)的控制寄存器分别为:0x30(TIM1),0x31(PRD1),0x32(TCR1)。
3)C54X 中断的使用
在 C54X 中用户可以通过中断屏蔽寄存器IMR 来决定开放或关闭一个中断请求。图4-1 给出了C5402 的IMR 寄存器的各个比特位的定义。
图 4-1 ‘C5402 的IMR 寄存器
其中,HPINT 表示HPI 接口中断,INT3-INT0 为外部引脚产生的中断,TXINT 和TRINT 为TDM 串口的发送和接收中断,BXINT0 和BRINT0 为BSP 串口的发送和接收中断,TINT0 为定时器0 中断。在中断屏蔽寄存器IMR 中,1 表示允许CPU 响应对应的中断,0 表示禁止。当然要CPU 响应中断,ST1 寄存器中的INTM 还应该为0(允许所有的中断)。
本实验的初始化程序读取中断向量表的启始地址,然后设置PMST 的高9 位,以便DSP 能正确响应中断,代码如下:
ld #0,dp ;设置DP 页指针 ssbx intm ;关闭所有中断 ld #vector, a ;读出中断向(地址vector 在中断向量表程序中定义)and #0FF80h, a ;保留高9 位(IPTR)andm #007Fh, pmst ;保留PMST 的低7 位 or pmst, a ;
stlm a, pmst ;设置PMST(其中包括IPTR)
4.4 实验内容
本实验需要使用 C54X 汇编语言或C 语言实现数字振荡器,并通过CCS 提供的图形显示窗口观察出信号波形以及频谱。实验分下面几步完成:
1)根据确定数字振荡器的频率,确定系数。2)启动 CCS,新建工程文件。
3)选择 Project 菜单中的Options 选项,或使用鼠标右键单击工程文件名(如sinewave.pjt)并选择build options 项来修改或添加编译、连接中使用的参数。选择Linker 窗口,在“Output Filename”栏中写入输出OUT 文件的名字,如sine.out,你还可以设置生成的MAP 文件名。
4)完成编译、连接,正确生成OUT 文件。
5)选 View→Graph→Time/Frequency„打开图形显示设置窗口。6)在汇编源程序的中断服务程序(_tint)中的“nop”语句处设置断点。7)用右键单击图形显示窗口,并选择“Proporties”项以便修改显示属性。8)清除所有断点,关闭除波形显示窗口外的所有窗口,并关闭工程文件。9)完成编译、连接,正确生成OUT 文件。
10)打开 C 源程序(timer.c)窗口,在中断服务程序(函数tint())的“con_buf=0;”语句处增加一个断点。同样打开图形显示窗口,并将“Start Address”改为buf;“Acquisition Buffer Size”改为“Display Data Size”改为128,“DSP DataType”为“32-bit floating point”
11)选择 Debug→Animate,运行程序,观察输出波形。