基于雙模式USB接口的便攜式比色計設(shè)計
2.單片機(jī)通過CH375芯片發(fā)送數(shù)據(jù)的處理步驟:
(1)單片機(jī)執(zhí)行 WR_USB_DATA命令向 CH375寫入要發(fā)送的數(shù)據(jù);
(2)CH375被動地等待 USB主機(jī)在需要時取走數(shù)據(jù);
(3)當(dāng) USB主機(jī)取走數(shù)據(jù)后,CH375首先鎖定當(dāng)前 USB緩沖區(qū),防止重復(fù)發(fā)送數(shù)據(jù),然后將中斷引腳置低,向單片機(jī)請求中斷; (4)單片機(jī)進(jìn)入中斷服務(wù)程序,獲取中斷狀態(tài),然后將中斷引腳恢復(fù)高電平,取消中斷;
(5)判斷中斷狀態(tài),為“上傳成功”,單片機(jī)執(zhí)行 WR_USB_DATA命令向 CH375寫入另一組要發(fā)送的數(shù)據(jù),若沒有不執(zhí)行。
?。?)單片機(jī)執(zhí)行 UNLOCK_USB命令,完成后釋放緩沖區(qū),繼續(xù) USB通訊;
?。?)退出中斷服務(wù)程序。 單片機(jī)主要在中斷中完成數(shù)據(jù)收發(fā)與處理,中斷服務(wù)程序流程圖如圖 4所示。
3.2.2 計算機(jī)端的軟件接口 CH375在計算機(jī)端提供了應(yīng)用層接口,該接口是 CH375動態(tài)鏈接庫 DLL面向功能應(yīng)用的API,包括:設(shè)備管理API、數(shù)據(jù)傳輸API、中斷處理 API。 設(shè)計中采用 VC++6.0作為 PC端應(yīng)用軟件的開發(fā)平臺。首先在計算機(jī)上安裝 CH375器件的驅(qū)動程序,然后將動態(tài)鏈接庫 DLL拷貝到計算機(jī)中,最后將 DLL的訪問入口添加到 VC項(xiàng)目中,這樣就可以實(shí)現(xiàn)對 USB設(shè)備的應(yīng)用程序編程。
4.結(jié)束語
本文將雙模式 USB數(shù)據(jù)傳輸方式應(yīng)用于便攜式比色計儀器中,充分體現(xiàn)了便攜、靈活和可靠的優(yōu)點(diǎn)。該設(shè)備既可以直接與 PC機(jī)進(jìn)行數(shù)據(jù)通訊,工作于有計算機(jī)的實(shí)驗(yàn)室測試環(huán)境,也可以通過 U盤作為數(shù)據(jù)傳輸中介,使設(shè)備工作于在線檢測。本方案有效解決了傳統(tǒng)比色計儀器的局限,可以滿足不同測試環(huán)境的要求,并且數(shù)據(jù)存儲方便快速,具有廣闊的應(yīng)用前景。
評論