数控低中频交流电流源的设计与实现

2013-07-24 05:09刘修文张昌华孟劲松
电子测试 2013年1期
关键词:正弦波寄存器时钟

刘修文 张昌华 孟劲松

(1.电子科技大学电力系统广域测量与控制四川省重点实验室 成都 611731;2.电子科技大学能源科学与工程学院 成都 611731)

0 引 言

在实际的功率应用中,不仅仅需要稳定的电压信号。在某些电磁转换的应用场合,更多的时候会需要稳定、准确的电流信号。传统的模拟电流源,优点是信号平滑,稳定。缺点是实时性差,不易控制,在一些高精度磁场测量应用中难以实现多方面的功能。本文介绍了一种基于FPGA 的任意波形电流源,不仅具有成本低,结构简单等特点,而且具有多路输出,可选择性强,通过对FPGA 内数据的修改即可自定义输出波形,方便灵活。

FPGA 即现场可编程逻辑门阵列,在可编程逻辑器件快速发展的今天已经成为在各领域广泛应用。其应用领域已经从原来的通信扩展到消费电子、汽车电子、工业控制、测试测量等广泛的领域。而应用的变化也使其近几年的演进趋势越来越明显:一方面,FPGA 供应商致力于采用当前最先进的工艺来提升产品的性能,降低产品的成本;另一方面,越来越多的通用IP(知识产权)或客户定制被引入IP 中,以满足客户产品快速上市的要求。

1 系统构成

本文采用FPGA 作为主控器件,由外部晶振控制,向D/A 转换器TLC5615 串行发送波形数据。再由D/A 将电压波形送入功率放大的压控电流源。通过滤波等部分,最后得到功率电流输出。该电流源电路系统框图如图1 所示。

在数字部分,每一路波形通道都由不同的串行D/A 控制,以保证不会在切换通道时候由于时序冒险产生毛刺。各路通道的波形,采样率,均可自行定义。由于该D/A 转换器输出自带电压跟随,信号驱动能力较强,得到波形以后,可直接送入调理电路,经过信号放大与反馈,在一定负载范围内产生稳定的电流。

该电流源电路的灵活性在于:对于常用频率和波形,通过模拟开关调节即可输出。而对于其他频率,或其它任意波形的情况,则可通过修改FPGA 代码中的参数即可。下面从硬件电路、控制程序设计等方面分别对这几个关键环节进行介绍。

图1 系统框图

2 数字电路设计

2.1 数字电路硬件设计

数字电路部分,采用Altera 公司的低成本FPGA 芯片cyclone II 系列的EP2C8Q208I8 作为主控器件,与3 片TLC5616 相连.之所以用3 片D/A 芯片而不用单纯的开关切换,是为了保证在同一时刻有多路信号输出,从而满足不同的需求。通过控制继电器来切换输出通道。从而保证在任意时刻,3 片TLC5615 都在正常工作,但有且仅有一路信号的输出。这里首先介绍TLC5615。

2.2 TLC5615 介绍

TLC5615 是美国德州仪器推出的D/A 转换芯片,串行输入接口,输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把DAC 寄存器复位至全零。性能比早期电流型输出的DAC 要好。只需要通过3 根串行总线就可以完成10 位数据的串行输入,易于和工业标准的微处理器或微控制器(单片机)接口,适用于电池供电的测试仪表、移动电话,也适用于数字失调与增益调整以及工业控制场合。

在本设计中,输出波形的峰峰值为5 V,故选取REFIN为2.5 V,VDD 为5 V。该芯片的时序如图2 所示。

图2 TLC5615 时序图

当CS 信号为低时,在每一个SCLK 的上升沿将串行波形数据DIN 存入移位寄存器。CS 的上升沿将移位寄存器的有效数据锁存于10 位DAC 寄存器,供DAC 电路进行转换。需要注意的是,CS 的上升沿和下降沿都必须发生在SCLK 的低电平。

2.3 数字电路程序设计

FPGA 内部采用逐个描点,即通过逐点输出电压的方式,用足够多的阶跃波还原出原波形。波形数据存储在FPGA 内部,以正弦波为例。由于是低频,每个周期选取250 个点,如图3 所示。用正弦波数据等间距的描出一个周期内的点,再根据所需要的频率,用FPGA 分频时钟信号以后,用 CS 端控制,以串行的方式从 DIN 端送入TLC5615。

图3 正弦波等间隔采点

在FPGA 的控制下,CS 为低电平期间,一共有12 个SCLK 脉冲,其中后2 位作为移位寄存器的填充位,可取任意值。前10 位则是由高到低的波形点的值,由二进制表示。TLC5615 数据输入值是从0 到1023,输出模拟电压值是0~2VDD,也就是0~5 V。所以该芯片的精度为5 V/1024=4.883 mV。

本设计采用的是逐个描点法,如图4 所示,在CS 为低电平期间,一共有12 个SCLK 的上升沿脉冲,故进入移位锁存器的12 为数据DIN 为0000010101(00)(二进制),后两位为填充位。在CS 的上升沿,12 为数据的前10 为有效位0000010101(二进制)被锁存于DAC 寄存器,用作模拟输出。图中的模拟电压输出值为0000010101/1111111111(二进制)* 5(十进制)=(21/1023)* 5=0.102 V。

图4 FPGA 控制TLC5615 时序

在下一个电压点输出之前,输出电压会保持原来的值。依此类推,在描出250 个点以后,得到的就是一个周期的正弦波阶梯电压信号。在4 Hz 下,每周期250 个采样点已经足够恢复原正弦波形,再经过一阶RC 滤波,就可以输出一条平滑的正弦波。

在FPGA 中的具体代码操作如下:

将输入时钟(通常为10 MHz 或50 MHz,若需要提高输出波形的频率,可将输入时钟用锁相环倍频)分频。分频后的SCLK 频率为波形信号频率* 信号周期采样点数×20。之所以选取20,是因为单个描点周期至少需要12 个数据输入时钟,再加上CS 为高电平的转换时间,为了取整数方便计算,故此处用20 个SCLK 作为一个点。在本例中,信号周期为4 Hz,单周期采样点为250,故每个点的保持时间为1/(4* 250)=1 ms,再分为20 个SCLK 时钟,则单个SCLK 的时间为50 μs,即频率为20 kHz。

在20 个SCLK 为一个点大时钟和CS 为低,的条件下,SCLK 的上升沿作为数据的有效输入,因此需要CS 的占空比为12/8,即在10 个有效数据位和2 个填充位以后,会有8 个SCLK 时钟的高电平保持时间。其中的10 个有效数据位会从ROM 中提取,依次输出。

RST 是作为FPGA 的复位信号,在此设为每秒钟复位一次。

波形点数据提前储存在ROM 中,以1111111111 为满幅,0000000000 为零电平,列出前π/2 的数据以供参考。(以下数据均通过正弦波生成器获得,精度为10 位二进制)

01FFH 020CH 0219H 0226H 0232H 023FH 024CH 0259H 0265H 0272H 027EH 028BH 0297H 02A3H 02AFH 02BBH 02C7H 02D3H 02DFH 02EAH 02F5H 0301H 030CH 0316H 0321H 032CH 0336H 0340H 034AH 0354H 035DH 0366H 036FH 0378H 0381H 0389H 0391H 0399H 03A1H 03A8H 03AFH 03B6H 03BCH 03C2H 03C8H 03CEH 03D3H 03D8H03DDH 03E1H 03E5H 03E9H 03EDH 03F0H 03F3H 03F5H 03F8H 03FAH 03FBH 03FDH 03FDH 03FEH 03FEH。

2.4 数字缓冲电路

在FPGA 和D/A 之间设置一个电平缓冲,将FPGA 的输出3.3 V 转为5 V高电平。此处选用SN74ALVC164245DGGR,这是一款在5 V 和3.3 V 电平之间转换的芯片。由于信号是单向传输,即从FPGA 传到DA,只需要将3.3 V 高电平转换为5 V,故外围电路如图5配置。

经过转换以后,5 V 的电压可以驱动TLC5615 进行DA转换。

3 模拟电路设计

模拟电路分为两个部分:信号调理和反馈输出部分。

3.1 信号调理电路

对D/A 给出的波形信号要做偏置,稳压和衰减处理。D/A 输出的信号是在0~+5 V 之间,为输出标准的正弦波信号,先将模拟部分的输入信号加上-2.5 V 的偏置,使其变成-2.5 V~+2.5 V 的正弦电压信号。电路如图6所示。该电路实质上是一个减法器,即通过TL431 的2.5 V稳压输出,将信号值减去2.5 V。

经过RC 滤波器以后,由电压跟随器做缓冲,跟随器采用的运放是TL082。由于电压跟随器输入阻抗很大,输出阻抗很小,输出电压受负载的影响小,其输出是一个理想的电压信号源。

由于TL082 电压调节范围较小,精度较高,故将幅值为2.5 V 的信号作50 倍衰减,进入后级运放的电压幅值为±50 mV。后级运放驱动MOS 管导通,从而根据负载大小控制输出电压。

3.2 反馈输出电路

由于功率电流是由外部电压源给出的,故通过控制外部电压源开关的通断来控制输出电流。如图7 所示,右端接负载。为减小功耗,采样电阻取值为0.13 Ω。MOS 管供电电压40 V,在有效值1 A 的电流下,所允许接的最大负载为20 Ω。

此处采用电压控制MOS 管的导通率,当负载增大时,输出电流减小,采样电阻上的电压减小,反馈到TL082 第2脚即负向端的电压不变,而正向端电压,即第3 脚的电压会增大,从而导致运放输出的电压增大,驱动MOS 管的电压也就相应增加。图5 中的IRF9540 导通率增加,另一个MOS 管IRF540 导通率降低,输出到负载的电压增大,采样电阻上的电压减小,负反馈电压减小。由于输入电压是稳定的,运放TL082 的输出会增大,输出电压就会增大,从而电流也相应的增大,达到用电压控制稳定电流的效果。

图7 压控电流源反馈电路

由图8 可以看出,在阻值较小时(一般为15 Ω 以下),电流精度较高,阻值变大,电流值下降,这是因为MOS 门级有漏电流,电压越大,功率电源提供的电流会越多的从门级流失。硬件上可通过放大反馈信号来减小误差;若用在测试中,可以通过软件修正。

图8 负载阻值与负载电压关系

该电路在Multisim 里的仿真效果如图9 所示。黄色为输入电压波形,蓝色为负载上的电压波形。

图10 为实际电路上的调试结果,负载为10Ω,MOS 管供电电压为30V。

4 结 论

和传统的交流恒流源不同,采用本文介绍的设计方法所研制的恒幅交流电流源,具有压控电压任意,输出波形灵活性强的特点,对于任何能用有限波形采样点描出的波形都可以将波形数据传输给FPGA,FPGA 驱动DAC 来完成准确的电流输出。且可以输出多路同步信号,对于常用的波形,在代码中已有储存,使用方便,稳定。

在本例中,将信号频率,波形数据修改以后的输出,如100 Hz 的方波,500 Hz 的正弦波等,电流也有较高的精度。

在功放部分,只需要调整信号的衰减倍数,即可得到不同的幅值。若需要在最大功率上继续增大功率,或者加在更大的负载上,可选用更大允许功率的三极管或MOS管,同时提升功率电源电压,实现信号的调性。

[1]施良志.基于AT89C51 数控电流源的设计[J].大学物理实验,2009(3):73-76.

[2]白炳良.数控与扫描直流电流源的设计[J].漳州师范学院学报:自然科学版,2006(4):76-79.

[3]李华耀.一种正弦交流恒流源的研制[J].电机电器技术,1999(1):4-7.

[4]葛恒清.基于SPWM 模糊PID 控制正弦交流电流源研究[J].微计算机信息,2009(2):84-86.

[5]白炳良.基于ICL8038 的宽带交流电流源设计[J].漳州师范学院学报:自然科学版,2010(9):3-5.

[6]李银祥,安继明,姚向东,李哲.数控电流源[J].现代科学仪器,2001(06):2-4.

[7]江海鹰,孙王强,孙杰,刘维东.实用高精度数控直流电流/电压源[J].济南大学学报:自然科学版,2006(03):2-5.

[8]欧伟明,罗三定.智能数控电流源的设计[J].通信电源技术,2006,3(5):52-54.

猜你喜欢
正弦波寄存器时钟
STM32和51单片机寄存器映射原理异同分析
单相正弦波变频电源设计与实现
别样的“时钟”
古代的时钟
Lite寄存器模型的设计与实现
采用BC5016S的纯正弦波逆变器设计及制作
有趣的时钟
基于STM32的风力摆控制系统的设计
时钟会开“花”
高速数模转换器AD9779/AD9788的应用