基于USB接口的電化學(xué)沉積儀器數(shù)據(jù)采集系統(tǒng)的研究
①設(shè)備枚舉,這個(gè)固件主要完成對(duì)USB標(biāo)準(zhǔn)請(qǐng)求的響應(yīng)。系統(tǒng)通過發(fā)送USB標(biāo)準(zhǔn)請(qǐng)求來獲得USB設(shè)備的配置和設(shè)備信息,并按照這些信息對(duì)USB進(jìn)行資源分配。
②數(shù)據(jù)采集。
③響應(yīng)設(shè)備請(qǐng)求,即響應(yīng)設(shè)備的讀寫請(qǐng)求,USB主機(jī)通過IN端口向USB采集系統(tǒng)發(fā)送控制數(shù)據(jù)采集的指令,通過OUT端口接收USB設(shè)備發(fā)送的數(shù)據(jù)。
對(duì)于USB采集系統(tǒng),通過IN端口接收USB主機(jī)發(fā)給控制器的命令,這些命令信息包含采樣信號(hào)類型、采樣啟動(dòng)/停止標(biāo)志位等。其中采樣信號(hào)類型用第一個(gè)字節(jié)表示,采樣啟動(dòng)/停止標(biāo)志用第二個(gè)字節(jié)表示。IN端口也是USB的任務(wù)處理端口,接收命令碼通過對(duì)IN端口的事件處理程序?qū)崿F(xiàn)。當(dāng)IN端口接收到數(shù)據(jù)后,控制器讀出接到的數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行解碼和處理。
USB主機(jī)通過OUT端口接收AT90USB1287發(fā)送給USB主機(jī)的數(shù)據(jù),這些數(shù)據(jù)采用中斷的方法通過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等。本文采用了開發(fā)相對(duì)靈活的DriverStudioS,該軟件配合DDKXP可以生成驅(qū)動(dòng)程序框架。通過添加和修改生成的驅(qū)動(dòng)程序框架即可完成該系統(tǒng)驅(qū)動(dòng)程序開發(fā)。由固件程序可知,電化學(xué)沉積儀器需要三個(gè)USB端口,即:控制端口0、IN端口1以及OUT端口2。利用Driver-StudioS的開發(fā)包DriverWorks生成的驅(qū)動(dòng)程序并加以修改實(shí)現(xiàn)了對(duì)兩個(gè)端口的讀寫操作。在這里定義IN端口和OUT端口的類型均為BULK類型。通過修改、安裝INF文件,最終完成驅(qū)動(dòng)程序的開發(fā)。
2.3 終端應(yīng)用程序
終端應(yīng)用程序流程圖見圖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ù)處理的影響,具體過程為;首先查找USB設(shè)備(電化學(xué)沉積儀器的設(shè)備句柄),獲得設(shè)備句柄,封裝對(duì)USB設(shè)備操作的動(dòng)態(tài)鏈接庫,最后對(duì)采集的數(shù)據(jù)進(jìn)行處理和顯示。應(yīng)用程序和下位機(jī)之間的通信通過命令解析協(xié)議進(jìn)行。應(yīng)用程序可以設(shè)定試驗(yàn)類型,并對(duì)試驗(yàn)進(jìn)行控制。這些操作實(shí)際上是向緩沖區(qū)讀寫數(shù)據(jù)的過程。根據(jù)通信協(xié)議,該過程中每一種命令都有其對(duì)應(yīng)的轉(zhuǎn)義字符。本文引用地址:http://m.butianyuan.cn/article/188868.htm
系統(tǒng)需要采集實(shí)時(shí)數(shù)據(jù)并實(shí)時(shí)顯示,因此系統(tǒng)需使用WM TIMER消息來觸發(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)視圖閃爍的情況。為了解決屏幕閃爍問題,現(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)類型、工作電壓電流值、工作頻率及試驗(yàn)時(shí)間等)。點(diǎn)擊完成設(shè)置,開始試驗(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é) 語
在實(shí)時(shí)的電化學(xué)沉積試驗(yàn)監(jiān)測(cè)中,該接口具有速度快、性能高、占CPU資源少的特點(diǎn)。USB 2.0協(xié)議的理論傳輸速度為480 Mb/s,實(shí)際傳輸速度往往要低于理論傳輸速度,但完全能滿足實(shí)驗(yàn)室電化學(xué)試驗(yàn)數(shù)據(jù)通信的需要。該接口使用方便、成本低,屬于小型高速數(shù)據(jù)采集系統(tǒng),它為電化學(xué)沉積實(shí)驗(yàn)系統(tǒng)在線的精確監(jiān)測(cè)診斷提供了數(shù)據(jù)支持。
pid控制器相關(guān)文章:pid控制器原理
電化學(xué)工作站相關(guān)文章:電化學(xué)工作站原理
評(píng)論