基于I2C總線的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng).doc_第1頁
基于I2C總線的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng).doc_第2頁
基于I2C總線的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng).doc_第3頁
基于I2C總線的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng).doc_第4頁
基于I2C總線的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng).doc_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

基于 I2C 總線的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng) 摘 要 針對遠(yuǎn)距離多點(diǎn)數(shù)據(jù)的采集 節(jié)省微處理器的輸入輸出引腳 滿足多器件控制的 要求 設(shè)計一套基于 I2C 總線的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng) 本系統(tǒng)以帶有 I2C 接口的 LPC900 系列單片機(jī)作為主控 MCU 來實(shí)現(xiàn)數(shù)據(jù)的處理 以 P82B96 驅(qū)動器提高 I2C 總線的負(fù) 載能力 提高傳輸距離從而實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸 以帶有 I2C 接口的 A D 轉(zhuǎn)換器 PCF8591 來采集數(shù)據(jù)并進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換 以溫度傳感器 AD590 來測量環(huán)境溫度 以 LED 驅(qū)動器 ZLG7290 驅(qū)動數(shù)碼管顯示數(shù)據(jù) 通過不斷的調(diào)試和完善實(shí)現(xiàn)多點(diǎn)的溫 度測量 在數(shù)碼管上顯示即時溫度 本系統(tǒng)采用 LPC922 單片機(jī)為主控制器 通過 I2C 總線實(shí)現(xiàn)遠(yuǎn)距離的溫度測量 本 系統(tǒng)分為以下幾個模塊 微處理器核心模塊 LED 顯示模塊 鍵盤模塊 溫度測量模 塊 數(shù)據(jù)遠(yuǎn)距離傳輸模塊 電源模塊 關(guān)鍵詞 單片機(jī) I2C 總線 遠(yuǎn)程數(shù)據(jù)采集 I2C Bus based Remote Data Acquisition System 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 MCU 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 ambient 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 measurements 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 acquisition 目 錄 摘 要 I ABSTRACT II 1 緒論 1 1 1 數(shù)據(jù)采集系統(tǒng)及發(fā)展歷程 1 1 2 I2C 總線及優(yōu)點(diǎn) 1 2 系統(tǒng)方案 3 2 1 系統(tǒng)方案簡介 3 2 2 系統(tǒng)總體方案的確定 3 2 2 1 主控制器方案的選型 3 2 2 2 I2C 擴(kuò)展芯片的選型 4 2 2 3 溫度傳感器的選型 4 2 2 4 LCD 液晶驅(qū)動器的選型 5 2 2 5 A D 轉(zhuǎn)換器的選型 5 2 3 總結(jié) 5 3 P89LPC922 單片機(jī)及 I2C 接口 6 3 1 P89LPC922 單片機(jī)概述 6 3 1 1 芯片內(nèi)部框圖 6 3 3 2 引腳配置 7 3 4 I O 口 7 3 4 1 I O 端口配置 8 3 4 2 準(zhǔn)雙向口輸出配置 8 3 4 3 開漏輸出配置 8 3 4 4 僅為輸入配置 8 3 4 5 推挽輸出配置 9 3 5 中斷 9 3 6 I2C 總線接口 9 3 6 1 概述 9 3 6 2 I2C 特殊功能寄存器描述 10 3 6 3 I2C 操作模式 12 3 7 總結(jié) 13 4 硬件電路設(shè)計 14 4 1 單片機(jī)控制電路 14 4 2 LED 顯示模塊 15 4 3 遠(yuǎn)程傳輸模塊 16 4 4 電源模塊 18 4 5 溫度測量模塊 18 4 5 1 A D 轉(zhuǎn)換器 PCF8591 19 4 5 2 溫度傳感器 AD590 19 4 6 總結(jié) 20 5 系統(tǒng)軟件設(shè)計 21 5 1 MAIN函數(shù)設(shè)計 21 5 2 I2C 發(fā)送數(shù)據(jù)函數(shù) 22 5 3 鍵盤中斷函數(shù) 23 5 4 鍵盤處理函數(shù) 23 5 5 LED 顯示函數(shù) 24 5 6 A D 轉(zhuǎn)換函數(shù) 24 5 7 總結(jié) 25 6 總結(jié)與展望 26 6 1 課題總結(jié) 26 6 2 課題展望 26 致 謝 28 參 考 文 獻(xiàn) 29 附 錄 元器件清單 30 附 錄 原理圖 31 1 緒論 1 1 數(shù)據(jù)采集系統(tǒng)及發(fā)展歷程 數(shù)據(jù)采集是將被測對象 外部世界 現(xiàn)場 的各種參量 如物理量 化學(xué)量 生物量 等 通過各種傳感元件作適當(dāng)轉(zhuǎn)換后 再經(jīng)信號調(diào)理 采樣 放大 濾波 量化 編碼 然后通過無線或有線的方式進(jìn)行傳輸?shù)炔襟E 最后送到控制器進(jìn)行數(shù)據(jù)處理或存儲紀(jì) 錄的過程 在進(jìn)行數(shù)據(jù)采集時 由于許多被測對象離主控中心距離較遠(yuǎn)或現(xiàn)場環(huán)境不允許數(shù) 據(jù)采集系統(tǒng)就近放置 只能用長線通過遠(yuǎn)距離傳送給主控制器 這便產(chǎn)生了遠(yuǎn)程數(shù)據(jù) 采集系統(tǒng) 應(yīng)用遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)可對生產(chǎn)現(xiàn)場的各種參數(shù)進(jìn)行采集 監(jiān)視和記錄 是提高產(chǎn)品質(zhì)量 降低成本 增加生產(chǎn)效率和節(jié)省人力的重要手段 另外 遠(yuǎn)程數(shù)據(jù) 采集是控制系統(tǒng)實(shí)現(xiàn)控制的基本條件 只有準(zhǔn)確實(shí)時的獲取對象的運(yùn)行數(shù)據(jù)才能實(shí)施 有效的控制 數(shù)據(jù)采集系統(tǒng)經(jīng)歷了幾個發(fā)展階段 早期的數(shù)據(jù)采集系統(tǒng)基于 ISA PCI 總線 采 集的數(shù)據(jù)是模擬量 系統(tǒng)龐大 采集后需要將模擬信號經(jīng)過放大 調(diào)理通過長線傳送 給計算機(jī)系統(tǒng) 在長線傳輸過程中信號的電磁干擾是不可避免的 信號轉(zhuǎn)換的過程也 存在干擾 基于串口傳輸數(shù)據(jù)的數(shù)據(jù)采集系統(tǒng)傳輸速度慢 而且多為主從式結(jié)構(gòu) 系 統(tǒng)穩(wěn)定性低 基于單片機(jī)的數(shù)據(jù)采集系統(tǒng)利用數(shù)字傳感器直接輸出數(shù)字信號 經(jīng)過總 線的傳輸直接送給計算機(jī)系統(tǒng) 操作方便 無需信號轉(zhuǎn)換 1 2 I2C 總線及優(yōu)點(diǎn) I2C Inter Integrated Circuit 總線是一種由 PHILIPS 公司開發(fā)的兩線式串行總線 用于連接微控制器及其外圍設(shè)備 是微電子通信控制領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn) 它是同步通信的一種特殊形式 具有接口線少 控制方式簡單 器件封裝形式小 通 信速率較高等優(yōu)點(diǎn) 在主從通信中 可以有多個 I2C 總線器件同時連接到 I2C 總線上 所有 I2C 兼容的器件都具有標(biāo)準(zhǔn)的接口 通過地址來識別通信對象 使他們可以經(jīng)由 I2C 總線互相通信 I2C 總線很大程度上減輕了系統(tǒng)對 I O 口需求的壓力 彌補(bǔ)了系統(tǒng)主處理芯片 I O 口的不足 通過擴(kuò)展芯片總線的傳輸長度可高達(dá)1000米 并且能夠以最高以3 4Mbps 的 最大傳輸速率支持40個組件 I2C 總線是由數(shù)據(jù)線 SDA 和時鐘線 SCL 構(gòu)成的串行總線 可發(fā)送和接受數(shù)據(jù) 在 CPU 與被控 IC 之間 IC 和 IC 之間進(jìn)行雙向傳送 各種被控電路均并聯(lián)在這條總線上 每個電路都有唯一的地址 在信息傳輸過程中 I2C 總線上并聯(lián)的每一個模塊電路既是 被控器 或是主控器 又是發(fā)生器 或是接收器 這取決與它所要完成的功能 CPU 發(fā)出的控制信號分為地址碼和數(shù)據(jù)碼兩部分 地址碼用來選址 及接通需要控制 的電路 數(shù)據(jù)碼是通信的內(nèi)容 這樣各控制電路雖然掛在同一條總線上 卻彼此獨(dú)立 利用 I2C 總線實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集不但布線方便 傳輸速度快 操作方便 節(jié)省 I O 資源 多主式的結(jié)構(gòu)更增加了系統(tǒng)的穩(wěn)定性 2 系統(tǒng)方案 2 1 系統(tǒng)方案簡介 該系統(tǒng)設(shè)計是利用 LPC900 系列單片機(jī) 通過 I2C 總線 實(shí)現(xiàn)遠(yuǎn)程的溫度采集 基于 I2C 的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)由主控制模塊和數(shù)據(jù)采集模塊兩大部分構(gòu)成 主控制模 塊以 LPC900 系列單片機(jī)為核心控制器 集成了鍵盤操作功能 溫度傳感器 AD590 測 得溫度后轉(zhuǎn)換為電信號經(jīng)過放大和信號調(diào)理送入 A D 轉(zhuǎn)換器 PCF8591 實(shí)現(xiàn)模數(shù)轉(zhuǎn)換 再通過由擴(kuò)展芯片 P82B96 擴(kuò)展后的 I2C 總線實(shí)現(xiàn)遠(yuǎn)距離通信 顯示模塊利用 I2C 總線 可以并聯(lián)多個 I2C 接口器件的特性 使用 ZLG7290 作為 LED 驅(qū)動器驅(qū)動數(shù)碼管顯示 系統(tǒng)方案如下 LPC922 復(fù)位電路 晶振電路 共陰數(shù)碼 管 鍵盤電路 P82B96 P82B96 A D PCF8591 ADS590 SDA SCL SDA SDA SCL SCL SCLSDA LED驅(qū)動器 7290 SCLSDA 段輸出 圖 2 1 系統(tǒng)設(shè)計框圖 2 2 系統(tǒng)總體方案的確定 2 2 1 主控制器方案的選型 方案一 常用的 51 單片機(jī) 89C51 89C51 無硬件 I2C 需用軟件模擬 I2C 時序 操作繁瑣 調(diào)試麻煩 內(nèi)部資源不充 足 且 5V 工作電壓功耗高 速度低 用于該課題無明顯優(yōu)勢 方案二 LPC900 系列單片機(jī) LPC900 系列單片機(jī)具有體積小 有 I2C 引腳 超低的功耗 完全掉電時電流低至 1 A 工作電壓低至 2 4 3 6V 6 倍速于 80C51 工業(yè)級芯片 可靠性高 增強(qiáng)型 I O 口 豐富的片內(nèi)資源和 ICP 在線編程方便快捷等優(yōu)勢 用 LPC93X 系列單片機(jī)能滿足要求但資源浪費(fèi) 價格高 故最終確定選用 LPC922 單片機(jī) 2 2 2 I2C 擴(kuò)展芯片的選型 I2C 的傳輸距離有限 實(shí)際應(yīng)用時 必須擴(kuò)展 I2C 通信距離 P82B715 和 P82B96 是 Philips 研制的應(yīng)用于遠(yuǎn)距離通信的 I2C 擴(kuò)展器 P82B715 只有 3000pF 的輸出容性負(fù) 載 且不可電平轉(zhuǎn)換 而 P82B96 的最大輸出容性負(fù)載高達(dá) 4000pF 支持電平轉(zhuǎn)換 還可以作為通用的準(zhǔn)雙向總線緩沖器 當(dāng)通信速率為 31KHz 可達(dá)到 1000 米 因此在 這個系統(tǒng)里選用 P82B96 2 2 3 溫度傳感器的選型 方案一 熱電偶傳感器 熱電偶傳感器的原理是將溫度變化轉(zhuǎn)換為電勢的變化 它是利用兩種不同材料的 金屬連接在一起 構(gòu)成的具有熱點(diǎn)效應(yīng)原理的一種感溫元件 其優(yōu)點(diǎn)為精確度高 測 溫范圍廣 結(jié)構(gòu)簡單 使用方便 型號種類比較多且技術(shù)成熟 目前廣泛應(yīng)用于工業(yè) 和民用產(chǎn)品中 熱電偶傳感器的種類很多 在選擇時必須考慮其靈敏度 可靠性 穩(wěn) 定性等條件 方案二 熱電阻傳感器 熱電阻傳感器的原理是將溫度變化轉(zhuǎn)換為電阻值的變化 熱電阻傳感器是中低溫 區(qū)最常用的一種溫度傳感器 它的主要特點(diǎn)是 測量精度高 性能穩(wěn)定 其中鉑電阻 的測量精度是最高的 被制作成標(biāo)準(zhǔn)的基準(zhǔn)儀 從熱電阻的測溫原理可以知道 被測 溫度的變化是直接通過熱電阻阻值的變化來變現(xiàn)的 因此 熱電阻的引出線的電阻的 變化會給測溫帶來影響 為了消除引線電阻的影響 一般采用三線制或四線制 方案三 半導(dǎo)體集成模擬溫度傳感器 半導(dǎo)體 IC 溫度傳感器是利用半導(dǎo)體 PN 結(jié)的電流 電壓與溫度變換關(guān)系來測溫的 一種感溫元件 這種傳感器輸出線性好 精度高 而且可以把傳感器驅(qū)動電路 信號 處理電路等與溫度傳感器部分集成在同一硅片 體積小 使用方便 應(yīng)用比較廣泛的 有 AD590 等 IC 溫度傳感器在微型計算機(jī)控制體系中 通常用于室溫的測量 以便微 型計算機(jī)對溫度測量值進(jìn)行補(bǔ)償 方案四 半導(dǎo)體集成數(shù)字溫度傳感器 隨著科學(xué)技術(shù)的不斷進(jìn)步和發(fā)展 新型溫度傳感器的種類繁多 應(yīng)用逐漸廣泛 并且開始由模擬式向著數(shù)字式 單總線式 雙總線式 多總線式發(fā)展 數(shù)字溫度傳感 器更適合與各種微處理器的 I O 接口相連接 組成自動溫度控制系統(tǒng) 這種系統(tǒng)克服 課模擬傳感器與微處理器接口時需要信號調(diào)理電路和 A D 轉(zhuǎn)換器的弊端 被廣泛應(yīng)用 于工業(yè)控制 電子測溫等各種溫度控制系統(tǒng)中 數(shù)字溫度傳感器中比較有代表性的有 DS18B20 等 本設(shè)計為設(shè)計方便 性能穩(wěn)定 準(zhǔn)確性高 決定選用半導(dǎo)體集成溫度傳感器 由于 DS18B20 采用的是單總線技術(shù) 不支持 I2C 總線 所以選用 AD590 模擬溫度傳感器 2 2 4 LCD 液晶驅(qū)動器的選型 方案一 LCD 字符型液晶驅(qū)動器 PCF2113 是 LCD 字符型液晶驅(qū)動器 自身帶有 I2C 接口 I2C 速率是 400khz 工 作電壓為 2 5V 到 5V 可驅(qū)動兩行 每行 12 個字符 片內(nèi)可產(chǎn)生 LCD 偏置電壓 功 耗很低且本身自帶片內(nèi) RAM 但是外圍引腳多 操作繁瑣 方案二 LED 驅(qū)動器 ZLG7290 ZLG7290是一種具有I2C接口的鍵盤及LED驅(qū)動管理器件 提供數(shù)據(jù)譯碼和循環(huán) 移位 段尋址等控制 它能夠直接驅(qū)動8位共陰式數(shù)碼管 或64只獨(dú)立的LED 并可擴(kuò) 展驅(qū)動電流和驅(qū)動電壓 本系統(tǒng)利用 I2C 總線接口 直接用數(shù)碼管顯示 所以選用 ZLG7290 可滿足要求 2 2 5 A D 轉(zhuǎn)換器的選型 考慮到選用的 A D 轉(zhuǎn)換器應(yīng)該有 I2C 總線接口 精度達(dá)到 8 位就可以滿足要求 芯片內(nèi)部應(yīng)該有多個通道來配合 I2C 總線進(jìn)行多點(diǎn)的數(shù)據(jù)采集 選用 PCF8591 芯片 2 3 總結(jié) 本章節(jié)主要介紹了系統(tǒng)的整體方案 給出了系統(tǒng)的設(shè)計方法和設(shè)計思路 同時對 系統(tǒng)中的各個器件進(jìn)行選型 為系統(tǒng)的硬件設(shè)計最好準(zhǔn)備 3 P89LPC922 單片機(jī)及 I2C 接口 3 1 P89LPC922 單片機(jī)概述 P89LPC922 是一款單片封裝的微控制器 適合于許多要求高集成度 低成本的場 合 可以滿足多方面的性能要求 P89LPC922 采用了高性能的處理器結(jié)構(gòu) 指令執(zhí)行 時間只需要 2 4 個時鐘周期 6 倍于標(biāo)準(zhǔn) 80C51 器件 P89LPC92 集成了許多系統(tǒng)級 的功能 這樣可大大地減少元件的數(shù)目 電路板面積以及系統(tǒng)的成本 LPC922 的運(yùn)算速度很快 當(dāng)操作頻率為 12MHz 時 除乘法和除法指令外 80C51CPU 的指令執(zhí)行時間為 167 333ns 同一時鐘頻率下 LPC922 的速度為標(biāo)準(zhǔn) 80C51 器件的 6 倍 只需要較低的時鐘頻率即可達(dá)到同樣的性能 這樣無疑降低了功 耗 EMI LPC922 的操作電壓范圍為 2 4 3 6V I O 口可承受 5V 可上拉或驅(qū)動到 5 5V 的電壓 它有 2 個 16 位定時 計數(shù)器 每一個定時器均可設(shè)置為溢出時觸發(fā)相應(yīng) 端口輸出或作為 PWM 輸出 LPC922 有 400kHz 字節(jié)寬度的 I2C 通信端口 可以直接 實(shí)現(xiàn) I2C 總線通信 有 8 個鍵盤中斷輸入 另加 2 路外部中斷輸入 4 個中斷優(yōu)先級 低電平復(fù)位 使用片內(nèi)上電復(fù)位時不需要外接元件 復(fù)位計數(shù)器和復(fù)位干擾抑制電路 可防止虛假和不完全的復(fù)位 另外還提供軟件復(fù)位功能 可配置的片內(nèi)振蕩器及其頻 率范圍和 RC 振蕩器選項(xiàng) 通過用戶可編程 Flash 配置位選擇 選擇 RC 振蕩器時不 需要外接振蕩器件 振蕩器選項(xiàng)支持的頻率范圍為 20KHz 12MHz 可選擇 RC 振蕩器 選項(xiàng)并且其頻率可進(jìn)行很好的調(diào)節(jié) LPC922 有可編程端口輸出模式 準(zhǔn)雙向口 開漏 輸出 推挽和僅為輸入功能模 所有口線均有 LED 驅(qū)動能力 20mA LPC922 最少有 15 個 I O 口 選擇片內(nèi)振蕩和片 內(nèi)復(fù)位時可多達(dá) 18 個 I O 口 3 1 1 芯片內(nèi)部框圖 LPC922 單片機(jī)的功能框圖如 3 1 所示 圖 3 1 功能框圖 3 3 2 引腳配置 P0 口是一個可由用戶定義輸出類型的 8 位 I O 口 在上電復(fù)位時 P0 鎖存器配置 為內(nèi)部上拉禁止的僅為輸入模式 P0 口由口配置寄存器設(shè)定為輸出或輸入模式 每一 個管腳均可單獨(dú)設(shè)定 P0 口具有鍵盤輸入中斷功能 所有管腳都具有施密特觸發(fā)輸入 引腳有 1 20 19 18 17 16 14 13 P1 是一個可由用戶定義輸出類型的 8 位 I O 口 在上電復(fù)位時 P1 鎖存器配置為內(nèi)部上拉禁止的僅為輸入模式 P1 口由口配置寄 存器設(shè)定為輸出或輸入模式 每一位均可單獨(dú)設(shè)定 P1 2 P1 3 作為輸出時為開漏 P1 5 為僅為輸入模式 所有管腳都具有施密特觸發(fā)輸入 引腳 12 11 10 9 8 4 3 2 其中 4 引腳是 RST 外部復(fù)位輸入 通過 Flash 配置選擇 作為復(fù)位管腳時 輸入的低電平會使芯片復(fù)位 I O 口和外圍功能進(jìn)入默認(rèn)狀態(tài) 處理 器從地址 0 開始執(zhí)行 P3 口是一個可由用戶定義輸出類型的 2 位 I O 口 在上電復(fù)位 時 P3 鎖存器配置為內(nèi)部上拉禁止的僅為輸入模式 P3 口由口配置寄存器設(shè)定為輸出 或輸入模式 每一個管腳均可單獨(dú)設(shè)定 所有管腳都具有施密特觸發(fā)輸入 3 4 I O 口 LPC922 有 3 個 I O 口 P0 P1 和 P3 P0 和 P1 為 8 位 I O 口而 P3 為 2 位 I O 口 I O 口的具體數(shù)目取決于所選擇的振蕩和復(fù)位方式 具體如表 3 1 表 3 1 可用的 I O 口數(shù)目 時鐘源復(fù)位選項(xiàng)I O 口數(shù)目 無外部復(fù)位上電時除外18片內(nèi)振蕩器或 看門狗振蕩器使用外部復(fù)位腳 RST17 無外部復(fù)位上電時除外17 外部時鐘輸入 使用外部復(fù)位腳 RST16 無外部復(fù)位上電時除外16低 中 高速振蕩器 外部晶振或諧振器使用外部復(fù)位腳 RST15 3 4 1 I O 端口配置 除了 3 個口 P1 2 P1 3 和 P1 5 以外 LPC922 其他所有的 I O 口均可由軟件配 置成 4 種輸出類型之一 四種輸出類型分別為 準(zhǔn)雙向口 標(biāo)準(zhǔn) 8051 輸出模式 PXM1 Y 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 只能作為輸入口 無法進(jìn)行配置 P1 2 SCL T0 和 P1 3 SDA INT0 只能配置為輸入口或開漏口 3 4 2 準(zhǔn)雙向口輸出配置 準(zhǔn)雙向口輸出類型可用作輸出和輸入功能而不需重新配置口線輸出狀態(tài) 這是因 為當(dāng)口線輸出為 1 時驅(qū)動能力很弱 允許外部裝置將其拉低 當(dāng)管腳輸出為低時 它 的驅(qū)動能力很強(qiáng) 可吸收相當(dāng)大的電流 準(zhǔn)雙向口除了有三個上拉晶體管適應(yīng)不同的 需要外 其特性和開漏輸出有些相似 LPC922 為 3V 器件 但管腳可承受 5V 電壓 在準(zhǔn)雙向口模式中如果用戶在管腳 加上 5V 電壓將會有電流從管腳流向 VDD 這將導(dǎo)致額外的功率消耗 因此建議不要在 準(zhǔn)雙向口模式中向管腳施加 5V 電壓 準(zhǔn)雙向口帶有一個施密特觸發(fā)輸入以及一個干擾抑制電路 3 4 3 開漏輸出配置 當(dāng)口線鎖存器為 0 時 開漏輸出關(guān)閉所有的上拉晶體管而僅驅(qū)動端口的下拉晶體 管 作為一個邏輯輸出時這種配置方式必須有外部上拉 一般通過電阻外接到 VDD 開漏端口帶有一個施密特觸發(fā)輸入以及一個干擾抑制電路 3 4 4 僅為輸入配置 該配置無輸出驅(qū)動器 它帶有一個施密特觸發(fā)輸入口以及一個干擾抑制電路 3 4 5 推挽輸出配置 推挽輸出配置的下拉結(jié)構(gòu)和開漏輸出以及準(zhǔn)雙向口的下拉結(jié)構(gòu)相同 但當(dāng)鎖存器 為 1 時提供持續(xù)的強(qiáng)上拉 推挽模式一般用于需要更大驅(qū)動電流的情況 推挽管腳帶有一個施密特觸發(fā)輸入以及一個干擾抑制電路 3 5 中斷 LPC922 采用 4 中斷優(yōu)先級結(jié)構(gòu) 這為 P89LPC922 的多中斷源的處理提供了極大 的靈活性 LPC922 支持 12 個中斷源 外部中斷 0 和 1 定時器 0 和 1 串口 Tx 串 口 Rx 組合的串口 Tx Rx 掉電檢測 看門狗 實(shí)時時鐘 I2C 鍵盤中斷和比較器 1 和 2 任何一個中斷源均可通過對 IEN0 和 IEN1 中相應(yīng)的位置位或清零 實(shí)現(xiàn)單獨(dú)使能 或禁止 IEN0 中還包含了一個全局禁止位 EA 它可禁止所有中斷 每個中斷源都可被單獨(dú)設(shè)置為四個中斷優(yōu)先級之一 分別通過清零或置位 IP0 IP0H IP1 IP1H 中相應(yīng)位來實(shí)現(xiàn) 00 最低優(yōu)先級 11 最高優(yōu)先級 一個中斷服務(wù)程序可響應(yīng)更高級的中斷 但不能響應(yīng)同優(yōu)先級或低級中斷 最高級中 斷服務(wù)程序不響應(yīng)其它任何中斷 如果兩個不同中斷優(yōu)先級的中斷源同時申請中斷時 響應(yīng)較高優(yōu)先級的中斷申請 如果兩個同優(yōu)先級的中斷源同時申請中斷 那么通過一個內(nèi)部查詢順序序列確定 首先響應(yīng)哪一個中斷請求 這叫做仲裁隊列 3 6 I2C 總線接口 3 6 1 概述 I2C 全稱 inter integrated chips 是一種串行通信協(xié)議 專利權(quán)歸屬于 Philips 公 司 I2C 有三種速度模式 標(biāo)準(zhǔn)模式 0 100kbps 快速模式 0 400kbps 高速 模式 0 3 4Mbps 有嚴(yán)格的規(guī)范 如接口的電氣特性 信號時序 信號傳輸?shù)亩?義 總線狀態(tài)設(shè)置 總線管理規(guī)則及總線狀態(tài)處理等 LPC922 器件提供字節(jié)方式的 I2C 接口所支持的最大數(shù)據(jù)傳輸速率為 400kHz I2C 總線用兩條線 SDA 和 SCL 在總線和器件之間傳遞信息 I2C 總線的傳輸模式 是主機(jī)和從機(jī)之間為雙向數(shù)據(jù)傳送 這樣主機(jī)和從機(jī)之間可以相互訪問 I2C 總線也是 多主機(jī)總線 它不存在中央主機(jī) 在總線上的器件都可以當(dāng)做主機(jī)來發(fā)送數(shù)據(jù) 多主 機(jī)同時傳送時進(jìn)行仲裁來避免總線上數(shù)據(jù)沖突 而且串行時鐘同步使得不同位速率的 器件可以通過一條串行總線進(jìn)行通信 典型的 I2C 總線配置如圖 3 2 所示 VCC Rp Rp LPC922 SDA SCL SCL A D轉(zhuǎn)換 SDASCL LED驅(qū)動 SDA SCL I2C總線 圖 3 2 I2C 總線配置 3 6 2 I2C 特殊功能寄存器描述 I2DAT 包含要發(fā)送的數(shù)據(jù)或剛接收的數(shù)據(jù) 當(dāng) 8 位直接尋址寄存器沒有處理移位 數(shù)據(jù)時 CPU 可對其進(jìn)行讀和寫 這意味著用戶只能在 SI 置位時對 I2DAT 進(jìn)行訪問 I2DAT 中的數(shù)據(jù)在 SI 置位時一直保持不變 I2DAT 中的數(shù)據(jù)總是從右向左移位 寄存 器各位如圖 3 3 I2DAT 7I2DAT 1I2DAT 2I2DAT 3I2DAT 4I2DAT 5I2DAT 6I2DAT 0 不可位尋址 復(fù)位源 任何復(fù)位 復(fù)位值 00000000B I2DAT 地址 DAH 7 6 5 4 3 2 1 0 圖 3 3 I2C 數(shù)據(jù)寄存器 CPU 可以對 I2ADR 寄存器進(jìn)行讀或?qū)懖僮?該寄存器僅在 I2C 處于從模式下才使 用 在主模式中該寄存器的內(nèi)容無效 I2ADR 的最低位 LSB 為通用調(diào)用位 當(dāng)該位置 位時對通用調(diào)用地址 00H 進(jìn)行識別 寄存器各位功能如圖 3 4 I2ADR 1I2ADR 2I2ADR 3I2ADR 4I2ADR 5I2ADR 6GC 不可位尋址 復(fù)位源 任何復(fù)位 復(fù)位值 00000000B I2ADR 地址 DBH 7 6 5 4 3 2 1 0 I2ADR 7 位 符號 功能 I2ADR 7 1 I2ADR 6 0 七位自身從地址 當(dāng)處于主模式時 改寄存器內(nèi)容無效 I2ADR 0 GC 通用調(diào)用位 置位時 對通用調(diào)用地址進(jìn)行識別 否則忽略 圖 3 4 I2C 從地址寄存器 CPU 對 I2CON 寄存器進(jìn)行讀或?qū)懖僮?見圖 3 5 其中兩個位受硬件影響 SI 和 STO 位 SI 由硬件置位而 STO 位由硬件清零 當(dāng) I2C 處于主模式時 CRSEL 決定 SCL 的頻率 在從模式中 該位被忽略并自動 與主 I2C 器件的時鐘頻率 最大 400KHz 同步 當(dāng) CRSEL 1 時 I2C 接口將定時器 1 的溢出速率的 1 2 作為 I2C 的實(shí)鐘頻率 定時器 1 在 8 位自動重裝模式 模式 2 中由 用戶編程 AASISTOSTAI2ENCRSEL 可位尋址 復(fù)位源 任何復(fù)位 復(fù)位值 x00000 x0B I2CON 地址 D8H 7 6 5 4 3 2 1 0 位 符號 功能 I2CON 7 保留將來之用 用戶不要將其置1 I2CON 6 I2EN I2C接口使能 該位為0時 I2C功能被禁止 P1 3 SDA和P1 2 SCL可作為通用 I O 口 該位置位時 使能I2C接口 I2CON 5 STA 起始標(biāo)志 STA 1 I2C進(jìn)入主模式 檢測I2C總線當(dāng)總線空閑時產(chǎn)生一個起始條 件 也能產(chǎn)生重復(fù)起始條件 STA 0 不會產(chǎn)生起始或重復(fù)起始條件 I2CON 4 STO 停止標(biāo)志 STO 1 在主模式中 向 I2C發(fā)送一個停止條件 在從模式中 可以從 錯誤狀態(tài)中恢復(fù) 停止標(biāo)志由硬件自動清零 I2CON 3 SI I2C中斷標(biāo)志 當(dāng)進(jìn)入25種可能的I2C狀態(tài)中的任意一個 該位置位 當(dāng)EA EI2C 以及SI置位時產(chǎn)生中斷 該位通過軟件清零 I2CON 2 AA 聲明應(yīng)答標(biāo)志位 I2CON 1 保留將來之用 用戶不要將其置1 I2CON 0 CRSEL SCL時鐘選擇 CRSEL 1 定時器1溢出產(chǎn)生SCL CRSEL 0 使用內(nèi)部SCL發(fā)生 器 圖 3 5 I2C 控制寄存器 I2STAT 寄存器是個 8 位只讀寄存器 見圖 3 6 它包含了 I2C 接口的狀態(tài)代碼 最低 3 位總是為 0 I2C 一共有 26 種可能的狀態(tài) 當(dāng)代碼為 F8 時表示無可用的相關(guān)狀 態(tài)信息 SI 也不會置位 所以其他 25 種狀態(tài)碼都對應(yīng)一個已定義的 I2C 狀態(tài) 進(jìn)入任 何一個狀態(tài)時 SI 都會置位 00STA 0STA 1STA 2STA 30 不可位尋址 復(fù)位源 任何復(fù)位 復(fù)位值 11111000B I2STAT 地址 D9H 7 6 5 4 3 2 1 0 STA 4 位 符號 功能 STA 7 3 STA 4 0 I2C的狀態(tài)代碼 STA 2 0 這3位未用并設(shè)置為0 圖 3 6 I2C 狀態(tài)寄存器 當(dāng)設(shè)置 CRSEL 0 以選擇內(nèi)部 SCL 發(fā)生器作為 I2C 接口的時鐘源時 用戶必須對 I2SCLH 和 I2SCLL 進(jìn)行設(shè)置以選擇合適的數(shù)據(jù)傳輸速率 I2SCLH 定義 SCL 高電平的 PCLK 周期數(shù) I2SCLL 定義 SCL 低電平的 PCLK 周期數(shù) 頻率由下面的公式?jīng)Q定 3 1 SCLL2ISCLH2I 2 Fpclk 位速率 式中 Fpclk表示 PCLK 的頻率 用戶可以通過設(shè)置這兩個寄存器得到不同的 SCL 占空比 但寄存器的值必須確保 I2C 數(shù)據(jù)傳輸速率范圍為 0 400kHz 因此對 I2SCLH 和 I2SCLL 的值有一些限制 建議兩個寄存器的取值都應(yīng)大于 3 個 PCLK 周期 3 6 3 I2C 操作模式 I2C 操作模式有 主發(fā)送器模式 主接收器模式 從接收器模式和從發(fā)送器模式 在這里介紹主發(fā)送器模式 在該模式中 數(shù)據(jù)從主機(jī)發(fā)送到從機(jī) 在進(jìn)入主發(fā)送器模式之前 I2CON 必須將 I2EN 置位使能 I2C 功能 STA STO 和 SI 必須設(shè)置為 0 CRSEL 定義串行位速率 如 果 AA 位為 0 而另一個器件成為總線的控制器時 I2C 將不會對它自身的從地址或通 用調(diào)用地址產(chǎn)生應(yīng)答 換句話說 如果 AA 復(fù)位 I2C 不能進(jìn)入從模式 第一個發(fā)送的數(shù)據(jù)包含接收器件的從地址 7 位 和數(shù)據(jù)方向位 在此模式下 數(shù) 據(jù)方向位 R W 為 0 表示執(zhí)行寫操作 因此第一個發(fā)送的字節(jié)為 SLA W 數(shù)據(jù)每次 發(fā)送 8 位 每發(fā)送一個字節(jié) 都接收到一個應(yīng)答位 起始和停止條件用于指示串行傳 輸?shù)钠鹗己徒Y(jié)束 通過置位 STA 進(jìn)入 I2C 主發(fā)送模式 I2C 邏輯在總線空閑后立即發(fā)送一個起始條 件 當(dāng)發(fā)送完起始條件后 SI 置位 此時狀態(tài)寄存器 I2STAT 中的狀態(tài)代碼應(yīng)當(dāng)為 08H 該狀態(tài)碼用于指向一個中斷服務(wù)程序 該中斷程序?qū)牡刂泛蛿?shù)據(jù)方向位 SLA W 裝入 I2DAT SI 位必須在數(shù)據(jù)傳輸能夠進(jìn)行之前清零 當(dāng)從地址和方向位已經(jīng)發(fā)送且接收到應(yīng)答位之后 SI 位再次置位 并且對于主模 式 可能的狀態(tài)代碼為 18H 20H 或 38H 圖 3 7 為主發(fā)送器模式和從接收器模式的發(fā) 送格式 圖 3 7 主發(fā)生器和主接收器模式格式 在圖中 各種符號的意義為 S 開始位 START SLA 從機(jī)地址 Slave Address 7 位從機(jī)地址 W 寫標(biāo)志位 Write 1 位寫標(biāo)志 R 讀標(biāo)志位 Read 1 位讀標(biāo)志 A 應(yīng)答位 Acknowledge 1 位應(yīng)答 非應(yīng)答位 Not Acknowledge 1 位非應(yīng)答 A D 數(shù)據(jù)位 DATA 每個數(shù)據(jù)都必須是 8 位 P 停止位 STOP 陰影 主機(jī)產(chǎn)生的信號 無陰影 從機(jī)產(chǎn)生的信號 每個狀態(tài)代碼對應(yīng)的執(zhí)行動作見表 3 1 表 3 1 主發(fā)送器模式 寫 I2CON 狀態(tài)代碼 I2STAT I2C 總線 硬件狀態(tài) STASTOSIAA 硬件執(zhí)行 的下一個動作 08H已經(jīng)發(fā)送起始條件x00 x 將發(fā)送 SLA W 接收 ACK 位 18H 已經(jīng)發(fā)送 SLA W 已經(jīng)接收到 ACK 20H 已經(jīng)發(fā)送 SLA W 已經(jīng)接收到非 ACK 28H 已經(jīng)發(fā)送 I2DAT 中 的數(shù)據(jù)字節(jié) 已接 收 ACK 30H 已經(jīng)發(fā)送 I2DAT 中 的數(shù)據(jù)字節(jié) 已接 收非 ACK 0 1 0 1 0 0 1 1 0 0 0 0 x x x x 將發(fā)送數(shù)據(jù)字節(jié) 接收 ACK 位 將發(fā)送重復(fù)起始條件 將發(fā)送停止條件 STO 標(biāo)志 將復(fù)位 將發(fā)送停止條件 然后發(fā)送 起始條件 STO 標(biāo)志將復(fù)位 38H 在 SCL R W 或數(shù)據(jù) 字節(jié)中丟失仲裁 0 1 0 0 0 0 x x I2C 總線被釋放 進(jìn)入不可尋 址從模式 當(dāng)總線為空閑時 發(fā)送起始條件 3 7 總結(jié) 本章節(jié)主要介紹了核心 MCU LPC922 單片機(jī)的特性以及片內(nèi)資源 還有對其內(nèi)部 的I2C總線接口相關(guān)的寄存器如何配置來確保I2C總線的通信 4 硬件電路設(shè)計 4 1 單片機(jī)控制電路 本設(shè)計中采用 Philips LPC922 單片機(jī)作為主控器 配以外部 RC 復(fù)位電路和晶振電 路構(gòu)成了單片機(jī)系統(tǒng) 晶體振蕩電路在微控制器系統(tǒng)中非常重要 它決定了整個微控制器系統(tǒng)能否穩(wěn)定 工作 P89LPC922 提供幾個可由用戶選擇的振蕩器選項(xiàng) 這樣就滿足了從高精度到低 成本的不同需求 這些選項(xiàng)在對 Flash 進(jìn)行編程時配置 包括片內(nèi)看門狗振蕩器 片內(nèi) RC 振蕩器 使用外部晶振的振蕩器或外部時鐘源 晶振可選擇低 中或高頻晶振 頻 率范圍為 20KHz 到 12MHz 本系統(tǒng)中選用 6MHz 的晶振 可以保證精度達(dá)到系統(tǒng)要求 P1 5 RST 管腳可作為低有效復(fù)位輸入或數(shù)字輸入口 當(dāng) UCFG1 寄存器中的位 RPE 復(fù)位管腳使能 置位時 使能外部復(fù)位輸入功能 當(dāng)清零時 復(fù)位腳可作為一個輸 入管腳 每一個復(fù)位源在復(fù)位寄存器 RSTSRC 中都有一個對應(yīng)的標(biāo)志 用戶可讀取該寄存 器以判斷最近的復(fù)位源是哪一個 這些標(biāo)志位可通過軟件寫入 0 清零 P0 0 P0 4 鍵盤中斷口連接 5 個按鍵 用來控制的數(shù)據(jù)的傳輸和采集 單片機(jī)的外圍電路如下所示 R12 330 LED5 S1 R11 330 R13 330 R9 330 R10 330 S5 S4 S3 S2 LED1LED2LED3LED4 P00 P01 P02 P03 P04 V CC3 3 圖 4 1 單片機(jī)鍵盤電路 CMP2 P0 0 KBI0 1 P1 7 2 P1 6 3 P1 5 REST 4 V SS 5 X TAL1 P3 1 6 X TAL2 P3 0 CLKOUT 7 P1 4 8 P1 3 9 P1 2 10 P0 6 CM P1 14 RX D P1 1 11 TX D P1 0 12 T1 P0 7 13 V DD 15 CMPref P0 5 KBI5 16 CIN 1A P0 4 KBI4 17 CIN 1B P0 3 K BI3 18 CIN 2A P0 2 KBI2 19 CIN 2B P0 1 K BI1 20 P89LPC922 C1 22p C2 22p R1 10K S1 Y1 6M C3 4 7uF SDA SCL P00P01 P02 P03 P04 V CC3 3 V CC3 3 圖 4 2 單片機(jī)復(fù)位及鍵盤電路 4 2 LED 顯示模塊 數(shù)字 LED 顯示屏由顯示數(shù)字 0 9 的數(shù)碼管和驅(qū)動數(shù)碼管的芯片 ZLG7290 兩大部 分組成 ZLG7290 外圍電路包括晶振電路 復(fù)位電路和 I2C 接口電路 數(shù)碼管是 4 位 聯(lián)體式數(shù)碼管 ZLG7290 是帶有 I2C 接口鍵盤管理和顯示驅(qū)動的芯片 加入鍵盤管理可以實(shí)現(xiàn)儀 器儀表的人機(jī)對話 在圖 4 3 中 U 是 LED 驅(qū)動管理器件 ZLG7290 圖中 SegA SegDP 對應(yīng)連接數(shù)碼 管的 8 個 段 a dp DIG0 DIG7 分別連接各數(shù)碼管的 位 每個數(shù)碼管的公共端 這 里只有 4 位數(shù)碼管 故只用了 DIG0 DIG3 按照 I2C 總線協(xié)議的要求 信號線 SCL 和 SDA 上必須要分別加上拉電阻 R2 R3 其阻值是 10k 接電源 3 3V ZLG7290 需要一外接晶體振蕩電路供系統(tǒng)工作 晶振通 常取值 8MH z 調(diào)節(jié)電容 C1 和 C2 通常取值在 30pF 左右 復(fù)位信號是低電平有效 一 般只需外接簡單的 RC 復(fù)位電路 也可以通過直接拉低 RST 引腳的方法進(jìn)行復(fù)位 因 為芯片可直接驅(qū)動 LED 數(shù)碼管顯示 電流較大 且為動態(tài)掃描方式 為盡量消除電源 噪聲干擾 提高電路抗干擾能力 應(yīng)用時可在電源 VCC 的正負(fù)極間并入一個 100uF 的 電容 VCC 選用 3 3V 數(shù)碼管必須是共陰式的 不能直接使用共陽式的 這里采用 4 位聯(lián)體式數(shù)碼管 數(shù) 碼管在工作時要消耗較大的電流 RP2 是限流電阻 阻值是 220 歐姆 如果要增大數(shù)碼 管的亮度 可以適當(dāng)減小電阻值 SegA 23 SegB 24 SegC 1 SegD 2 SegE 7 SegF 8 SegG 9 SegDP 10 SCL 19 SDA 20 X2 18 X1 17 RST 15 GND 11 V cc 16 DIG7 13 DIG6 12 DIG5 21 DIG4 22 DIG3 3 DIG2 4 DIG1 5 DIG0 6 U Z LG7290 C1 30p C2 30p R1 10K Y1 8M C4 4 7uF V CC3 3 a bf c g d e dp a bf c g d e dp a bf c g d e dp a bf c g d e dp com1 6 com2 8 com3 9 com4 12 a 11 b 7 c 4 d 2 e 1 f 10 g 5 dp 3 DPY1 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 RP2 220 SegA SegA SegB SegB SegC SegC SegD SegD SegE SegE SegF SegF SegG SegG SegDP SegDP DIG0 DIG1 DIG2 DIG3 DIG3 DIG2 DIG1 DIG0 V CC3 3 C30 1u R2 10K R3 10K V CC3 3 SCL SDA 圖 4 3 LED 顯示電路電路 4 3 遠(yuǎn)程傳輸模塊 在使用I2C器件的過程中 I2C總線在應(yīng)用中常受到限制 例如 信號傳輸距離有 限 常用于一個PCB板 總線上掛接的節(jié)點(diǎn)器件有限 受容性負(fù)載最大值400pF的限制 掛接多個器件時速度只能取最低值 高速I2C器件速度發(fā)揮不出來等 I2C總線擴(kuò)展器 P82B96的開發(fā)擴(kuò)展了總線容量 從400pF擴(kuò)展到4000pF 增加了總線可支持器件的數(shù) 目 而且擴(kuò)展了通訊距離 利用線纜在I2C總線的速率為31KHz時傳輸距離可長達(dá)1000 米 P82B96是一款雙極性I2C擴(kuò)展芯片 在保持I2C系統(tǒng)的工作模式和特性不變的情況 下 通過緩沖SDA和SCL總線上的數(shù)據(jù)來擴(kuò)展通信距離 同時I2C擴(kuò)展器P82B96提供了 一種在標(biāo)準(zhǔn)I2C總線和其他總線配置間的無鎖存 雙向性的邏輯接口 它可以把I2C總 線連接到2 15V的邏輯器件上 且不受I2C總線協(xié)議的限制和時鐘速率的限制 能增加 I2C總線的傳輸距離和節(jié)點(diǎn)上的負(fù)載數(shù)目 I2C擴(kuò)展器P82B96徹底地解決了I2C總線在遠(yuǎn) 距離傳輸?shù)牟蛔?管腳描述如表 4 1 表 4 1 P82B96 管腳描述 符號管腳描述 Sx1I2C 總線 SDA 或 SCL Rx2接收信號 Tx3發(fā)送信號 GND4地 Ty5發(fā)送信號 Ry6接收信號 Sy7I2C 總線 SDA 或 SCL VCC8電源 作用為增加 I2C 通信距離時 兩個 P82B96 必須匹配使用 電路設(shè)計時必須加上拉 電阻 P82B96 的具體連接方法如圖 4 4 所示 3 3V 5V 3 3V 5V 5V SDA SCL 1 Sx 7 Sy Rx 2 Tx 3 Ty 5 Ry 6 8 Vcc GND 4 P82B96 5V 5V 3 3V 5V 5V SDA SCL Sx 1 Sy 7 2 Rx 3 Tx 5 Ty 6 Ry 8 Vcc GND 4 P82B96 長線纜 主機(jī)端遠(yuǎn)程控制端 圖 4 4 P82B96 實(shí)現(xiàn)遠(yuǎn)距離 I2C 通信 在系統(tǒng)中的應(yīng)用如下圖所示 R7 10K R6 10K R8 330 R5 330 SCL SDA SDAXSCLY V CC5V CC5V CC5 Sx 1 Rx 2 T x 3 GND 4 T y 5 Ry 6 Sy 7 V CC 8 U2 P82B96T P V CC3 3V CC3 3 圖 4 5 I2C 通信擴(kuò)展電路 4 4 電源模塊 本系統(tǒng)電源用到 3 3V 5V 兩種電源 LPC922 單片機(jī)供電需要 3 3V ZLG9270 的 工作電壓也用到 3 3V 為了降低延時 為 P82B96 提供 3 3V 5V 兩種電源 PCF8591 和 AD590 都采用 5V 供電即可 利用電池供電引出 5V 電壓 經(jīng) SPX3819 后輸出 3 3V 提供單片機(jī)的工作電壓 電路簡 單 只需在輸入輸出端分別接上 10 F 濾波電容 電路設(shè)計如圖 4 6 Error Reference source not found V in 1 V out 5 GND 2 EN 3 Byp 4 U3 SPX 3819 C11 10uF 16V C10 10uF 16V V CC3 3 J1 V CC5 圖 4 6 電源轉(zhuǎn)換電路 SPX3819 是一個具有低壓差電壓和低噪聲輸出電壓調(diào)節(jié)器 它有一個小于 1 以 下的初始誤差和邏輯兼容的 ON OFF 切換輸入 禁用時 電力消耗下降到幾乎為零 其他主要功能包括電池反向保護(hù) 限流和熱關(guān)機(jī) 它具有非常低的輸出溫度系數(shù) 輸 出設(shè)備需要一個很穩(wěn)定的電容 4 5 溫度測量模塊 本系統(tǒng)設(shè)計目的在于采集現(xiàn)實(shí)環(huán)境的溫度信息 所以需要利用單片機(jī)采集溫度傳 感器的數(shù)據(jù) 溫度傳感器使用美國模擬器件公司生產(chǎn)的 AD590 采集的信號需要經(jīng)過放 大和信號調(diào)理 再傳送到 A D 轉(zhuǎn)換器 PCF8951 即把模擬信號轉(zhuǎn)換成數(shù)字信號 轉(zhuǎn)換 后通過 I2C 總線傳輸給處理中心 4 5 1 A D 轉(zhuǎn)換器 PCF8591 PCF8591 是一款單電源 低功耗 8 位 COMS 型 A D D A 轉(zhuǎn)換芯片 它具有 4 路 模擬量輸入通道 一路模擬量輸出通道和 1 個 I2C 總線接口 該器件 I2C 從地址的低三 位由芯片的 A0 A1 和 A2 三個地址引腳決定 所以在不增加任何硬件的情況下同一條 I2C 總線最多可以連接 8 個同類型的器件 該器件具有多路模擬量輸入 片上跟蹤保持 8 位 A D 轉(zhuǎn)換和 8 位 D A 轉(zhuǎn)換等功能 A D 與 D A 的最大轉(zhuǎn)換速率由 I2C 總線的最大 傳輸速率決定 PCF8591 采用的是單電源供電 正常工作電源電壓范圍為 2 5V 6V 重要的是通 過 I2C 總線完成數(shù)據(jù)的輸入 輸出 采樣頻率是由 I2C 總線傳輸速率決定的 PCF8591 進(jìn)行數(shù)據(jù)轉(zhuǎn)換時需要外接一參考電壓 PCF8591 采用典型的 I2C 總線接口器件尋址方法 即總線地址由器件地址 引腳 地址和方向位組成 飛利蒲公司規(guī)定 A D 器件地址為 1001 引腳地址為 AAA012 其 值由用戶選擇 因此 I2C 系統(tǒng)中最多可接2 3 8 個具有 I2C 總線接口的 A D 器件 地址 的最后一位為方向位 WR 當(dāng)主控器對 A D 器件進(jìn)行讀操作時為 1 進(jìn)行寫操作時為 0 總線操作時 由器件地址 引腳地址和方向位組成的從地址為主控器發(fā)送的第一字 節(jié) 在進(jìn)行數(shù)據(jù)操作時 首先是主控器發(fā)出起始信號 然后發(fā)出讀尋址字節(jié) 被控器 做出應(yīng)答后 主控器從被控器讀出第一個數(shù)據(jù)字節(jié) 主控器發(fā)出應(yīng)答 主控器從被控 器讀出第二個數(shù)據(jù)字節(jié) 主控器發(fā)出應(yīng)答 一直到主控器從被控器中讀出第 n 個數(shù)據(jù) 字節(jié) 主控器發(fā)出非應(yīng)答信號 最后主控器發(fā)出停止信號 4 5 2 溫度傳感器 AD590 集成溫度傳感器實(shí)質(zhì)上是一種半導(dǎo)體集成電路 它是利用晶體管的b e結(jié)壓降的不 飽和值Vbe與熱力學(xué)溫度T和通過發(fā)射極電流I的下述關(guān)系實(shí)現(xiàn)對溫度的檢測 ln I be q KIT V 4 1 式中 K 波爾茲常數(shù) q 電子電荷絕對值 AD590 是美國模擬器件公司生產(chǎn)的單片集成兩端感溫電流源 流過器件的電流 mA 等于器件所處環(huán)境的熱力學(xué)溫度 開爾文 度數(shù) 即 K mA r T I 1 4 2 式中 Ir 流過器件 AD590 的電流 單位為mA T 熱力學(xué)溫度 單位為K AD590的測溫范圍為 55 150 電源電壓范圍為4V 30V 其輸出電流是以絕 對溫度零度 273 為基準(zhǔn) 每增加1 它會增加1 A輸出電流 AD590可以承受44V 正向電壓和20V反向電壓 因而器件反接也不會被損壞 AD590精度很高 在 55 150 范圍內(nèi) 非線性誤差為 0 3 溫度測量電路如下 AIN0 1 AIN1 2 AIN2 3 AIN3 4 A0 5 A1 6 A2 7 V SS 8 SDA 9 SCL 10 OSC 11 EX T 12 AGND 13 V REF 14 AOUT 15 V DD 16 U4 PCF8591 SDA SCL R3D1 Z ENER3 V DD 1 V SS 3 V out 2 U1 AD590 R1 1 2K R

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論