新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于雙模式USB接口的便攜式比色計設計

基于雙模式USB接口的便攜式比色計設計

作者: 時間:2016-11-15 來源:網(wǎng)絡 收藏

  引言:

本文引用地址:http://www.2s4d.com/article/201611/340221.htm

  目前市場上的光電比色計一般都是通過 串口與計算機通信,隨著計算機技術的發(fā)展,這種接口實現(xiàn)已經(jīng)無法滿足 PC與外部設備之間不斷提高的速度以及穩(wěn)定性、易用性等要求,給用戶使用帶來了諸多不便。接口技術憑借其易用、穩(wěn)定、可擴展等優(yōu)點,越來越廣泛應用于 PC機外設和便攜式系統(tǒng)中,為滿足客戶要求,本文設計了一種基于 接口的比色計儀器。該儀器可以實現(xiàn) 主機和從機兩種功能,做主機時,能實現(xiàn)數(shù)據(jù)的快速采集及 U盤存儲;做從機時,能實現(xiàn)與計算機相連。

  1.CH375簡介

  CH375是一種 USB總線的通用接口芯片,支持 USB-HOST主機方式和 USB-DEVICE/SLAVE設備方式,兼容USB2.0,支持 USB的控制傳輸、批量傳輸、中斷傳輸,能自動檢測 USB設備的連接與斷開,能提供設備連接和斷開的事件通知。在本地端,CH375具有 8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到 DSP/MCU/MPU等控制器系統(tǒng)總線上。USB主機方式支持常用的 USB全速設備,外部單片機可以通過 CH375按照相應的協(xié)議與 USB設備通訊。CH375支持 5V和 3.3V電源電壓和低功耗模式。

  2.雙模式USB接口硬件電路設計

  2.1 USB主從動態(tài)切換電路的設計

  為了實現(xiàn)設備應用的靈活性,本文設計的比色計儀器采用 USB總線供電和外接電池供電兩種方式。在默認方式下,儀器采用外接電池供電,作為 USB主機使用,通過讀寫U盤,實現(xiàn)數(shù)據(jù)傳輸。在 USB總線供電方式下,儀器作為USB設備使用,直接與計算機連接。兩種模式的動態(tài)切換電路如圖 1所示。

    

 

  P1為從機 USB接口,P2為主機模式下讀寫 U盤接口。默認狀態(tài)下,儀器采用外接電池電源供電,SLAVE為低電平,為主機模式;P1口接計算機時,儀器采用 USB總線供電,SLAVE為高電平,單片機通過查詢控制使比色計儀器進入設備模式。

  2.2 單片機控制CH375電路設計

  本系統(tǒng)使用 C8051F020單片機作為處理器。C8051F020是Cygnal 公司推出的一種 SOC型 8位單片機,片內(nèi)有 64KB FLASH存儲器和4KB RAM,完全符合作為主機時讀寫 U盤的要求。C8051F020單片機控制 CH375的電路如圖 2所示。

    

 

  1. 系統(tǒng)軟件設計

  2. 1主機模式默認狀態(tài)下,儀器工作在主機模式,通過讀寫 U盤,存儲采集到的數(shù)據(jù)。 在單片機下開發(fā) U盤的讀寫系統(tǒng),單片機端程序要涉及較多的協(xié)議,必須能實現(xiàn) USB的控制傳輸、批量傳輸、SCSI/UFI/RBC命令傳輸及 FAT文件系統(tǒng)等功能。CH375內(nèi)置了 USB通信協(xié)議的固件程序,包含了 USB Mass Storage類協(xié)議,所以實際的單片機程序只需要處理 FAT文件系統(tǒng)層,并且這一層也可以由 CH375的 U盤文件級子程序庫實現(xiàn),因此簡化了程序的開發(fā)流程。

  CH375的 U盤文件級子程序庫提供了 USB存儲設備的文件級接口,這些應用層接口 API包含了常用的文件級操作,可以移植并嵌入到各種常用的單片機程序中,編寫程序時可以直接調(diào)用這些 API函數(shù)讀寫 U盤。單片機讀寫 U盤的程序流程如圖 3所示。

    

 

  單片機端程序用到的主要操作函數(shù)包括:

  (1)初始化 CH375芯片:CH375Init;

  (2)查詢 U盤是否準備好:CH375DiskReady;

  (3)打開文件:CH375FileOpen;

  (4)關閉文件:CH375FileClose;

  (5)新建文件:CH375FileCreate;

  (6)以字節(jié)為單位從文件讀數(shù)據(jù):CH375ByteRead;

  (7)以字節(jié)為單位向文件寫數(shù)據(jù):CH375ByteWrite;

  (8)以字節(jié)為單位移動文件指針:CH375ByteLocate。

  3.2 從機模式

  當圖 1中的P1口連接到PC機USB接口時,在 C8051F020單片機控制下,儀器切換到從機模式,設備可以與 PC機通訊,進行數(shù)據(jù)交換。

  3.2.1 本地端的單片機軟件

  CH375專門用于處理 USB通訊,當 CH375接收上位機發(fā)送的數(shù)據(jù)或發(fā)送完給上位機的數(shù)據(jù)后,以中斷方式通知單片機。本地端單片機程序主要完成 CH375的初始化和數(shù)據(jù)的接收與發(fā)送,單片機控制 CH375對數(shù)據(jù)的處理過程如下:

  1.單片機通過CH375芯片接收數(shù)據(jù)的處理步驟:

  (1) 當 CH375接收到 USB主機發(fā)來的數(shù)據(jù)后,首先鎖定當前 USB緩沖區(qū),防止被后續(xù)數(shù)據(jù)覆蓋,然后將中斷引腳設置為低電平,向單片機請求中斷;

  (2) 單片機進入中斷服務程序,執(zhí)行GET_STATUS命令獲取中斷狀態(tài);

  (3) 在 GET_STATUS命令后將中斷引腳恢復為高電平,取消中斷;

  (4) 判斷中斷狀態(tài),為“下傳成功”,單片機執(zhí)行 RD_USB_DATA命令從 CH375讀取接收到的數(shù)據(jù);

  (5) RD_USB_DATA命令完成后,釋放緩沖區(qū),繼續(xù) USB通訊;

  (6) 退出中斷服務程序。

  2.單片機通過CH375芯片發(fā)送數(shù)據(jù)的處理步驟:

  (1)單片機執(zhí)行 WR_USB_DATA命令向 CH375寫入要發(fā)送的數(shù)據(jù);

  (2)CH375被動地等待 USB主機在需要時取走數(shù)據(jù);

  (3)當 USB主機取走數(shù)據(jù)后,CH375首先鎖定當前 USB緩沖區(qū),防止重復發(fā)送數(shù)據(jù),然后將中斷引腳置低,向單片機請求中斷;

  (4)單片機進入中斷服務程序,獲取中斷狀態(tài),然后將中斷引腳恢復高電平,取消中斷;

  (5)判斷中斷狀態(tài),為“上傳成功”,單片機執(zhí)行 WR_USB_DATA命令向 CH375寫入另一組要發(fā)送的數(shù)據(jù),若沒有不執(zhí)行。

  (6)單片機執(zhí)行 UNLOCK_USB命令,完成后釋放緩沖區(qū),繼續(xù) USB通訊;

  (7)退出中斷服務程序。 單片機主要在中斷中完成數(shù)據(jù)收發(fā)與處理,中斷服務程序流程圖如圖 4所示。

    

 

  3.2.2 計算機端的軟件接口

  CH375在計算機端提供了應用層接口,該接口是 CH375動態(tài)鏈接庫 DLL面向功能應用的API,包括:設備管理API、數(shù)據(jù)傳輸API、中斷處理 API。 設計中采用 VC++6.0作為 PC端應用軟件的開發(fā)平臺。首先在計算機上安裝 CH375器件的驅(qū)動程序,然后將動態(tài)鏈接庫 DLL拷貝到計算機中,最后將 DLL的訪問入口添加到 VC項目中,這樣就可以實現(xiàn)對 USB設備的應用程序編程。

  4.結(jié)束語

  本文將雙模式 USB數(shù)據(jù)傳輸方式應用于便攜式比色計儀器中,充分體現(xiàn)了便攜、靈活和可靠的優(yōu)點。該設備既可以直接與 PC機進行數(shù)據(jù)通訊,工作于有計算機的實驗室測試環(huán)境,也可以通過 U盤作為數(shù)據(jù)傳輸中介,使設備工作于在線檢測。本方案有效解決了傳統(tǒng)比色計儀器的局限,可以滿足不同測試環(huán)境的要求,并且數(shù)據(jù)存儲方便快速,具有廣闊的應用前景。



關鍵詞: USB RS232

評論


相關推薦

技術專區(qū)

關閉