1. 引言
大功率可编程直流电流源采用TI公司的TMS320F28335 DSP芯片作为控制器,要求输出电流幅值从0到200 A连续可调,波形调制方式有不调制、三角波调制、方波调制和正弦波调制4中可选方式,频率从0到20 Hz可调,且上位机需对输出电流波形实时显示。大功率可编程直流电流源的系统结构如图1所示。
上位机监控系统用于实现对电流源装置的编程控制,并对输出电流进行实时监测,让用户掌握装置的实时运行状况,并可根据需要选择不同的波形调制方式,对满足用户需求和装置安全运行具有重要意义。
LabVIEW是美国国家仪器公司开发的一种程序开发环境,使用的是图形化编程语言G编写程序,产生的程序是框图的形式[1] 。LabVIEW囊括了各种仪器通信总线标准的功能函数,不仅提供数百种不同接口测试仪器的驱动程序,还支持VISA、SCIP和IVI等最新的程控软件标准,为用户设计开发不同的先进测试系统提供了软件支持[2] 。
本文针对大功率可编程直流电流源的控制要求,上位机与DSP控制器采用RS485工业通信总线进行通信,应用LabVIEW中的VISA节点,方便地设计了上位机监控系统的串口通信程序。

Figure 1. System structure diagram of programmable high-power DC current source
图1. 大功率可编程直流电流源系统结构
2. 调制算法设计
大功率可编程直流电流源要求输出电流的幅值和频率可调、波形可选,因此,可以将输出电流波形分解为4个特征参数:调制方式m,调制频率f,平均电流(直流分量)Idc和调制幅值(交流分量)Iac,如表1所示。
通过上位机对以上4个参数进行设定和选择,然后下发至DSP控制器,DSP根据这4个特征参数进行运算,产生输出电流的参考波形,最后通过DSP控制DC-DC变换器产生所需的输出电流。
四种调制方式下的输出电流参考值iref计算如下:
① 不调制(m = 0)
(1)
② 正弦波调制(m = 1)
(2)
③ 三角波调制(m = 2)
(3)
④ 方波调制(m = 3)
(4)
式中,T为调制周期:T = 1/f。
在数字控制系统中,常以固定采样频率fs (或采样周期Ts)对输出波形进行定时计算和控制输出,需要将连续时间函数转换为离散时间函数。若用N表示一个调制周期内的采样控制次数,用n表示当前时间对应的离散时刻,则:
(5)
(6)
由式(1)~(6)可以得到该电流源的输出电流参考值计算流程,如图2所示。
3. DSP通信接口设计
F28335 DSP有3个串行通信(SCI)接口模块,SCI接收器与发送器具有独立的16级深度的FIFO,并且具有独立的中断控制位,可工作在半双工模式或全双工模式。为保证数据的完整性,SCI对接收的数据进行间断检测、奇偶性检测、超时检测及帧格式检测。SCI模块可通过16位的波特率控制寄存器设置多种波特率,以满足系统需求 [3] 。
表1. 特征参数
表2所示为上位机向DSP传递数据的报文格式,报文为8字节,包括启停命令(2字节)、调制方式m(1字节)、直流分量Idc(1字节)、交流分量Iac(1字节)、离散调制周期N(2字节)以及对前7个字节的校验和(1字节)。
4. 上位机通信平台设计
上位机的主要目的是:通过串口与DSP进行通信,向DSP发送控制指令,并监测装置的输出电流。图3为基于LabVIEW的上位机监控界面。
4.1. LabVIEW界面设计
上位机向DSP发送的控制指令包括:
① 启停命令:通过LabVIEW的布尔按钮控件向DSP发送“启动”和“停止”指令。

Figure 2. Calculation process of output current reference
图2. 输出电流参考值计算流程
表2. 报文格式
② 调制方式:通过LabVIEW的枚举输入控件向DSP发送“调制方式”的设定指令。
③ 调制参数:通过LabVIEW的数值输入控件向DSP发送“平均电流”、“调制幅值”和“调制周期”的设定指令。
上位机的显示包括:
① 设备状态:通过LabVIEW的布尔指示灯控件显示设备的运行状态。“运行”指示灯由绿变红,表示装置开始运行;“故障”指示灯由绿变红,表示通信出现故障;“保护”指示灯由绿变红,表示设备处于异常保护状态。
② 输出电流:通过LabVIEW的波形图控件显示设备的两路输出电流波形,且能根据设定的不同调制周期完整显示1~2个周期宽度的波形。
4.2. LabVIEW程序设计
LabVIEW提供了丰富的仪器控制功能,支持VISA、SCIP和IVI等。在串口通信方面,串口通信使用的功能节点均为VISA节点。VISA是调用低层驱动器的高层API,本身不具备编程能力,使用之前需
要实现安装驱动[4] 。VISA子选板上包含了5个库函数和1个下一级子选板“高级VISA”,“高级VISA”中还有更多的高级函数可调用[5] 。本系统的数据通信是采用串口实现的,在通信时,通过VISA配置串口[6] ,将DSP控制器与上位机依照规定的通信协议:波特率、数据位、停止位、通信端口号、校验位等方面进行相应的配置,即可进行数据的传输。
如图4所示,上位机LabVIEW程序设计的基本流程是:设置好监控界面上的串口号、调制波形、平
均电流、调制幅值和调制周期后,点击“启动”按钮,首先对平均电流、调制幅值和调制周期的输入范围进行判断,满足条件后,以表2所示的报文格式向DSP发送控制指令(注意:在向DSP发送指令时需要将输入的十进制数字转换为字符串形式),DSP接收到控制指令后进行和校验,一旦校验正确,立即向上位机返回字符串“RUN”表示接收成功,PC机接收到DSP返回的字符串“RUN”后,随即点亮监控界面上的“运行”指示灯(由绿变红),接着DSP对装置的两路输出电流进行采样,每次对两路输出电流各采样200个数据,为了对两路电流进行区分,在采集到的两路电流数据前端分别加上01和02,同时

Figure 3. PC monitoring interface based on LabVIEW
图3. 基于LabVIEW的上位机监控界面

Figure 4. Flow chart of PC program design based on LabVIEW
图4. 基于LabVIEW的上位机程序设计流程图
为了确保传输过程中数据的完整性和正确性,在每路电流数据的末端加上对前201个数据的校验和,那么DSP每次总共向PC机传输404字节的数据,PC机接收到这404个数据之后首先进行分组,然后对每组数据分别进行和校验,校验正确后将两组数据送至波形图控件进行显示(注意:PC机接收到的数据为字符串形式,在送至波形图控件前需将其转换为十进制数据)。
5. 运行结果
上位机监控系统设计完成后,与大功率可编程直流电流源进行了联机运行。运行条件为:直流分量Idc = 60 A,交流分量Iac = 20 A,调制周期为1 s。图5~图7分别对应调制方式为方波、三角波和正弦波
(a) (b)
Figure 5. Square wave modulation; (a) Output current waveform of DC current source; (b) Monitoring current waveform on PC
图5. 方波调制方式;(a) 实际输出电流;(b) 上位机监控波形
(a) (b)
Figure 6. Triangular wave modulation; (a) Output current waveform of DC current source; (b) Monitoring current waveform on PC
图6. 三角波调制方式;(a) 实际输出电流;(b) 上位机监控波形
(a) (b)
Figure 7. Sine wave modulation; (a) Output current waveform of DC current source; (b) Monitoring current waveform on PC
图7. 正弦波调制方式;(a) 实际输出电流;(b) 上位机监控波形
的实际输出电流和上位机监控波形,可以看出,监控系统是控制有效、监视准确的。
6. 结束语
本文针对大功率可编程直流电流源的控制要求,设计了基于LabVIEW的上位机监控系统,并给出了上位机LabVIEW程序设计的基本流程。上位机与DSP控制器通过RS485工业通信总线进行通信。装置的运行结果表明,通信安全可靠,操作简明,上位机能够对装置进行正确的启停控制,并能实时监控装置的输出电流。