一種基于DS18B20的溫度采集新方案
在本課題中DS18B20采用寄生電源供電,單片機(jī)選用AVR單片機(jī)-Atmega16。之所以選擇AVR單片機(jī),是因?yàn)槠渚哂?1單片機(jī)無法提供的優(yōu)點(diǎn):a.讀寫速度快,AVR單片機(jī)采用了大型快速存取寄存器文件和快速單周期指令。其快速存取RISC寄存器文件由32個(gè)通用工作寄存器組成。AVR用32個(gè)通用寄存器代替累加器,避免了傳統(tǒng)的累加器與存儲(chǔ)器之間的數(shù)據(jù)傳送,可在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條指令來訪問兩個(gè)獨(dú)立的寄存器,代碼效率比常規(guī)CISC微控制器快十倍。高效的讀寫速度,更適合于對(duì)及時(shí)性要求高的場合。b.性價(jià)比高。c.工作電壓范圍寬(2.7~6V)、抗干擾能力強(qiáng),這樣更適合在各種條件下處理測量溫度值。總之,AVR單片機(jī)在一個(gè)芯片內(nèi)將增強(qiáng)性能的RISC 8位CPU與可下載的FLA-SH相結(jié)合使其成為適合于許多要求、具有高度靈活性和低成本的嵌入式高效微控制器。
圖4給出了DS18B20采用外部電源供電方式時(shí),與Atmega16單片機(jī)的硬件連接圖。
3 DS18B20更新問題的解決方案
本課題在深入研究了數(shù)字傳感器工作機(jī)理的基礎(chǔ)上,通過硬件設(shè)計(jì)和軟件編程,提出了解決數(shù)字傳感器更換的方案,并應(yīng)用在了通過無線傳感器網(wǎng)絡(luò)遠(yuǎn)程控制傳感器的設(shè)計(jì)中,而且在硬件平臺(tái)上實(shí)現(xiàn)了仿真。圖5是通過Proteus 7單片機(jī)軟件仿真系統(tǒng)設(shè)計(jì)的,單片機(jī)控制DS18-B20并顯示測試結(jié)果的電路圖。
3.1 硬件設(shè)計(jì)
單片機(jī)通過I/O口控制DS18B20,每個(gè)I/O口外接60個(gè)DS18B20,同時(shí)單片機(jī)通過SPI串行接口外接外部存儲(chǔ)器EEPROM,如圖6所示。
本課題中,外部存儲(chǔ)器EEPROM選用意法半導(dǎo)體(ST)生產(chǎn)的M95128;選用Atmega16單片機(jī)。DS18B20采用外部電源供電方式,所以VCC接外部電源,GDN接地。
M95128芯片采用MLP8微型封裝技術(shù),因此,可以大大節(jié)省產(chǎn)品的空間和成本;待機(jī)功耗低于3μA,也是該芯片的一大特點(diǎn);四線的SPI接口支持最高 2 Mbit/s的通信速率,除提供標(biāo)準(zhǔn)的硬件寫保護(hù)功能外,還支持軟件寫保護(hù)。外部存儲(chǔ)器EEPROM用來存放單片機(jī)控制的所有DS1-8B20的序列號(hào),和對(duì)應(yīng)的邏輯地址。一個(gè)DS18B20的序列號(hào)占八個(gè)字節(jié),所以一路數(shù)據(jù)線上所接DS18B20溫度傳感器的個(gè)數(shù)與外部存儲(chǔ)器EEPR-OM的存儲(chǔ)空間有關(guān)。M95128芯片的容量達(dá)128kbit,可以存儲(chǔ)13107個(gè)DS18B20的序列號(hào)和對(duì)應(yīng)的邏輯地址,足以滿足本課題的需要。
單片機(jī)Atmega16的PB5(MOSI)口接EEPROM的DI(數(shù)據(jù)輸入)口,PB6(MISO)口接DO(數(shù)據(jù)輸出)口,PB7(SCK) 口接SK(讀寫時(shí)鐘信號(hào)輸入引腳)。單片機(jī)讀到每個(gè)DS18B20的序列號(hào)后,通過PB5口將序列號(hào)和對(duì)應(yīng)的邏輯地址寫入EEPROM中。需要某個(gè)邏輯地址對(duì)應(yīng)的序列號(hào)時(shí),EEPROM通過DO口將序列號(hào)傳入單片機(jī)中。
評(píng)論