随着嵌入式系统设计技术的发展,在设计和仿真中,系统工程师对电源的要求也越来越高。在嵌入式系统设计是使用8031单片机和74系列集成电路时,所有使用74系列集成电路的电路板都使用单一的5 V电源供电就可以了。当时的供电电源部分不是一个需要太多注意的单元,基本上5 V的电源能满足所有的数字集成电路设计的需要。而近几年来,随着技术的发展,集成电路里的三极管变得越来越小并且工作的电压越来越低,使得嵌入式系统开发的重点从系统的速度,转到低功耗设计上。因此在同一个嵌入式系统中,存在多种不同电压的电源供电,从低于1 V到高于5 V都存在。而且在系统的稳定性和可靠性测试时,还要模拟不同的电源故障情况下,比如掉电等,嵌入式系统的稳定性和可靠性,这也需要用不同的电源来模拟。
1 电源系统结构
在本文中,提出了一种基于AVR ButteRFly的电源设计,能够很好地完成嵌入式系统的供电和系统的测试要求。电源系统的结构如图1所示。
2 硬件设计
系统由两种电源电压供电,主电源电压12 V,给目标系统和Butterfly(通过一个3.3 V线性稳压器)提供足够的电流,另一个电源电压-5 V是用来给功率放大器提供负电压的。主模块是线性稳压电源,一个10 b的DAC控制该电压,该模块的输出接入电流检测模块,然后从输出端输出。
如图2所示,电源的主要部分是LM723稳压电源,它的参考电压受外部干扰小,而且短路保护时,它的输出电压为0。LM723输出电压的范围是2~37 V之间。若要LM723输出电压大于2 V,V-引脚可以直接接地,但是为了能够使输出电压达到0 V,V-引脚应该接至少应为-0.4 V的负电压,有多种方法能够达到这种要求,一个是使用倒相器把正电压转换为负电压,但是这样会引入噪声干扰,由LM273的技术手册和它内部的结构可知,LM237的参考电压与V-引脚的电压直接相关,这个引脚的电压必须稳定,而且不能有干扰,因此在这里采用另一种方法来得到合适的电压,如图2所示,在电路中,VREF=1.28 V是由U2A,R19,R5和R6从LM723的参考电压得到,它被功放U2B,R1,R2倒相,在节点VM256=-2.56 V,这就是完成了一个到VREF的负反馈,部分地补偿了由于温度对电压的影响,使得参考电压稳定,这里的R19是可调电阻,可以控制VM256点的电压到一个合适的值,使得LM723的输出的基准电压可以微调。
TC1321DAC连接到LM732的IN引脚上,用来设置输出电压,TCl321有10位的分辨率,2.7~5.5 V输出电压,积分微分线性度并且输出电压的偏移量小于8 mV,该DAC是由Butterfly内部的CPU通过I2C总线控制的。它的参考电压VREF=1.28 V。DAC的输出电压通过一个简单的低通滤波器(由R7和Cs构成),目的是使得输出电压平滑,去除毛刺。
由于许多电子设备不能在反相电压下工作,于是在该电源设计中有电压偏置纠正电路,如图3所示,由R20,R9,R10,R18和U2D构成电压反馈电路,在电源刚刚启动时(这时的DAC的输出是0),这部分电路能够消除负电压输出。这里是用电路来完成,没有使用在软件中加一个常数给DAC的方法,这是因为偏移量可能是正值,在软件中DAC的常数就应该是一个负值来纠正,而这种方法不起作用,因为DAC只在无符号数下工作。
二极管D1给供电电路提供了保护使得输出电压不会低于-0.7 V。在电源的输出端,有一个1μF的电容,是用来防止电路的自激振荡,这个电容值不能太大,如果太大电源的输出响应会变慢,CPU控制电源的速度降低了。三极管Q1用来放大LM723的电流输出,Q1耗散的多余功率P=(VIN-VOUT)×IOUT。
电阻R14设置了LM723的电流门限,当R14上的电压达到0.65 V时,输出电压由微分放大器U2C钳制,此时R14上的电压被微分放大器放大,电压与输出电流的比是1 V/1 A。电压放大到5.6 V/A以适应Butter-fly的VIN测量电路的测量要求。电源的控制部分是Butterfly,结构如图3所示,它有良好的用户界面,有五通道的控制杆和六字符的LCD许多外围设备连接着微控制器,比如扬声器、数据闪存、一个NTC电热调节器、一个光敏传感器和一个RS 232通信端。所有的外围接口都能用来扩展系统的功能。现在,在这个电源设计中使用到LCD、控制杆、JTAG、ADC、USI(用I2C驱动DAC)和一电流保护指示LED。
DAC(U3)和Butterfly模块使用HT7533-1线性降压稳压电源供电,该电源不会有高电压输出。为了避免噪声对电源精度的影响,电路中所有的“地”都连接到电路板上的一点上,并且信号“地”也连接到同一点上。
3 软件设计
软件的结构图如图4所示,基于Martin Thomas的ButteRFly演示版代码的GCC接口设计。CPU的工作频率设定为8 MHz,因为在程序中要用到浮点运算,但在电源设计中不需要,所以省电模式都未使用。AT-mega169的ADC在每一次转换时都会发出中断请求,电流保护的优先级高于其他进程,ADC的取样来自8次输入的平均值,以消除毛刺,不至于触发错误的过流保护。ADC的一些匹配的常量值在测量电路的参数后再在软件中设置。
4 校 准
因为要作为测试用的信号源使用,所以电源在使用之前必须校准。校准包括两部分,硬件校准和软件设置,在这个过程中,需要对Butterfly的程序进行改写和重新编译。
断开Butterfly与电源电路的连接,正确连接电源电路后,给电路上电,测量电压VPLUS(12 V),VMINUS(-5 V),VCC(3.3 V),VREF(1.28 V)和VM256(-2.56 V),这些值应该接近括号中的值,不必与之完全一致。然后,调节微调电阻R19调整电压VREF到1.28 V。调整后,断电连接Butterfly和电路中的其他部分,然后上电。
因为要与硬件一起进行设置,所以在软件中的相关文件中设置一个初始值,以便于后面的校准,在文件DAC.h中:
编译代码并写入Butteterfly后,输出的电压通过菜单设置为零,通过调节微调电阻R20输出电压调节为零。校零完成。
为了计算V2CODECONST(VOUT=1 V)时的值,在Butterfly的菜单上输入一个VSET电压,如4 V,然后测量VOUT并且计算出实际的常量:
输出电路置为开路(此时的电流输出应为0),此时电源的显示值记为I0DISP,使用如下公式:
计算CURCODEOFFSET。
下一步,按照新的常量值给Butterfly重新编程,为了计算CODE2CURCONST的值,设置一个预设电压值VSET,比如5 V,并且连接一个已知的准确电阻RLOAD大约在47 Ω左右(电流在100 mA左右),记下此时LCD上电流的显示值IDISP,用下面的公式计算:
然后在ADC.H中修改此常量值并且重新编译程序,校准完成。
该电源同其他高级电源一样,具有短路保护和过载保护功能,而且在显示器显示电压电流、功耗,能够精确地模拟主电源,用来测试目标系统在各种不同电源故障下的性能,比如电压下降、电压周期下降、电源线上的干扰等。
5 结 语
由于AVR Butterfly提供了丰富的外部接口,使得设计控制电路的过程非常简单,而且在这个设计中,只使用了有限的几个接口,还有一些接口可以用来扩展该电源的功能,例如,使用RS 232串行接口,把智能电源与PC机连接,在PC机上就能够实时反映电源的工作状态。
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暂无反馈