智能仪器自动化程度的提高为科学研究提供了十分方便的实验手段。电化学沉积仪器是由pc机控制的全自动的恒电位仪、恒电流仪及恒电位脉冲试验仪的集合体。相对于手动的设备而言更为先进,功能更强大,试验精度更高。具体工作时,仪器按照用户设定的实验类型执行具体的试验,同时采集系统实时的电压和电流信号。采集到的信号,由仪器内置的微处理器解析后,转换为数字信号反馈到上位机(pc机)。上位机的仪器数据处理软件,具有强大的解析功能,可以对原始数据进行各种分析,得到研究体系的详细信息。
在pc机控制的系统中,常采用通用串行总线(usb)进行通信。因为基于usb总线的数据采集系统具有安装方便、可靠性高、数据不易丢失、抗*力强、便于数据传输和处理等优点,它已经逐渐成为现代数据传输的主要趋势。随着usb应用的日益广泛,atmel,in,scanlogic,cypress和phillps等芯片厂商都推出了嵌入mcu的usb控制器。这些微控制器功能强,构成系统的电路简单,调试方便,电磁兼容性好。
因此,本文设计的电化学沉积智能试验仪器的数据采集系统采用了atmel公司推出的处理器mcuat90usb1287。该mcu内置有符合usb2.0规范的接口。在该系统中,mcu承担着数据采集和usb数据通信的双重任务。
1、usb采集系统的设计
1.1电化学沉积试验仪工作原理
该仪器设置了三种实验方式:恒电位、恒电流以及脉冲电位试验。恒电位试验,即工作电极的电位(相对于参比电极)保持恒定,而电流可能发生变化的试验类型。恒电流试验就是通过工作电极的电流保持不变,而其电位可能发生变化的试验类型。脉冲电位试验要求工作电极的电位是以某一形式的脉冲存在,具体通过改变其脉冲幅度和占空比实现。
电化学沉积仪器控制与采集方框图如图1所示。
当控制计算机对仪器实验类型和参数值进行预置时,avr单片机把设定的类型和预置的数值送到液晶显示器显示,同时作为电流源或者电压源的设定值通过d/a转换输出,并作为参考信号提供给控制电路。当用户选择恒流实验时,i-v转换模块把从检测电路得到的工作电极的电流值转换成其相应的电压信号,该信号和d/a转换器输出的电压控制信号构成电压偏差,由pid控制器将按其比例、积分、微分运算后,通过线性组合构成控制量,从而达到通过负载的电流恒定的目的。当选择恒电位试验时,从d/a输出的电压信号和检测电路部分得到的电压信号构成的偏差量,经过pid控制器使输出信号加在参比电极和工作电极之间,通过pid控制器对参数的调整使两者之间的电压恒定。当进行脉冲实验的时候,单片机通过调整输出脉冲波形经过pid控制器输出给负载。与此同时,不同试验方式下工作电极中的电流、电压及脉冲电压信号经a/d采样之后由usb接口发往上位机进行显示。
1.2电化学沉积试验仪数据采集硬件组成
电化学沉积试验仪器的数据采集硬件包括:采集电压信号的a/d转换器,控制试验设定值的pid控制器,提供pid控制器信号输入的16位d/a转换器,带有usb模块的mcij以及pc控制终端等,如图2所示。
该采集系统的采集信号包括阴极电位和电流信号采集。电流信号的采集通过采集检测电阻两端的电压信号得到。当进行恒电位和脉冲电位试验时,a/d转换器可以通过采集参比电极和工作电极的电势差获得电压信号。类似地,当进行恒电流试验时,电流信号是通过i-v跨阻放大器得到的。
ad7794比传统的高分辨率转换器更能抑制噪声干扰。它的数字滤波器可抑制电源电压上的宽带噪声,并去除来自模拟输入和参考输入的噪声。在该仪器系统中,需要测量的电压和电流信号的电路接法如图3所示。利用ain1采集参比电极和阴极之间的电压信号,利用ain2通道采集溶液体系的电流信号。rf是跨导电阻,对于电流信号的检测是通过i-v变换电路来实现的。
使用高分辨率adc时,电源和地的去耦设计是至关重要的。为此供电电源vdd应采用电容旁路技术,采用o.1μf的旁路电容并以尽可能短的路径连接各相应的电源和地,这样可旁路掉高频成分。同时,还应并联1个10/μf的钽电容旁路低频成分。所有的逻辑芯片均应通过o.1μf陶瓷电容来退耦。
2、软件系统的设计
该电化学沉积试验仪器的软件可分为三部分,固件程序、驱动程序和终端应用程序。
2.1固件程序
该usb数据采集系统固件所完成的任务主要有以下两项:
(1)响应主机usb请求,获得系统配置,实现电化学沉积仪器与主机之间的即插即用功能;
(2)以100次/s的采样频率对信号进行采样,并把采样得到的电压或者电流信号传送给usb主机。
在该usb数据采集系统中用到三个端口:控制端口、in端口和out端口。其中,控制端口完成响应usb标准请求的功能,in端口用于把采集到的数据传送给usb主机,out端口接收usb主机发送的控制命令。具体的软件设计流程图见图4。
该usb数据采集系统固件设计包括三个部分:
①设备枚举,这个固件主要完成对usb标准请求的响应。系统通过发送usb标准请求来获得usb设备的配置和设备信息,并按照这些信息对usb进行资源分配。
②数据采集。
③响应设备请求,即响应设备的读写请求,usb主机通过in端口向usb采集系统发送控制数据采集的指令,通过out端口接收usb设备发送的数据。
对于usb采集系统,通过in端口接收usb主机发给控制器的命令,这些命令信息包含采样信号类型、采样启动/停止标志位等。其中采样信号类型用*个字节表示,采样启动/停止标志用第二个字节表示。in端口也是usb的任务处理端口,接收命令码通过对in端口的事件处理程序实现。当in端口接收到数据后,控制器读出接到的数据并对数据进行解码和处理。
usb主机通过out端口接收at90usb1287发送给usb主机的数据,这些数据采用中断的方法通过a/d转换而得到结果。
2.2usb驱动程序
usb驱动程序的作用是连接主机和usb设备。常用的windows系统usb驱动程序设计软件有ddk,driverstudios和windriver等。本文采用了开发相对灵活的driverstudios,该软件配合ddkxp可以生成驱动程序框架。通过添加和修改生成的驱动程序框架即可完成该系统驱动程序开发。由固件程序可知,电化学沉积仪器需要三个usb端口,即:控制端口0、in端口1以及out端口2。利用driver-studios的开发包driverworks生成的驱动程序并加以修改实现了对两个端口的读写操作。在这里定义in端口和out端口的类型均为bulk类型。通过修改、安装inf文件,zui终完成驱动程序的开发。
2.3终端应用程序
终端应用程序流程图见图5。该应用程序采用vc6.0编译器进行编程,当下位机上电并与计算机连接之后,应用程序首先要判断电化学沉积实验仪器是否和主机连接正常。如果出现异常就要求系统重新连接,直到检测到设备能正常通信为止。该应用程序的界面操作不受后台数据处理的影响,具体过程为;首先查找usb设备(电化学沉积仪器的设备句柄),获得设备句柄,封装对usb设备操作的动态链接库,zui后对采集的数据进行处理和显示。应用程序和下位机之间的通信通过命令解析协议进行。应用程序可以设定试验类型,并对试验进行控制。这些操作实际上是向缓冲区读写数据的过程。根据通信协议,该过程中每一种命令都有其对应的转义字符。
系统需要采集实时数据并实时显示,因此系统需使用wmtimer消息来触发设置定时器事件,以实现usb采集系统1s采集100组电压、电流信号的数据。在利用这些数据进行实时绘图显示时,由于系统不断更新屏幕,会出现视图闪烁的情况。为了解决屏幕闪烁问题,现在zui常用的方法就是采用双缓存的绘图方法。具体做法如下:在ondraw()函数中,在图形绘制以前使用函数createcompatibledc()和createcompatible-bitmap()创建内存设备上下文以及系统将要绘制到的位图对象,然后执行所有的绘图操作,zui后使用bitmap()将整个内存位图移到可视窗口上。这样就*消除了屏幕抖动的现象,可以看到曲线平稳的移动。
3、实验结果
软、硬件及系统综合调试之后,进行试验测试。配置不同浓度的溶液进行实验,用ito玻璃作为工作电极(阴极),甘汞电极作为参比电极,铂片作为对电极。先进行试验参数设置(包括:实验类型、工作电压电流值、工作频率及试验时间等)。点击完成设置,开始试验,即得到试验动态曲线。
图6是恒电位条件下的i-t实时曲线的图形界面。同样可以得到恒流和脉冲电位实验的v-t,i-t曲线图形。由于试验的需要,试验人员往往需要保存每次的实验结果和图形,以便对数据进行分析整理。因此,该应用程序添加了图形保存功能。只要在需要保存的图形上点击鼠标左键,即可把试验图形保存成bmp格式的图片,并带有试验的详细信息。
4、结语
在实时的电化学沉积试验监测中,该接口具有速度快、性能高、占cpu资源少的特点。usb2.0协议的理论传输速度为480mb/s,实际传输速度往往要低于理论传输速度,但完满足实验室电化学试验数据通信的需要。该接口使用方便、成本低,属于小型高速数据采集系统,它为电化学沉积实验系统在线的监测诊断提供了数据支持。