胡龍偉
摘 要:本文基于MSP430單片機理論,發揮其“低功耗”的特性,以MSP430F149單片機為核心部件、ZLG7290 I2C接口鍵盤/LED驅動器為輸入/顯示設備的系統構架設計開發硬件。
關鍵詞:定時開關;低功耗;單片機;MSP430F149
引言
定時開關應用于生產生活的諸多領域。但是,目前市場上大量使用的定時開關系統,控制對象單一,定時時間不可調節。比如說,有的只能控制路燈,有的只能控制單一生產設備等。然而現如今可編程邏輯器件、單片計算機等的蓬勃發展,不但填補了上述欠缺,而且使其應用領域進一步擴大,應用深度也進一步加深。
可編程定時開關[1]的實現方案具有極高的可定制性,有基于簡單的C51單片計算機實現的,也有基于可編程邏輯器件FPGA實現的,甚至有基于PC(個人計算機)實現的,但最普遍的還是基于單片機來實現的。單片機實現可編程定時開關控制設計簡潔,效果良好,成本低廉。本設計主要通過MSP430F149單片機實現功能。
1 MSP430F149單片機的說明[2]
為了得到最容易實現設計目標且性價比高的機型,在芯片的選型上,主要需考慮系統功耗資源要求、芯片功能要求(考慮引腳、體積)以及系統存儲器容量的要求。
MSP430F149單片機集中體現了現代單片機先進的低功耗設計理念,其設計結構完全以系統低功耗運行為核心。單片機采用FLASH存儲器作為程序代碼及信息存儲,因此可實現多次的寫入和擦除,也可實現在線寫入,且存儲空間大,其中ROM為60K,RAM為2K。在單片機內集成了一個12位精度、高效通用的A/D轉換模塊,即數據采集子系統。片內有一個硬件乘法器,是一個16位的外圍模塊,它并不集成于CPU中,因此它的運算獨立于CPU,也不需要特殊的指令。片內有2個串行通訊接口,支持通用異步協議(UART協議)和同步協議(SPI協議)。片內有2個16位的定時器,且帶有多個捕獲/比較寄存器,這樣寄存器的使用將更加靈活。 MSP430F149單片機具有強大的擴展功能,具有48個I/O引腳,每個I/O口分別對應輸入、輸出、功能選擇、中斷等多個寄存器,使得功能口和通用I/O口可以復用,大大增強了端口功能和靈活性,提高了對外圍設備的開發能力。
2 ZLG7290 芯片的說明[3]
本設計的輸入/顯示部分采用ZLG7290 I2C接口鍵盤及LED驅動器。該芯片能自動完成8位LED數碼管的動態掃描和(最多)64按鍵檢測掃描,大大減輕單片機的用于顯示/鍵盤的工作時間和程序負擔,使集中資源用于信號的檢測和控制。
ZLG7290可采樣64個按鍵或者傳感器,可檢測每個按鍵的連擊次數。因此,該器件具有很好的鍵盤去抖動處理、雙鍵互鎖處理、連擊鍵處理以及功能鍵處理能力。
ZLG7290提供兩種控制方式:寄存器映像控制和命令解釋控制。寄存器映像控制是指直接訪問底層寄存器(除通信緩沖區外的寄存器),實現基本控制功能;命令解釋控制是指通過解釋命令緩沖區中的指令,間接訪問底層寄存器實現擴展控制功能,如實現寄存器的位操作,對顯示緩存循環、移位,對操作數譯碼等操作。
ZLG7290 I2C接口鍵盤及LED驅動器具有I2C 串行接口,可以提供鍵盤中斷信號以方便地用于處理器接口。再次,它能夠驅動8位共陰數碼管或者64只獨立的LED和64個按鍵,可以同時控制掃描位數以及任一數碼管的閃爍。芯片提供數據譯碼和循環、移位、段尋址等控制,無需外接元件便直接驅動LED數碼管,可擴展驅動電流和驅動電壓。鍵盤具有 8個功能鍵,可檢測任一鍵的連擊次數。
3 可編程定時開關設計的模型建立[4]
基于MSP430F149單片機的定時開關實現方案采用MSP430F149單片機作為核心控制部件,顯示和輸入部分采用的是ZLG7290 I2C接口鍵盤及LED驅動器,供電采用3.3V直流電源。
MSP430F149單片機保證了系統在低功耗狀態下實現定時控制;ZLG7290 I2C接口鍵盤具有很好的鍵盤去抖動處理、雙鍵互鎖處理、連擊鍵處理以及功能鍵處理能力,能夠將一部分原先需要由軟件實現的功能交給了內置硬件去實現,使得程序大大簡化;LED數碼管分左右共8位,左邊4位用于顯示定時時間,右邊4位用于計數顯示,計時以“秒”作為單位;一般基于MSP430F149單片機實現的系統供電都需要5V和3.3V兩種,5V供應外設,3.3V供應CPU以及相應的外設,本系統結構較簡單,因此只提供3.3V電壓。
圖1所示是可編程定時開關系統的基本模型。按下ZLG7290 I2C接口鍵盤“數字”鍵鍵入定時時間并在左邊數碼管顯示,然后按下“開始”鍵,MSP430F149單片機開始計時,并將計數通過ZLG7290的右邊數碼管顯示電路加以呈現,定時時間到,發光二極管呈現閃爍效果。
5 硬件電路設計
MSP430F149單片機系統電路[5]如圖2所示。單片機片內有XC1和XC2兩個晶體可供選擇,如圖3所示,本次設計采用了一種比較普遍的連接方式:XIN和XOUT連接時鐘晶體超低速晶體32,768Hz,XIN2和XOUT2連接8MHz的高速晶體。
另外,電路還包括簡易仿真器JTAG下載線以及RC復位電路。為了使系統上電后能很好地復位,處于更穩定的運行狀態,在包含了控制器的電路系統中,都有對應的復位電路。在大多數的MSP430系統中,一般都采用專門的復位芯片來提高系統的穩定性和可靠性。本系統對運行速度要求不高,也并不龐大,因而只采取了一般的RC電路復位。MSP430單片機的JTAG接口是一個14引腳的雙排插座,其硬件連接需要經過4個引腳,外加TCLK、TEST、RESET等引腳來實現。4個JTAG引腳分別是TMS、TCK、TDI和TDO。其邊界掃描的主要信號為TDO、TDI、TMS、TCK和RST信號。
其電路連接如圖4所示。
ZLG7290芯片的電路連接如圖5所示。顯示電路部分采用的是兩片4位共陰式LED數碼管,如圖6所示,因此左右共8位顯示,左邊4位用于輸入時顯示定時時間,右邊4位則用于開始計時后的計數顯示。由于本設計要求實現的輸入效果并不十分復雜,因此在實際使用時鍵盤選用4×4共16只按鍵的矩陣鍵盤即可(K1~K10鍵設置為“0~9”數字鍵,F1、F2和F3設置為功能鍵“START”、“STOP”以及“RESET”),而不必采用本設計中的8×8共64只按鍵的鍵盤。
電源電路如圖7所示。
整個系統采用3.3V電壓供電,考慮到硬件系統要求電壓具有穩壓功能和紋波小的特點,同時也考慮到硬件系統的低功耗等特點,因此該硬件系統的電源先用橋式整流電路進行整流處理,再用LM1117穩壓芯片穩壓得到3.3V電壓,供給CPU以及相關的外圍設備。為了使電源輸出的紋波較小和降低其對整個系統的干擾,在輸入端和輸出端連接兩個電容,以濾除高頻和低頻干擾,在輸出端得到穩定的直流工作電壓。
系統整體構成包含了MSP430F149單片機電路、ZLG7290鍵盤輸入/數碼管顯示電路、電源電路以及復位電路、JTAG下載線電路和兩個晶振。
MSP430單片機的JTAG接口是一個14引腳的雙排插座,其邊界掃描信號是TDO、TDI、TMS、TCK和RST信號。MSP430單片機型號不同,對應的時鐘模塊也是有所不同的,而MSP430F149單片機片內有XC1和XC2兩個晶振可選。以上三個電路以及鍵盤輸入電路將不再贅述,只在圖8系統總圖中加以體現。
5 結束語
本文所設計的是用MSP430F149單片機原理、ZLG7290芯片技術和其他相關理論所實現的可編程定時控制。本系統具有可定制、定時、顯示等方面的功能,有比較好的精度和實用性。
可編程定時開關在生產生活的很多方面都有應用,本系統是在實驗的基礎上所作的設計,從具體的工業定時控制中汲取有價值的參考,對單片計算機、鍵盤/顯示設備以及其它相關的外圍設備電路進行調整和改進,在可調性、可操作性方面有了較大的提高。
圖7 電源電路
圖8 系統電路總圖
參考文獻
[1]武慶生,仇梅.單片機原理與應用[M].電子科技大學出版社,1998.
[2]謝興紅,林凡強,吳雄英.MSP430單片機基礎與實踐[M].北京:北京航空航天大學出版社,2008.
[3]ZLG7290 I2C接口鍵盤及LED驅動器[EB/OL].http://www.zlgmcu.com
[4]秦龍.MSP430單片機常用模塊與綜合系統實例精講[M].北京:電子工業出版社,2007.
[5]謝自美.電子線路設計·實驗·測試(第2版)[M].華中科技大學出版社,2000.