基于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.2 USB驱动程序
USB驱动程序的作用是连接主机和USB设备。常用的Windows系统USB驱动程序设计软件有DDK,DriverStudioS和WINDRIVER等。本文采用了开发相对灵活的DriverStudioS,该软件配合DDKXP可以生成驱动程序框架。通过添加和修改生成的驱动程序框架即可完成该系统驱动程序开发。由固件程序可知,电化学沉积仪器需要三个USB端口,即:控制端口0、IN端口1以及OUT端口2。利用Driver-StudioS的开发包DriverWorks生成的驱动程序并加以修改实现了对两个端口的读写操作。在这里定义IN端口和OUT端口的类型均为BULK类型。通过修改、安装INF文件,最终完成驱动程序的开发。
2.3 终端应用程序
终端应用程序流程图见图5。该应用程序采用VC 6.0编译器进行编程,当下位机上电并与计算机连接之后,应用程序首先要判断电化学沉积实验仪器是否和主机连接正常。如果出现异常就要求系统重新连接,直到检测到设备能正常通信为止。该应用程序的界面操作不受后台数据处理的影响,具体过程为;首先查找USB设备(电化学沉积仪器的设备句柄),获得设备句柄,封装对USB设备操作的动态链接库,最后对采集的数据进行处理和显示。应用程序和下位机之间的通信通过命令解析协议进行。应用程序可以设定试验类型,并对试验进行控制。这些操作实际上是向缓冲区读写数据的过程。根据通信协议,该过程中每一种命令都有其对应的转义字符。
系统需要采集实时数据并实时显示,因此系统需使用WM TIMER消息来触发设置定时器事件,以实现USB采集系统1 s采集100组电压、电流信号的数据。在利用这些数据进行实时绘图显示时,由于系统不断更新屏幕,会出现视图闪烁的情况。为了解决屏幕闪烁问题,现在最常用的方法就是采用双缓存的绘图方法。具体做法如下:在OnDraw()函数中,在图形绘制以前使用函数CreateCompatibleDC()和CreateCompatible-Bitmap()创建内存设备上下文以及系统将要绘制到的位图对象,然后执行所有的绘图操作,最后使用Bitmap()将整个内存位图移到可视窗口上。这样就完全消除了屏幕抖动的现象,可以看到曲线平稳的移动。
3 实验结果
软、硬件及系统综合调试之后,进行试验测试。配置不同浓度的溶液进行实验,用ITO玻璃作为工作电极(阴极),甘汞电极作为参比电极,铂片作为对电极。先进行试验参数设置(包括:实验类型、工作电压电流值、工作频率及试验时间等)。点击完成设置,开始试验,即得到试验动态曲线。
图6是恒电位条件下的I-t实时曲线的图形界面。同样可以得到恒流和脉冲电位实验的V-t,I-t曲线图形。由于试验的需要,试验人员往往需要保存每次的实验结果和图形,以便对数据进行分析整理。因此,该应用程序添加了图形保存功能。只要在需要保存的图形上点击鼠标左键,即可把试验图形保存成BMP格式的图片,并带有试验的详细信息。
4 结 语
在实时的电化学沉积试验监测中,该接口具有速度快、性能高、占CPU资源少的特点。USB 2.0协议的理论传输速度为480 Mb/s,实际传输速度往往要低于理论传输速度,但完全能满足实验室电化学试验数据通信的需要。该接口使用方便、成本低,属于小型高速数据采集系统,它为电化学沉积实验系统在线的精确监测诊断提供了数据支持。
- 基于虚拟仪器的USB接口数据处理系统设计(01-27)
- 多点快速采集系统中信号可靠转贮技术研究(06-11)
- 基于USB接口的测硫仪设计 (10-04)
- 可监测人体脉搏波及心率的健康鼠标(04-17)
- 欧盟统一后的手机USB接口及其EMC测试要求(12-23)
- 基于LABVIEW平台的USB接口多路高速数据采集系统的设计(08-20)