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

引言:

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

1.CH375簡(jiǎn)介

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

2.雙模式USB接口硬件電路設(shè)計(jì)

2.1 USB主從動(dòng)態(tài)切換電路的設(shè)計(jì)

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

 

P1為從機(jī) USB接口,P2為主機(jī)模式下讀寫(xiě) U盤(pán)接口。默認(rèn)狀態(tài)下,儀器采用外接電池電源供電,SLAVE為低電平,為主機(jī)模式;P1口接計(jì)算機(jī)時(shí),儀器采用 USB總線供電,SLAVE為高電平,單片機(jī)通過(guò)查詢(xún)控制使比色計(jì)儀器進(jìn)入設(shè)備模式。

2.2 單片機(jī)控制CH375電路設(shè)計(jì)

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

 

1. 系統(tǒng)軟件設(shè)計(jì)

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

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

 

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

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

(2)查詢(xún) U盤(pán)是否準(zhǔn)備好:CH375DiskReady;

(3)打開(kāi)文件:CH375FileOpen;

(4)關(guān)閉文件:CH375FileClose;

(5)新建文件:CH375FileCreate;

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

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

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

3.2 從機(jī)模式

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

3.2.1 本地端的單片機(jī)軟件

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

3.2.2 計(jì)算機(jī)端的軟件接口

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

4.結(jié)束語(yǔ)

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉