基于LM74的Profibus溫度采集從站
采用新型的數字化的溫度傳感器的全數字化現場總線溫度監測系統, 在精度、穩定性、可靠性、抗干擾能力方面都高于模擬系統, 系統配置簡單、維護容易、成本低,在技術上較傳統的分布溫度測量有明顯優勢。本文介紹了美國國家半導體公司的LM系列數字式溫度傳感器LM74的原理、性能和接口技術, 及基于LM74的帶現場總線接口的溫度采集從站模塊。系統運行過程中模塊采集到的溫度信號可以傳送到主站,通過上位機工控軟件iFix實現監控、顯示和記錄。
數字溫度傳感器LM74
LM74是一集成了帶隙式溫度傳感器、Delta-Sigma型模/數轉換器、并具有SPI/Microwire兼容總線接口的數字溫度傳感器。其原理如圖1所示。在傳感器通電工作后,自動按一定速率對溫度進行檢測, 并在片內寄存器中存儲轉換的溫度值,主機可以在任意時刻讀出傳感器溫度值。LM74具有休眠模式, 在休眠時消耗的電流不超過10mA, 適用于對功耗有嚴格限制的系統。LM74的模/數轉換器為12位外加符號位,有效工作范圍為-55℃~+155℃,分辨率可達0.0625℃的分辨率。由于采用了SPI/ Microwire兼容總線接口, 可以將多個傳感器掛接在總線上, 通過片選信號對特定器件進行讀寫操作。LM74采用3.0V~5.5V的供電電壓。
LM74采用SO-8封裝以節省空間。其中SI/O用于主站輸入/輸出,串行總線雙向數據線,或施密特時鐘觸發輸入;SC用于總線時鐘/串行總線施密特時鐘觸發輸入;NC無信號連接;/CS為片選輸入信號;V是電壓輸入端;GND為地信號。LM74的內部寄存器結構有3個寄存器,分別為溫度寄存器、組態寄存器和制造商認證寄存器。其中溫度寄存器和制造商認證寄存器只讀,組態寄存器只寫。LM74通過配置組態寄存器可選擇休眠模式或連續工作模式。
LM74的工作方式是:在SC引腳的串行時鐘下降沿輸出數據,上升沿輸入數據。一個完整的發送/接收過程包含32個串行時鐘,在前16個時鐘周期發送,后16個時鐘周期接收。數據通信由/CS的低電平觸發,主機在SC的上升沿讀出數據。在14位數據發送完后SI/O腳轉為TRI狀態。在數據發送狀態/CS可被置高電平,如果/CS在轉換過程中變低,則LM74將中止轉換。輸出移位寄存器將在/CS重新變高時更新。數據接收始于第16個串行周期后。/CS信號必須在32個串行周期保持為低。LM74將在SC的上升沿從SI/O引腳讀取數據。在/CS置高前,串行數據的所有16位將被發送到LM74。如果/CS在LM74接收數據的時候置高,在組態寄存器中的數據將被損壞。在32個串行周期后,/CS可被置高來完成通信。
設計簡介
在構成大規模溫度檢測系統時, 由于測點多、分布廣、干擾嚴重,除需要保證傳感器的性能和抗干擾能力外,還需要選用合適的現場總線技術, 并在此基礎上優化系統的拓撲結構, 簡化系統布線, 使之達到良好的性能。現場總線技術將專用的微處理器置入傳統的測量控制儀表,使它們各自都具有了數字計算和數字通信的能力,采用可進行簡單連接的雙絞線等作為總線,把多個測量控制儀表連接成網絡系統,并按公開、規范的通信協議,在位于現場的多個微機化的測量控制設備之間,以及現場儀表與遠程監控計算機之間,實現數據傳輸與信息交換,形成各種適應實際需要的自動控制系統。
用西門子公司提供的SPC3開發出與傳感器相連的Profbus-DP從站溫度采集模塊,通過Profibus總線連接分布在工廠各個測點的數字式溫度傳感器LM74, 完成動態溫度數據采集和傳輸。由于采用現場總線通信技術, 使系統具有良好的適應性, 配置靈活, 擴充和管理都很方便。且全數字溫度測量系統的精度、穩定性、可靠性、抗干擾能力以及系統維護性能等都大大高于模擬系統。溫度采集從站模塊主要由協議芯片SPC3、LM74、80C32微處理器、EPROM、32KB數據存儲器RAM、用于與Profibus總線相連的RS485接口、譯碼器電路和一個復位組成。溫度顯示模塊由時鐘芯片、鎖存器、EPROM和液晶顯示屏等組成。溫度采集和顯示從站模塊結構框圖如圖2所示。
LM74與處理器之間的接口如圖3所示。
與處理器通信和讀取溫度數據的接口程序如下:
uchar i2c_rd1(void)
{ uchar i = 8, d;
i2c_sda1 = 1; //SI/O置高電平
while ( i--)循環
{ d = d << 1;
Delay_5us(); //延時
i2c_sck1 =1; //SC置高電平
if ( i2c_sda1 ) d++; //d 末尾置1
Delay_5us();
i2c_sck1 =0; }// SC置低電平
return d;}
uint LM74_R1(void)
{ uint x,y,Temp;
i2c_eep1 =0; // /CS置低電平
Delay_ms(1); // 等待SI/O電平穩定
x=i2c_rd1(); // 高位數據
y=i2c_rd1(); // 低位數據
Temp = (x<<8)|y;
i2c_eep1 =1; // /CS置高電平
return(Temp);}
系統運行過程中模塊采集到的溫度信號可以在溫度顯示模塊上顯示,并可傳送到主站,通過上位機工控軟件iFix實現監控、顯示和記錄。對測得到溫度值進行實時監控過程中,當溫度值超過設定范圍時,可以發出控制信號到執行機構,產生報警信號,并根據現場實際情況采取相應的措施,產生報警信號。在iFix中的控制界面如圖4所示。上述系統的運行穩定可靠,可達到設計目標。系統擴展方便,還可以掛接其他現場設備,集溫度、壓力、流量于一身進行檢測、運算和控制。■
評論