直流电子负载的设计.doc_第1页
直流电子负载的设计.doc_第2页
直流电子负载的设计.doc_第3页
直流电子负载的设计.doc_第4页
直流电子负载的设计.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

安徽建筑工业学院毕业设计(论文)安徽建筑工业学院 毕 业 设 计 (论 文) 专 业 通 信 工 程 班 级 07通信1班 学生姓名 学 号 07205040105 课 题 直流电子负载的设计 恒流模式的设计及其数据采集 指导教师 2011 年 5 月 摘 要本系统以直流电子负载恒流模式为核心,单片机STC12C5A60S2为主控芯片,包括主控器、键盘、显示电路、MOSFET功率电路和信号处理电路,通过键盘来设置直流电源的输出电流,并由液晶显示出实际输出电流值和电流设定值。本系统由单片机程控输出数字信号,经过D/A转换器(TLC5615)输出模拟量,再经过运算放大器隔离放大,控制输出功率管的基极,随着功率管基极电压的变化而输出不同的电流。在通过键盘设定好需要输出电流值后,单片机对设定值按照一定的算法进行处理。经D/A输出电压控制恒流源电路输出相应的电流值。单片机系统还兼顾对恒流源进行实时监控,输出电流经过电流/电压转变后,通过A/D转换,实时把模拟量转化为数据量,再经单片机分析处理,通过数据形式的反馈环节,使电流更加稳定,这样构成稳定的直流电子负载恒流模式。实际测试结果表明,本系统具有稳定性强、调节速度快的特点,很好的满足了提出的性能指标。关键字:直流电子负载;恒流;单片机(MCU);数据采集;数模(D/A)AbstractThis system to dc electronic load constant flow pattern as the core, STC12C5A60S2 as the controller chip microcontroller, including the main controller, keyboard, display circuit, MOSFET power circuit and signal processing circuit, through the keyboard to set the dc power output current, and the LCD out the actual output current and current value. The system is composed of single-chip microcomputer program-controlled output digital signal, through D/A converter (TLC5615) output analog quantities, repass op-amp isolating amplifier, control the output power tube, as the base of the base power tube voltage output different current changes. The keyboard is set in need of a single chip computer output current value after according to certain algorithm for processing. The D/A output voltage control constant-current source circuit output corresponding result. SCM system also pay attention to monitor the constant-current source, the output current after current/voltage transformation, through A/D conversion, real-time put analogue into data quantity, to SCM analysis, through the data form of feedback part, make current more stable, so A stable dc electronic load constant-current mode. The actual test results show that the system has strong stability, adjusting speed characteristics, good meet the proposed performance indicators. Key word: dc electronic load; Constant flow; SCM (MCU); Data acquisition ; Digital-to-analog (D/A)直流电子负载设计与制作 恒流模式的设计及其数据采集电子与信息工程学院 通信工程专业 2007级1班 董 洁 指导老师: 花海安1 电子负载的原理及概述在电子技术应用领域,经常要对开关电源、线性电源、UPS 电源、变压器、整流器、电池、充电器等电子设备进行测试,如何对其输出特性进行可靠、全面且比较简单、快捷的测试,一直是仪表测试行业研究的问题。传统的测试方法中一般都采用电阻、滑线变阻器、电阻箱等充当测试负载,但这些负载不能满足我们对负载多方面的要求,如:恒定电流的负载;带输出接口的负载;随意调节的负载、恒功率的负载、动态负载;多输出端口的负载等。现在有一种新型多功能的电子负载,可据实际应用中对负载特性的要求进行设置,满足了我们对负载的各种要求,解决了开发研制测试中的困难。1.1 电子负载的意义电子负载即电子负荷。凡是能够消耗能量的器件,可以广泛地称为负载。电子负载能消耗电能,使之转化成热能或其它形式的能量。静态的电子负载可以是电阻性(如功率电阻、滑线变阻器等) 、电感性、电容性。但实际应用中,负载形式就较为复杂,如动态负载,消耗功率是时间函数,或电流、电压是动态的,也可能是恒定电流、恒定电阻、恒定电压,不同峰值系数(交流情况下),不同功率因数或瞬时短路等。电子负载就是在实际应用中负载比较复杂的情况下而设计生产的测试设备。它能替代传统的负载,如电阻箱、滑线变阻器、电阻线、电感、电容等。尤其对吸收恒定电流或以恒定电压吸收电流,或电压电流都要在设定范围突变等传统方法不能解决的领域里,更能显示出优越性能。1.2 电子负载的工作方式直流电子负载可以具备恒定电流、恒定电阻、恒定电压、动态负载及短路负载等工作方式。1.2.1恒定电流方式图11是电子负载与被测电源的连接图和外特性图。在定电流模式中,在额定使用环境下, 不论输入电压大小如何变化, 电子负载将根据设定值来吸收电流。若被测电压在510V变化,设定电流为100mA,则当调节被测电压值时,负载上的电流值应维持在100mA不变, 而此时负载值是可变的。定电流模式能用于测试电压源及AD/ DC电源的负载调整率。负载调整率是电源在负载变动情况下能够提供稳定的输出电压的能力, 是电源输出电压偏差率的百分比。图11 电子负载的恒定电流工作方式1.2.2恒定电阻方式此种状态下,负载如纯电阻,吸收与电压成线性正比的电流。此方式适用于测试电压源,电流源的启动与限流特性。图1-2为恒阻方式连接图和外特性图, 在定电阻模式中, 电子负载将吸收与输入电压成线性的负载电流。若负载设定为1 k, 当输入电压在110 V 变化时, 电流变化则为10100 mA (图1-2) 。图12 电子负载的恒定电阻工作方式1.2.3恒定电压方式 图13为电子负载与被测电源连接图和外特性图。在此方式下电子负载将吸收足够的电流来控制电压达到设计值。定电压模式能被使用于测试电源的限流特性。另外, 负载可以模拟电池的端电压, 故也可以使用于测试电池充电器。图13 电子负载的恒定电压工作方式1.3论文研究的主要内容设计和制作一个直流电子负载,用于测试直流稳压电源、蓄电池等电源的性能。该电子负载,有恒流和恒压两种模式,可手动切换(恒流方式时要求不论输入电压如何变化(在一定范围内),流过该电子负载的电流恒定,且电流值可设定。工作于恒压方式时,电子负载端电压保持恒定,且可设定,流入电子负载的电流随被测直流电源的电压变化而变化)。该设计课题主要涉及到模拟电路、单片机、非线性电路等方面的知识。1.3.1基本要求负载工作模式:恒压 (CV)、恒流 (CC)两种模式可选择。电压设置及读出范围:2.00 V 20.0 V。电流设置及读出范围:100 mA 2.00 A。显示分辨力及误差:至少具有三位数,相对误差小于5%。1.3.2发挥部分增加恒阻(CR)模式。扩大负载参数的设置及读出范围。具备自动过载保护设计。说明:负载参数可调节设置,人工预置或数字程控皆可。负载参数可数字化显示,两种负载参数(CV、CC)同时显示。1.4我的子课题1.4.1实现直流电子负载恒流模式的设计及其数据采集。 恒流模式的设计为直流电子负载最核心的部分,恒流模式时要求不论输入电压如何变化(在一定范围内),流过该电子负载的电流恒定,且电流值可设定。数据采集为将供电电源提供的模拟信号转换为数字信号送入单片机的过程。1.4.2设计对应的电路,并编写相应的程序。1.4.3.总装调试完成。2. 方案设计及论证2.1系统设计思想本系统要求完成直流电子负载恒流模式的设计及其数据采集,恒流模式是采用运算放大器结合反馈网络组成的电路实现,数据采集为A/D转换,根据设计要求,此电路中的反馈网络以场效应管为核心。控制部分采用单片机来完成,显示采用液晶模块。图2-1 直流电子负载恒流模式系统实现框图该系统实现框图如上图2-1所示,包括主控制模块、键盘模块、显示模块、恒流电路模块、D/A转换模块和A/D转换模块六个部分。在通过键盘设定好需要输出电流值后,单片机对设定值按照一定的算法进行处理。经D/A输出电压控制恒流源电路输出相应的电流值。单片机系统还兼顾对恒流源进行实时监控,输出电流经过电流/电压转变后,通过A/D转换芯片,实时把模拟量转化为数据量,再经单片机分析处理,通过数据形式的反馈环节,使电流更加稳定。图2中供电电源为直流电子负载的供电电源,不属于直流电子负载恒流模式及其数据采集的系统组成。2.2单片机学习应用的六大重要部分1.3.1总线我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。 1.3.2数据、地址、指令之所以将这三者放在一起,是因为这三者的本质都是一样的数字,或者说都是一串0和1组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况: 地址(如MOV DPTR,1000H),即地址1000H送入DPTR。 方式字或控制字(如MOV TMOD,#3),3即是控制字。 常数(如MOV TH0,#10H)10H即定时常数。 实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执行指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。 1.3.3 P0口、P2口和P3的第二功能用法初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上不能作为通用I/O口使用也并不是不能而是(使用者)不会将其作为通用I/O口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常会导致系统的崩溃。1.3.4程序的执行过程单片机在通电复位后8051内的程序计数器(PC)中的值为0000,所以程序总是从0000单元开始执行,也就是说:在系统的ROM中一定要存在0000这个单元,并且在0000单元中存放的一定是一条指令。1.3.5堆栈堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的先进后出,后进先出,并且堆栈有特殊的数据传输指令,即PUSH和POP,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的混乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。1.3.6单片机的开发过程这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。在此,为使大家对整个过程有个认识,举一例说明: 单片机试验板ORG 0000H LJMP START ORG 040H START: MOV SP,#5FH ;设堆栈 LOOP: NOP LJMP LOOP ;循环 END ;结束2.3系统设计实现方案2.3.1主控制模块主控器负责控制与协调其他各个模块工作,并进行简单的数字信号处理。在整个电子负载系统中,主控器是系统的控制中心,其工作效率的高低关系到系统效率的高低以及系统运行的稳定性。采用宏晶单片机STC12C5A60S2作为主控制芯片。STC12C5A60S2比普通51单片机快812倍,尤其是其单片机内部有10位高速ADC,可以省去外接A/D转换电路,大大提高了系统的整体性能和集成度。2.3.2键盘模块键盘模块采用专用的按键扫描控制芯片,能够独立的完成对键盘中按键的扫描与管理,并且通过简单接口与微控制器进行连接。使用按键扫描控制芯片来完成微控制器的键盘管理,可以大大的提高微控制器的工作效率。在本直流电子负载中,采用周立功公司生产的ZLG7289键盘扫描控制集成芯片。ZLG7289B 采用SPI 串行总线与微控制器接口,有专用的命令字,控制起来简单仅占用少数几根I/O 口线。该系统对于功能切换的控制,只用单片机本身的IO口就可实现,无须拓展过多的IO接口,而且单片机自身的计数器及RAM已经够用。2.3.3显示模块考虑到本系统中显示的内容以及系统的实用性,采用液晶显示(LCD)。液晶显示具有功耗低、体积小、质量轻、无辐射危害、平面直角显示以及影响稳定不闪烁、画面效果好、分辨率高、抗干扰能力强等优点。点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕上下左右滚动、动画、闪烁、文本特征显示等功能。本系统采用的点阵式LCD型号为FYD12864。2.3.4 A/D转换模块STC12C5A60S2内部集成8路10位A/D转换器,故本系统不需要外接A/D转换模块。2.3.5 D/A转换模块采用TLC5615,TLC5615是串行10位数/模转换芯片,占用端口少,转换频率高。2.3.6恒流电路模块本系统设计关键在于恒流电路模块方案,以下为三种方案:方案一:直接使用功率集成运放。特点:使用容易、性能稳定可靠。常用的功率集成运放一般能够输出40V,1015A的功率,性能指标也较高,完全能够满足本题要求。功率集成运放还可以双极性输出,但本题只需单极性输出,却需要为功率集成运放配置正负双电源。方案二:使用运放+晶体三极管放大,利用三端可调直流稳压集成芯片,通过调整其输出电压来实现负载的恒流特性。特点:直接利用稳压片提供所需功率,只需要添加相应控制电路即可实现本题的大部分要求,但是,其电流调整率指标只能达到0.5%0.15%,不满足题目要求,方案三:采用“运放功率三极管”的结构构成恒流源。特点:性能满足本题要求,同时可以通过选用功率三极管的不同容量来满足不同的应用要求。鉴于上述原因,选用方案三。综合考虑精度与成本,选择“LM358+MTY25N60E MOS管”。MTY25N60E MOS管常用于电力领域的应用。专为高电压、高速开关芯片,可以应用于电力供应、电机控制、PWM变流器等领域。LM358 内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。2.4系统组成根据方案比较与论证,最终确定的系统组成框图如图2-2所示。包括STC12C5A60S2单片机系统模块、ZL7289键盘模块、FYD12864液晶显示模块、TLC5615 D/A转换模块和LM358与MTY25N60E组成的恒流电路模块。图2-2 系统的总体结构框图3. 系统的设计3.1系统硬件及设计3.1.1 主要芯片资料主控制芯片STC12C5A60S2的简介STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快812倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。芯片实物图如图3-1所示:图3-1 STC12C5A60S2芯片实物图芯片引脚图如图3-2所示:图3-2 STC12C5A60S2芯片引脚图STC12C5A60S2内部集成A/D转换器,转换口在P1口(P1.7-P1.0),有8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。需作为A/D使用的口需先将P1ASF特殊功能寄存器中的相应位置为1,将相应的口设置为模拟功能。LM358特性LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模组,音频放大器、工业控制、DC增益部件和其他所有可用单电源供电的使用运算放大器的场合。 l 内部频率补偿。l 直流电压增益高(约100dB)l 单位增益频带宽(约1MHz) 。l 电源电压范围宽:单电源(330V);双电源(1.5一15V) 。l 低功耗电流,适合于电池供电。 l 低输入偏流。l 低输入失调电压和失调电流。 l 共模输入电压范围宽,包括接地。 l 差模输入电压范围宽,等于电源电压范围。l 输出电压摆幅大(0至Vcc-1.5V) 。 图3-3 DIP塑封引脚图引脚功能TLC5615芯片简介TLC5615是一个串行10位DAC芯片,性能比早期电流型输出的DAC要好。只需要通过3根串行总线就可以完成10位数据的串行输入,易于和工业标准的微处理器或微控制器(单片机)接口,适用于电池供电的测试仪表、移动电话,也适用于数字失调与增益调整以及工业控制场合。其主要特点如下:l 单5V电源工作;l 3线串行口;l 高阻抗基准输入端;l DAC输出的最大电压为2倍基准输入电压;l 上电时内部自动复位;l 微功耗,最大功耗为1.75mW;l 转换速率快,更新率为1.21MHz;ZLG7289芯片资料ZLG7289B 是广州周立功单片机发展有限公司自行设计的数码管显示驱动及键盘扫描管理芯片,可直接驱动8 位共阴式数码管(或64 只独立LED),同时还可以扫描管理多达64 只按键。ZLG7289B 内部含有显示译码器,可直接接受BCD 码或16 进制码,并同时具有2 种译码方式。此外,还具有多种控制指令,如消隐闪烁左移右移段寻址等。ZLG7289B 采用SPI 串行总线与微控制器接口,仅占用少数几根I/O 口线。利用片选信号,多片ZLG7289B 还可以并接在一起使用,能够方便地实现多于8 位的显示或多于64 只按键的应用。ZLG7289B 可广泛地应用于仪器仪表,工业控制器,条形显示器,控制面板等领域。3.1.2 系统电路设计系统的电路主要分为单片机主控制电路、键盘电路、液晶显示电路、恒流电路、D/A转换电路。主控电路的设计主控电路由宏晶单片机STC12C5A60S2、时钟电路、晶振电路组成的单片机最小系统构成。主控电路原理图如图3-4所示。图3-4 主控电路原理图键盘电路的设计键盘电路采用周立功公司生产的ZLG7289键盘扫描控制集成芯片。ZLG7289B是广州周立功单片机发展有限公司自行设计的数码管显示驱动及键盘扫描管理芯片,可直接驱动8位共阴式数码管,同时还可以扫描管理多于64个按键。ZLG7289内部含有显示译码器,可直接接受BCD码或16进制码,并同时具有两种译码方式。此外,还具有多种控制指令。ZLG7289B采用SPI并行总线与微控制器接口,仅占用少数几根I/O口线。键盘电路的原理图如图3-5所示。图3-5 ZLG7289键盘电路原理图恒流电路的设计本设计对单片机程控输出数字信号,经过D/A转换器输出模拟量,再经过运算放大器隔离放大,控制输出功率管的基极,随着功率管基极电压的变化而输出不同的电流。在通过键盘设定好需要输出电流值后,单片机对设定值按照一定的算法进行处理。经D/A输出电压控制恒流源电路输出相应的电流值。单片机系统还兼顾对恒流源进行实时监控,输出电流经过电流/电压转变后,通过A/D转换芯片,实时把模拟量转化为数据量,再经单片机分析处理,通过数据形式的反馈环节,使电流更加稳定,恒流电子负载电路图如图3-6所示。图3-6 恒流电子负载电路保护电路的设计过流保护由于场效管的开断受单片机对DAC5615的输出影响,在单片机复位以及程序出现错误跑飞时,单片机输出口会出线全高电平,从而使场效管全开,被测试电源出现断路情况,这对那些带负载能力低的电源是不允许出现的。所以有必要设计过流保护电路,限定DAC5615输出控制电压的最高上限,该系统采用将康铜丝接在整流输入地和负载地之间的方法来实现过流保护,而康铜电阻应越小越好,这样会使两个地之间的电压很小。但是如果太小由于干扰问题会造成过流保护的误判,并且对于后级运放的要求比较高,经过实验论证结果得:选择0.3欧姆的电阻效果比较好。此外康铜丝在本系统中起测试负载电流的作用。短路保护该系统采用当电源的输出短路时, 则电源应该限制其输出电流或关闭其输出,以避免损坏。短路保护测试是验证当输出短路时, 电源能否正确反应。电子负载可采用短路测试键来模拟短路负载,可以直接测量其短路时的输出电压及电流。抗干扰措施在该系统中存在自激等干扰,导致信号测量结果不稳定,所以必须要有抗干扰措施。本设计中采用大功率电路用粗导线连接,其余电路用细导线连接,基本派车了干扰对本系统的影响。3.2系统软件设计3.2.1 Keil开发软件介绍Keil IDE Vision2集成开发环境是Keil Software开发的基于80C51内核的微型处理器软件开发平台,内嵌多种符合当前工业标准的开发工具。可以完成从工程建立、管理、编译和链接,目标代码的生成,软件仿真,硬件仿真等完整的开发流程。尤其C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。Keil软件开发的流程:建立工程。为工程选择目标器件。设置工程的配置参数。打开/建立程序文件。编译和链接工程。纠正程序中的书写和语法错误并重新编译连接。对程序中某些纯软件的部分使用软件仿真验证。使用TKS硬件仿真器对应用程序进行硬件仿真。将生成的Hex文件烧写到ROM中运行测试。3.2.2恒流电路软件设计恒流电路软件实现流程图如图3-7所示。图3-7 恒流电路流程图 恒流电路程序3.2.3 STC12C5A60S2芯片A/D转换软件设计#includeSTC12C56A.h#include#define uchar unsigned char#define uint unsigned int uint dat2,dat3; /全局变量,主函数中用到static void delay_us(uint cnt) /1us的延时 while(cnt-);void Long_Dleay(unsigned char dly) /0.1S的延时 unsigned char i,j,k; for(i=0;idly;i+) for(j=0;j100;j+) for(k=0;k100;k+); unsigned int AD_TLC1549(void) /tlc1549AD转换函数 unsigned char i=0; unsigned int value=0; cs_1549=1; cs_1549=0; delay_us(10); for(i=0;i10;i+) clk_1549=0; value=value1; /一定要先右移,不然结果出错 if(out_1549)value=value+1; /value=value1; clk_1549=1; cs_1549=1; clk_1549=0; return value; /返回转换结果unsigned int AD_TLC15491(void) /tlc1549AD转换函数 unsigned char i=0; unsigned int value=0; cs1_1549=1; cs1_1549=0; delay_us(10); for(i=0;i10;i+) clk1_1549=0; value=value1; /一定要先右移,不然结果出错 if(out1_1549)value=value+1; /value=value1; clk1_1549=1; cs1_1549=1; clk1_1549=0; return value; /返回转换结果3.2.4 D/A转换软件设计#include#define uchar unsigned char#define uint unsigned intsbit CS=P34;/3sbit CLK=P35;/2sbit DI=P36;/1sbit CSA=P32;/3sbit CLKA=P33;/2sbit DIA=P37;/1sbit DO=P13;static void delayms(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);static void delayus(uint i)uint j;for(i=j;j0;j-); void DA_TLC5615(unsigned int value) unsigned char i=0,j=0; CS=0; /delay_AD(1); CLK=0; value=2; for(i=0;i12;i+) /value=value1; if(value&0x800)DI=1; else DI=0; value=value1; CLK=1; CLK=1; CLK=0; /delay_AD(2); CS=1;void DA_TLC5615A(unsigned int value) unsigned char i=0,j=0; CSA=0; /delay_AD(1); CLKA=0; value=2; for(i=0;i12;i+) /value=value1; if(value&0x800)DIA=1; else DIA=0; value=value1; CLKA=1; CLKA=1; CLKA=0; /delay_AD(2); CSA=1;4 系统的可靠性设计4.1 硬件系统的可靠性设计内部如ROM、 RAM、I/O口、计数器、中断系统等容量不够使用时,必须在外部扩充,选择适当的扩充IC,设计相容的电路。二是系统装置,即按照系统功能要求配备外围设备,如一个单片机微处理器的硬件电路设计包括两个部分:一是系统扩充,即单片机外围键盘、显示器、打印机、A/D转换器、D/A转换器、串行通信接口,设计合适的接口电路。 硬件设计需要考虑下列几点: 尽可能选择典型的电路(市场已有的)。系统的扩充与外围装置,应充分满足应用系统的要求,并留一些扩充槽,以便进行二次开发。硬件结构应结合应用软件一并考虑。软件有执行的功能尽可能由软件来执行,以简化硬件结构。但是必须注意,由软件执行硬件的功能,其响应时间比直接使用硬件要长,且占用CPU时间。整个系统器件尽可能做到性能匹配。例如选用石英震荡器频率较高时,应选择存取速度较快的IC;选择COMS单片机构成低功耗系统时,系统所有的IC都应选择低功耗的IC。可靠性及抗干扰设计及其重要的部分,包括器件选择、电路板布线,通道隔离等。单片机微处理器外接电路较多时,必须考虑其驱动能力,驱动能力不足时,系统工作不可靠。解决办法是增加驱动能力,或减少IC功耗,降低总线负荷。4.1.1 硬件系统可靠性设计所注意事项与外界容易产生干扰的输入点、继电器的输出接点等器件部分,采用光耦隔离,使外界杂散信号无法干扰CPU的运行,即易受干扰的输入或输出接点以光耦隔离(PC817、PC827、4N25、4N35等)。没有使用到的端口引脚(尤其是P0口)应接到一个固定逻辑电位上(0或1),以免受到外界静电干扰,导致CPU运行失常而产生“死机”。易受杂散信号干扰处,则接一个0.01uF的树脂电容到机体外壳,使杂散信号的尖峰毛刺经此电容后到外壳。每一颗IC的VCC与GND之间一般接0.01uF0.1uF的积层电容,以使电源电压波的波纹及杂散信号有所旁路,不致影响该IC的正常运行。同时也可抵消电路的电感性,使整个电路具有较佳的稳定性。石英晶体的两脚越短越好,越接近8051的18、19脚震荡效果越好、越稳定。硬件电路中若有接近开关、按钮开关及切拨开关等设计时,其输入到8051的端口引脚,最好加接斯密特门电路,如74244,以排除不必要的杂散信号,使工作稳定;且导线太长可考虑将输入端电压提高为12V或24V,再串接光耦或使用磁簧继电器。设计时个外围IC(如8255、ROM、RAM等)尽量使用同一品牌,以免因相互间的延迟时间不同,而导致存取数据发生错误。所设计的的逻辑门,尽量使用“ 高速CMOS”型,如74HCXXX的IC,以配合CPU的快速动作要求。硬件设计时尽量使用商品化的设计电路,以减少个人开发时间。4.2 软件系统的可靠性设计在提高硬件系统可靠性设计的同时,软件系统的可靠性设计以其设计灵活、节约硬件资源、可靠性好越来越受到重视。 在工程实践中,软件系统的可靠性设计的内容主要是: 一、消除模拟输入信号的嗓声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。 4.2.1指令冗余 CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞” 到了三字节指令,出错机率更大。在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。 此外,对系统流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。4.2.2拦截技术 所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。软件陷阱的设计 当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在EPROM中非程序区填入以下指令作为软件陷阱: NOP NOP LJMP 0000H 其机器码为0000020000。陷阱的安排:通常在程序中未使用的EPROM空间填0000020000。最后一条应填入020000,当乱飞程序 落到此区,即可自动入轨。在用户程序区各模块之间的空余单元也可填入陷阱指令。当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。如某应用系统虽未用到外部中断1,外部中断1的中断服务程序可为如下形式: NOP NOP RETI 返回指令可用“RETI”,也可用“LJMP 0000H”。如果故障诊断程序与系统自恢复程序的设计可靠、 完善,用“LJMP 0000H”作返回指令可直接进入故障诊断程序,尽早地处理故障并恢复程序的运行。 考虑到程序存贮器的容量,软件陷阱一般1K空间有2-3个就可以进行有效拦截。4.2.3软件“看门狗”技术 若失控的程序进入“死循环”,通常采用“看门狗”技术使程序脱离“死循环”。通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。“看门狗”技术可由硬件实现,也可由软件实现。 在工业应用中,严重的干扰有时会破坏中断方式控制字,关闭中断。则系统无法定时“喂狗”,硬件看门狗电路失效。而软件看门狗可有效地解决这类问题。用定时器T0监视定时器T1,用定时器T1监视主程序,主程序监视定时器T0。采用这种环形结构的软件“看门狗”具有良好的抗干扰性能,大大提高了系统可靠性。对于需经常使用T1定时器进行串口通讯的测控系统,则定时器T1不能进行中断,可改由串口中断进行监控(如果用的是MCS-52系列单片机,也可用T2代替T1进行监视)。这种软件“看门狗”监视原理是:在主程序、T0中断服务程序、T1中断服务程序中各设一运行观测变量,假设为MWatch、T0Watch 、T1Watch,主程序每循环一次,MWatch加,同样T0、T1中断服务程序执行一次,T0Watch、 T1Watch加。在T0中断服务程序中通过检测T1Watch的变化情况判定T1运行是否正常,在T1中断服务程序中检测MWatch的变化情况判定主程序是否正常运行,在主程序中通过检测T0Watch的变化情况判别T0是否正常工作。若检测到某观测变量变化不正常,比如应当加1而未加1,则转到出错处理程序作排除故障处理。当然,对主程序最大循环周期、定时器T0和T1定时周期应予以全盘合理考虑。系统故障处理、自恢复程序的设计 :单片机系统因干扰复位或掉电后复位均属非正常复位,应进行故障诊断并能自动恢复非正常复位前的状态。非正常复位的识别:程序的执行总是从0000H开始,导致程序从 0000H开始执行有四种可能:一、系统开机上电复位;二、软件故障复位;三、看门狗超时未喂狗硬件复位; 四、任务正在执行中掉电后来电复位。四种情况中除第一种情况外均属非正常复位,需加以识别。5.系统测试系统采用多路直流稳压电源GPS-3303C和高精度万用表进行测试。测试恒流模式下系统工作是否正常。通过键盘设置恒定值和稳压电源提供不同的端电压,测得测试点电流数据如表5-1所示。表5-1 恒流模

温馨提示

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

最新文档

评论

0/150

提交评论