0 引 言
智能儀器自動(dòng)化程度的提高為科學(xué)研究提供了十分方便的實(shí)驗(yàn)手段,。電化學(xué)沉積儀器是由PC機(jī)控制的全自動(dòng)的恒電位儀、恒電流儀及恒電位脈沖試驗(yàn)儀的集合體,。相對(duì)于手動(dòng)的設(shè)備而言更為先進(jìn),,功能更強(qiáng)大,試驗(yàn)精度更高,。具體工作時(shí),,儀器按照用戶(hù)設(shè)定的實(shí)驗(yàn)類(lèi)型執(zhí)行具體的試驗(yàn),同時(shí)采集系統(tǒng)實(shí)時(shí)的電壓和電流信號(hào),。采集到的信號(hào),,由儀器內(nèi)置的微處理器解析后,轉(zhuǎn)換為數(shù)字信號(hào)反饋到上位機(jī)(PC機(jī)),。上位機(jī)的儀器數(shù)據(jù)處理軟件,,具有強(qiáng)大的解析功能,可以對(duì)原始數(shù)據(jù)進(jìn)行各種分析,,得到研究體系的詳細(xì)信息,。
在PC機(jī)控制的系統(tǒng)中,常采用通用串行總線(USB)進(jìn)行通信,。因?yàn)榛赨SB總線的數(shù)據(jù)采集系統(tǒng)具有安裝方便,、可靠性高、數(shù)據(jù)不易丟失,、抗干擾能力強(qiáng),、便于數(shù)據(jù)傳輸和處理等優(yōu)點(diǎn),它已經(jīng)逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)闹饕厔?shì),。隨著USB應(yīng)用的日益廣泛,,ATmel,Intel,,ScanLogic,,Cypress和Phillps等芯片廠商都推出了嵌入MCU的USB控制器。這些微控制器功能強(qiáng),,構(gòu)成系統(tǒng)的電路簡(jiǎn)單,,調(diào)試方便,電磁兼容性好,。
因此,,本文設(shè)計(jì)的電化學(xué)沉積智能試驗(yàn)儀器的數(shù)據(jù)采集系統(tǒng)采用了ATmel公司最新推出的處理器MCUAT90USB1287。該MCU內(nèi)置有符合USB 2.0規(guī)范的接口。在該系統(tǒng)中,,MCU承擔(dān)著數(shù)據(jù)采集和USB數(shù)據(jù)通信的雙重任務(wù),。
1 USB采集系統(tǒng)的設(shè)計(jì)
1.1 電化學(xué)沉積試驗(yàn)儀工作原理
該儀器設(shè)置了三種實(shí)驗(yàn)方式:恒電位、恒電流以及脈沖電位試驗(yàn),。恒電位試驗(yàn),,即工作電極的電位(相對(duì)于參比電極)保持恒定,而電流可能發(fā)生變化的試驗(yàn)類(lèi)型,。恒電流試驗(yàn)就是通過(guò)工作電極的電流保持不變,,而其電位可能發(fā)生變化的試驗(yàn)類(lèi)型。脈沖電位試驗(yàn)要求工作電極的電位是以某一形式的脈沖存在,,具體通過(guò)改變其脈沖幅度和占空比實(shí)現(xiàn),。
電化學(xué)沉積儀器控制與采集方框圖如圖1所示。
當(dāng)控制計(jì)算機(jī)對(duì)儀器實(shí)驗(yàn)類(lèi)型和參數(shù)值進(jìn)行預(yù)置時(shí),,AVR單片機(jī)把設(shè)定的類(lèi)型和預(yù)置的數(shù)值送到液晶顯示器顯示,,同時(shí)作為電流源或者電壓源的設(shè)定值通過(guò)D/A轉(zhuǎn)換輸出,并作為參考信號(hào)提供給控制電路,。當(dāng)用戶(hù)選擇恒流實(shí)驗(yàn)時(shí),,I-V轉(zhuǎn)換模塊把從檢測(cè)電路得到的工作電極的電流值轉(zhuǎn)換成其相應(yīng)的電壓信號(hào),該信號(hào)和D/A轉(zhuǎn)換器輸出的電壓控制信號(hào)構(gòu)成電壓偏差,,由PID控制器將按其比例,、積分、微分運(yùn)算后,,通過(guò)線性組合構(gòu)成控制量,,從而達(dá)到通過(guò)負(fù)載的電流恒定的目的。當(dāng)選擇恒電位試驗(yàn)時(shí),,從D/A輸出的電壓信號(hào)和檢測(cè)電路部分得到的電壓信號(hào)構(gòu)成的偏差量,,經(jīng)過(guò)PID控制器使輸出信號(hào)加在參比電極和工作電極之間,通過(guò)PID控制器對(duì)參數(shù)的調(diào)整使兩者之間的電壓恒定,。當(dāng)進(jìn)行脈沖實(shí)驗(yàn)的時(shí)候,,單片機(jī)通過(guò)調(diào)整輸出脈沖波形經(jīng)過(guò)PID控制器輸出給負(fù)載。與此同時(shí),,不同試驗(yàn)方式下工作電極中的電流,、電壓及脈沖電壓信號(hào)經(jīng)A/D采樣之后由USB接口發(fā)往上位機(jī)進(jìn)行顯示。
1.2 電化學(xué)沉積試驗(yàn)儀數(shù)據(jù)采集硬件組成
電化學(xué)沉積試驗(yàn)儀器的數(shù)據(jù)采集硬件包括:采集電壓信號(hào)的A/D轉(zhuǎn)換器,,控制試驗(yàn)設(shè)定值的PID控制器,,提供PID控制器信號(hào)輸入的16位D/A轉(zhuǎn)換器,帶有USB模塊的MCIJ以及PC控制終端等,,如圖2所示,。
該采集系統(tǒng)的采集信號(hào)包括陰極電位和電流信號(hào)采集。電流信號(hào)的采集通過(guò)采集檢測(cè)電阻兩端的電壓信號(hào)得到。當(dāng)進(jìn)行恒電位和脈沖電位試驗(yàn)時(shí),,A/D轉(zhuǎn)換器可以通過(guò)采集參比電極和工作電極的電勢(shì)差獲得電壓信號(hào),。類(lèi)似地,當(dāng)進(jìn)行恒電流試驗(yàn)時(shí),,電流信號(hào)是通過(guò)I-V跨阻放大器得到的,。
AD7794比傳統(tǒng)的高分辨率轉(zhuǎn)換器更能抑制噪聲干擾,。它的數(shù)字濾波器可抑制電源電壓上的寬帶噪聲,,并去除來(lái)自模擬輸入和參考輸入的噪聲。在該儀器系統(tǒng)中,,需要測(cè)量的電壓和電流信號(hào)的電路接法如圖3所示,。利用AIN1采集參比電極和陰極之間的電壓信號(hào),利用AIN2通道采集溶液體系的電流信號(hào),。Rf是跨導(dǎo)電阻,,對(duì)于電流信號(hào)的檢測(cè)是通過(guò)I-V變換電路來(lái)實(shí)現(xiàn)的。
使用高分辨率ADC時(shí),,電源和地的去耦設(shè)計(jì)是至關(guān)重要的,。為此供電電源VDD應(yīng)采用電容旁路技術(shù),采用O.1μF的旁路電容并以盡可能短的路徑連接各相應(yīng)的電源和地,,這樣可旁路掉高頻成分,。同時(shí),還應(yīng)并聯(lián)1個(gè)10/μF的鉭電容旁路低頻成分,。所有的邏輯芯片均應(yīng)通過(guò)O.1μF陶瓷電容來(lái)退耦,。
2 軟件系統(tǒng)的設(shè)計(jì)
該電化學(xué)沉積試驗(yàn)儀器的軟件可分為三部分,固件程序,、驅(qū)動(dòng)程序和終端應(yīng)用程序,。
2.1 固件程序
該USB數(shù)據(jù)采集系統(tǒng)固件所完成的任務(wù)主要有以下兩項(xiàng):
(1)響應(yīng)主機(jī)USB請(qǐng)求,獲得系統(tǒng)配置,,實(shí)現(xiàn)電化學(xué)沉積儀器與主機(jī)之間的即插即用功能,;
(2)以100次/s的采樣頻率對(duì)信號(hào)進(jìn)行采樣,并把采樣得到的電壓或者電流信號(hào)傳送給USB主機(jī),。
在該USB數(shù)據(jù)采集系統(tǒng)中用到三個(gè)端口:控制端口,、IN端口和OUT端口。其中,,控制端口完成響應(yīng)USB標(biāo)準(zhǔn)請(qǐng)求的功能,,IN端口用于把采集到的數(shù)據(jù)傳送給USB主機(jī),OUT端口接收USB主機(jī)發(fā)送的控制命令,。具體的軟件設(shè)計(jì)流程圖見(jiàn)圖4,。
該USB數(shù)據(jù)采集系統(tǒng)固件設(shè)計(jì)包括三個(gè)部分:
①設(shè)備枚舉,這個(gè)固件主要完成對(duì)USB標(biāo)準(zhǔn)請(qǐng)求的響應(yīng),。系統(tǒng)通過(guò)發(fā)送USB標(biāo)準(zhǔn)請(qǐng)求來(lái)獲得USB設(shè)備的配置和設(shè)備信息,,并按照這些信息對(duì)USB進(jìn)行資源分配。
?、跀?shù)據(jù)采集,。
③響應(yīng)設(shè)備請(qǐng)求,,即響應(yīng)設(shè)備的讀寫(xiě)請(qǐng)求,,USB主機(jī)通過(guò)IN端口向USB采集系統(tǒng)發(fā)送控制數(shù)據(jù)采集的指令,通過(guò)OUT端口接收USB設(shè)備發(fā)送的數(shù)據(jù),。
對(duì)于USB采集系統(tǒng),,通過(guò)IN端口接收USB主機(jī)發(fā)給控制器的命令,這些命令信息包含采樣信號(hào)類(lèi)型,、采樣啟動(dòng)/停止標(biāo)志位等,。其中采樣信號(hào)類(lèi)型用第一個(gè)字節(jié)表示,采樣啟動(dòng)/停止標(biāo)志用第二個(gè)字節(jié)表示,。IN端口也是USB的任務(wù)處理端口,,接收命令碼通過(guò)對(duì)IN端口的事件處理程序?qū)崿F(xiàn)。當(dāng)IN端口接收到數(shù)據(jù)后,,控制器讀出接到的數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行解碼和處理,。
USB主機(jī)通過(guò)OUT端口接收AT90USB1287發(fā)送給USB主機(jī)的數(shù)據(jù),這些數(shù)據(jù)采用中斷的方法通過(guò)A/D轉(zhuǎn)換而得到結(jié)果,。
2.2 USB驅(qū)動(dòng)程序
USB驅(qū)動(dòng)程序的作用是連接主機(jī)和USB設(shè)備,。常用的Windows系統(tǒng)USB驅(qū)動(dòng)程序設(shè)計(jì)軟件有DDK,DriverStudioS和WINDRIVER等,。本文采用了開(kāi)發(fā)相對(duì)靈活的DriverStudioS,,該軟件配合DDKXP可以生成驅(qū)動(dòng)程序框架。通過(guò)添加和修改生成的驅(qū)動(dòng)程序框架即可完成該系統(tǒng)驅(qū)動(dòng)程序開(kāi)發(fā),。由固件程序可知,,電化學(xué)沉積儀器需要三個(gè)USB端口,即:控制端口0,、IN端口1以及OUT端口2,。利用Driver-StudioS的開(kāi)發(fā)包DriverWorks生成的驅(qū)動(dòng)程序并加以修改實(shí)現(xiàn)了對(duì)兩個(gè)端口的讀寫(xiě)操作。在這里定義IN端口和OUT端口的類(lèi)型均為BULK類(lèi)型,。通過(guò)修改,、安裝INF文件,最終完成驅(qū)動(dòng)程序的開(kāi)發(fā),。
2.3 終端應(yīng)用程序
終端應(yīng)用程序流程圖見(jiàn)圖5,。該應(yīng)用程序采用VC 6.0編譯器進(jìn)行編程,,當(dāng)下位機(jī)上電并與計(jì)算機(jī)連接之后,應(yīng)用程序首先要判斷電化學(xué)沉積實(shí)驗(yàn)儀器是否和主機(jī)連接正常,。如果出現(xiàn)異常就要求系統(tǒng)重新連接,,直到檢測(cè)到設(shè)備能正常通信為止。該應(yīng)用程序的界面操作不受后臺(tái)數(shù)據(jù)處理的影響,,具體過(guò)程為,;首先查找USB設(shè)備(電化學(xué)沉積儀器的設(shè)備句柄),獲得設(shè)備句柄,,封裝對(duì)USB設(shè)備操作的動(dòng)態(tài)鏈接庫(kù),,最后對(duì)采集的數(shù)據(jù)進(jìn)行處理和顯示。應(yīng)用程序和下位機(jī)之間的通信通過(guò)命令解析協(xié)議進(jìn)行,。應(yīng)用程序可以設(shè)定試驗(yàn)類(lèi)型,,并對(duì)試驗(yàn)進(jìn)行控制。這些操作實(shí)際上是向緩沖區(qū)讀寫(xiě)數(shù)據(jù)的過(guò)程,。根據(jù)通信協(xié)議,該過(guò)程中每一種命令都有其對(duì)應(yīng)的轉(zhuǎn)義字符,。
系統(tǒng)需要采集實(shí)時(shí)數(shù)據(jù)并實(shí)時(shí)顯示,,因此系統(tǒng)需使用WM TIMER消息來(lái)觸發(fā)設(shè)置定時(shí)器事件,以實(shí)現(xiàn)USB采集系統(tǒng)1 s采集100組電壓,、電流信號(hào)的數(shù)據(jù),。在利用這些數(shù)據(jù)進(jìn)行實(shí)時(shí)繪圖顯示時(shí),由于系統(tǒng)不斷更新屏幕,,會(huì)出現(xiàn)視圖閃爍的情況,。為了解決屏幕閃爍問(wèn)題,現(xiàn)在最常用的方法就是采用雙緩存的繪圖方法,。具體做法如下:在OnDraw()函數(shù)中,,在圖形繪制以前使用函數(shù)CreateCompatibleDC()和CreateCompatible-Bitmap()創(chuàng)建內(nèi)存設(shè)備上下文以及系統(tǒng)將要繪制到的位圖對(duì)象,然后執(zhí)行所有的繪圖操作,,最后使用Bitmap()將整個(gè)內(nèi)存位圖移到可視窗口上,。這樣就完全消除了屏幕抖動(dòng)的現(xiàn)象,可以看到曲線平穩(wěn)的移動(dòng),。
3 實(shí)驗(yàn)結(jié)果
軟,、硬件及系統(tǒng)綜合調(diào)試之后,進(jìn)行試驗(yàn)測(cè)試,。配置不同濃度的溶液進(jìn)行實(shí)驗(yàn),,用ITO玻璃作為工作電極(陰極),甘汞電極作為參比電極,,鉑片作為對(duì)電極,。先進(jìn)行試驗(yàn)參數(shù)設(shè)置(包括:實(shí)驗(yàn)類(lèi)型,、工作電壓電流值、工作頻率及試驗(yàn)時(shí)間等),。點(diǎn)擊完成設(shè)置,,開(kāi)始試驗(yàn),即得到試驗(yàn)動(dòng)態(tài)曲線,。
圖6是恒電位條件下的I-t實(shí)時(shí)曲線的圖形界面,。同樣可以得到恒流和脈沖電位實(shí)驗(yàn)的V-t,I-t曲線圖形,。由于試驗(yàn)的需要,,試驗(yàn)人員往往需要保存每次的實(shí)驗(yàn)結(jié)果和圖形,以便對(duì)數(shù)據(jù)進(jìn)行分析整理,。因此,,該應(yīng)用程序添加了圖形保存功能。只要在需要保存的圖形上點(diǎn)擊鼠標(biāo)左鍵,,即可把試驗(yàn)圖形保存成BMP格式的圖片,,并帶有試驗(yàn)的詳細(xì)信息。
4 結(jié) 語(yǔ)
在實(shí)時(shí)的電化學(xué)沉積試驗(yàn)監(jiān)測(cè)中,,該接口具有速度快,、性能高、占CPU資源少的特點(diǎn),。USB 2.0協(xié)議的理論傳輸速度為480 Mb/s,,實(shí)際傳輸速度往往要低于理論傳輸速度,但完全能滿(mǎn)足實(shí)驗(yàn)室電化學(xué)試驗(yàn)數(shù)據(jù)通信的需要,。該接口使用方便,、成本低,屬于小型高速數(shù)據(jù)采集系統(tǒng),,它為電化學(xué)沉積實(shí)驗(yàn)系統(tǒng)在線的精確監(jiān)測(cè)診斷提供了數(shù)據(jù)支持,。