孫 瑜,張 悅,陳勁操
(南京理工大學能源與動力工程學院,南京 210094)
基于USB接口的多路溫度采集系統設計
孫 瑜,張 悅,陳勁操
(南京理工大學能源與動力工程學院,南京 210094)
針對現有測溫系統在測量范圍及操作性方面的局限性,設計了一種溫度采集系統。它的兩個主要技術特征為多點測量并將溫度數據通過USB接口上傳。介紹了基于ARM GPIO口的多點并行測量方案,給出了有關軟硬件設計,驗證了方案的時間優越性。提出了一種解決DS18B20“85”問題的新方法。論證研究了USB通信管理機制,設計了邏輯節點訪問程序。所設計系統可以有效完成多點溫度測量和USB通信,具有推廣應用價值。
溫度采集;多點測控;USB通信
隨著社會的進步和工業技術的發展,對溫度測量范圍以及便捷性操作方式提出了要求。根據多點溫度測量的工業要求,開發出一種能夠同時測量處理多點溫度并且實時性好、精度高且操作方便的溫度采集系統是一個有意義的課題。
本文在多點測溫技術和USB通信技術的基礎上設計溫度采集系統。溫度采集方式為基于ARM GPIO口的多路并行。數據通信方式為USB總線通信,通過微處理器內嵌USB的管理機制完成USB通信設計,討論了對USB邏輯節點的訪問完成數據交換的技術。所設計的系統可以同時完成多路溫度數據采集,并且具有測溫范圍廣、穩定性高、轉換速度快等優勢;同時,采用USB接口進行溫度數據傳輸可以有效提高系統的操作便捷性。
該系統的硬件框圖如圖1所示,系統主要由溫度采集系統、數據傳輸系統和監控系統3部分組成。溫度采集系統控制核心選用LPC2142,可完成對監測點溫度的讀取和轉換并設置相應的溫度上下限報警值。數據傳輸系統通過USB總線將測溫系統采集數據送入上位機。監控系統進行數據接收、處理、分析和顯示。測溫系統主要用于多點測溫,同時也可以使用單路溫度傳感器進行單點溫度監測,使用較為靈活。

圖1 測溫系統總體架構
2.1 傳感器的選型
目前在工程領域中使用的溫度傳感器主要有模擬傳感器和數字傳感器,相比于模擬集成溫度傳感器,數字溫度傳感器具有外接處理電路少、測量精度高、系統誤差率低及抗干擾能力強等優勢。在多種數字溫度傳感器中,由于DS18B20具有獨特的單總線接口方式,通信協議較為簡單[1],在多點測溫時具有明顯的優勢,與其他智能溫度傳感器相比更適合本系統,所以選用數字溫度傳感器DS18B20作為溫度測量的傳感器。
2.2 多路并行采集方案論證
DS18B20支持多點組網功能且具有寬電源電壓范圍,因此可以在單總線上掛接多路傳感器進行溫度測量。現有基于DS18B20的多路溫度采集系統多選用此種方式。但是在這種方式下,傳感器的溫度轉換是逐路完成的,當傳感器數量較多時轉換需要占用較多時間,而且當單總線掛接傳感器數量超過8個時,就需要解決微處理器總線驅動不足的問題[2],因此這種方式不適用于溫度測量點較多、測量時間要求高的場合。在這種情況下提出一種基于ARM GPIO的多路傳感器并行采集方案,控制核心選用LPC2142,DS18B20配置寄存器設置12位的溫度轉換位數,如圖2所示。

圖2 多路傳感器并行采集結構圖
在設計中,每一路傳感器對應LPC2142的一個GPIO口,當微處理器發出溫度轉換命令時,多路溫度傳感器同時進行溫度轉換,轉換時間和單路傳感器溫度轉換時間相同。若采用單總線掛接多路傳感器的方式,對于14路傳感器,采用單總線傳輸。由此可以看出,多路并行溫度采集的方案具有轉換時間上的顯著優勢。
開機時對傳感器的初始化設計為逐路初始化的方式。溫度采集系統逐路初始化的方式可以有效避免大電流,提高系統的穩定性。這種設計在開機時刻有一些時間損失,進入采集循環后就沒有影響了。
3.1 USB接口電路的設計
USB接口是數據采集系統的核心之一,本次設計選擇內置USB控制器的ARM系列LPC2142構造接口電路,LPC2142提供2 kB的端點RAM供USB2.0全速設備控制器訪問,USB接口電路如圖3所示。

圖3 USB接口電路
USB接口電路設計為從機工作方式:①當USB總線未連接時,LPC2142通過置P0.31引腳為高電平,使3.3 V電壓直接加至USB的信號輸入端,從而提高USB接口信號線的抗干擾能力;②接入指示:LPC2142的P0.23接至USB +5 V端,當USB總線通過接口電路與PC機連接時,P0.23為高電平,通知LPC2142“USB總線接通”;③單片機處理USB中斷并置P0.31引腳為低電平,點亮LED指示燈,表示USB已接入,可以進行數據通信。
3.2 USB通信模型
USB通信系統包括“USB主機”、“USB從機”以及“USB互連”三個部分。USB接口電路設計為從機工作模式,LPC2142的MCU為USB主機,通信過程架構在USB主機數據緩沖區和USB端點之上[3]。LPC2142USB支持32個物理端點(16個邏輯端點),端點的類型及方向是固定的,一個邏輯端點對應于兩個物理端點,部分端點配置見表1。
溫度采集系統需要配置兩個不同的邏輯端點,一個用于接收并判斷USB主機發送指令,另一個用于存儲并發送USB從機的溫度數據。考慮到同步端點類型對數據收發的及時性較高,選擇邏輯3端點作為USB從機對主機的響應端點,同時,由于邏輯2端點具有雙緩沖,可以在USB主機IN令牌到達之前存儲數據,且其數據包長度支持表示14路溫度信息。本次設計選用邏輯2端點作為USB從機向主機發送數據的端點。

表1 LPC2142USB端點配置
在ADS1.2環境下,USB從機可以通過固件程序操作端點,完成數據傳輸過程,通信模型如圖4所示。

圖4 系統通信模型
圖4中,當USB主機從USB從機接收溫度數據時,必須完成以下過程:①USB主機向USB從機發送IN令牌;②USB設備控制器將IN緩沖區中的溫度數據發送到USB主機;③主機收到IN緩沖區發來的數據后,發送ACK令牌作為應答;④USB設備控制器收到ACK令牌,向MCU發送中斷請求,置相應軟件標志位為1,告知MCU溫度數據發送成功。在USB主機安裝設備驅動程序后,即可通過軟件操作完成USB主從機的數據通信[4]。
4.1 溫度采集系統軟件設計
當以LPC2142為核心的溫度采集系統置于多點測溫環境下時,控制器嚴格按照DS18B20的溫度采集時序控制多路傳感器進行溫度測量,采集系統軟件設計流程如圖5所示。
DS18B20在上電時會產生85℃的溫度讀數,即通常所說的“85”現象。現象產生最根本的原因是時序的不匹配,一種是DS18B20與USB傳輸時序不匹配,另一種是DS18B20與單片機時序不匹配。本次軟件設計是通過空讀一遍傳感器數據忽略85℃的讀數,再次讀取溫度傳感器數據時即為正常溫度。這種方式可以用最少的軟硬件資源解決“85”問題,具有極強的實用性。

圖5 溫度采集系統軟件流程圖
4.2 通信軟件設計
溫度采集系統USB主從機間的通信設計為如下兩個步驟:(1)USB主機發送指令1,USB從機判斷是否為指令“F0F0”,如果是,應答“e0”,表示通信過程建立;(2)USB主機發送指令2,USB從機判斷是否為指令“F1F1”,如果是,應答“e1”,并通過調用LPC2142動態庫中的API函數訪問相應端點,將14路溫度數據送入USB主機。軟件設計流程圖如圖6所示。

圖6 通信軟件流程圖
試驗時,僅在14路傳感器接口中單數位置接入溫度傳感器,通過C語言編寫上位機測試軟件,運行結果如圖7所示。為保證溫度測量精度,數組中溫度存儲數據為實際溫度值的10倍,存儲順序為先低字節后高字節,對于無溫度傳感器接入的端口設計為-990℃的溫度輸入。從圖7中可以看出,測試系統可以有效完成指令判別和溫度數據測量發送功能。

圖7 溫度測量結果
本次設計的溫度采集系統綜合利用多點測量技術和USB通信技術,實現了溫度的采集、處理和通信功能,可用于-55~+125℃環境下多路溫度測量。測試結果表明,該系統實時性好,具有較高的穩定性和測量精度,并且操作簡便,克服了已有溫度測試儀器的不足,故具有廣泛的應用前景。
[1]張軍.智能溫度傳感器DS18B20及其應用[J].儀表技術,2010(4):68-70.
ZHANG Jun. Smart temperature sensor ds18b20 and its application[J]. Instrumentation Technology, 2010(4): 68-70.
[2]楊久河.基于DS18B20的多點式無線溫度測量儀的設計與實現[D].青島:中國海洋大學,2010.
[3]王榮.基于USB接口的溫度采集系統研究[D].西安:中國人民解放軍第四軍醫大學,2007.
[4]劉宇.基于USB通信協議的數據采集系統設計[D].哈爾濱:哈爾濱工程大學,2013.
(本文編輯:楊林青)
Design of Multi-Channel Temperature Acquisition System Based on USB Interface
SUN Yu,ZHANG Yue,CHEN Jin-cao
(School of Energy and Power Engineering,Nanjing University of Science and Technology, Nanjing 210094, China)
This paper proposes a temperature acquisition system in order to solve the limitations of measuring range and operation. Two main technical features are multi-point measurement and uploading temperature data by the USB interface. This paper introduces the scheme of multi-point temperature parallel measurement based on ARM GPIO. Moreover, it designs the related softwares and hardwares, and verifies the superiority in time of parallel acquisition program. Moreover, it proposes a new solution to "85′′ phenomenon of DS18B20, discusses the mechanism of USB communication management, and designs the logical nodes access program. The designed system can effectively complete the multi-point temperature measurement and USB communication, valuable in popularization and application.
temperature acquisition; parallel measurement; USB communication
10.11973/dlyny201701012
孫 瑜(1993-),女,碩士研究生,主要研究方向為電力電子與電力傳動、嵌入式方面的開發。
TP212.9
A
2095-1256(2017)01-0050-04
2016-11-23