0 引 言
随着嵌入式系统设计技术的发展,在设计和仿真中,系统工程师对电源的要求也越来越高。在嵌入式系统设计是使用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机上就能够实时反映电源的工作状态。
VR技术的发展将使得我们生活的每一个细节都可以被改变
步进电机转速采集、伺服电机转速测量脉冲采集模块
红外遥控与射频遥控的特点说明
基于O-RAN架构的无线网络嵌入式AI
如何购买合适的智能门锁
基于AVR Butterfly的电源设计能够很好地完成嵌入式系统的供电和测试
因为小米5X的存在,这款OPPOA77手机显得很尴尬
剑桥AI报告:谷歌成为全美最大AI雇主 知识产权集中在巨头
如何有效提高巡检工作质量,如何有效地将巡检数据信息化
开车给手机充电,你遇到过这样的问题吗?
模块化的方法和注意事项
电力测功机的工作原理
饮食业油烟浓度在线监测系统的应用
功放机和音箱的功率如何匹配
LED企业雷曼正站在上市后新十年的起点
三星布局车载芯片,引发行业大动荡
机器人系统的模块化设计和仿真研究
CAN总线的特点和FPGA实现
智能太阳能国际:热并用聚光太阳能电池效率超过40%
探析中国半导体产业投资的浮夸与不足