版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本 科 生 畢 業(yè) 設 計 論 文參照前一稿批注, 基于I2C總線的多通道溫度實時采集系統(tǒng)的設計與實現(xiàn)傅煜院 系: 機電學院 專 業(yè): 機電一體化專業(yè) 班 級: 112班 學 號: 120702210 指導教師: 薛建國 職稱(或學位): 副教授 2014年 4月原創(chuàng)性聲明 本人鄭重聲明:所呈交的論文(設計),是本人在導師的指導下,獨立進行研究工作所取得的成果。除文中已經注明引用的內容外,本論文(設計)不含任何其他個人或集體已經發(fā)表或撰寫過的作品成果。對本論文(設計)的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。本人完全意識到本聲明的法律結果由本人承擔。學生簽名: 年 月 日 指導
2、聲明本人指導的 同學的畢業(yè)論文(設計)題目大小、難度適當,且符合該同學所學專業(yè)的培養(yǎng)目標的要求。本人在指導過程中,通過網上文獻搜索及文獻比對等方式,對其畢業(yè)論文(設計)內容進行了檢查,未發(fā)現(xiàn)抄襲現(xiàn)象,特此聲明。指導教師簽名: 年 月 日目 錄 HYPERLINK l _Toc23159 摘 要 PAGEREF _Toc23159 I HYPERLINK l _Toc12628 Abstract PAGEREF _Toc12628 II HYPERLINK l _Toc21087 1 緒論 PAGEREF _Toc21087 1 HYPERLINK l _Toc17030 1.1數(shù)據采集系統(tǒng)及發(fā)
3、展歷程 PAGEREF _Toc17030 1 HYPERLINK l _Toc27567 1.2 I2C總線及優(yōu)點 PAGEREF _Toc27567 1 HYPERLINK l _Toc26889 2 系統(tǒng)方案 PAGEREF _Toc26889 3 HYPERLINK l _Toc5480 2.1 系統(tǒng)方案簡介 PAGEREF _Toc5480 3 HYPERLINK l _Toc13880 2.2 系統(tǒng)總體方案的確定 PAGEREF _Toc13880 3 HYPERLINK l _Toc26731 2.2.1 主控制器方案的選型 PAGEREF _Toc26731 3 HYPERLI
4、NK l _Toc16536 2.2.2 I2C擴展芯片的選型 PAGEREF _Toc16536 4 HYPERLINK l _Toc9649 2.2.3 溫度傳感器的選型 PAGEREF _Toc9649 4 HYPERLINK l _Toc16312 2.2.4 LCD液晶驅動器的選型 PAGEREF _Toc16312 5 HYPERLINK l _Toc7961 2.2.5 A/D轉換器的選型 PAGEREF _Toc7961 5 HYPERLINK l _Toc7238 2.3總結 PAGEREF _Toc7238 5 HYPERLINK l _Toc10174 3 P89LPC9
5、22單片機及I2C接口 PAGEREF _Toc10174 6 HYPERLINK l _Toc15754 3.1 P89LPC922單片機概述 PAGEREF _Toc15754 6 HYPERLINK l _Toc20475 3.1.1 芯片內部框圖 PAGEREF _Toc20475 6 HYPERLINK l _Toc26590 3.3.2 引腳配置 PAGEREF _Toc26590 7 HYPERLINK l _Toc4736 3.4 I/O口 PAGEREF _Toc4736 7 HYPERLINK l _Toc23530 3.4.1 I/O端口配置 PAGEREF _Toc23
6、530 8 HYPERLINK l _Toc810 3.4.2 準雙向口輸出配置 PAGEREF _Toc810 8 HYPERLINK l _Toc9379 3.4.3 開漏輸出配置 PAGEREF _Toc9379 8 HYPERLINK l _Toc21881 3.4.4 僅為輸入配置 PAGEREF _Toc21881 8 HYPERLINK l _Toc12898 3.4.5 推挽輸出配置 PAGEREF _Toc12898 9 HYPERLINK l _Toc32730 3.5 中斷 PAGEREF _Toc32730 9 HYPERLINK l _Toc5002 3.6 I2C總
7、線接口 PAGEREF _Toc5002 9 HYPERLINK l _Toc10785 3.6.1 概述 PAGEREF _Toc10785 9 HYPERLINK l _Toc24475 3.6.2 I2C特殊功能寄存器描述 PAGEREF _Toc24475 10 HYPERLINK l _Toc18655 3.6.3 I2C操作模式 PAGEREF _Toc18655 12 HYPERLINK l _Toc20390 3.7總結 PAGEREF _Toc20390 13 HYPERLINK l _Toc5255 4 硬件電路設計 PAGEREF _Toc5255 14 HYPERLIN
8、K l _Toc6004 4.1 單片機控制電路 PAGEREF _Toc6004 14 HYPERLINK l _Toc17009 4.2 LED顯示模塊 PAGEREF _Toc17009 15 HYPERLINK l _Toc27876 4.3 遠程傳輸模塊 PAGEREF _Toc27876 16 HYPERLINK l _Toc22331 4.4 電源模塊 PAGEREF _Toc22331 18 HYPERLINK l _Toc22353 4.5 溫度測量模塊 PAGEREF _Toc22353 18 HYPERLINK l _Toc25900 4.5.1 A/D轉換器 PCF85
9、91 PAGEREF _Toc25900 19 HYPERLINK l _Toc28408 4.5.2 溫度傳感器AD590 PAGEREF _Toc28408 19 HYPERLINK l _Toc24172 4.6總結 PAGEREF _Toc24172 20 HYPERLINK l _Toc13493 5 系統(tǒng)軟件設計 PAGEREF _Toc13493 21 HYPERLINK l _Toc8794 5.1 Main函數(shù)設計 PAGEREF _Toc8794 21 HYPERLINK l _Toc11415 5.2 I2C發(fā)送數(shù)據函數(shù) PAGEREF _Toc11415 22 HYPE
10、RLINK l _Toc26190 5.3 鍵盤中斷函數(shù) PAGEREF _Toc26190 23 HYPERLINK l _Toc31252 5.4 鍵盤處理函數(shù) PAGEREF _Toc31252 23 HYPERLINK l _Toc23925 5.5 LED顯示函數(shù) PAGEREF _Toc23925 24 HYPERLINK l _Toc29415 5.6 A/D轉換函數(shù) PAGEREF _Toc29415 24 HYPERLINK l _Toc24766 5.7總結 PAGEREF _Toc24766 25 HYPERLINK l _Toc1506 6 總結與展望 PAGEREF
11、_Toc1506 26 HYPERLINK l _Toc7912 6.1 課題總結 PAGEREF _Toc7912 26 HYPERLINK l _Toc32052 6.2 課題展望 PAGEREF _Toc32052 26 HYPERLINK l _Toc24105 致 謝 PAGEREF _Toc24105 28 HYPERLINK l _Toc8176 參 考 文 獻 PAGEREF _Toc8176 29 HYPERLINK l _Toc25622 附 錄 元器件清單 PAGEREF _Toc25622 30 HYPERLINK l _Toc5348 附 錄 原理圖 PAGEREF
12、_Toc5348 31 基于I2C總線的多通道溫度實時采集系統(tǒng)的設計與實現(xiàn)傅煜(電子信息工程系 指導教師:薛建國)摘要:針對遠距離多點數(shù)據的采集,節(jié)省微處理器的輸入輸出引腳,滿足多器件控制的要求,設計一套基于I2C總線的遠程數(shù)據采集系統(tǒng)。本系統(tǒng)以帶有I2C接口的LPC900系列單片機作為主控MCU,來實現(xiàn)數(shù)據的處理;以P82B96驅動器提高I2C總線的負載能力,提高傳輸距離從而實現(xiàn)數(shù)據的遠程傳輸;以帶有I2C接口的A/D轉換器PCF8591來采集數(shù)據并進行數(shù)據類型的轉換;以溫度傳感器AD590來測量環(huán)境溫度;以LED驅動器ZLG7290驅動數(shù)碼管顯示數(shù)據。通過不斷的調試和完善實現(xiàn)多點的溫度測量
13、,在數(shù)碼管上顯示即時溫度。 本系統(tǒng)采用LPC922單片機為主控制器,通過I2C總線實現(xiàn)遠距離的溫度測量。本系統(tǒng)分為以下幾個模塊:微處理器核心模塊、LED顯示模塊、鍵盤模塊、溫度測量模塊、數(shù)據遠距離傳輸模塊、電源模塊。關鍵詞:單片機,I2C總線,遠程數(shù)據采集Design and implementation ofreal time data acquisition system formultichannel temperaturebased on I2C busFuyu(Electronic & Information Engineering Department, Supervisor: X
14、ue Jianguo)Abstract: For long-distance multi-point data collection, to save the input and output pins of the microprocessor, to meet the requirementsthe control of multiple devices, design a set of I2C bus based remote data acquisition system. The system interfaces with LPC900 MCU I2C as a master MC
15、U, to achieve data processing; to P82B96 I2C bus drive to improve load capacity and improve transmission range in order to achieve the remote transmission of data; to I2C interface with A /D PCF8591 converter to capture data and perform data type conversions; to AD590 temperature sensor to measure a
16、mbient temperature; to drive ZLG7290 LED digital display driver data. Debug and improve through continuous multi-point temperature measurement, digital display in real-time temperature. This system uses the LPC922 microcontroller-based controller, through the I2C bus for remote temperature measureme
17、nts. The system is divided into the following modules: microprocessor core module, LED display module, keyboard module, temperature measurement module, remote data transmission module, power supply module.Key words: microcontroller, I2C bus, remote data acquisition1 緒論及發(fā)展歷程 數(shù)據采集是將被測對象(外部世界、現(xiàn)場)的各種參量(
18、如物理量、化學量、生物量等)通過各種傳感元件作適當轉換后,再經信號調理、采樣、放大、濾波、量化、編碼,然后通過無線或有線的方式進行傳輸?shù)炔襟E,最后送到控制器進行數(shù)據處理或存儲紀錄的過程。 在進行數(shù)據采集時,由于許多被測對象離主控中心距離較遠或現(xiàn)場環(huán)境不允許數(shù)據采集系統(tǒng)就近放置,只能用長線通過遠距離傳送給主控制器,這便產生了遠程數(shù)據采集系統(tǒng)。應用遠程數(shù)據采集系統(tǒng)可對生產現(xiàn)場的各種參數(shù)進行采集、監(jiān)視和記錄,是提高產品質量、降低成本、增加生產效率和節(jié)省人力的重要手段;另外,遠程數(shù)據采集是控制系統(tǒng)實現(xiàn)控制的基本條件,只有準確實時的獲取對象的運行數(shù)據才能實施有效的控制。數(shù)據采集系統(tǒng)經歷了幾個發(fā)展階段。早
19、期的數(shù)據采集系統(tǒng)基于ISA、PCI總線,采集的數(shù)據是模擬量,系統(tǒng)龐大,采集后需要將模擬信號經過放大、調理通過長線傳送給計算機系統(tǒng);在長線傳輸過程中信號的電磁干擾是不可避免的,信號轉換的過程也存在干擾;基于串口傳輸數(shù)據的數(shù)據采集系統(tǒng)傳輸速度慢,而且多為主從式結構,系統(tǒng)穩(wěn)定性低?;趩纹瑱C的數(shù)據采集系統(tǒng)利用數(shù)字傳感器直接輸出數(shù)字信號,經過總線的傳輸直接送給計算機系統(tǒng),操作方便,無需信號轉換。1.2 I2C總線及優(yōu)點 I2C(InterIntegrated Circuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設備,是微電子通信控制領域廣泛采用的一種總線標準。它
20、是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信速率較高等優(yōu)點。在主從通信中,可以有多個I2C總線器件同時連接到I2C總線上,所有I2C兼容的器件都具有標準的接口,通過地址來識別通信對象,使他們可以經由I2C總線互相通信。 I2C總線很大程度上減輕了系統(tǒng)對I/O口需求的壓力,彌補了系統(tǒng)主處理芯片I/O口的不足,通過擴展芯片總線的傳輸長度可高達1000米,并且能夠以最高以的最大傳輸速率支持40個組件。I2C總線是由數(shù)據線SDA和時鐘線SCL構成的串行總線,可發(fā)送和接受數(shù)據。在CPU與被控IC之間,IC和IC之間進行雙向傳送,各種被控電路均并聯(lián)在這條總線上,每個電路都有唯
21、一的地址。在信息傳輸過程中,I2C總線上并聯(lián)的每一個模塊電路既是被控器(或是主控器),又是發(fā)生器(或是接收器),這取決與它所要完成的功能。CPU發(fā)出的控制信號分為地址碼和數(shù)據碼兩部分:地址碼用來選址,及接通需要控制的電路;數(shù)據碼是通信的內容,這樣各控制電路雖然掛在同一條總線上,卻彼此獨立。利用I2C總線實現(xiàn)遠程數(shù)據采集不但布線方便,傳輸速度快,操作方便,節(jié)省I/O資源,多主式的結構更增加了系統(tǒng)的穩(wěn)定性。 2 系統(tǒng)方案2.1 系統(tǒng)方案簡介 該系統(tǒng)設計是利用LPC900系列單片機,通過I2C總線,實現(xiàn)遠程的溫度采集?;贗2C的遠程數(shù)據采集系統(tǒng)由主控制模塊和數(shù)據采集模塊兩大部分構成。主控制模塊以L
22、PC900系列單片機為核心控制器,集成了鍵盤操作功能。溫度傳感器AD590測得溫度后轉換為電信號經過放大和信號調理送入A/D轉換器PCF8591實現(xiàn)模數(shù)轉換,再通過由擴展芯片P82B96擴展后的I2C總線實現(xiàn)遠距離通信。顯示模塊利用I2C總線可以并聯(lián)多個I2C接口器件的特性,使用ZLG7290作為LED驅動器驅動數(shù)碼管顯示。系統(tǒng)方案如下: 圖2- SEQ 圖 * ARABIC s 1 1 系統(tǒng)設計框圖2.2 系統(tǒng)總體方案的確定2.2.1 主控制器方案的選型 方案一:常用的51單片機89C51 89C51無硬件I2C,需用軟件模擬I2C時序,操作繁瑣,調試麻煩,內部資源不充足,且5V工作電壓功耗
23、高、速度低,用于該課題無明顯優(yōu)勢。 方案二:LPC900系列單片機 LPC900系列單片機具有體積小、有I2C引腳、超低的功耗(完全掉電時電流低至1A,工作電壓低至2.43.6V)、6倍速于80C51、工業(yè)級芯片、可靠性高、增強型I/O口、豐富的片內資源和ICP在線編程方便快捷等優(yōu)勢。 用LPC93X系列單片機能滿足要求但資源浪費,價格高,故最終確定選用LPC922單片機。2.2.2 I2C擴展芯片的選型 I2C的傳輸距離有限。實際應用時,必須擴展I2C通信距離。P82B715和P82B96是Philips研制的應用于遠距離通信的I2C擴展器。P82B715只有3000pF的輸出容性負載,且不
24、可電平轉換,而P82B96的最大輸出容性負載高達4000pF,支持電平轉換,還可以作為通用的準雙向總線緩沖器。當通信速率為31KHz可達到1000米。因此在這個系統(tǒng)里選用P82B96。2.2.3 溫度傳感器的選型 方案一:熱電偶傳感器 熱電偶傳感器的原理是將溫度變化轉換為電勢的變化。它是利用兩種不同材料的金屬連接在一起,構成的具有熱點效應原理的一種感溫元件。其優(yōu)點為精確度高、測溫范圍廣、結構簡單、使用方便、型號種類比較多且技術成熟。目前廣泛應用于工業(yè)和民用產品中。熱電偶傳感器的種類很多,在選擇時必須考慮其靈敏度、可靠性、穩(wěn)定性等條件。 方案二:熱電阻傳感器 熱電阻傳感器的原理是將溫度變化轉換為
25、電阻值的變化。熱電阻傳感器是中低溫區(qū)最常用的一種溫度傳感器。它的主要特點是:測量精度高,性能穩(wěn)定、其中鉑電阻的測量精度是最高的,被制作成標準的基準儀。從熱電阻的測溫原理可以知道,被測溫度的變化是直接通過熱電阻阻值的變化來變現(xiàn)的。因此,熱電阻的引出線的電阻的變化會給測溫帶來影響。為了消除引線電阻的影響,一般采用三線制或四線制。 方案三:半導體集成模擬溫度傳感器 半導體IC溫度傳感器是利用半導體PN結的電流、電壓與溫度變換關系來測溫的一種感溫元件。這種傳感器輸出線性好、精度高,而且可以把傳感器驅動電路、信號處理電路等與溫度傳感器部分集成在同一硅片,體積小,使用方便,應用比較廣泛的有AD590等。I
26、C溫度傳感器在微型計算機控制體系中,通常用于室溫的測量,以便微型計算機對溫度測量值進行補償。 方案四:半導體集成數(shù)字溫度傳感器 隨著科學技術的不斷進步和發(fā)展,新型溫度傳感器的種類繁多,應用逐漸廣泛,并且開始由模擬式向著數(shù)字式、單總線式、雙總線式、多總線式發(fā)展。數(shù)字溫度傳感器更適合與各種微處理器的I/O接口相連接,組成自動溫度控制系統(tǒng),這種系統(tǒng)克服課模擬傳感器與微處理器接口時需要信號調理電路和A/D轉換器的弊端,被廣泛應用于工業(yè)控制、電子測溫等各種溫度控制系統(tǒng)中,數(shù)字溫度傳感器中比較有代表性的有DS18B20等。 本設計為設計方便,性能穩(wěn)定,準確性高,決定選用半導體集成溫度傳感器,由于DS18B
27、20采用的是單總線技術,不支持I2C總線,所以選用AD590模擬溫度傳感器。2.2.4 LCD液晶驅動器的選型 方案一:LCD字符型液晶驅動器PCF2113是LCD字符型液晶驅動器,自身帶有I2C接口,I2C速率是400khz,工作電壓為2.5V到5V,可驅動兩行、每行12個字符,片內可產生LCD偏置電壓,功耗很低且本身自帶片內RAM,但是外圍引腳多,操作繁瑣。方案二:LED驅動器ZLG7290 ZLG7290是一種具有I2C接口的鍵盤及LED驅動管理器件, 提供數(shù)據譯碼和循環(huán)、移位、段尋址等控制。它能夠直接驅動8位共陰式數(shù)碼管(或64只獨立的LED ), 并可擴展驅動電流和驅動電壓。 本系統(tǒng)
28、利用I2C總線接口,直接用數(shù)碼管顯示,所以選用ZLG7290可滿足要求。2.2.5 A/D轉換器的選型考慮到選用的A/D轉換器應該有I2C總線接口,精度達到8位就可以滿足要求,芯片內部應該有多個通道來配合I2C總線進行多點的數(shù)據采集,選用PCF8591芯片。 本章節(jié)主要介紹了系統(tǒng)的整體方案,給出了系統(tǒng)的設計方法和設計思路,同時對系統(tǒng)中的各個器件進行選型,為系統(tǒng)的硬件設計最好準備。3 P89LPC922單片機及I2C接口3.1 P89LPC922單片機概述P89LPC922是一款單片封裝的微控制器,適合于許多要求高集成度、低成本的場合,可以滿足多方面的性能要求。P89LPC922采用了高性能的處
29、理器結構,指令執(zhí)行時間只需要24個時鐘周期,6倍于標準80C51器件。P89LPC92集成了許多系統(tǒng)級的功能,這樣可大大地減少元件的數(shù)目、電路板面積以及系統(tǒng)的成本。LPC922的運算速度很快,當操作頻率為12MHz時,除乘法和除法指令外80C51CPU的指令執(zhí)行時間為167333ns。同一時鐘頻率下,LPC922的速度為標準80C51器件的6倍。只需要較低的時鐘頻率即可達到同樣的性能,這樣無疑降低了功耗EMI;LPC922的操作電壓范圍為2.43.6V。I/O口可承受5V(可上拉或驅動到5.5V)的電壓;它有2個16位定時/計數(shù)器,每一個定時器均可設置為溢出時觸發(fā)相應端口輸出或作為PWM輸出;
30、LPC922有400kHz字節(jié)寬度的I2C通信端口;可以直接實現(xiàn)I2C總線通信;有8個鍵盤中斷輸入,另加2路外部中斷輸入;4個中斷優(yōu)先級;低電平復位,使用片內上電復位時不需要外接元件。復位計數(shù)器和復位干擾抑制電路可防止虛假和不完全的復位。另外還提供軟件復位功能;可配置的片內振蕩器及其頻率范圍和RC振蕩器選項(通過用戶可編程Flash配置位選擇),選擇RC振蕩器時不需要外接振蕩器件。振蕩器選項支持的頻率范圍為20KHz12MHz可選擇RC振蕩器選項并且其頻率可進行很好的調節(jié);LPC922有可編程端口輸出模式,準雙向口,開漏輸出,推挽和僅為輸入功能模;所有口線均有LED驅動能力20mA;LPC92
31、2最少有15個I/O口,選擇片內振蕩和片內復位時可多達18個I/O口。3.1.1 芯片內部框圖LPC922單片機的功能框圖如3-1所示。圖3- SEQ 圖 * ARABIC s 1 1 功能框圖3.3.2 引腳配置 P0口是一個可由用戶定義輸出類型的8位I/O口。在上電復位時,P0鎖存器配置為內部上拉禁止的僅為輸入模式。P0口由口配置寄存器設定為輸出或輸入模式,每一個管腳均可單獨設定。P0口具有鍵盤輸入中斷功能。所有管腳都具有施密特觸發(fā)輸入。引腳有1,20,19,18,17,16,14,13。P1是一個可由用戶定義輸出類型的8位I/O口。在上電復位時P1鎖存器配置為內部上拉禁止的僅為輸入模式。
32、P1口由口配置寄存器設定為輸出或輸入模式,每一位均可單獨設定。P1.2、P1.3作為輸出時為開漏。P1.5為僅為輸入模式。所有管腳都具有施密特觸發(fā)輸入。引腳12,11,10,9,8,4,3,2;其中4引腳是RST外部復位輸入(通過Flash 配置選擇)。作為復位管腳時,輸入的低電平會使芯片復位,I/O口和外圍功能進入默認狀態(tài),處理器從地址0開始執(zhí)行。P3口是一個可由用戶定義輸出類型的2位I/O口,在上電復位時,P3鎖存器配置為內部上拉禁止的僅為輸入模式。P3口由口配置寄存器設定為輸出或輸入模式,每一個管腳均可單獨設定,所有管腳都具有施密特觸發(fā)輸入。 3.4 I/O口LPC922有3個I/O口P
33、0、P1和P3。P0和P1為8位I/O口而P3為2位I/O口。I/O口的具體數(shù)目取決于所選擇的振蕩和復位方式,具體如表3-1。表3-1 可用的I/O口數(shù)目時鐘源復位選項I/O口數(shù)目片內振蕩器或看門狗振蕩器無外部復位上電時除外18使用外部復位腳RST17外部時鐘輸入無外部復位上電時除外17使用外部復位腳RST16低/中/高速振蕩器外部晶振或諧振器無外部復位上電時除外16使用外部復位腳RST153.4.1 I/O端口配置除了3個口(P1.2、P1.3和P1.5)以外,LPC922其他所有的I/O口均可由軟件配置成4種輸出類型之一,四種輸出類型分別為:準雙向口(標準8051輸出模式)(PXM1.Y=
34、0,PXM2.Y=0);推挽(PXM1.Y=0,PXM2.Y=1);開漏輸出(PXM1.Y=1,PXM2.Y=1);僅為輸入功能(PXM1.Y=1,PXM2.Y=0)。每個口配置2個控制寄存器控制每個管腳輸出類型。P1.5(RST)只能作為輸入口,無法進行配置。P1.2(SCL/T0)和P1.3(SDA/INT0)只能配置為輸入口或開漏口。3.4.2 準雙向口輸出配置準雙向口輸出類型可用作輸出和輸入功能而不需重新配置口線輸出狀態(tài)。這是因為當口線輸出為1時驅動能力很弱,允許外部裝置將其拉低。當管腳輸出為低時,它的驅動能力很強,可吸收相當大的電流。準雙向口除了有三個上拉晶體管適應不同的需要外,其特
35、性和開漏輸出有些相似。LPC922為3V器件,但管腳可承受5V電壓。在準雙向口模式中如果用戶在管腳加上5V電壓將會有電流從管腳流向VDD。這將導致額外的功率消耗,因此建議不要在準雙向口模式中向管腳施加5V電壓。準雙向口帶有一個施密特觸發(fā)輸入以及一個干擾抑制電路。3.4.3 開漏輸出配置當口線鎖存器為0時,開漏輸出關閉所有的上拉晶體管而僅驅動端口的下拉晶體管。作為一個邏輯輸出時這種配置方式必須有外部上拉,一般通過電阻外接到VDD。開漏端口帶有一個施密特觸發(fā)輸入以及一個干擾抑制電路。3.4.4 僅為輸入配置該配置無輸出驅動器,它帶有一個施密特觸發(fā)輸入口以及一個干擾抑制電路。3.4.5 推挽輸出配置
36、推挽輸出配置的下拉結構和開漏輸出以及準雙向口的下拉結構相同,但當鎖存器為1時提供持續(xù)的強上拉。推挽模式一般用于需要更大驅動電流的情況。推挽管腳帶有一個施密特觸發(fā)輸入以及一個干擾抑制電路。3.5 中斷LPC922采用4中斷優(yōu)先級結構。這為P89LPC922的多中斷源的處理提供了極大的靈活性。LPC922支持12個中斷源:外部中斷0和1、定時器0和1、串口Tx、串口Rx、組合的串口Tx/Rx、掉電檢測、看門狗/實時時鐘、I2C、鍵盤中斷和比較器1和2。任何一個中斷源均可通過對IEN0和IEN1中相應的位置位或清零,實現(xiàn)單獨使能或禁止。IEN0中還包含了一個全局禁止位EA,它可禁止所有中斷。每個中斷
37、源都可被單獨設置為四個中斷優(yōu)先級之一,分別通過清零或置位IP0、IP0H、IP1、IP1H中相應位來實現(xiàn)(00最低優(yōu)先級,11最高優(yōu)先級)。一個中斷服務程序可響應更高級的中斷,但不能響應同優(yōu)先級或低級中斷。最高級中斷服務程序不響應其它任何中斷。如果兩個不同中斷優(yōu)先級的中斷源同時申請中斷時,響應較高優(yōu)先級的中斷申請。如果兩個同優(yōu)先級的中斷源同時申請中斷,那么通過一個內部查詢順序序列確定首先響應哪一個中斷請求,這叫做仲裁隊列。3.6 I2C總線接口3.6.1 概述I2C(全稱:inter integrated chips)是一種串行通信協(xié)議,專利權歸屬于Philips公司。I2C有三種速度模式:標
38、準模式(0100kbps)、快速模式(0400kbps)、高速模式(03.4Mbps)。有嚴格的規(guī)范,如接口的電氣特性、信號時序、信號傳輸?shù)亩x、總線狀態(tài)設置、總線管理規(guī)則及總線狀態(tài)處理等。LPC922器件提供字節(jié)方式的I2C接口所支持的最大數(shù)據傳輸速率為400kHz。I2C總線用兩條線SDA和SCL在總線和器件之間傳遞信息。I2C總線的傳輸模式是主機和從機之間為雙向數(shù)據傳送,這樣主機和從機之間可以相互訪問;I2C總線也是多主機總線,它不存在中央主機;在總線上的器件都可以當做主機來發(fā)送數(shù)據;多主機同時傳送時進行仲裁來避免總線上數(shù)據沖突;而且串行時鐘同步使得不同位速率的器件可以通過一條串行總線進
39、行通信;典型的I2C總線配置如圖3-2所示。 圖3-2 I2C總線配置3.6.2 I2C特殊功能寄存器描述I2DAT包含要發(fā)送的數(shù)據或剛接收的數(shù)據。當8位直接尋址寄存器沒有處理移位數(shù)據時,CPU可對其進行讀和寫。這意味著用戶只能在SI置位時對I2DAT進行訪問。I2DAT中的數(shù)據在SI置位時一直保持不變。I2DAT中的數(shù)據總是從右向左移位。寄存器各位如圖3-3。圖3-3 I2C數(shù)據寄存器CPU可以對I2ADR寄存器進行讀或寫操作。該寄存器僅在I2C處于從模式下才使用。在主模式中該寄存器的內容無效。I2ADR的最低位(LSB)為通用調用位。當該位置位時對通用調用地址(00H)進行識別。寄存器各位
40、功能如圖3-4。圖3-4 I2C從地址寄存器CPU對I2CON寄存器進行讀或寫操作,見圖3-5。其中兩個位受硬件影響:SI和STO位。SI由硬件置位而STO位由硬件清零。當I2C處于主模式時,CRSEL決定SCL的頻率,在從模式中,該位被忽略并自動與主I2C器件的時鐘頻率(最大400KHz)同步。當CRSEL=1時,I2C接口將定時器1的溢出速率的1/2作為I2C的實鐘頻率。定時器1在8位自動重裝模式(模式2)中由用戶編程。圖3-5 I2C控制寄存器I2STAT寄存器是個8位只讀寄存器。見圖3-6。它包含了I2C接口的狀態(tài)代碼。最低3位總是為0。I2C一共有26種可能的狀態(tài)。當代碼為F8時表示
41、無可用的相關狀態(tài)信息,SI也不會置位。所以其他25種狀態(tài)碼都對應一個已定義的I2C狀態(tài)。進入任何一個狀態(tài)時,SI都會置位。 圖3-6 I2C狀態(tài)寄存器當設置CRSEL=0以選擇內部SCL發(fā)生器作為I2C接口的時鐘源時,用戶必須對I2SCLH和I2SCLL進行設置以選擇合適的數(shù)據傳輸速率。I2SCLH定義SCL高電平的PCLK周期數(shù),I2SCLL定義SCL低電平的PCLK周期數(shù)。頻率由下面的公式決定: (3 SEQ 圖表 * ARABIC s 1 1)式中:Fpclk表示PCLK的頻率。用戶可以通過設置這兩個寄存器得到不同的SCL占空比。但寄存器的值必須確保I2C數(shù)據傳輸速率范圍為0400kHz
42、。因此對I2SCLH和I2SCLL的值有一些限制,建議兩個寄存器的取值都應大于3個PCLK周期。3.6.3 I2C操作模式I2C操作模式有:主發(fā)送器模式、主接收器模式、從接收器模式和從發(fā)送器模式。在這里介紹主發(fā)送器模式。在該模式中,數(shù)據從主機發(fā)送到從機。在進入主發(fā)送器模式之前,I2CON必須將I2EN置位使能I2C功能,STA、STO和SI必須設置為0,CRSEL定義串行位速率。如果AA位為0,而另一個器件成為總線的控制器時,I2C將不會對它自身的從地址或通用調用地址產生應答。換句話說,如果AA復位,I2C不能進入從模式。第一個發(fā)送的數(shù)據包含接收器件的從地址(7位)和數(shù)據方向位。在此模式下,數(shù)
43、據方向位(R/W)為0表示執(zhí)行寫操作。因此第一個發(fā)送的字節(jié)為SLA+W。數(shù)據每次發(fā)送8位。每發(fā)送一個字節(jié),都接收到一個應答位。起始和停止條件用于指示串行傳輸?shù)钠鹗己徒Y束。通過置位STA進入I2C主發(fā)送模式。I2C邏輯在總線空閑后立即發(fā)送一個起始條件。當發(fā)送完起始條件后,SI置位。此時狀態(tài)寄存器(I2STAT)中的狀態(tài)代碼應當為08H。該狀態(tài)碼用于指向一個中斷服務程序。該中斷程序將從地址和數(shù)據方向位(SLA+W)裝入I2DAT。SI位必須在數(shù)據傳輸能夠進行之前清零。當從地址和方向位已經發(fā)送且接收到應答位之后,SI位再次置位,并且對于主模式,可能的狀態(tài)代碼為18H、20H或38H。圖3-7為主發(fā)送
44、器模式和從接收器模式的發(fā)送格式。圖3-7 主發(fā)生器和主接收器模式格式在圖中,各種符號的意義為:S:開始位(START);SLA:從機地址(Slave Address),7位從機地址;W:寫標志位(Write),1位寫標志;R:讀標志位(Read),1位讀標志;A:應答位(Acknowledge),1位應答;:非應答位(Not Acknowledge),1位非應答;D:數(shù)據位(DATA),每個數(shù)據都必須是8位;P:停止位(STOP);陰影:主機產生的信號;無陰影:從機產生的信號。每個狀態(tài)代碼對應的執(zhí)行動作見 REF _Ref232337174 h * MERGEFORMAT 表3-1。表3- S
45、EQ 表 * ARABIC s 1 1 主發(fā)送器模式狀態(tài)代碼I2STATI2C總線硬件狀態(tài)寫I2CON硬件執(zhí)行的下一個動作STASTOSIAA08H已經發(fā)送起始條件x00 x將發(fā)送SLA+W,接收ACK位18H已經發(fā)送SLA+W;已經接收到ACK010100110000 xxxx將發(fā)送數(shù)據字節(jié),接收ACK位將發(fā)送重復起始條件將發(fā)送停止條件;STO標志將復位將發(fā)送停止條件,然后發(fā)送起始條件;STO標志將復位20H已經發(fā)送SLA+W;已經接收到非ACK28H已經發(fā)送I2DAT中的數(shù)據字節(jié);已接收ACK30H已經發(fā)送I2DAT中的數(shù)據字節(jié);已接收非ACK38H在SCL+R/W或數(shù)據字節(jié)中丟失仲裁01
46、0000 xxI2C總線被釋放;進入不可尋址從模式,當總線為空閑時發(fā)送起始條件 本章節(jié)主要介紹了核心MCU LPC922單片機的特性以及片內資源,還有對其內部的I2C總線接口相關的寄存器如何配置來確保I2C總線的通信。4 硬件電路設計4.1 單片機控制電路本設計中采用Philips LPC922單片機作為主控器,配以外部RC復位電路和晶振電路構成了單片機系統(tǒng)。晶體振蕩電路在微控制器系統(tǒng)中非常重要,它決定了整個微控制器系統(tǒng)能否穩(wěn)定工作。P89LPC922提供幾個可由用戶選擇的振蕩器選項。這樣就滿足了從高精度到低成本的不同需求。這些選項在對Flash進行編程時配置,包括片內看門狗振蕩器、片內RC振
47、蕩器、使用外部晶振的振蕩器或外部時鐘源。晶振可選擇低、中或高頻晶振,頻率范圍為20KHz到12MHz。本系統(tǒng)中選用6MHz的晶振,可以保證精度達到系統(tǒng)要求。RST管腳可作為低有效復位輸入或數(shù)字輸入口。當UCFG1寄存器中的位RPE(復位管腳使能)置位時,使能外部復位輸入功能。當清零時,復位腳可作為一個輸入管腳。每一個復位源在復位寄存器RSTSRC中都有一個對應的標志。用戶可讀取該寄存器以判斷最近的復位源是哪一個。這些標志位可通過軟件寫入0清零。P0.0P0.4鍵盤中斷口連接5個按鍵,用來控制的數(shù)據的傳輸和采集。 單片機的外圍電路如下所示: 圖4-1 單片機鍵盤電路圖4-2 單片機復位及鍵盤電路
48、4.2 LED顯示模塊數(shù)字LED顯示屏由顯示數(shù)字0 9的數(shù)碼管和驅動數(shù)碼管的芯片ZLG7290兩大部分組成,。ZLG7290外圍電路包括晶振電路、復位電路和I2C接口電路。數(shù)碼管是4位聯(lián)體式數(shù)碼管。ZLG7290是帶有I2C接口鍵盤管理和顯示驅動的芯片,加入鍵盤管理可以實現(xiàn)儀器儀表的人機對話。在圖4-3中, U是LED 驅動管理器件ZLG7290。圖中SegA SegDP對應連接數(shù)碼管的8個“段”( a dp), DIG0 DIG7分別連接各數(shù)碼管的“位”(每個數(shù)碼管的公共端, 這里只有4位數(shù)碼管, 故只用了DIG0 DIG3)。按照I2數(shù)碼管必須是共陰式的, 不能直接使用共陽式的, 這里采用
49、4位聯(lián)體式數(shù)碼管。數(shù)碼管在工作時要消耗較大的電流, RP2是限流電阻, 阻值是220歐姆。如果要增大數(shù)碼管的亮度, 可以適當減小電阻值。 圖4-3 LED顯示電路電路4.3 遠程傳輸模塊 在使用I2C器件的過程中,I2C總線在應用中常受到限制,例如:信號傳輸距離有限,常用于一個PCB板;總線上掛接的節(jié)點器件有限,受容性負載最大值400pF的限制;掛接多個器件時速度只能取最低值,高速I2C器件速度發(fā)揮不出來等。I2C總線擴展器P82B96的開發(fā)擴展了總線容量,從400pF擴展到4000pF,增加了總線可支持器件的數(shù)目。而且擴展了通訊距離,利用線纜在I2C總線的速率為31KHz時傳輸距離可長達10
50、00米。 P82B96是一款雙極性I2C擴展芯片,在保持I2C系統(tǒng)的工作模式和特性不變的情況下,通過緩沖SDA和SCL總線上的數(shù)據來擴展通信距離,同時I2C擴展器P82B96提供了一種在標準I2C總線和其他總線配置間的無鎖存、雙向性的邏輯接口,它可以把I2C總線連接到215V的邏輯器件上,且不受I2C總線協(xié)議的限制和時鐘速率的限制。能增加I2C總線的傳輸距離和節(jié)點上的負載數(shù)目。I2C擴展器P82B96徹底地解決了I2C總線在遠距離傳輸?shù)牟蛔恪?管腳描述如表4-1。表4-1 P82B96管腳描述符號管腳描述Sx1I2C總線(SDA或SCL)Rx2接收信號Tx3發(fā)送信號GND4地Ty5發(fā)送信號Ry
51、6接收信號Sy7I2C總線(SDA或SCL)VCC8電源作用為增加I2C通信距離時,兩個P82B96必須匹配使用。電路設計時必須加上拉電阻,P82B96的具體連接方法如圖4-4所示。 圖4-4 P82B96實現(xiàn)遠距離I2C通信在系統(tǒng)中的應用如下圖所示: 圖4-5 I2C通信擴展電路4.4 電源模塊本系統(tǒng)電源用到3.3V、5V兩種電源。LPC922單片機供電需要3.3V,ZLG9270的工作電壓也用到3.3V,為了降低延時,為P82B96提供3.3V、5V兩種電源。PCF8591和AD590都采用5V供電即可。利用電池供電引出5V電壓,經SPX3819后輸出3.3V提供單片機的工作電壓。電路簡單
52、,只需在輸入輸出端分別接上10F濾波電容,電路設計如圖4-6。 REF _Ref228111008 h * MERGEFORMAT 圖4-6 電源轉換電路SPX3819是一個具有低壓差電壓和低噪聲輸出電壓調節(jié)器。它有一個小于1以下的初始誤差和邏輯兼容的ON / OFF切換輸入。禁用時,電力消耗下降到幾乎為零。其他主要功能包括電池反向保護,限流和熱關機。它具有非常低的輸出溫度系數(shù),輸出設備需要一個很穩(wěn)定的電容。4.5 溫度測量模塊 本系統(tǒng)設計目的在于采集現(xiàn)實環(huán)境的溫度信息,所以需要利用單片機采集溫度傳感器的數(shù)據,溫度傳感器使用美國模擬器件公司生產的AD590,采集的信號需要經過放大和信號調理,再
53、傳送到A/D轉換器PCF8951,即把模擬信號轉換成數(shù)字信號,轉換后通過I2C總線傳輸給處理中心。4.5.1 A/D轉換器 PCF8591PCF8591是一款單電源、低功耗8位COMS型A/D、D/A轉換芯片,它具有4路模擬量輸入通道、一路模擬量輸出通道和1個I2C總線接口。該器件I2C從地址的低三位由芯片的A0、A1和A2三個地址引腳決定,所以在不增加任何硬件的情況下同一條I2C總線最多可以連接8個同類型的器件。該器件具有多路模擬量輸入、片上跟蹤保持、8位A/D轉換和8位D/A轉換等功能。A/D與D/A的最大轉換速率由I2C總線的最大傳輸速率決定。 PCF8591采用的是單電源供電,正常工作
54、電源電壓范圍為2.5V6V;重要的是通過I2C總線完成數(shù)據的輸入/輸出,采樣頻率是由I2C總線傳輸速率決定的。PCF8591進行數(shù)據轉換時需要外接一參考電壓。 PCF8591采用典型的I2C總線接口器件尋址方法,即總線地址由器件地址、引腳地址和方向位組成。飛利蒲公司規(guī)定A/D器件地址為1001。引腳地址為,其值由用戶選擇,因此I2C系統(tǒng)中最多可接=8個具有I2C總線接口的A/D器件。地址的最后一位為方向位,當主控器對A/D器件進行讀操作時為1,進行寫操作時為0??偩€操作時,由器件地址、引腳地址和方向位組成的從地址為主控器發(fā)送的第一字節(jié)。 在進行數(shù)據操作時,首先是主控器發(fā)出起始信號,然后發(fā)出讀尋
55、址字節(jié),被控器做出應答后,主控器從被控器讀出第一個數(shù)據字節(jié),主控器發(fā)出應答,主控器從被控器讀出第二個數(shù)據字節(jié),主控器發(fā)出應答一直到主控器從被控器中讀出第n個數(shù)據字節(jié),主控器發(fā)出非應答信號,最后主控器發(fā)出停止信號。4.5.2 溫度傳感器AD590 集成溫度傳感器實質上是一種半導體集成電路,它是利用晶體管的b-e結壓降的不飽和值Vbe與熱力學溫度T和通過發(fā)射極電流I的下述關系實現(xiàn)對溫度的檢測: ( 4 1) 式中:K波爾茲常數(shù); q電子電荷絕對值。 AD590 是美國模擬器件公司生產的單片集成兩端感溫電流源。流過器件的電流(mA)等于器件所處環(huán)境的熱力學溫度(開爾文)度數(shù),即: ( 4 2) 式中
56、:Ir流過器件(AD590)的電流,單位為mA; T熱力學溫度,單位為K。 AD590的測溫范圍為-55+150,電源電壓范圍為4V30V。其輸出電流是以絕對溫度零度(-273)為基準,每增加1,它會增加1A輸出電流。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會被損壞。AD590精度很高,在-55+150。 溫度測量電路如下:圖4-7 溫度測量電路圖AD590的輸出電流I=(273+T)A(T為攝氏溫度),因此測量的電壓V為(273+T)A10K=(2.73+T/100)V。為了將電壓測量出來又務須使輸出電流I分流,我們使用LM324作為電壓跟隨器輸出電壓等于輸入電壓V
57、;由于電源供應多器件之后,是帶雜波的,因此我們使用齊納二極管作為穩(wěn)壓管,得到3V的穩(wěn)壓電源,再利用可變電阻分壓,其輸出電壓V1需調整至2.73V;接下來我們使用LM324作為差動放大器使得輸出Vo為(100K/10K)(V2-V1)=T/10,即假如現(xiàn)在溫度為攝氏28,輸出電壓Vo則為2.8V,輸出電壓接A/D轉換器,那么A/D轉換輸出的數(shù)字量就和攝氏溫度成線形比例關系。A/D轉換器的參考電壓用5V,接地,選擇AIN0作為電壓輸入端。在本系統(tǒng)設計時使用5V基準電壓源來實現(xiàn),基準電壓源提供一個絕對電壓,與輸入電壓進行比較以確定適當?shù)臄?shù)字輸出。 本章節(jié)主要介紹了該系統(tǒng)的硬件電路設計,包括幾個模塊的
58、核心工作原理。主要包括單片機控制模塊、LED顯示模塊、遠程傳輸模塊、電源模塊和溫度測量模塊五大部分。5 系統(tǒng)軟件設計5.1 Main函數(shù)設計 主函數(shù)調用底層應用函數(shù),開始時調用開機延時函數(shù)、初始化函數(shù),然后配置PCF8591為輸出狀態(tài),查詢是否有按鍵標志位,若有鍵按下則清零鍵盤中斷標志位并做按鍵處理,無鍵按下時等待按鍵按下。本系統(tǒng)的Main函數(shù)流程如 REF _Ref232334716 h * MERGEFORMAT 圖5-1,程序見 REF _Ref228422144 h * MERGEFORMAT 程序清單5-1。 圖5- SEQ 圖 * ARABIC s 1 1 MAIN函數(shù)流程圖程序清
59、單5- SEQ 程序清單 * ARABIC s 1 1 主函數(shù)/* 函數(shù)名稱:main* 函數(shù)功能:主函數(shù)* 入口參數(shù):無* 出口參數(shù):無*/void main ( )Delay(1);/* 開機后延遲10ms*/Main_Init( );/* 相關初始化操作*/ISendStr(PCF8591,0 x03,0 x00); /* 配置PCF8591為輸出狀態(tài) */ while(1)if (KeyFlag) /* 有鍵按下時處理程序*/KeyFlag=0;/* 清零按鍵標志位*/KEY_Process( );ISendStr(PCF8591,0 x01,OutIOVal);/* 向輸出寄存器寫入
60、數(shù)據 */ 5.2 I2C發(fā)送數(shù)據函數(shù)該函數(shù)包括啟動總線、發(fā)送從器件地址、發(fā)送子地址、發(fā)送數(shù)據、結束總線,全過程嚴格遵循I2C總線傳輸數(shù)據時序。發(fā)送從器件地址后狀態(tài)寄存器值等于0 x18,表示I2C總線已經發(fā)送SLA+W并接收了應答信號,下一步將發(fā)送子地址字節(jié),不等于時表示未接收到應答信號,這時將置位STO,停止總線并返回0。發(fā)送子地址和數(shù)據字節(jié)后,狀態(tài)寄存器值為0 x28,表示已經發(fā)送子地址或數(shù)據字節(jié)并接收了應答信號,不等于表示沒有接收到應答信號并返回0。發(fā)送完數(shù)據字節(jié)后,狀態(tài)寄存器里的值為0 x28時將結束總線并返回1。具體流程如 REF _Ref227665702 h * MERGEFO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年人防防護設備安裝與環(huán)保認證合同3篇
- 2025年度城市公園綠化維護合同4篇
- 二零二五年度摩托車租賃業(yè)務管理及收益分成合同4篇
- 2025版售樓部物業(yè)社區(qū)文化活動組織服務合同3篇
- 2025年度民用爆破工程爆破效果監(jiān)測與分析合同4篇
- 年度丙二酮市場分析及競爭策略分析報告
- 二零二五版煤礦基礎施工安全質量監(jiān)督合同4篇
- 年度健腹椅產業(yè)分析報告
- 2025年度金融資產產權互換與風險管理合同范文4篇
- 二零二五版跨國股份置換與市場拓展合同范本3篇
- 化學-河南省TOP二十名校2025屆高三調研考試(三)試題和答案
- 智慧農貿批發(fā)市場平臺規(guī)劃建設方案
- 2023年水利部黃河水利委員會招聘考試真題
- Python編程基礎(項目式微課版)教案22
- 半導體工藝用膠帶全球市場、份額、市場規(guī)模、趨勢、行業(yè)分析報告2024-2030年
- 建筑施工中常見的安全問題及解決方法
- 近五年重慶中考物理試題及答案2023
- 乳腺導管原位癌
- 冷庫管道應急預案
- 《學習教育重要論述》考試復習題庫(共250余題)
- 網易云音樂用戶情感畫像研究
評論
0/150
提交評論