基于USB串口多點溫度采集系統(tǒng)的設(shè)計
在科研實驗、大棚蔬菜種植、各種動物養(yǎng)殖及衛(wèi)生醫(yī)療等場合經(jīng)常要用到多點溫度采集系統(tǒng)。利用PC機將采集到的多點溫度進行分析處理是非常方便的,目前PC機的數(shù)據(jù)接口最方便的就是通用串行總線USB。USB總線具有連接方便,無需外接電源,即插即用,支持熱插拔,動態(tài)加載驅(qū)動程序等特有優(yōu)點,在主機和數(shù)據(jù)采集系統(tǒng)之間可以實現(xiàn)簡單、快捷、可靠的連接和通訊。在測試設(shè)備與計算機之間建立有效、靈活、低功耗、可靠的通訊方式。實現(xiàn)測試儀器高速、便捷、網(wǎng)絡(luò)化是當今儀器發(fā)展的一個重要方向。所以,基于USB總線的多點溫度采集系統(tǒng)是一種非常實用的溫度采集方式。
2 USB串口溫度采集系統(tǒng)
一個實用的USB溫度采集系統(tǒng)包括溫度數(shù)據(jù)采集器、微控制器以及USB通信接口。為了擴展其用途,還可以加上多路模擬開關(guān)和數(shù)字I/0端口。設(shè)計選用南京信恒公司生產(chǎn)的USB通信接口器件CH372。由于該器件功能強,體積小,價格低,應用方便,在一定層次上簡化了溫度采集系統(tǒng)的工作量,并降低了成本。其主要設(shè)計原理是:將不斷變化的多個外界溫度模擬量通過數(shù)字溫度傳感器陣列DSl8820轉(zhuǎn)換而變成單片機能夠處理的數(shù)字量,AT89S52對轉(zhuǎn)換后的數(shù)據(jù)做相應的處理。由USB接口電纜與PC主機組成數(shù)據(jù)處理平臺,用來將實時采集到的溫度數(shù)據(jù)高速回送到計算機之中,形成原始數(shù)據(jù)文件,為后續(xù)數(shù)據(jù)處理做準備。圖1為該溫度采集系統(tǒng)原理框圖。
3 溫度采集系統(tǒng)方案實現(xiàn)
USB溫度采集系統(tǒng)從功能上劃分為溫度采集模塊,USB接口模塊和PC主機客戶應用程序模塊3部分。
(1)USB接口模塊采用集成度高、功能較強USB專用接口器件CH372,簡化程序設(shè)計工作量,使得整個溫度采集系統(tǒng)結(jié)構(gòu)簡單,可靠性高。
(2)溫度采集模塊 由數(shù)字溫度傳感器DSl8820陣列和微控制器組成。DSl8820能直接讀出被測溫度并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式。
(3)PC主機客戶應用程序模塊 用戶應用程序負責接收和存儲USB設(shè)備采集來的溫度數(shù)據(jù)。通過顯示器把采集出的溫度數(shù)據(jù)顯示出來,并根據(jù)需要進行后續(xù)處理。
4 系統(tǒng)硬件電路設(shè)計
多點溫度采集系統(tǒng)設(shè)計一方面是探索自主開發(fā)技術(shù),更重要的是使所研究的溫度采集器具有更好的靈活性,以滿足不同的應用需求。系統(tǒng)硬件設(shè)計的關(guān)鍵是溫度采集信號電路與單片機接口電路的設(shè)計。
4.1 USB接口芯片與上位機的接口電路
在設(shè)計中采用USB接口器件CH372,它有兩種型號:CH372A為5 V電源電壓,CH372V為3.3 V電源電壓。CH372是一個USB總線的通用設(shè)備接口器件。在本地端,CH372具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機的系統(tǒng)總線上;在計算機系統(tǒng)中,CH372的配套軟件提供了簡潔易用的操作接口,與本地端的單片機通訊就如同讀寫文件。CH372內(nèi)置了USB通訊中的底層協(xié)議.具有省事的內(nèi)置固件模式和靈活的外置固件模式。在內(nèi)置同件模式下,CH372自動處理默認端點O的所有事務,本地端單片機只要負責數(shù)據(jù)交換,所以單片機程序非常簡潔。在外置同件模式下,由外部單片機根據(jù)需要自行處理各種USB請求,從而可以實現(xiàn)符合各種USB類規(guī)范的設(shè)備。圖2為CH372連接原理圖。
CH372控制器的主要特點如下:
①支持全速設(shè)備接口,兼容USB2.0規(guī)范,即插即用,外同元器件只需要晶體和電容。
②提供一對主端點和一對輔助端點,支持控制傳輸、批量傳輸、中斷傳輸。
③具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出.可以方便的掛接到單片機等控制器的系統(tǒng)總線上。
④內(nèi)置了USB通訊中的底層協(xié)議,具有省事的內(nèi)置固件模式和靈活的外置固件模式。在內(nèi)置固件模式下,CH372自動處理默認端點0的所有事務,自動完成標準的USB枚舉配置過程,本地端單片機只要負責數(shù)據(jù)交換,所以單片機程序非常簡潔。
USB器件與上位機接口電路原理圖如圖3所示,P1是USB總線接口,USB總線包括一對5 V電源線和一對數(shù)據(jù)信號線。USB總線提供的電源電流最大可以達到500 mA。選電阻R,用于在電源斷電后將電解電容C5中的電能及時釋放掉,使VCC及時下降到0 V,確保在下次通電時CH372能夠可靠的上電復位。電容C3用于CH372內(nèi)部電源節(jié)點退耦,C3是容量為0.01μ F的高頻瓷片電容。電容C4用于外部電源退耦,C4是容量為O.1μF的獨石或高頻瓷片電容。晶體Xl、電容C2和C1用于CH372的時鐘振蕩電路。
4.2 USB接口器件與單片機接口電路
CH372具有通用的被動并行接口,可以直接連接AT89S52。在設(shè)計應用電路中,CH372可以通過8位被動并行接口的D7~DO、RD、WR、CS、A0直接掛接到單片機U2的系統(tǒng)總線上.如圖3所示。
4.3 USB串口溫度采集系統(tǒng)總體原理
在設(shè)計中,采用數(shù)字溫度傳感器DSl8820實現(xiàn)溫度采集。DSl8820是DALLAS公司生產(chǎn)的基于串行接口的一線式數(shù)字溫度傳感器,它是將半導體溫敏器件、A/D轉(zhuǎn)換器、存儲器等做在一個很小的集成電路芯片上,傳感器直接輸出的就是溫度信號數(shù)字值。DSl8820具有如下特性:
①采用單總線技術(shù),與單片機通信只需要一根I/0線,在一根線上可掛接多個DSl8820。
②低壓供電,電源范圍3~5V,可以本地供電,也可以直接從數(shù)據(jù)線上竊取電源(寄生式供電)。
③每只DSl8820具有一個獨立的、不可修改的64位序列號,根據(jù)序列號可以訪問對應的器件。
④測溫范圍為一55℃~+125℃,在一10℃~85℃范圍內(nèi)誤差為±0.5℃。
⑤可編程數(shù)據(jù)為9~12位,其轉(zhuǎn)換12位的溫度時間為750 ms(最大)。
⑥D(zhuǎn)Sl8820可將檢測到的溫度值直接轉(zhuǎn)化成數(shù)字量,并通過串行通信的方式與主控制器進行數(shù)據(jù)通信。
由數(shù)字溫度傳感器DSl8820的特性可知,在它采集模擬溫度信號并與單片機進行通信時,只需要一根I/0線與單片機AT89S52的P口連接,而在一根線上可以掛接多個數(shù)字溫度傳感器DSl8820,可以測出不同地點的溫度數(shù)據(jù),從而實現(xiàn)了溫度的多點采集。USB串口多點溫度采集系統(tǒng)其中的一路原理圖見圖3所示。
5 系統(tǒng)軟件設(shè)計
USB溫度采集系統(tǒng)的軟件部分包括3個方面:單片機中的固件程序,設(shè)備驅(qū)動程序,和主機上的應用程序。整個軟件系統(tǒng)的組成如圖4所示。
5.1 固件程序
在外置固件模式下,由外部單片機根據(jù)需要自行處理各種USB請求,從而可以實現(xiàn)符合各種USB類規(guī)范的設(shè)備。CH372初始化程序流程圖如圖5所示。
5.2 設(shè)備驅(qū)動程序
USB驅(qū)動程序可以采用WDM(Windows Driver Mode)模式設(shè)計。WDM驅(qū)動程序采用靈活的分層驅(qū)動方法,在用戶和物理設(shè)備之間存在著幾個不同的驅(qū)動程序?qū)哟危腋鲗由系腤DM驅(qū)動程序具有不同優(yōu)先級。利用WDM設(shè)計的驅(qū)動程序可根據(jù)用戶的需要調(diào)整,靈活性好,但需要了解操作系統(tǒng)原理及相關(guān)硬件工作細節(jié),而且工作量較大。設(shè)計采用南京信恒公司的通用驅(qū)動程序,直接下載后安裝即可。
5.3 應用程序
應用程序的設(shè)計可根據(jù)用戶的需求進行適當調(diào)整,溫度采集系統(tǒng)提供了一個通用的上位機應用程序,將采集來的溫度值直接顯示到電腦屏幕上。應用層接口是由CH372動態(tài)鏈接庫DLL提供的面向功能應用的API,所有API在調(diào)用后都有操作狀態(tài)返回,但不一定有應答數(shù)據(jù)。CH372動態(tài)鏈接庫提供的API包括:設(shè)備管理API、數(shù)據(jù)傳輸API和中斷處理API。CH372與計算機連接的上位機總體程序流程圖如圖6所示。
5.4 DSl8820溫度采集子程序
系統(tǒng)程序設(shè)計的關(guān)鍵在于數(shù)字傳感器DSl8820與單片機之間的“單總線”傳輸軟件的編寫和單片機與PC機之間USB串行通信軟件的編寫。從機使用C語言編程,完成單片機對DSl8820的溫度采集和單片機與USB接口通信。單片機對DS18820的溫度采集流程圖如圖7所示。
6 結(jié)語
設(shè)計的基于USB串口的多點溫度采集系統(tǒng)。硬件電路十分簡單,而且安裝方便,即插即用,有很好的可靠性和穩(wěn)定性,可廣泛應用于生產(chǎn)車間、糧倉、各種大棚、大型商場及賓館等場所的多點溫度檢測與控制。創(chuàng)新點:使用數(shù)字溫度傳感器DSl8820簡化了測溫器件與單片機的接口電路,從而使硬件電路體積小、連接方便,具有速度快、可靠性高、性價比好、應用性強等特點。