《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種基于I2C總線驅動的鍋爐溫度測量系統設計
一種基于I2C總線驅動的鍋爐溫度測量系統設計
來源:微型機與應用2011年第19期
楊日容,林木峰,陸泉森
(中山職業技術學院,廣東 中山528400)
摘要: 提出了一種基于I2C總線驅動的鍋爐溫度測量系統,介紹了系統的結構、硬件設計和軟件開發。系統以單片機為核心,選用了I2C總線器件PCF8591實現A/D轉換,及I2C總線接口的E2PROM芯片AT24C01存儲溫度值。系統的數據交換都是基于I2C總線的通信標準,該設計方案結構簡單、易于擴展,提高了鍋爐溫度測量的精度和抗干擾能力,具有實際應用價值。
Abstract:
Key words :

摘  要: 提出了一種基于I2C總線驅動的鍋爐溫度測量系統,介紹了系統的結構、硬件設計和軟件開發。系統以單片機為核心,選用了I2C總線器件PCF8591實現A/D轉換,及I2C總線接口的E2PROM芯片AT24C01存儲溫度值。系統的數據交換都是基于I2C總線的通信標準,該設計方案結構簡單、易于擴展,提高了鍋爐溫度測量的精度和抗干擾能力,具有實際應用價值。
關鍵詞: I2C總線;單片機;鍋爐溫度

 單片機作為典型的嵌入式控制器,具有集成度高、處理功能強、運行速度快、體積小、擴展靈活等優勢,在儀器儀表、家用電器、過程控制等領域被廣泛應用。鍋爐溫度是工業過程中最常見的工藝參數之一,其測量過程的抗干擾能力和測量值的精度是影響對鍋爐溫度控制效果的重要因素。為使系統更智能化,一般選擇單片機為系統控制核心。但是,傳統的單片機測量系統中實現A/D轉換結果輸出以及各器件之間的數據傳遞大多采用并行的通信方式,這種數據交換方式占用了大量的I/O資源,系統結構也因此變得復雜。同時大量的硬件連線也會帶來很多干擾因素,降低了鍋爐溫度值的測量精度。為了解決傳統設計中存在的問題,本文提出使用Philips公司推出的I2C總線(Inter Integrated Circuit Bus)標準來設計系統,大大簡化了系統硬件結構,釋放了單片機I/O資源,也提高了系統的擴展性和抗干擾能力。
1 系統總體設計方案
 基于I2C總線的鍋爐溫度測量系統結構如圖1所示,系統主要由溫度傳感器及信號調節電路、A/D轉換器、微控制器、液晶顯示、報警電路、存儲器電路等組成。系統首先通過溫度傳感器獲得鍋爐溫度值,調節電路把傳感器的輸出信號轉換為0~5 V的電壓值,標準電壓值送入A/D轉換器轉換為數字信號,并送入單片機數據處理,單片機將接收到的鍋爐溫度值存儲到非易失性的E2PROM,液晶顯示器1602將顯示鍋爐的實時溫度,單片機還將當前鍋爐溫度與預先設定的溫度范圍進行比較。當溫度高于設定溫度最大值或小于溫度極小值時,系統將自動報警。

 鍋爐溫度測量系統是基于I2C總線標準設計的,主要通信部件之間只需要兩條總線,一條是雙向串行數據線SDA,另一條是串行時鐘線SCL。AT89S51不具備I2C總線接口,本設計使用了兩個普通I/O口來模擬I2C標準中SDA和SCL的工作,圖2是測量系統I2C總線串行通信線路圖,系統的多個I2C器件全部通過SDA和SCL連接并進行數據交換,不同器件之間通過總線競爭獲得數據交換的權利。

2 硬件電路設計
 微控制器模塊使用AT89S51單片機,主要實現數據的采集、處理和控制顯示等功能,單片機最小系統包括時鐘電路和復位電路。設計使用單片機的P1.0產生I2C總線中的SCL時鐘信號,P1.1模擬SDA數據信號線,進行數據的雙向傳遞。SCL和SDA引腳內部漏極開路,設計時要外加約5 ?贅的上拉電阻。系統的硬件電路如圖3所示。

 

 

 A/D轉換模塊采用具有I2C接口的8 bit CMOS可編程轉換器PCF8591,該芯片同時集成了A/D轉換和D/A轉換功能,這里使用其逐次比較型A/D轉換功能。與傳統的ADC0809轉換輸出需要8根并口數據線相比,PCF8591為系統節省了6根數據線。典型的I2C總線接口器件的總線地址由器件地址、引腳地址、方向位組成[1]。在鍋爐溫度測量系統中,為簡化設計把PCF8591的A0、A1、A2三個地址引腳接地。根據其硬件設計,確定PCF8591的總線地址為91H,根據系統所需功能,確定其控制寄存器的值為00H,單片機從PCF8591中讀取A/D轉換值。通道輸入的模擬電壓U和轉換結果D之間的關系為D=255U/5。在使用I2C總線的系統中,主控器發出的第一個字節信息為器件地址信息,控制寄存器信息是主控器對PCF8591訪問時發出的第二個字節信息。
 存儲器模塊采用ATMEL公司推出低功耗CMOS串行帶I2C接口的E2PROM芯片AT24C01[2],主要實現溫度值的存儲。單片機從PCF8591讀取A/D轉換結果后,把溫度值存儲到E2PROM。此時,AT24C01地址為A0H,當系統需要從E2PROM讀取溫度值時,AT24C01地址為A1H。與一般存儲器擴展相比,采用AT24C01為系統節省了6根數據線及大量的地址線,使得系統結構更簡化,測量過程的干擾因素也大大減少。
 系統工作時,AT89S51發出地址信息,PCF8591和AT24C01把自身的地址與接收到的地址信息進行比較,相同則為被訪問器件,并準備數據的發送和接收。
溫度傳感器采用恒流源輸出的AD590,不需進行冷端補償,可進行遠距離傳送,有較好的抗干擾能力。信號調節電路模塊將AD590輸出的電流信號轉換為0~5 V的電壓信號,為A/D轉換做準備。
顯示模塊使用液晶顯示屏LCD1602,可以顯示16×2個字符,1602的三個功能控制引腳RS、RW、E由單片機的P0.5、P0.6、P0.7三個I/O控制,數據接口D0~D7則由P2口的8 bit來控制。與采用LED顯示器相比,液晶顯示器的硬件連線更少,電路焊接因此變得簡單。
 聲光報警模塊由LED、蜂鳴器和電阻組成。光、聲音報警分別由單片機的P1.2和P1.3控制,為提高驅動能力,發光二極管和蜂鳴器均由NPN三極管驅動。
3 系統軟件設計實現
 本系統的軟件設計部分采用C語言編程實現,使用的軟件是KeiluVision3,從功能上看,系統軟件主要包括主程序、數據處理子程序、讀A/D轉換結果、溫度比較及報警輸出子程序、讀寫E2PROM子程序、顯示子程序等,系統主程序流程圖如圖4所示。

 系統主程序主要完成系統的初始化,及各功能模塊函數的調用、等待中斷。采樣時間選擇500 ms,使用單片機內部定時器T0實現,因此要對T0的工作方式、計時初值、中斷允許、開始計時等進行初始化,T0每50 ms中斷一次,中斷10次即開始一次溫度采樣。
數據處理子程序對采集到單片機內的鍋爐溫度值進行處理,包括四次均值濾波和標度變換部分。
I2C總線通信的編程是系統軟件設計的關鍵,AT89S51不具有I2C接口,I2C總線信號將通過兩個獨立I/O進行軟件模擬。這部分總線數據通信程序編寫思路為:先由單片機發出起始信號,接著通過SDA發出I2C器件的總線地址。與該地址相同的器件發出應答,應答正確后,再由單片機通過SDA向應答器件寫數據或從應答器件中讀取對應地址的數據,一次數據通信結束時要由單片機發出結束信號。
起始信號程序如下:
  Start( )
  { SDA=1;
     _NOP_( );
     SCL=1;  //I2C啟動總線時,SCL維持高電平
     FOR(I=0;I++;I<5)
     _NOP_( );
     SDA=0; //I2C啟動總線時,SDA產生高電平到
低電平的跳變
     FOR(I=0;I++;I<4)
     _NOP_( );
     SCL=0;//準備發送或接收數據
     _NOP_( );
  }
  結束信號程序如下:
  Stop( )
  {CLR SDA;
     _NOP_( );
     _NOP_( );
     SCL=1; //I2C總線停止時,SCL維持高電平
     FOR(I=0;I++;I<5)
     _NOP_( );
     SDA=1; //I2C總線停止時,SDA產生低電平到
高電平的跳變
     FOR(I=0;I++;I<4)
     _NOP_( );
  }
 編寫讀取PCF8591的A/D轉換結果子程序時,流程為:啟動起始信號,發器件地址,PCF8591應答,正確則接著發送控制字節,PCF8591應答,正確則傳送A/D轉換后的數字量,數據傳送完則發出結束信號。
本文提出了一種基于日趨流行的I2C總線的鍋爐溫度測量系統設計方法,經過實際測試,系統運行良好,開發周期縮短。與其他傳統設計方法相比,該系統具有簡化硬件設計、節省控制器I/O資源、擴展方便、便于實現等優勢,提高了測量系統的抗干擾能力和測量精度,具有一定的實用價值。
參考文獻
[1] 周劍利,郭建波,崔濤.具有I2C總線接口的A/D芯片PCF8591及其應用[J].微計算機信息,2005,21(7):150-151.
[2] 徐瑋,徐富君,沈建良.C51單片機高效入門[M].北京:機械工業出版社,2008.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 中文亚洲成a人片在线观看| 欧美怡红院免费全视频| 成人免费播放视频777777| 四虎成人永久影院| 91精品啪在线观看国产线免费| 日本免费看视频| 亚洲熟妇无码爱v在线观看| 草莓污污视频在线观看 | 伊人久久久大香线蕉综合直播| 国产成人精品日本亚洲专区6| 女人18毛片黄| 久久免费视频3| 欧美日韩亚洲国产一区二区综合| 华人亚洲欧美精品国产| 国产真实乱对白mp4| h视频在线免费观看| 日本韩国在线视频| 亚洲欧洲精品成人久久曰影片| 美女无遮挡免费视频网站| 国产男女猛视频在线观看| www..com色| 日日碰狠狠添天天爽超碰97| 亚洲国产精品久久久天堂| 精品国产国产综合精品| 国产成人刺激视频在线观看| 99久久人妻无码精品系列蜜桃| 抱着cao才爽的视频| 五福影院最新地址| 波多野结衣免费| 午夜在线视频一区二区三区| 国产91在线九色| 国产真实乱了在线播放| 18禁白丝喷水视频www视频 | 性xxxx视频播放免费| 久久大香伊蕉在人线国产h| 欧美成人手机视频| 免费一级毛片在线播放| 英语老师解开裙子坐我腿中间 | 亚洲成人动漫在线观看| 精品96在线观看影院| 国产乱色在线观看|