張元浩 劉 歡 李 鑫
(沈陽化工大學 信息工程學院,沈陽 110142)
近年來,隨著電子產品的不斷升級,人們對低功耗設計越來越重視,使得功耗成為衡量電子產品設計是否成功的一項重要指標[1]。例如,智能手機、筆記本電腦和智能儀表等電子產品,人們希望它們耗電少,工作時間長。因此,電子產品的低功耗設計成為一個重要課題。
本研究以溫度采集報警系統(tǒng)的低功耗設計為主要目的,通過各模塊的電路設計和軟件編程,在保證溫度測量精度的基礎上有效降低系統(tǒng)功耗,為進一步設計更低功耗的溫度采集報警系統(tǒng)奠定基礎。
系統(tǒng)由MSP430單片機、時鐘模塊、溫度檢測模塊、全球移動通信系統(tǒng)(Global System for Mobile Communications,GSM)模塊、按鍵模塊和顯示模塊等部分構成,如圖1所示。
系統(tǒng)工作時,溫度傳感器把采集的溫度信息通過單總線傳給單片機,經單片機分析處理后,將實時溫度通過液晶顯示器(Liquid Crystal Display,LCD)模塊顯示。當溫度超過設置的報警閾值時,則進行報警。單片機通過時鐘模塊獲得時間信號。此外,設計的按鍵模塊可以實現(xiàn)溫度與時間顯示的切換以及按鍵喚醒功能。
作為系統(tǒng)的控制核心,單片機選擇TI公司推出的16位MSP430單片機。該單片機不僅功耗極低,而且具有運算速度快、處理能力強的優(yōu)點,多應用于便攜式智能儀表。
MSP430單片機的供電電壓為1.8~3.6 V,工作電流非常小。RAM保持模式下,它的電流僅為0.1 μA。實時時鐘模式下,它的電流為0.7 μA。工作模式下,它的電流為200.0 μA,并可在6 μs之內從待機模式下快速喚醒。MSP430單片機集成了超低功耗Flash存儲器、多個不同性能的數(shù)模電路和一個16位超低功耗精簡指令集(RISC)CPU。在25 MHz晶體驅動下,它的指令周期為40 ns,且在一個指令周期內可以完成大部分指令[2]。另外,MSP430單片機內部資源豐富,使用時方便靈活。
實時時鐘采用低功耗、高性能、帶RAM的DS1302芯片。DS1302芯片可以準確計時,且具有閏年自動補償功能[3]。它與單片機之間采用三線接口進行同步通信,在保持數(shù)據和時鐘信息時的功率小于1 mW。時鐘模塊電路圖,如圖2所示。
溫度檢測采用數(shù)字溫度傳感器DS18B20。DS18B20與單片機之間僅通過一條口線即可實現(xiàn)雙向通信,測溫范圍是-55~+125 ℃,可編程分辨率為9~12位[4],其中在12位分辨率下把溫度轉換為數(shù)字的時間不超過750 ms。分辨溫度可以根據需要,在0.500 0 ℃、0.250 0 ℃、0.125 0 ℃和0.062 5 ℃進行合理選擇。它不僅測量范圍廣,測量精度高,而且實時性高。
采用HT1621D驅動LCD顯示。HT1621D是一個128段(32×4)的存儲器映射多功能LCD驅動器。電路上電復位,通過片選、讀、寫端對RAM進行操作,并通過命令端設置狀態(tài)。該電路的各個掃描端相互獨立,容易修改RAM數(shù)據,因此顯示內容靈活。此外,HT1621D設置有省電命令,能有效降低功耗。
GSM模塊采用尺寸較小的SIM800L,采用省電技術設計,休眠模式下的電流低至1.11 mA,性能優(yōu)于SIM900/M590,支持中國移動、中國聯(lián)通,自適應波特率檢測范圍為1 200~115 200 b·s-1。串口為晶體管-晶體管邏輯(Transistor-Transistor Logic,TTL)串口,可以與單片機直接連接,不需要MAX232。它可以自動尋找網絡,有一個小的發(fā)光二極管(Light Emitting Diode,LED)燈來展示搜尋網絡狀態(tài),可以很直觀地展示網絡狀態(tài)。系統(tǒng)發(fā)送短信利用的是AT命令集接收口[5],僅通過40引腳的ZIF連接器即可實現(xiàn)電源連接、控制信號的雙向傳輸?shù)榷囗棌碗s功能。
該模塊設計6個按鍵,分別是K1、K2、K3、K4、K5和K6。其中:K1和K2鍵用于時鐘設置,包括設置時鐘的年、月、日、時、分;K3和K4鍵用于溫度報警閾值的設置,包括“溫度加”和“溫度減”;K5鍵的功能是進行溫度與時間顯示的切換;K6鍵具有系統(tǒng)喚醒功能,當按下按鍵時,系統(tǒng)中斷,由單片機向NPN型晶體管基極提供高電平使三極管導通,DS18B20和LCD通電工作。按鍵模塊電路如圖3所示。
軟件設計對降低系統(tǒng)的功耗具有重要作用。一方面,對每個信號的翻轉或者對外部存儲器的訪問都由軟件控制,所以在設計軟件時應多使用內部cache和寄存器變量,盡量減少對外存的訪問次數(shù)。另一方面,要及時響應中斷[6]。系統(tǒng)軟件由主程序、測溫子程序、GSM子程序、時鐘子程序、LCD顯示子程序和按鍵子程序組成。它以主程序作為核心,其他子程序依照主程序進行設計。主程序用于系統(tǒng)初始化,進入主循環(huán)程序后進行溫度檢測,并判斷溫度是否超過報警閾值、讀時鐘和顯示等方面的控制。主程序流程如圖4所示。
系統(tǒng)在控制器的選取、各模塊硬件設計和軟件編程方面均以低功耗為主要目的,有效降低了系統(tǒng)功耗。此外,系統(tǒng)成本較低,功能實用,測量精度高,數(shù)字時鐘實時顯示,性能穩(wěn)定可靠。在當前人們對低功耗設計要求越來越高的趨勢下,該系統(tǒng)具有良好的推廣應用價值。