毕业设计(论文)-基于VC5402实验箱的模糊温度控制方法设计.doc_第1页
毕业设计(论文)-基于VC5402实验箱的模糊温度控制方法设计.doc_第2页
毕业设计(论文)-基于VC5402实验箱的模糊温度控制方法设计.doc_第3页
毕业设计(论文)-基于VC5402实验箱的模糊温度控制方法设计.doc_第4页
毕业设计(论文)-基于VC5402实验箱的模糊温度控制方法设计.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

I基于基于VC5402VC5402实验箱的模糊温度控制方法设计实验箱的模糊温度控制方法设计摘要摘要实现温度控制的方法有很多种,按照毕业论文要求,设计一个基于VC5402实验箱的模糊温度控制系统,它包括硬件部分和软件测试部分的设计。硬件部分的设计主要是TMS320C54x的DSP最小系统的设计,包括电源电路设计、复位电路设计、时钟电路设计和JTAG接口电路设计,以及最小系统总电路的设计,用Protel99SE软件画出电路原理图和相应PCB图。软件部分的设计重点在于模糊控制器的设计。介绍模糊控制的基本原理,在此基础上提出模糊控制器的设计思想。用VC5402的C语言编写程序,重点介绍模糊温度控制子程序。将温度控制程序加载到DSP开发系统实验箱上的温度控制单元,运行CCS软件。在CCS环境中测试仿真结果,能体现模糊温度控制的效果。模糊温度控制系统具有调整时间短,超调小,稳态误差小,动态性能好的特点。关键词:DSP;VC5402;模糊温控IIAbstractTherearemanywaystoachievethetemperaturecontrol.DemandinthelightofgraduationthesisdesignofafuzzytemperaturecontrolsystembasedontheVC5402experimentbox.Itincludesthehardwarepartandsoftwaretestingpartdesign.HardwarepartdesignisthedesignoftheTMS320C54xDSPminimumsystemmainlywhichincludedthepowersupplycircuitdesignresetcircuitdesignclockgeneratordesignandJTAGinterfacedesignaswellastheminimumsystemdesignoftheoverallcircuitthenmakeuseoftheProtel99SEtodesigntheelectroniccircuitdiagramandthePCBdiagram.Thesoftwaredesignfocusedonthedesignofthefuzzycontrol.Basedonwhichthearticleprovideadesignideaforthefuzzycontroller.ProgramwasassembledinVC5402Clanguageandtheintroductionofprogramdesignfocusedonthesubprogramofthetemperaturecontrol.TemperaturecontrolprogramwillbeloadedintothetemperaturecontrolunitofDSPdevelopmentsystemexperimentbox.RuntheCCSsoftwareandtestsimulationresultsintheCCSenvironmentfromwhichcanreflecttheeffectoffuzzytemperaturecontrol.Fuzzytemperaturecontrolsystemhasthegoodcontrolpropertiesofquickresponsesmallstableerrorandgooddynamiccharacteristic.keywords:DSPVC5402FuzzyTemperaturecontrol.III目录前言.1第1章系统电路设计.21.1基本硬件组成.21.1.1基于C54X的DSP最小系统设计.21.1.2DSP电源电路设计.21.1.3DSP复位电路设计.61.1.4DSP时钟电路设计.81.1.5JTAG接口电路设计.111.2电路设计整体思路.13第2章系统控制算法设计与实现.152.1模糊控制的基本原理.152.2本设计模糊控制算法的设计思想.172.2.1模糊控制器系统结构.172.2.2模糊化和参数设置.172.2.3模糊规则建立.17第3章系统软件设计与实现.193.1C语言概述.193.1.1C54xC语言介绍.193.1.2C54XC与ANSIC的不同点.193.2温度控制子程序.20第4章测试过程.234.1温度控制单元.234.2温度控制过程.234.3温度控制测试结果.24结论.26致谢.27IV参考文献.281前言前言温度控制电路广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同,传统继电器调温电路简单实用,但由于继电器动作频繁,可能会因触点不良而影响正常工作。最近几年快速发展的PID温控,神经网络以及遗传算法在温度控制中都有很好的应用。然而由于温度控制惯性大、有滞后现象,难以建立精确的数学模型,要实现可靠的测控不是一个简单的问题。尽管PID控制原理简单、稳定性好,在工业控制上应用广泛,但其难以达到性能指标的要求,同时参数的整定比较困难。鉴于此,在温控系统中引入模糊控制已成发展趋势。模糊控制是基于模糊逻辑描述一个过程的控制算法,它不需要被控对象的精确模型,仅依赖于专家和现场操作人员的经验和直观判断,易于应用。无论是神经网络,模糊控制还是遗传算法,都属于人工智能领域,同PID结合以调节PID参数,适应温控系统非线性,干扰多,大时延,时变和分布变化的特点。神经网络采用自适应的方法,具有很强的鲁棒性,动态响应快。缺点是容易陷入局部最优,采用遗传算法来训练神经网络可以实现结构与参数的快速全局寻优。模糊控制适应大惯性和纯滞后系统,不需要知道系统的精确信息,与神经网络结合,能向自适应的方向发展。综上所述,实现温控系统的参数自调整,将线性控制与非线性相结合,使温度能满足用户的需要是温控系统的最终目的。在实际应用中,应该根据具体的应用场合、不同的加热对象和所要求的控制曲线和控制精度,选择不同的系统方法。2第第1章章系统电路设计系统电路设计1.1基本硬件组成1.1.1基于基于C54X的的DSP最小系统设计最小系统设计DSP最小系统就是指没有输入扩展、输出扩展,除了片内通信通道也没有通信扩展的基本独立的、功能极其有限的DSP系统。DSP最小系统的设计是DSP硬件设计中的最基本也是最重要的一步,这是因为:(1)最小系统是DSP系统硬件设计的基础所有的DSP硬件系统都是从最小系统设计开始的,所有的DSP硬件系统也都是由最小系统扩展而成的。(2)DSP最小系统的设计与DSP芯片结合的最紧密DSP最小系统的设计与DSP芯片本身的结构息息相关,但与具体的应用几乎没有太大的关系。因此,设计DSP硬件系统时,先设计的最小系统有助于设计者逐步掌握DSP硬件设计。另外,相同型号的DSP的最小系统基本上一样,因此,最小系统的设计具有一定的可移植性。(3)最小系统正常工作是整个DSP硬件系统正常工作的基础虽然最小系统在DSP芯片的基础上,仅仅在外部增加了一些电源电路、时钟晶振电路、复位电路和JTAG接口电路,但是这些电路却都是保证整个DSP系统正常运行的最关键的组成部分。打个比方,对于DSP系统来讲就类似于人体的“心脏”、“大脑”、“肝”、“肺”、“胃”等几大部件,缺一不可。DSP最小系统中的电源电路、时钟晶振电路和复位任何部分工作不正常,整个系统将无法工作。只有最小系统工作正常了,整个系统才有可能正常工作。而JTAG接口是系统在线调试的基础,没有该接口的正常工作,你所设计的硬件系统也就是不可调试的,是“盲”的。这当然是不允许的。所以,我们也把JTAG接口归结为最小系统部分。1.1.2DSP电源电路设计电源电路设计DSP电源电路的设计是DSP硬件系统中首先要考虑的一个问题。DSP芯片及其外围接口电路及芯片对电源的供电要求是DSP电源电路设计的基础。对于C54X来言,需要两种供电电压,即:IO电压为3.3V,内核电压为1.8V。所谓的IO电压,也就是DSP芯片IO接口部分所需要的供电电压。这里之所以采用小于IO电压3.3V的1.8V作为内核电压,主要是为了减少内部PN节的压降,降低内部功耗和提高芯片内部的工作频率。对于DSP系统的外部数字接口芯片来讲,一般为5V供电或者3.3V供电。对于模拟接口芯片来讲,除了需要数字电源,还需要模拟电源,一般情况下数字电源和模拟电源不能共地。有的模拟接口器件除了要求正电源还要求负电源。因此,DSP系统的电源供电电路并不是“千篇一律”的,是与具体应用密切相关的。而对于最小系统来讲,C54x的电源电路还是比较一致的。主要是设计+3.3V电源和3+1.8V的电源。由于C54x内部没有集成AD转换电路,所以也就没有模拟电源的要求。这里,我们主要介绍一下这两种电源的供电电路。由于大部分数字系统都采用+5V作为主供电系统,因此,+3.3V和+1.8V的电源一般都是从主供电电源+5V经过调压电路得到的。这个调压电路,可以用简单的分离器件构成。但是,一般情况下,DSP的供电要求除了电压幅度、电流大小等要求外,还对电压的稳定性、内核电压和IO电压的供电顺序等有要求,因此,一般的DSP系统都采用集成供电系统提供电源供电,这些集成电路供电系统称之为“电源管理芯片”。这些管理芯片,有的只提供一种电源输出(如单纯的3.3V输出或者单纯的1.8V输出),有的同时提供双电源输出(既输出3.3V,又输出1.8V)。1、单3.3V电源输出的电源管理芯片常用的单3.3V输出的电源管理芯片有:TI公司的TPS7133、TPS7233、TPS7333和TPS75733;Maxim公司的MAX604、MAX748等。其中TPS75733以体积小、供电点能力强(达3A)、稳压性能好等特点,使得它应用得较多。TPS75733典型应用电路如图1.1所示。图1.1TPS75733典型应用电路其引脚功能如表1.1所示。表1.1TPS75733引脚功能表引脚号引脚名称IO特性引脚功能1ENI输入使能2INI输入电压3GND地4OUTPUTO输出电压5PGIFB反馈输入输出PG其中:(1)引脚用来使能电源管理芯片。为低电平,OUTPUT引脚就会有3.3V输出,ENEN如果为高电平,OUTPUT引脚没有3.3V输出,电源管理芯片TPS75733处于关断模式。EN利用该引脚可以控制上电顺序。(2)(power-good)引脚:当输出为固定输出时,用来指示输出电压的状态。当PGOUTPUT到达或高于标准输出值的91%时,引脚就会变为低阻抗状态。当OUTPUT到PG达或者地狱标准输出值的89%时,引脚就会变为高阻抗状态。引脚内部是漏极开路PGPG的,所以需要接一个上拉电阻,同时作为电压反馈。2、单1.8V电源输出的电源管理芯片常用的单1.8V输出的电源管理芯片有:TI公司的TPS75718、TPS76818、TPS76801。4其中TPS75718的引脚分布和使用方法与TPS75733完全一样,唯一的区别是TPS75718输出的是1.8V,而TPS75733输出的是3.3V。这里不再重复。TPS76818也是一种固定1.8V输出的电源管理芯片,应用电路和TPS75718也是非常相似。典型电路如图1.2所示。图1.2TPS76818典型应用电路关于这个电路我们不再详细介绍。这里主要介绍一下可调输出TPS76801芯片的用法。TPS76801是具有1A输出电流的低压降、低静态电流、快速瞬态响应的输出的电源管理芯片,其低压输出在1.25.5V可调。TPS76801的典型应用电路如图1.3所示。图1.3TPS76801典型应用电路3、内核电压和IO电压能够同时上电,则不会有任何问题,但是很难做到(除非采用双电压输出的电源管理芯片如TPS73HD318,既能输出3.3V电压又能输出1.8V电压)。如果不能做到同时上电,则一般DSP芯片对内核电压和IO电压的加电顺序是有一定要求的,不同的DSP要求不一样,有的要求内核电压先加电,IO电压后加电(大部分都是这样),有的则反过来(TMS320F2812)为此,可以采用如图1.4所示的电路来实现上电顺序的控制。5图1.4先IO上电后内核上电的上电顺序控制电路4、双电源供电电路当系统功耗要求不是很高时,我们还可以选用双电源供电芯片来同时提供内核电源和IO电源。TI公司的TPS73HD3XX系列芯片就可以实现这样的功能。其中TPS73HD318同时提供3.3V电压和1.8V电压,TPS73HD325提供3.3V电压和2.5V电压,TPS73HD301提供一路3.3V电压和一路1.29.75V电压。这些双电源芯片每一路都可以提供最大750mA的电流。另外,从同一芯片提供的两路电源基本上是同时供电的,所以一般肯定能够满足供电时序上的要求。另外,TPS73HD3XX双电源供电芯片还能够提供一个脉宽为200ms的低脉冲复位信号,该信号可以作为系统的上电复位信号。采用TPS73HD318为DSPC5402供电的典型电路如图1.5所示。图1.5TPS73HD318典型应用电路61.1.3DSP复位电路设计复位电路设计在系统刚刚上电时,DSP处理器的状态是不确定的,此时无法进行信号处理运算,为此,在系统上电后必须首先将DSP的RESET引脚上提供一个合适的脉冲信号。对于C54X来讲,就是在RESET引脚上至少5个以上CLKOUT时钟宽度的负脉冲,这个信号成为复位脉冲信号(一般情况提供一个宽度为100200ms的复位脉冲是合适的)。经过这个复位脉冲的复位,C54X就会处于以下的初始工作状态:(1)ST0的值为:字段ARPTCCOVAOVBDP复位值011000(2)ST1的值为:字段BRAFCPLXFHMINTMOVMSXMC16FRCTCMPTASM复位值00101010000(3)PMST的值为:字段IPTRMPMCOVLYAVISDROMCLKOFFSUMULSST复位值1FFh取决于引脚MPMC0000NANA(4)扩展程序计数器XPC=0000h。(5)程序计数器PC=FF80h。(6)中断标志寄存器IFR=0000h。(7)将地址总线置为FF80h。(8)控制线均处于无效状态。(9)使数据总线处于高阻状态。对DSP进行复位的方法有以下几种:1.软件复位法在程序内执行“RESET”汇编语句来实现,复位后的效果和硬件复位基本一样。软件复位法的局限性是在系统工作的过程中条用专用语句来实现,前提是系统必须正常工作以后,而系统尚未正常工作时是不可以的,比如说刚刚上电时。2.硬件复位法硬件复位是指利用硬件电路实现DSP系统所需要的复位信号脉冲。硬件复位根据它的作用时间又分成:上电复位(电源上电时提供复位信号)、手动复位(运行过程中利用手动按钮产生复位信号)和自动复位(由专用电路根据系统的运行情况,在系统需要进行复位时自动提供复位脉冲)。根据复位电路的构成又分成RC复位电路和专用集成电路复位。RC上电复位电路是利用RC电路的延迟特性来产生复位所需要的低电平时间,其电路结构如图1.6所示。7图1.6RC上电复位电路电容电压:(1)tCCCVVe时间常数:RC复位时间:ln(1)CCCVRCV设=1.5V为阈值电压,选择R=100KC=4.7,电源电压=5V,可得复位时间cVFCCVt=167ms。系统上电初期晶振电路通常需要100200ms的稳定期,这里选择t=167ms可以满足要求。施密特触发器保证了复位脉冲低电平持续期的稳定。RC手动复位电路可以在系统运行异常的任何时候,用手动方式按键产生复位信号,其电路结构如图1.7所示。图1.7RC手动加上电复位电路当按键按下时,电容C就会通过放电,最终电压将为:1R11ccRVRR如果该电压小于0.4V的TTL低电压门限,将会在引脚上产生有效的复位脉冲。假设UB8=5V,R=100KC=4.7取=50,那么按键按下后上的电压将为0.238V,可ccVF1RRS以满足这一要求。1.1.4DSP时钟电路设计时钟电路设计DSP的工作是以时钟为基准的,时钟电路就是用来为DSP芯片提供时钟信号的电路。时钟电路的稳定运行是DSP系统稳定运行的基础,因此时钟电路的设计是DSP系统设计中一个重要的环节。在C54X内部有一个振荡器和一个锁相环PLL是用来产生时钟的。只要外部扩展晶体振荡器结合内部振荡器便可以产生基础时钟信号,该基础时钟信号也可以由外部直接输入。有了基础时钟信号,结合内部锁相环PLL就可以产生稳定的基础时钟信号的倍频或分频信号,这些倍频或分频信号就可以作为该DSP的主时钟信号,在该主时钟信号的基础上,还可以产生内部各片内外设所需要的各种时钟信号。1.基础时钟的产生首先,介绍一下基础时钟信号的产生方法,如图1.8所示。图1.8基础时钟信号的外接无源晶振的时钟电路C54X系统一般使用外接有源晶振的时钟电路,这种电路比外接无源晶振的时钟电路要稳定。2.锁相环PLL锁相环PLL可以对基础时钟频率进行倍频或者分频,并且具有时钟信号提纯的作用,利用PLL的锁定特性可以对时钟频率进行锁定,为芯片提供高稳定频率的时钟信号。C54X的锁相环可以提供基础时钟的倍频或分频信号,所提供的信号频率与基础时钟信号频率的倍数关系为:0.25、0.5、0.75、1、1.25、1.5、1.75、5、2.25、2.5、2.75、3、3.25、3.5、3.75、4、4.5、5、5.5、6、6.5、7、7.5、8、9、10、11、12、13、14、15。例如,如果希望C54X工作时的频率为150MHZ,只需要输入一个10MHZ的基础时钟信号,然后让PLL对这个10MHZ的基础时钟信号进行15倍频即可。这样利用锁相环的倍频作用,可以使得外部时钟源的输入频率比(即基础时钟频率)远远低于CPU的机器周期(主时钟)频率,从而降低因外部输入告诉时钟所引起的系统高频噪声,提高系统工作的稳定性。9PLL的倍频系统的选择是通过软件控制时钟方式寄存器CLKMD来实现的。CLK-MD是地址为0058h的存储器映像寄存器(MMR)其位结构如表1.2所示。表1.2时钟方式寄存器CLKMD位结构数据位151211103210字段名PLLMULPLLDIVPLLCOUNTPLLONOFFPLLNDIVPLLSTATUS读写方式RWRWRWRWRWR其中:(1)PLLNDIV为PLL工作模式选择位,当使PLLNDIV=0时,PLL将工作于分频模式,当使PLLNDV=1时,PLL将工作于倍频模式。(2)PLLSTATUSPLL工作模式状态位,反映了PLL的工作状态。当PLLNDIV=0时,说明PLL正工作与分频模式,当PLLNDIV=1时,说明PLL正工作于倍频模式。该位为只读位。(3)PLLONOFFPLL同段,它和PLLNDIV共同决定是否使用PLL,其状态决定如表1.3所示。(4)PLLDIV,PLL分频因子。(5)PLLMUL,PLL倍频因子。表1.3PLL使用状态PLLONOFFPLLNDIVPLL状态00off01on10on11on(6)PLLCOUNTPLL计数器设定值。该设定值实际上与倍频系数没有太大关系,而是确定了倍频系数切换时的稳定时间。在倍频系数切换时该计数器将被启动,从PLLCOUNT开始,每过16CLKIN个周期减1,直到为0,才从新的倍频系数下开始输出主时钟。PLL的PLLNDIV,PLLDIV和PLLMUL共同确定了倍频因子,倍频因子的确定如表1.4所示。表1.4倍频因子的确定PLLNDIVPLLDIVPLLMUL倍频因子0 x0140.50X150.2510014PLLMUL+110151110或偶数(PLLMUL+1)211奇数PLLMUL43.PLL的硬件配置PLL的配置决定了主时钟CLKOUT的工作频率,也决定了机器周期。前面的软件PLL配置方法虽然能够实现PLL的配置,但是该方法是通过执行软件指令来实现的,也就是说这10种软件配置方法是前提条件的,前提条件就是系统已经正常工作开业已经有一个机器周期。当系统复位时,指令尚未执行时的机器周期或者主时钟频率应该如何确定呢?C54X为了确定复位初期的PLL配置,特设置了3个时钟模式引脚(CLKMDICLKMD2和CLKMD3),复位时,C54X会采集这三个引脚的电平,并根据这三个引脚的电平来决定PLL的工作状态,并启动PLL工作。这种PLL的配置方法就是PLL的硬件配置方法。C5402的3个时钟模式引脚(CLKMD1、CLKMD2和CLKMD3)引脚电平与上电复位后的主时钟相对于初始时钟的倍频因子的关系如表1.5所示。表1.5时钟模式引脚(CLKMD1、CLKMD2和CLKMD3)与时钟的倍频因子的关系CLKMD1CLKMD2CLKMD3CLKMD复位值复位后的时钟模式000E007h15CLKIN0019007h10CLKIN0104007h5CLKIN1001007h2CLKIN110F007h1CLKIN1110000h12CLKIN101F000h4CLKIN011保留4.PLL的配置切换PLL的硬件配置决定了复位后的时钟配置。复位以后,还可以通过软件修改该配置,修改方法就是向时钟模式寄存器CLKMD赋值。通常,DSP系统在复位之后需要把程序从外部低速EPROM中调入内部告诉RAM之后再运行(这就是bootloader)。在bootloader工作时,为了可靠地将程序从外部EPROM调入内部RAM。可以采用较低工作频率的时钟方式,待程序全部调入内部RAM后,再用软件重新设置CLKMD寄存器的值,使C54X工作在较高的频率上。例如,可以将3个时钟模式引脚(CLKMD1、CLKMD2和CLKMD3)引脚电平设置为110或者111,内部通过软件将时钟倍频因子调整为10或者10以上。软件PLL配置还可以在系统运行的任何时刻进行修改,这就是PLL的配置切换。为了实现可靠的配置切换,若要改变PLL的倍频因子,必须先将PLL的工作方式使从倍频方式(PLL方式)切换到分频方式(DIV方式),然后再切换到新的倍频方式。这是由于,PLL工作在倍频模式时具有锁定功能,这时的PLLMUL,PLLDIV,PLLCOUNT和PLLONOFF是不能被修改的,只有工作在分频(DIV)方式时这些字段才是可以修改的。所以,实现倍频切换的步骤为:步骤1复位PLLNDIV,选择DIV方式。步骤2检测PLL的状态,直到PLLSTATUS位为0.步骤3根据所要切换的倍频,确定乘系数。步骤4由所需要的牵引时间,设置PLLCOUNT的当前值。步骤5设定CLKMD寄存器。步骤6检测PLL的状态,直到PLLSTATUS为1。例1-1,从某一倍频方式切换到PLL1方式其程序如下:11STM#00H,CLKMD;切换到DIV方式Status:LDMCLKMD,AAND#0H,A;测试PLLSTATUS位,若A不等于0,表明还没有切换BCStatus,ANEQ;到DIV方式,则继续等待,若A=0,则已切换到DIV;方式顺序执行STM#03EFH,CLKMD;切换到PLL1方式整数倍频之间的切换过程如图1.9所示。从图1.9也可以从任意一倍频模式切换到分频模式,不需要中间过度。但是,从12分频模式和14分频模式之间也不可以直接切换,需要中间过渡到任意整数倍频(图1.10),然后再从该倍频模式再切换到14分频。倍频1分频分频图1.9倍频之间的切换过程倍频112分频14分频图1.10分频之间的切换过程1.1.5JTAG接口电路设计接口电路设计联合测试行动小组(jointtestactiongroupJTAG)是一种国际标准测试协议,主要用于芯片内部的测试。JTAG基本原理是在器件内部定义一个测试访问口(testaccessportTAP),通过专用的JTAG测试工具进行内部节点的测试。现在,JTAG接口还常用于实现在线编程(in-systemprogrammableISP)对Flash等器件进行编程。JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程再装到板上,现在的流程是先将器件固定到电路板上,再用JTAG编程,从而大大加快工程进度。C54x的硬件系统调试要通过仿真器进行,仿真器与调试计算机之间用并行口线缆或者USB线缆进行连接,仿真器和DSP硬件板之间要通过JTAG连接线进行连接,如图1.11所示。上位机(CCS)仿真软件JTAGICE仿真器并行接口或USB线JTAG连接线JTAG设备PCB图1.11DSP的仿真器连接12JTAG连接器信号排列如图1.12所示。图1.12JTAG连接器信号排列其中各引脚信号的含义如表1-6所示:表1-6JTAG连接器信号含义信号名称引脚序号含义仿真器状态设备状态TMS1(testmodeselect)测试模式选择输出(O)输入(I)TDI3(testdata)测试数据输入输出(O)输入(I)TDO7(testdataoutput)测试数据输出输出(I)输入(O)TCK11(testclock)TCK从仿真器输出的一个10.368MHz的时钟信号输出(O)输入(I)TCK_RET9(testclockreturn)测试时钟返回,进入仿真器的测试时钟,是TCK的缓冲版本输出(I)输入(O)TRST2(testreset)测试复位输出(O)输入(I)EMU013(emulationpin0)仿真引脚0输出(I)输入输出(IO)EMU114(emulationpin1)仿真引脚1输出(I)输入输出(IO)PD(VCC)5(presencedetect)存在检测。该引脚的高信号电平表示了目标板已经通过JTAG接口连接到JTAG线缆上,在目标系统中,该引脚应该连接到系统电源Vcc上输出(I)输入(O)GND481012接地这里需要注意的是:(1)TI公司DSP的JTAG连接器要求第6引脚是没有插针的(这是由于仿真器的JTAG连接线的连接器头的第6引脚没有针孔,这样可以防止连接器插反,连接器插反有可能将仿真器烧毁)。(2)TI公司DSP的仿真器JTAG连接线的长度有一定的限制,一般不超过15.24厘米(6英寸),这时的DSP接口电路如图1.13所示。13这里EMU0和EMU1都需要用一个4.7k的电阻连到VCC。图1.13标准距离连接的JTAG接口电路1.2电路设计整体思路电路设计整体思路设计的总电路图如图1.14所示。对应PCB图如如1.15所示。图1.14总电路图该总电路图中包含了VC5402主芯片,电源电路,复位电路,时钟电路,JATG接口电路,还有三块外部总线IO口电路和一块LVTH16245A芯片。原理图中大多数的元件都是通过软件自制的,因而在画图的过程中遇到了很多的障碍,例如在对电路进行电气规则检查的时候出现有5个问题,都是找不到标注的引脚,检查之后发现是制作元件的时候,把引脚属性的name与number混淆错误,导致电气规则检查时,软件找不到相应的引脚。通过这次设计,我对Protel99SE的使用有了一个从不熟练到基本熟练的进步。14图1.15总电路PCB图PCB图是在电路原理图完成的基础上画成的。自动布线在手动布局的基础上完成,这个工作并不简单,通过相当多次调整,才使电路图布线100%布通。其中,LVTH16245A芯片的一边引脚接TMS320C5402芯片,另一边引脚接IO口的P1口,这一块线路起初是怎么也布不通的,经过反复的检查,以及在同学和老师的帮助下,检查到是在制作LVTH16245A的元件时,引脚的1脚开始标错了方向(是根据实物制作的),导致整块芯片与其他元件连接不通。在这里指出PCB总电路图中的几点不足:首先,测量误差较大。元件封装图很大一部分是自制的,例如画芯片封装图时,需从实物中测量芯片细小的引脚,包括引脚与引脚间的间距、引脚的长度、芯片外型的长和宽,这个过程的人为测量误差是比较大的。其次,设计规则检查不够完整。由于时间关系,以及所学制图知识的局限性,使版面的布线存在比较大的缺陷,其中导线的宽度、安全距离、元件间距和过孔类型等本应再做调整。15第第2章章系统控制算法设计与实现系统控制算法设计与实现2.1模糊控制的基本原理模糊控制的基本原理模糊控制器的基本结构如图2.1所示。模糊化清晰化控制对象模糊控制器知识库模糊推理图2.1模糊控制器的结构图1.模糊控制器的组成模糊控制器主要由以下4部分组成:(1)模糊化这部分的作用是将输入的精确量转换成模糊化量。其中输入量包括外界的参考输入、系统的输出或状态等。模糊化的具体过程如下:首先对这些输入量进行处理,使其编程模糊控制器要求的输入量。例如,常见的情况是计算和=,其中表示参考输入,表示系统输出,表示误差,表示误eryeetddryee差导数。将上述已经处理过的输入量进行尺度变换,使其变换到各自的论域范围。将已经变换到论域范围的输入量进行模糊处理,使原先精确的输入量编程模糊两,并用相应的模糊集合来表示。(2)知识库知识库中包含了具体应用领域中的知识和要求的控制目标。它通常由数据库和模糊控制规则库两部分组成。数据库主要包括各语言变量的隶属度函数、尺度变换因子以及模糊空间的分级数等。规则库包括了用模糊语言变量表示的一系列控制规则。它们反应了控制专家的经验和知识。(3)模糊推理模糊推理是模糊控制器的核心,它具有模拟人的基于模糊概念的推理能力。该推理过程是基于模糊逻辑中的蕴含关系及推量规则来进行的。(4)清晰化清晰化的作用是将模糊推理得到的控制量(模糊量)变换为实际用于控制的清晰量。它包含以下两部分内容:将模糊的控制量经清晰化变换变成表示在论域范围的清晰量。将表示在论域范围的清晰量经尺度变换变成实际的控制量。参考输入162.模糊条件句与模糊控制规则正如前面所说,模糊控制是模仿人的一种控制方法。在模糊控制中,通过用一组语言表述的规则来表示专家的知识。专家知识通常具有如下的形式:IF(满足一组条件)THEN(可以推出一组结论)在IF-THEN规则中的前提和结论均是模糊的概念。如“若温度偏高,则加入较多的冷却水”,其中“偏高”和“较多”均为模糊量。常常称这样的IF-THEN规则为模糊条件句。因此在模糊控制中,模糊控制规则也就是模糊条件句。其中前提为具体应用领域中的条件,结论为要采取的控制行动。IF-THEN的模糊控制规则为表示控制领域的专家知识提供了方便的工具。对于多输入多输出(MIMO)模糊系统,则有多个前提和多个结论。例如,对于两输入单输出(MISO)系统,模糊控制规则具有如下的形式:如果是且是,则是1Rx1Ay1Bz1C:如果是且是,则是2Rx2Ay2Bz2C:如果是且是,则是RnxnAynBznC其中,和均为语言变量,和为输入量,为控制量。xyzxyz,和,=1,2,分别是语言变量,在其论域,上的语言变iAiBiCinxyzXYZ量值,所有规则组合在一起构成了规则库。对于其中的一条规则:如果是且是,则是iRxiAyiBziC其模糊蕴含关系定义为()()iiiiRAandBCuuxyz(2-1)()()()iiiABCuxanduyuz其中“and”是定义在上的模糊集合,=(and)是定义在iAiBXYiAiBiRiAiBiC上的模糊蕴含关系。的具体运算方式如上节所述。XYZiR3.模糊控制中的几个基本运算操作(1)模糊化运算=fz()(2-2)x0 x其中,是输入的清晰量,是模糊集合;fz表示模糊化运算符(fuzzifier)。0 xx(2)句子连接运算=also(,)(2-3)R1R2RRn其中,=1,2,是第条规定所表示的模糊蕴含关系。R是个模糊关系的组iRinin合,组合运算用符号also表示。(3)合成运算=(and)(2-4)zxyR其中,和是输入模糊量;是输出模糊量;and是句子连接运算符;“”是合成运算符。xyz(4)清晰化运算以上推理过程得到的输出量仍是模糊量,实际的控制必须为清晰量。因此要进行如下z的清晰化运算=df()(2-5)0zz17其中,为控制的清晰化量;df表示清晰化运算符(defuzzifier)。0z2.2本设计模糊控制算法的设计思想2.2.1模糊控制器系统结构模糊控制器系统结构模糊控制器系统结构如图2.2所示,模糊控制器是根据温度变化规律总结出一系列条件语句,并借助计算机完成过程控制的方法。eK模糊化模糊推理算法模糊判决Ku积分+-被控对象输出dedtKec图2.2模糊控制器系统结构2.2.2模糊化和参数设置模糊化和参数设置在模糊运算前,需要使用3个转型因子将温度偏差和变化率的实际可能值转化为模糊量的论域。(1)Ke是将确定量e转化为模糊输入量的转型因子,其大小决定了模糊量E的覆盖域,E=Fuzzy(Kee)。(2)Kec是将确定量ec转化为模糊量EC的转型因子,其大小决定了模糊量EC的覆盖域,EC=Fuzzy(Kecec)。为了达到较好地控制效果Kec的调节一定要配合Ke一起调节。(3)Ku是将模糊输出U进行放大,以适应控制要求,与被控对象有关。E、EC、U分别为偏差e和偏差变化率ec和输出控制量u经模糊化的语言变量,其取值分别为:将偏差E、偏差的变化率EC和模糊判决输出值U分别分为7个档级,变化范围定义为模糊集上的论域为-1,1其模糊子集为NB,NM,NS,ZE,PS,PM,PB=“负大”,“负中”,“负小”,“零”,“正小”,“正中”,“正大”。经反复实验三角形隶属函数较适用,故采用三角形隶属函数。2.2.3模糊规则建立模糊规则建立根据专家知识和操作人员经验,抽象成一系列不精确的条件语句以形成模糊控制表,如当温度误差为正,且系统本身有减小误差的趋势时,为了尽快消除误差且又不超调,应减少控制量。写成对应语句如:ifE=PBandEC=PSthenU=0(2-6)因此已知某时刻的偏差与偏差变化率的模糊值,则相应控制量的模糊值可得模糊控制规则表见表2.1。18表2-1模糊控制规则表EUECNBNMNSZEPSPMPBNBNBNBNBNBNMZEZENMNBNBNBNBNMZEZENSNMNMNMNMZEPSPSZENMNMNMNMZEPSPSPSNSNSZEPMPMPMPMPMZEZEPMPBPBPBPBPBZEZEPMPBPBPBPB利用模糊集合理论将这些规则上升为数值运算,有:ifE=andEC=thenU=(i=12mj=12n)(2-7)iAJBijC其中、是定义在论域X、Y、Z上的模糊语言变量。采用Mamdani方法的模糊关iAJBijC系:=(2-8)ijRiAJBijC各元素隶属函数为:(xyz)=(x)(y)(z)(2-9)AijuAiuBjuCiju总控制规则所对应的模糊关系为R,当E、EC分别取模糊向量A、B时,根据模糊推理合成规则可得输出控制量模糊子集为:U=(AB)R(2-10)节点采用重心法对U进行反模糊化,求出精确的输出量。19第第3章章系统软件设计与实现系统软件设计与实现3.1C语言概述3.1.1C54xC语言介绍语言介绍C54x的程序设计有两种设计语言可以选择:汇编语言和C语言。用汇编语言的优势是程序执行效率高,硬件定时准确,缺点是程序不够直观,不同公司的DSP芯片所提供的汇编语言是各不相同的,即使是同一公司的芯片,不同型号芯片的汇编语言也有所有同。因此,少汇编语言开发基于某种DSP芯片的产品的程序,其设计周期都相对较长,而且所开发的程序可移植性和可维护性都比较差,而对于C语言,作为一种执行效率相对较高的高级程序语言,其可移植性好、可维护性好,配合一些优化编译器,能够生成代码执行效率较高的可执行程序。因此,在DSP系统的软件开发中,除了对于一些运算量较大或对运算时间要求很严格的程序代码,如实时信号处理系统中的关键代码外,一般性的代码就可采用高级语言编写,从而缩短程序的开发周期,同时还可以使汇编语言编写的程序被高级语言所调用。C54xC编译器支持美国国家标准委会(AmericanNationalStandardsInstituteANSI)开发的C语言标准。因此C54xC继承了大多数的ANSI的语法规则,有许多用C编写在PC上运行的数字信号处理程序只需稍做修改甚至有的不用修改,然后在C54xC编译器下重新编译、链接一次便可执行,这就说明了ANSIC和C54xC有许多相同之处。当然,C54xC的出现并不仅仅是为了方便用户编写程序和所编写的程序可移植性高,尽量提高程序的执行效率,缩短与汇编程序的执行效率的差距,也是C54xC编程必须追求的一个目标。因此,C54xC针对DSPC54x的硬件结构特点,在ANSIC的基础上又作了许多扩展和改进,并提供了许多优化措施,因此ANSIC和C54xC也有许多不同之处,下面分别介绍这两个方面。C54xC与ANSIC的相同点概括地来讲,C54xC继承了ANSIC大部分基本特征,只要与硬件不是特别的相关的部分都是它们的相同点。C54xC继承了ANSIC结构化程序设计的基本思想,以函数作为基本单位,函数的定义和引用方式完全一致,大部分变量、常量、数组、结构体、枚举、联合体、指针的定义语法结构也完全一致,宏定义、宏展开、宏调用的基本思想甚至语法规则上基本一致。3.1.2C54XC与与ANSIC的不同点的不同点C54xC与ANSIC的不同点总的来说有以下几个方面:1.所处理数据的性质不同对于面向PC机的ANSIC所处理的数据,是一些采集好的、数据量较多的、以数据块为单位的数据。对于这些数据的处理实时性要求并不是很高。C54xC的编程对象C54xCDSP工作于实时性处理厂和,对于处理时间有比较严格的实时性要求,具体来讲,就是要求对于数据的处理时间要小于数据的

温馨提示

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

评论

0/150

提交评论