版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于DSP的PWM波形发生器设计学生姓名: 学生学号: 专 业: 二一五年十月攀枝花学院本科毕业设计(论文) 摘 要 摘 要PWM波形发生器在20世纪70年代有了飞速的发展,20世纪80年代,PWM波形发生器已应用到各个工程技术领域,例如在工业控制中可以用它来控制各种电机、电力电子设备、逆变器等,它不管在军用还是在民用系统中都发挥了积极的作用。本文首先对PWM波形发生器的基本原理和目前国内外的发展状况做了简单介绍,然后介绍了基于DSP的应用系统的开发流程,并对DSP的相关知识做了全面介绍,最后针对目前波形发生器的发展状况和实际生活中的应用,提出了基于DSP的PWM波形发生器的设计方法。论文完成
2、了基本的硬件电路设计和软件算法设计。硬件设计方面,基于DSP芯片的相关特点,采用了DSP的LF2407芯片来完成本课题的硬件电路设计。软件算法方面,根据要求采用了汇编语言进行程序设计,并给出了相关的源程序以及调试过程,最后对本设计的可行性和性能误差进行了分析。关键词 波形发生器,LF2407芯片,PWM,DSP目 录摘 要.1 绪论11.1 引言11.2 课题背景1 1.2.1课题的研究目的和意义31.2.2 本文的主要研究内容32 DSP开发流程42.1 DSP简介42.2 DSP开发方案的设计与选择52.3 DSP系统设计开发流程72.4 DSP处理器软、硬件开发工具简介93 PWM波形发
3、生器的设计方法123.1 常见的设计方法简介123.2 本文所采用的设计方法154 PWM波形发生器的硬件设计174.1 PWM波形发生器硬件结构174.1.1 PWM波形产生原理174.1.2 TMS320LF2407的介绍174.1.3 系统硬件组成184.2 PWM波形产生器的DSP电路设计205 PWM波形发生器的软件设计225.1 主程序流程图225.2 PWM波形产生器的DSP程序设计22参考文献33 1 绪论1.1 引言DSP(即数字信号处理器)自20世纪90年代后半期开始,逐渐成为人们关注的焦点。DSP是将模拟信号变换为数字信号,并进行高速处理的专用处理器,从算法上说,它具有乘
4、法和加法两种特殊运算功能。它主要针对代表连续信号的数字进行数学运算,以得到相应的处理结果。这种数学运算是以快速傅里叶变换(FFT)为基础,对数字信号进行实时处理。目前常见的DSP芯片有TI的TMS320系列,ADI公司的ADSP2100系列,Lucent的16000系列,Motorola公司的DSP 56602和56603系列等。用DSP芯片实现数字信号处理具有很强的通用性和灵活性,因为DSP芯片体积小,运算速度极快,精度高,接口方便,特别适合处理复杂的数字信号处理算法。DSP将是未来集成电路中发展最快的电子产品,并成为电子产品更新换代的决定因素,它将彻底变革人们的工作、学习和生活方式。本文所
5、阐述的是PWM波形发生器所产生的PWM波形在工业控制中的应用。1.2 课题背景随着电子产业的飞速发展,DSP(数字信号处理器)将越来越广泛的运用在我们的日常生活中,尤其是在通信领域,DSP更是一种不可缺少的工具。而DSP在工业中也得到了广泛的应用,其中基于DSP的PWM波形发生器在工业控制中尤为常见,可以用它来控制各种电机、电力电子设备、逆变器等。1.2.1课题的研究目的和意义各种波形发生器已广泛应用于我们的日常生活中,无论是民用还是军用,它的出现都各给人们带来了方便。其中PWM波形发生器的应用更为广泛,据日本电气协会1992年发表的一项关于PWM波形发生器的调查报告表明,到2001年,PWM
6、波形发生器的需求平均年增长率为12.7%,其中通信领域的需求增长率超过15%,全球PWM波形发生器市场规模从92年的82亿增加到99年的166亿美元,平均年增长率为10%,到03年全球开关电源规模超过288亿美元。因此,普及PWM波形发生器的应用,己经成为电力电子技术中的一个重大课题。同时,为了保证通信领域和工业控制领域的安全经济运行,目前许多工业国家和组织都开始了对PWM波形发生器的深入研究,我国从20世纪以来就开始了对PWM波形发生器的研究,目前,我国在这方面的发展已经取到了许多重大突破。总之,对PWM波形发生器的工程应用研究还有待继续深入。1.2.2 本文的主要研究内容本文在进行大量有关
7、PWM波形发生器的文献研究和资料分析的基础上,主要完成以下工作:(1)首先阅读了大量关于PWM波形发生器的文章,对该系统及其控制系统有了一定的了解。通过对各种PWM波形发生器的工作原理进行比较详细的分析,建立了PWM波形发生器的数学模型,为后面的分析提供了理论基础。(2)并对DSP的相关概念和DSP芯片的发展与应用做了简单的介绍。(3)采用DSP的LF2407芯片的通用定时器,设计了系统的硬件电路。(4)基于软件实现方案,利用汇编和C语言的混合编程,编写了其实现程序,完成了对PWM波形发生器的数字控制。12 DSP开发流程2.1 DSP简介DSP(digital signal processo
8、r)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器件,其主机应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有以下主要特点:(1)在一个指令周期内可
9、完成一次乘法和一次加法;(2)程序和数据空间分开,可以同时访问指令和数据;(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持;(5)快速的中断处理和硬件I/O支持;(6)具有在单周期内操作的多个硬件地址产生器;(7)可以并行执行多个操作;(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。2.2 DSP开发方案的设计与选择十多年前,DSP以其高速、低功耗和高集成度在军事、航天等领域大显身手,随着半导体工艺的进步和工业民用领域的大量采用,近几年来,DSP价格大幅下调,而性能却不断提高,以不可阻挡的趋势进入通信、工业控制和消费领
10、域,DSP正日渐成为现代信息产业的重要基石。从DSP应用范围看,DSP可分为通用DSP和专用DSP两种。其中专用DSP往往是实现信号处理的某些专项功能,实现方式则往往是通用DSP的掩模版本,生产通用DSP的主要厂家有TI公司,AD公司,Motorola, Lucent,其中TI公司著名的TMS320系列占据了国际市场接近一半的市场份额。当我们确定了采用DSP方案以后,首先要做的就是DSP系统的功能需求分析,根据需求选择合适的DSP芯片和相应的开发、仿真工具。2.2.1 DSP系统的功能需求分析在确定了某个具体应用以后,我们要做的第一件事就是构造出一个DSP系统功能框图(图略)。DSP系统设计中
11、要考虑如下几个重要方面:(1)DSP系统处理的模拟带宽。根据这个带宽,选择合适的A/D采样率,A/D采样频率必须服从采样定理。语音信号一般为几kHz到几十kHz,图像信号则可达几MHz;(2)实时性要求。系统设计中实时性与非实时性对系统要求的差异非常之大;(3)算法的复杂度。为了获得较好的系统处理性能,往往要采用复杂算法,而算法越复杂,对DSP处理器的要求也就越多。有时需要在算法的复杂度和处理速度之间进行折衷;4(4)DSP系统处理精度要求。一般而言,在高精度要求中往往采用专业浮点DSP,其它场合采用定点DSP就足够了。在实际应用中采用块浮点方法能有效提高定点DSP的处理精度;(5)成本要求。
12、在军事和航天用途中,为了高性能、高可靠性和留有发展余地,往往尽量采用高性能DSP处理器,甚至不计成本。而在工业和消费领域中,为了保持最终产品在市场上的竞争力,往往要寻找性能、价格比最好的产品;(6)可靠性要求。DSP处理系统所有器件的选择,必须考虑产品的最后应用场合,原则上是星载系统采用宇航级,军事应用采用军品,工业场合选用工业级器件,民用选用商品级即可。最后所选用的器件要考虑是否对应级别;(7)方便开发和使用。为了方便开发仿真,DSP系统设计师最好选用带JTAG硬件仿真接口的DSP芯片,既能方便开发,又便于此后生产中的测试;2.2.2 DSP算法的验证与模拟一个实际的DSP处理系统必然要使用
13、各种算法,要求DSP系统设计者在选择某种算法前就精通各种算法的细节是不现实的。DSP处理系统所选用的算法无非是各种通用算法的组合和改进。革命性的算法不是DSP设计师的任务,DSP系统设计师应尽量选用成熟可靠、经过时间考验的算法,而支持各种通用算法的DSP模拟软件市场上已有不少。我们对其中的一些优秀产品作简单介绍:(1)SPW工作站:cadence公司产品,含有大量的算法库,对通信系统设计尤其适合。(2)Matlab工具包:该软件在国内高校中已经开始流行,该软件矢量矩阵处理功能很强,最新版本中信号处理功能大大加强。(3)Dalisp软件:优秀的信号处理软件包,网上有免费的高校版读者,可自行下载使
14、用。在用如上的工具模拟挑选出了合适的算法组合以后,设计师就可应用高级语言在PC机上进行实际编程验证,设计出DSP的软件处理流程,并给出最终可实现的软件需求分析。2.2.3 DSP开发工具的选择在选定了DSP器件型号后,则应进行DSP开发工具的选择,DSP必备的开发工具有如下几种:(1)ASM/LINK;汇编/链接器;(2)JTAG硬件仿真器,可全透明地访问DSP的所有资源而不占用用户任何资源;(3)Debugger调试器;其他选件还有:C编译器、实时操作系统和算法库。下面以TMs320cZxx/c24x系列为例,介绍国内外DSP开发系统简况。6汇编/链接器:该软件由TI公司的产品提供,型号为T
15、MD32485002。JTAG硬件仿真器:TI公司型号为XDS510,TI公司正式认证的国内第三方合作伙伴也能提供JTAG硬件仿真器。但用户选择国内产品时,应注意有的仿真器无法与TI公司的XDS510兼容,而北京闻亭等公司的产品却能与XDS510兼容得非常好。兼容意味着用户的很多投资可得到保护。Debugger调试软件:与XDS510配合使用,通过该软件能访问用户DSP系统的所有资源。最新的调试软件应该基于Win95平台,能够图形化,有效地显示存储器的波形和频谱。另外,将C编译、汇编/链接调试集成在一起的集成调试环境是新一代调试软件的必备功能。2.2.4 DSP系统调试在选择了合适的DSP开发
16、工具后,设计师就会做具体的硬件设计和软件设计。硬件设计应注意如下要点:认真处理好复位和时钟信号。在DSP电路中,对所有的输入信号必须有明确的处理,不能悬浮和置之不理。模拟电路和数字电路独立布线,最后单点连接电源和地。软件设计则应严格按照软件工程的方法进行管理。一个实际的DSP系统的调试总要经过多次反复,需要设计者和调试者有足够的耐心,坚强的意志和九死一生的精神。做一个现代设计师非常辛苦,必须不断的纠正自己所犯下的各种设计错误。只有当系统可靠地运行并得到市场和社会承认后,才能松一口气,美美的睡上一觉,然后又充满信心地开始下一轮的设计。2.3 DSP系统设计开发流程在设计需求规范,确定设计目标时,
17、其实要解决二个方面的问题:即信号处理方面和非信号处理方面的问题。信号处理的问题包括:输入、输出结果特性的分析,DSP算法的确定,以及按要求对确定的性能指标在通用机上用高级语言编程仿真。非信号处理问题包括:应用环境、设备的可靠性指标,设备的可维护性,功耗、体积重量、成本、性能价格比等项目。算法研究与仿真这是DSP实际应用系统设计中重要的一步。系统性能指标能否实现,以及何种算法和结构能够满足需求,这些都是在这一步考虑的。这种仿真是在通用机上用高级语言编程实现的,编程时最好能模仿DSP处理器形式运行,以达到更好的真实性。在DSP芯片选择中通常有以下几条注意事项:(1)精度:表数格式(定点或浮点),通
18、常可以用定点器件解决的问题,尽量用定点器件,因为它经济、速度快、成本低,功耗小。但是在编程时要关注信号的动态范围,在代码中增加限制信号动态范围的定标运算。(2)字长的选择:一般浮点DSP芯片都用32位的数据字,大多数定点DSP芯片是16位数据字。而MOTOROLA公司定点芯片用24位数据字,以便在定点和浮点精度之间取得折中。字长大小是影响成本的重要因素,它影响芯片的大小、引脚数以及存储器的大小,设计时在满足性能指标的条件下,尽可能选用最小的数据字。 (3)存储器安排:包括存储器的大小,片内存储器的数量,总线寻址空间等。片内存储器的大小决定了芯片运行速度和成本,例如TI公司同一系列的DSP芯片,
19、不同种类芯片存储器的配置等硬件资源各不相同。2.4 DSP处理器的软、硬件开发工具简介随着DSP处理器的功能不断强化和系统开发周期不断缩短,设计和调试DSP系统越来越依赖于DSP开发系统和开发工具,图2-2为DSP处理器开发流程图。虽然厂家不同,但提供的开发调试工具大致类同,一般有下列几种:(1)C语言编译器(C Compiler)一般厂家为了开发DSP系统方便、减小编写汇编程序的难度,都提供了高级语言设计方法:一般是C语言。开发系统针对DSP库函数、头文件及编写的C 程序,自动生成对应的汇编语言,这一步称为C编译。C编译器通常符合ANSI C标准,可以对编写的程序进行不同等级的优化,以产生高
20、效的汇编代码;C编译器还具有对存储器的配置、分配及部分链接功能,并具有灵活的汇编语言接口等多种功能。C编程方法易学易用,但编译出的汇编程序比手工汇编程序长得多,因而效率一般只有20%40%。为了克服C编译器低效率,在提供标准C库函数同时,开发系统也提供了许多针对DSP运算的高效库函数,例如FFT、FIR、IIR、相关、矩阵运算等,它们都是手工汇编的。10C源程序汇编源文件C编译器库文件汇编器链接器可执行代码码结构文件开发板/实验板硬件仿真器软件模拟器目标板测试/调试板产EPROM码 图2-2 DSP开发工具及开发流程图(2)带有高级语言调用/返回接口一般为了得到高效编程,在系统软件开发中,关键
21、的DSP运算程序都是自行手工用汇编语言编写,按照规定的接口约定,由C程序进行调用,这样极大提高编程效率。(3)汇编器(Assembler)将汇编语言原文件转变为基于公用目标文件格式的机器语言目标文件。(4)链接器(Linker)它是将主程序、库函数和子程序以及由汇编器产生的目标文件链接在一起,产生一个可执行的模块,形成DSP目标代码。(5)软件模拟器(Simulator)它是脱离硬件的纯软件仿真工具。将程序代码加载后,在一个窗口工作环境中,可以模拟DSP的运行程序,同时对程序进行单步执行、设置断点,对寄存器/存储器进行观察、修改,统计某段程序的执行时间等。通常在程序编写完以后,都会在软件仿真器
22、上进行调试,以初步确定程序的可运行性。软件仿真器的主要欠缺是对外部接口的仿真不够完善。(6)硬件仿真器(Emulator)在线仿真工具,它用JTAG接口电缆把DSP硬件目标系统和装有仿真软件/仿真卡的PC接口板连接起来,用PC平台对实际硬件目标系统进行调试,能真实地仿真程序在实际硬件环境下的功能。DSP开发系统,这是由厂家提供的一个包含DSP、存储器、常用接口电路的通用电路板和相应软件的软/硬件系统。通常有两种形式,一种是电路板卡的形式,插入计算机中;另一种是通过计算机的串口或并口连接到计算机。这些都是通过计算机的控制端口来控制DSP的运行,并且有简单的DSK(DSP starter Kit)
23、入门套件,和较为复杂的EVM(Evaluation Module)评估模块等。这些都有助于初学者熟悉和使用DSP处理器的应用,也可以作为程序的初步运行对象,方便调试。随着DSP应用范围的扩大、处理能力的加强以及DSP更新速度的加快,DSP处理系统越来越复杂,对设计者来说难度也越来越大,为此有的厂家已产生出一定标准,依据标准来设计生产电路板级DSP处理模块,同时为这种标准模块提供丰富的软件开发系统和算法库。其中典型的如TMS320C4X和SDSP2106X,它们可以通过通信口和全局总线插座,将若干个模块安装在母板上,方便地组成多处理器系统。这种模块化设计降低了硬件设计难度,减少了硬件设计时间,有
24、利于更高效的开发DSP系统。 3 PWM波形发生器的设计方法3.1 常见的设计方法简介采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。PWM控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。PWM控制的基本原理很早就已经提出,但是受电力电子器件发展水平的制约,在上世纪80年代以前一直未能实现。直到进入上世纪80年代,随着全控型电力电子器件的出现和迅速发展,
25、PWM控制技术才真正得到应用。随着电力电子技术、微电子技术和自动控制技术的发展以及各种新的理论方法,如现代控制理论、非线性系统控制思想的应用,PWM控制技术获得了空前的发展。到目前为止,已出现了多种PWM控制技术,根据PWM控制技术的特点,到目前为止主要有以下8类方法。 3.1.2硬件调制法硬件调制法是为解决等面积法计算繁琐的缺点而提出的,其原理就是把所希望的波形作为调制信号,把接受调制的信号作为载波,通过对载波的调制得到所期望的PWM波形。通常采用等腰三角波作为载波,当调制信号波为正弦波时,所得到的就是SPWM波形。其实现方法简单,可以用模拟电路构成三角波载波和正弦调制波发生电路,用比较器来
26、确定它们的交点,在交点时刻对开关器件的通断进行控制,就可以生成SPWM波。但是,这种模拟电路结构复杂,难以实现精确的控制。 4 PWM波形发生器的硬件设计4.1 PWM波形发生器硬件结构4.1.1 PWM波形产生原理一般的采样型SPWM法分自然采样法和规则采样法,自然采样法是将基准正弦波与一个载波三角波相比较,由两者的交点决定开关模式的方法。由于自然采样法得到的数学模型需要解超越方程,因而并不适合微控制器进行实时控制,又因为实践检验对称波形比非对称波形在三相电的相电流中引起的谐波失真小,所以我们使用对称规则采样法作为本系统的数学模型。 这里说明一下使用TI公司的DSP芯片TMS320LF240
27、7(以下简称2407)来产生PWM信号的原理:由于产生一个PWM信号需要有一个适合的定时器来重复产生一个与PWM周期相同的计数周期,并用一个比较寄存器来保持调制值,因此,比较寄存器的值应不断与定时寄存器的值相比较,这样,当两个值相匹配时,就会在响应的输出上产生一个转换(从低到高或从高到低),从而产生输出脉冲,输出的开启(或关闭)时间与被调制的数值成正比,因此,改变调制数值,相关引脚上输出的脉冲信号的宽度也将随之改变。通过TMS320LF2407的事件管理器模块可以产生一定占空比的PWM脉冲信号,而使用其中的通用定时器、全比较单元和单比较单元则均可发出PWM脉冲,由DSP的PWM口可输出一系列等
28、幅不等宽的PWM波形信号,这些信号再经过外围一系列调理电路的变换之后,便可以得到所需要的三相交流正弦波信号了。事实上,在硬件上,DSP有两个设计一样的事件管理模块(EVA/EVB),每一个事件管理模块都有6个PWM输出口,故可输出两组三相SPWM波,一般均可满足通常的设计需要。 4.1.2 TMS320LF2407的介绍TMS320LF2407是德州仪器公司(TI)推出的16位定点DSP。如图4-1所示。它除了具有TMS320系列DSP的基本功能外,还具有以下一些特点:(1)用高性能静态CMOS技术,使得供电电压降为3.3V,减少了控制器的功耗。(2)内有高达32K×16位的Flas
29、h程序存储器,高达2.5K×16位的数据/程序RAM,544×16位双端口RAM(DARAM),2K×16位的单口RAM(SARAM)。(3)2个事件管理模块EVA和EAB,事件管理模块适用于控制交流感应电机、无刷直流电机、开关磁阻电机、步进电机、多级电机和逆变器。(4)可扩展的外部存储器总共192K×16位,其中程序存储器空间、数据存17储器空间、I/O寻址空间各为64K×16位。(5)内有看门狗定时器(WDT)、10位ADC转换器、控制器区域网模块CAN2.0B、串行通信接口模块(SCI)、16位串行外部设备接口模块(SPI)、基于锁相环的
30、时钟发生器。(6)5个外部中断(两个电机驱动保护、复位和两个可屏蔽中断);3种低功耗电源管理模式,能独立地将外设器件转入低功耗工作模式。此外,该芯片有多达41个可单独编程或复用的通用I/O脚(GPIO),用户可根据自己的需求进行软件设置,使之在应用中具有极大的灵活性。概括来说,TMS320LF2407具有极低的功耗、强大的处理能力、丰富的片上外围模块、方便高效的开发方式。(1)控制器部分本系统采用TI公司的TMS320LF2407 DSP处理器,该器件具有外设集成度高,程序存储器容量大,A/D转换精度高,运算速度快,I/O口资源丰富等特点,芯片内部集成有32KB的FLASH程序存储器、2KB的
31、数据/程序RAM,两个事件管理器模块(EVE和EVB)、16通道A/D转换器、看门狗定时器模块、16位的串行外设接口(SPI)模块、40个可单独编程或复用的通用输入输出引脚(GPIO)以及5个外部中断和系统监视模块。段驱动器2×SN74LS07四位LED位驱动器74LS06DSP微控制器TMS320LF2407PGE独立式四键功能键盘电源(自带复位功能)Clock Circuit缓冲及电平转换电路输出PWM波图4-2 PWM波形发生器硬件结构框图TMS320LF2407芯片中的事件管理模块(EV)是一个非常重要的组成部分。SPWM波形的产生和输出就是由这一部分完成的,它由两个完全相同
32、的模块(EVA和EVB)组成,每个模块都含有2个通用定时器、3个比较器、6至8个PWM发生器、3个捕获单元和2个正交脉冲编码电路(QEP)。由于TMS320LF2407有544字的双口RAM(DARAM)和2K字的单口RAM(SARAM);而本系统的程序仅有几Kb,且所用RAM也不多,因此不用考虑存储器的扩展问题,而对于TMS320LF2407的I/O扩展问题,由于TMS320LF2407器件有多达40个通用、双向的数字I/O(GPIO)引脚,且其中大多数的基本功能和一般I/O复用的引脚,而实际上,本系统只需要17路I/O信号,这样,就可以为系统剩余50%多的I/O资源,因此可以说该方案既不算
33、浪费系统资源,也为系统今后的升级留有余地。(2)输出D/A通道部分本系统的输出通道部分主要负责实现波形的输出,此通道的入口为TMS320LF2407的PWM8口,可输出SPWM等幅脉冲波形,出口为系统的输出端,这样,经过一系列的中间环节,便可将PWM脉冲波转化为交流正弦波形,从而实现正弦波的输出。 图4-2中的缓冲电路的作用是对PWM口输出的数字量进行缓冲,并将电压拉高到5V左右,以供后级模拟电路滤波使用。这一部分电路由两个芯片组成。一片用三态缓冲器,由于PWM口的输出为3.3V的TTL电平,这样,在设计时就应当选用输入具有5V的TTL输入,CMOS输出电平的转换芯片(如TI公司的74HCT0
34、4);另一片则可选用TOSHIBA公司出品的光电耦合器6N137;输出端连接的519V精密稳压电源可选用BURR-BROWN公司生产的REF02型精密稳压电源,以输出标准的5V电压。系统中减法电路的主要作用是把0-10V直流脉动信号转换成-5+5V的正弦交流信号,并使其电压增益为1。设计时可利用差分式电路来实现其功能,为了简化电路,可以选用较为常用的AD公司的AD524,并将AD524接成电压跟随器的形式,同时适当的选取电阻以满足要求,此外,为了使产生的正弦波信号具有2-5mA的驱动能力,可选用AD624来构成末级的信号放大电路。AD624是高精度低噪声放大器,若外接一只增益电阻,即可得到1-
35、1000之间的任意增益值,其误差小于1%。由于AD624的建立时间只有15s,所以它非常适宜在高速数据采集系统中使用。 (3)驱动器设计 位驱动器电路由两片集成电路组成,即由位驱动的CMOS芯片和将TTL电平转换成CMOS电平的电平转换芯片组成,电平转换芯片可以和输出通道的电平转换芯片共用一片74HCT244(本部分使用4路,输出通道使用3路),其主要作用是对DSP输出的3.3V TTL电平与5V CMOS电平进行匹配,从而带动具有CMOS电平的位驱动器,根据动态扫描显示的要求,位驱动器需要选用每路输出吸收电流都要大于200mA的芯片,因此,本设计选用了TI公司的74LS06来做LED的大电流
36、驱动器件。 (4)键盘设计 本系统选用四个独立式按键,分别接入PF3-PF6口,并使用四个220上拉电阻接VCC。所谓独立式,就是将每一个独立键按一对一地直接接到I/O输入线上,而在读键值时,直接读I/O口,每一个键的状态通过读入键值的一位(二进制位)来反应,所以这种方式也称为一维直读方式,这种方式的查键软件比较简单,但占用I/O线较多,一般在键的数量较少时采用,不过,由于DSP芯片有足够的I/O接口可供使用,因而可大大方便设计,设计时可以充分利用这一特点来连接硬件,至于按键的削抖动措施,则可在软件中完成。4.2 PWM波形发生器的DSP电路设计基于LF2407的采用通用定时器GPT1产生PW
37、M波形的电路原理如图4-3所示。从图4-3中可以看出,在DSPLF2407的16引脚(T1PWM/T1CMP/IOPB4)输出一个PWM波,其载波由通用定时器的周期寄存器控制,其有效的PWM脉宽由通用定时器的比较寄存器控制。LF2407的地Vss(CPU核的地)和Vsso(I/O端口和缓冲器的地)要正确接地,这是保证DSP正常工作的前提。DSP的时钟由石英晶体提拱,一定要保证DSP时钟的正确性,它是输出PWM波的前提。 图4-3 采用通用定时器GPT1产生PWM波形的电路基于LF2407的采用脉宽调制电路产生PWM波形的电路如图4-4所示。图4-4 采用脉宽调制电路产生PWM波形的电路 从图4
38、-4中可以看出,DSP LF2407的脉宽调制电路的输出端(PWM7PWM12)一共产生了3组(6个)PWM波,它是由通用定时器GPT3控制的,在每一对PWM波输出中都可采用死区控制,并且其极性也是受控制的,在线调节十分方便。在DSP的CPU和通用定时器初始化后,在没有CPU管理的情况下,LF2407的脉宽调制电路的输出端将输出实时正确的波形。5 PWM波形发生器的软件设计5.1主程序流程图脉冲发生器的核心元件是一片TMS320C32的数字信号处理器。脉冲发生就是通过对这个器件的编程来实现的。在软件中,首先初始化DSP,扩展脉冲波形数据,再由扩展后得到的数据生成地址表。发脉冲时,根据控制器所给
39、的调制比m 查询地址表,得到对应于特定m 的脉冲加载角度和状态字节的地址,最后在中断服程序中计算加载时间并输出脉冲状态,主程序流程如图5-1所示。DSP初始化调入脉冲数据并扩展,生成地址表接收第一个m和f,输出第一个脉冲状态字节定时器中断和全局中断使能,启动定时器循环接收新的m和f,等待中断,以输出脉冲序列开始图5-1 主程序流程图5.2 PWM波形发生器的DSP程序设计采用DSP的LF2407芯片的事件管理器的脉宽调制电路来产生PWM波形,DSP LF2407的两个事件管理器可以产生多达6对(即12个)PWM波形输出,并且这些输出的极性均可在线控制,还带有可编程的死区控制寄存器,能够满足大多
40、数电机控制和电力电子的应用系统.它在通用定时器的比较匹配时也能产生非对称和对称的PWM波的输出。该方法也不占用CPU的资源。22以下程序代码是用通用定时器(GPT1)产生PWM波形发生器的主程序和系统初始化程序,在程序代码后都添加了详细的解释说明。请注意产生PWM波时事件管理模块中各个寄存器的配置方法和配置顺序,特别是定时器的寄存器的配置顺序不能颠倒,否则将无法产生程序所需要的PWM波形。 采用通用定时器(GPT1)产生可在线调整的PWM脉冲波 本程序的文件名:GPT1_pwm_generate.asm .title “GPT1_pwm_generate.asm”.include “if240
41、7_regs.h”.include “pwm_generate_vec.asm”.def _cy_begin.dataInput_Carrier .word 00hInput_PWM .word 00h .text_cy_begin: NOP CALL system_init CALL GPT1_PWM_initcy_WAIT: NOP NOP24 B cy_WAITSystem_init: SETC INTM CLRC OVM CLRC SXM CLRC CNF LDP #DP_PF1 SPLK #081FEH,SCSR1 SPLK #0E8h, WDCR LDP #0 SPLK #0002
42、h,IMR SPLK #0FFFFh,IFR RETGPT1_PWM_init: LDP #DP_PF2 LACL MCRA OR #1000H SACL MCRA LDP #DP_EVA SPLK #0FFFFH,EVAIFRA SPLK #0FFFFH,EVAIFRB SPLK#0FFFFH,EVAIFRC SPLK #0042H,GPTCONA SPLK #0, T1CNT SPLK#375, T1PR SPLK#187, T1CMPR SPLK#0100H, EVAIMRA SPLK#0000H, EVAIMRBSPLK#0000H, EVAIMRCSPLK#0C46H, T1CON
43、CLRC INTM RETGISR2: LDP #DP_PF1 LACC PIVR, 1 ADD #PVECTORS BACCTICINT_ISR: LDP #6 LACL Input_Carrier LDP #DP_EVA SACL T1PR26 LDP #6 LACL Input_PWM LDP #DP_EVA SACL T1CMPR CLRC INTM RET PHANTOM: LDP #DP_PF1 SPLK #05555h, WDKEY SPLK #0AAAAh, WDKEY RET .end以下程序代码是采用LF2407的脉宽调制电路产生PWM波形的主程序和系统初始化程序。该程序在
44、DSP的输出端(PWM7PWM12)一共产生了3组(6个)PWM波,它是由通用定时器GPT3控制的,在每一对PWM波输出中都可采用死区控制,并且其极性也是受控制的,程序如下: 采用脉宽调制电路来产生可在线调整的并带死区控制的PWM脉冲波本程序的文件名:PWM_pwm_generate.asm .title “PWM_pwm_generate.asm” .include “If2407_regs.h” .include “pwm_ generate_vec.asm” .def _cy_beginInput_Carrier .word 00hInput_PWM_7_8 .word 00hInput
45、_PWM_9_10 .word 00hInput_PWM_11_12 .word 00hInput_DeadBand .word 00h .text_cy_begin NOP CALL system_init CALL PWM_PWM_initcy_WAIT: NOP NOP B cy_WAITSystem_init: SETC INTM CLRC OVM CLRC SXM CLRC CNF LDP #DP_PF127 SPLK #081FEh, SCSR1 SPLK #0E8h, WDC R LDP # 0 SPLK #0002h, IMR SPLK #0FFFFh, IFR RETPWM_
46、PWM_init: LDP #DP_PF2 LACL MCRC OR #007Eh SACL MCRC LDP #DP_EVB SPLK #0FFFFh, EVBIFRA SPLK #0FFFFh, EVBIFRB SPLK #0FFFFh, EVBIFRC SPLK#0666h, ACTRB SPLK #0F94h, DBTCONB SPLK #1200, CMPR4 SPLK #750, CMPR5 SPLK#300, CMPR6SPLK #1499, T3PRSPLK #0A600h, COMCONBSPLK #0, T3CNTSPLK #41h, GPTCONBSPLK#0080h,
47、EVBIMRASPLK#0000h, EVBIMRBSPLK#0000h, EVBIMRCSPLK#144Eh, T3CONCLRC INTMRETGISR2: LDP #DP_PF1 LACC PIVR, 1 ADD #PVECTORS BACCT3GB_ISR: LDP #6 LACL Input_Carrier LDP #DP_EVB SACL T3PR LDP #6 LACL Input_PWM_7_8 LDP #DP_EVB SACL CMPR4 LDP #6 LACL Input_PWM_9_10 LDP #DP_EVB SACL CMPR5 LDP #6LACL Input_PW
48、M_11_12 LDP #DP_EVB SACL CMPR6 CLRC INTM RETPHABNTOM: LDP#DP_PF1 SPLK#05555h, WDKEY SPLK#0AAAAh, WDKEY RET .end以下程序代码是本实例程序的系统配置命令文件,该文件实现对程序存储空间和数据存储空间的分配,从该配置文件中可以看到本实例的存储器空间和配置方法。 -stack 40MEMORYPAGE0: VECS: origin=0000h, length=0040h PVECS: origin=0044h, length=0100h PM: origin=0150h, length=7EB
49、0hPAGE1: BLOCK_B2: origin=0060h, length=0020h BLOCK_B0: origin=0200h, length=0100h BLOCK_B1: origin=0300h, length=0100h SARM:origin=0800h, length=0800h EX_DM: origin=8000h, length=8000hSECTIONS28 .vectors: >VECS PAGE 0 .pvecs: >PVECS PAGE0 .text: >PM PAGE0 .data : >BLOCK_B1 PAGE15.2.2程序说
50、明及仿真结果(1)对于一个实际的DSP系统来说,系统的中断管理是不可缺少的,因为目前任何DSP实时系统都有中断,中断是DSP系统和外部世界发生实时联系的一个重要手段。作为TI公司的C2000系列DSP,它是偏向于控制的DSP芯片,因此它的中断管理更丰富和先进,读者理解起来也比较困难。LF2407支持6个一级可屏蔽中断,采用集中化的中断扩展设计来满足大量的外设中断请求,所以每一级中断又有多个中断源,例如一级中断INT2包含的中断源有比较器1、2、3、4、5、6中断,定时器1、3的周期、比较、下溢、上溢中断等。为了正确地响应外设中断,应该分两步来完成中断服务子程序。在本例的程序GPT1_pwm_g
51、enerate.asm中,采用通用定时器1的比较器中断来产生PWM波,当CPU响应该中断时,首先转移到一级中断INT2中,也即GISR2处执行,在一级中断INT2中读取外设中断向量寄存器(PIVR)的值,它是个偏移量,再加上中断子向量的首地址,程序就可以转移到二级中断子向量T1CINT_ISR(定时器1比较中断)子程序中,执行相应的操作后即完成了一次中断调用。(2)LF2407通过外设中断扩展控制器(PIE)来实现集中化的中断扩展管理,这可以实现在占用及少资源情况下,大大扩展可用的中断源。因此在实际的DSP程序中,中断向量表和中断子向量表程序是不可缺少的,读者在自行编程序时一定要在主程序中用.include汇编伪指令把本实例介绍的向量表文件pwm_generate_vec.asm包括进来。(3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健身房砌墙施工合同
- 幼儿园景观照明电工招聘
- 保健分公司管理手册
- 知识产权侵权行为处罚办法
- 商业促销设备短期租赁合同
- 旧城改造项目密封条样本
- 建筑咨询项目经理施工协议
- 商铺自动门施工合同
- 剧院音响租赁合同
- 环保信息化管理行动计划
- 胃癌根治术的手术配合课件
- 安吉游戏培训课件(全)
- 高边坡专项施工方案 (需专家论证)
- 餐饮服务和管理说课名师优质课赛课一等奖市公开课获奖课件
- DB21T 3314-2020 生物炭直接还田技术规程
- 股骨颈骨折课件课件
- (中职)化工总控工应会技能基础模块1 化工生产准备-1-化工生产过程认知教学课件
- 小学主管后勤副校长岗位职责共3篇 学校后勤副校长岗位职责
- 钎探数据记录
- 施工电梯安装(拆卸)安全技术交底
- 北京应急指挥系统建设
评论
0/150
提交评论