基于VUSB技术的数控直流稳压电源的设计
1、系统组成框架如图1所示,主要由8路串行输入DACMAX522、稳压输出电路、VUSB接口电路、信号调理电路、单片机Atmega8及其他外围元件组成,可以输出0~12V的电压,步进精度为0.1V,电流可达2A.同时可以通过上位机设置输出的电压值。

2、D/A 转换主要是利用MAX522 芯片来实现的。
MAX522芯片内有2路8位电压缓冲输出D/A 转换器(DAC A和DAC B),8脚节省封装和DIP封装,DAC A端缓冲器工作电流可达5mA,DAC B端缓冲器工作电流可达500μA,MAX522工作在单向电压+2.7V~+5.5V.
MAX522具有3线串行接口,可直接与SPITM、QSPITM,MicrowireTM 兼容。它有一个16位输入移位寄存器,包含8位DAC输入数据和8位DAC选择和关断控制。在/CS的正边沿数据能够存入到DAC寄存器。
模数转换模块电路如图2所示。单片机的PB0端口接串行数据输入口DIN、PB1接片选信号/cs、PB2端口接时钟信号SCLK.选择DAC A作为输出,输出和参考电压输入端分别接上一个0.1μF的电容,提高电路输出稳定性。芯片的VDD与参考电压端均由5.12V稳压电路提供。

3、电压电流放大
由于MAX522输出的电压范围为0~2.4V,而要求的电压输出范围为0~12V,所以需要将MAX522输出放大5倍。同时,为了提高电源的驱动能力,在放大电路后面加入了一个射极输出器。
电压电流放大电路如图3所示。主要包括2个μA741高增益运算放大器组成的放大部分及三极管ZTX453组成的射极输出部分。第一级μA741AN 为负反馈缓冲电路,用以减小输出电阻并使放大频率频宽增大。第二级μA741ANA构成电压正向比例放大电路。放大后的电压信号接入射极输出器ZTX453,放大输出信号的电流。注意,此部分电路发热量比较大,需要再扩接散热片进行散热。

4、VUSB接口
VUSB是用普通的通用AVR单片机,配以较高频率的晶振(12MHz或16MHz),模拟产生USB所需信号,从而模拟出标准的USB HID设备(鼠标、键盘、简单通信)的解决方案,构成一个低成本的USB设备。USB共有4根线,2根5V电源,两根差分信号线D+、D-.由于是低速设备,D-必须要有1.5kΩ的上拉电阻。
VUSB接口电路如图4所示,单片机的PD1和PD2通过68Ω的限流电阻分别接入标准USB接口的D-、D+.
需要注意的是D+必须接上单片机的外部中断0管脚,在此为了简化连接直接将PD2(INT0)接入作为其中的一根信号线使用。由于USB信号线的电压最大为3.6V,所以在D-和D+上分别并接了一个3.6V的稳压二极管。

5、系统软件设计
软件设计包括下位机和上位机2部分。下位机主要负责接收上位机的设置电压值,并经过转换后输入到MAX522,从而输出设置电压。上位机则通过VUSB与下位机连接,并通过模拟的USB协议向下位机写入数据。
下位机软件
下位机软件流程图如图所示。其中设备初始化包括单片机端口初始化、DAC初始化及VUSB端口初始化。在初始化之后,程序进入主循环,在其中加入了USB轮询函数usbPoll(),用来侦测USB事件。一旦侦测到上位机有USB通信请求时,usbdrv就会调用usbFunctionSetup()函数来处理请求。在此请求函数中接收上位机传来的数据并将此数据转换后写入MAX522数据端口,启动DAC输出电压。
