胡小玲, 徐科軍, 方 敏, 張彩霞
(合肥工業大學 電氣與自動化工程學院,安徽 合肥 230009)
單片機是實現底層自動化和各種設備管理、控制的核心芯片,單片機設計和應用技術是自動化類和電氣信息類大學生必須掌握的一門先進技術[1-5]。單片機的種類較多,在實際中都有應用,但是,在教學中基本上是51系列單片機。近年來,TI公司的MSP430系列單片機以其超低功耗以及卓越的性能廣泛應用于電能儀表、控制工業、家用電器等領域,在功耗、性能上超過51單片機[6-8]。所以,向學生介紹新型、性能更為優越的單片機,使學生的專業知識跟上科技發展的步伐是必要的。
要掌握單片機這門技術,實踐和實驗環節必不可少,因此,研制相應的實驗裝置就相當重要[9]。目前國內研制的單片機實驗裝置較多,但是,大部分都是針對51系列單片機。也有一些公司推出了MSP430的2系和4系列單片機的實驗裝置,該兩個系列是MSP430系列單片機中的中低端產品,而且比較陳舊,功能較少,可做的實驗內容也受限制。MSP430F6736為該系列單片機中的功能比較全面的,屬于MSP430系列中的高端產品,除了具備低端產品的基本功能外,其內部還集成3個24位Δ-∑型ADC,并帶有LCD驅動模塊,在儀器儀表方面具有突出的特點[10-12]。本文針對MSP430F6736研制了一套通用的單片機實驗裝置,非常適合自動化類和電氣信息類大學生學習使用。
研制的基于MSP430F6736實驗裝置主要可以進行以下幾個方面的實驗:
(1) I/O實驗。包括P1、P2口引腳中斷實驗(輸入實驗),控制LED閃爍(輸出實驗)等。
(2) 定時器實驗。包括定時實驗、脈沖寬度與周期測量、PWM信號產生;其中產生的可調占空比的PWM信號用于液晶亮度控制實驗。
(3) 存儲實驗。片內Flash、RAM讀寫,無需CPU干預的DMA數據傳輸以及外部Mirco SD卡讀寫實驗。
(4) 輸入和顯示實驗。包括普通按鍵輸入實驗、基于PCB的電容觸摸按鍵[7]、TFT液晶實驗、8段碼式液晶顯示、計算器實驗;其中計算器實驗主要利用MAX7348鍵盤管理芯片,通過掃描矩陣鍵盤來實現計算器功能。
(5) 串行通信和無線通信實驗。包括UART、SPI、I2C通訊以及CC2520、CC1101簡單無線通信實驗;其中UART主要用于上位機通信實驗,CC2520與CC1101無線通信實驗主要利用TI公司的無線ZigBee模塊,單片機使用SPI方式進行無線數據收發實驗。
(6) 儀器儀表類實驗。包含雙向電流、溫度、重量采集實驗,片內ADC采集滾輪式電位計電壓值,單片機不同低功耗模式下電流消耗檢測。
系統以MSP430F6736單片機為核心,主要包括電源變換模塊、MSP430單片機最小系統模塊、模擬輸入輸出模塊、數字輸入輸出模塊,根據實驗需要設計了相應的外圍電路模塊。硬件框圖如圖1所示。

圖1 系統硬件框圖
傳統單片機實驗板的幾種供電電源(5 V電源適配器、USB、鋰電池)需要手動進行切換,學生在實驗時往往存在幾種電源同時接通的情況,這就將幾種電源串接在一起了,如果電平大小不一樣時,會導致系統供電出現異常,甚至會損壞芯片,影響實驗板的正常使用。
本實驗裝置對電源部分進行改進,采用PMOS管與肖特基二極管對3種電源進行自動選通。其中3種電源的優先級最高為電源適配器,最低的為鋰電池。即使同時外接幾種電源也不會出現幾種電源串在一起的問題;另外,當撤除其中的2種電源,只剩一種電源情況下,也不會導致系統斷電。電源適配器與USB均可以作為鋰電池的充電電源,構成不間斷供電系統,在提高實驗裝置的可靠性同時也方便學生使用。所設計的電路如圖2所示,3種電源經過自動選通后通過LDO穩壓后供給系統數字部分與模擬部分。其中加入電容C78、C79的目的是克服肖特基二極管的反向恢復時間的影響[13]。在兩種電源切換時,用以延緩PMOS管的關斷,防止電源切換時導致系統的短暫斷電現象。
MSP430F63736單片機是該系列中的高端產品,具有豐富的片上資源,主要包括:1個具有3個捕獲比較寄存器的16位定時器;3個具有2個捕獲比較寄存器的16位定時器;320段對比度控制的集成LCD驅動器;支持32位的硬件乘法器;3個24位Δ-∑型ADC;6個外部通道以及2個內部通道的10位ADC;3通道DMA;128 kB大小的Flash以及8 kB的SRAM;3個具有UART、SPI通信等功能增強型通用串行接口A;1個具有UART、SPI、I2C等通信功能的增強型通用串行接口B;實時時鐘模塊;看門狗定時器模塊。單片機最小系統模塊是整個實驗板的核心部分,包含了單片機、晶振、復位電路。

圖2 系統電源變換模塊
模擬輸入輸出模塊包括模擬量調理采樣部分以及模擬量的產生部分。MSP430F6736單片機具有3個24位Δ-∑型ADC,考慮到實際應用以及傳感器成本問題,對應這3個ADC,設計了電流、溫度、重量測量。由于該款單片機無DA輸出功能,考慮采用外部電路產生恒流源進行溫度測量,同時產生的電流也可用于電流測量,提高實驗板的獨立性,方便用戶使用[14]。限于篇幅僅介紹電流測量電路,其余測量電路與此類似。
圖3為電流測量電路,其中Rs為100 mΩ檢流電阻,經過簡單RC之后通過儀用放大器INA128放大,送至單片機內部Δ-∑型ADC采樣。R44為配置放大器的放大倍數,另外設計時加入1.25 V基準作為偏置電壓,用以測量雙向電流。

圖3 雙向電流測量電路
數字輸入輸出部分包括PWM輸入輸出、按鍵、LED燈點亮、8段碼液晶與TFT液晶顯示、通訊部分、基于PCB的電容觸摸按鍵。通訊部分包括上位機通訊(通過232與計算機進行數據交換,單片機側為UART)、SPI通訊、I2C通訊,其中無線通訊部分采用TI的CC2520以及CC1101無線通訊模塊,單片機主要通過SPI通訊方式來進行無線數據收發。
為了使得實驗裝置操作使用方便,避免一個實驗對應一個軟件工程文件夾,本實驗板采用綜合的方法將所有的實驗均放在一個工程文件里面。使用時可通過滾輪電阻以及兩個用戶自定義按鍵完成菜單項的選擇與退出,進而進入或者退出相應的實驗程序。實驗裝置的軟件總體框圖如圖4所示,包括單片機初始化模塊、菜單選擇模塊、顯示模塊、中斷模塊、SD24B模塊、鋰電池電量管理模塊、液晶亮度調節模塊、計算器模塊、電容觸摸按鍵模塊、MircoSD卡讀寫模塊、上位機通信模塊以及射頻模塊。限于篇幅,僅介紹菜單選擇模塊與綜合性較強的計算器實驗。

圖4 系統軟件總體框圖
通過菜單選擇模塊,用戶可以使用齒輪電位器以及按鍵(確定鍵S7與返回鍵S5)選擇進入相應的實驗程序。菜單選擇界面如圖5所示,目前已開發了8個實驗程序,在軟件中預留了接口,用戶可以很方便地添加自己開發的實驗程序,提高了系統的擴展性。

圖5 菜單選擇界面
利用MAX7348芯片管理20個按鍵,這20個按鍵分別為數字鍵0~9、加減乘除鍵、小數點鍵、正負號鍵、等于鍵、退格鍵、開關ON/OFF鍵,芯片通過I2C協議與MSP430F6736單片機通訊[15]。
圖6為計算器程序流程圖,其中ON_flag為計算器開關標志位;Clear_flag為清除標志位,當為1時清除所有參數并且液晶僅顯示“0”;Operation_flag為運算標志位,當為1時表示用戶已按下“=”鍵,即進行數據1與數據2 的運算。先進行運算數據1的錄入,進入數字1操作模塊,當數據1輸入完成后,即加減乘除鍵被按下,進行數據2的錄入,進入數字2操作模塊。數據1、2操作模塊類似,主要完成參與運算的數據1、2的計算,其中包括了對小數點、退格鍵的處理。上述步驟完成之后在段碼式液晶上顯示相應信息,然后進入下一個循環,直至用戶按下退出鍵。

圖6 計算器實驗程序流程圖
本文針對TI公司MSP430系列單片機中功能全面的高端產品MSP430F6736單片機研制了一套通用的教學實驗裝置,實驗裝置功能豐富,可進行的6大類實驗涵蓋了該款單片機的大部分模塊。在電源變換方面對傳統單片機實驗板電源部分進行了改進,實現了適配器、USB、鋰電池三種供電電源的自動切換。實際通過測試,三種電源之間的可平穩地實現切換;單片機內置的Δ-∑型ADC短路測試精度為14.5位,與數據手冊描述相符;電流測量精度可精確到20 μA。本套實驗裝置在儀器儀表方面表現出了突出的應用,非常適合自動化和電氣信息類大學生學習使用,具有較大的參考價值。
[1] 洪 利,章 揚,李世寶.MSP430單片機原理與應用實例詳解[M]. 北京:北京航天航空大學出版社,2010:35-38.
[2] 曹 磊. MSP430單片機C程序設計與實踐[M]. 北京:北京航天航空大學出版社,2007:1-8.
[3] 沈建華,楊艷琴,翟驍曙.MSP430系列16位超低功耗單片機原理與應用[M]. 北京:清華大學出版社,2004:5-10.
[4] 唐述宏,王文成,等.單片機通用實驗板的研制[J].濰坊學院學報,2009,9(4):13-14.
TANG Shu-hong,WANG Wen-cheng. Development of SCM general experiment board[J]. Journal of Weifang University, 2009,9(4):13-14.
[5] 朱震華. 單片機綜合實驗箱的研制[J].實驗科學與技術,2007(1):124-126.
ZHU Zheng-hua. Developing the general experiment box for single-chip microcomputer[J]. Experiment Science & Technology, 2007,(1):124-126.
[6] 石建國,王麗娟.在線調試與編程的單片機教學實驗板設計[J].實驗科學與技術,2008(3):74-75.
SHI Jian-guo, WANG Li-juan. Design of a MCU demonstration and development board with IAP and ICE Function,[J]. Experiment Science & Technology 2008(3):74-75.
[7] 萬志平,柳 斌.一種單片機實踐教學實驗板開發[J] .自動化技術與應用,2009,28(7):94-96.
WANG Zhi-ping, LIU Bin. A single-chip microcomputer system for teaching purposes[J]. Techniques of Automation and Applications, 2009,28(7):94-96.
[8] 陸中宏.工學結合模式下的單片機實驗板的設計與應用[J].制造業自動化,2011,33(2):28-29.
LU Zhong-hong.Work integrated learning mode of SCM experimental slab design and application[J]. Manufacturing Automation, 2011,33(2):28-29.
[9] 張 翰,陳智淵,徐科軍.TMS320LF2407A DSP實驗裝置[J].實驗室研究與探索,2007,26(5):39-40.
ZHANG Han, CHEN Zhi-yuan, XU Ke-jun. TMS320LF2407A DSP experimental equipment[J]. Research & Exploration Laboratory, 2007,26(5):39-40.
[10] 劉立群,孫志毅,金坤善.基于MSP430單片機的超低功耗數據采集器設計[J].自動化儀表,2005,26(4):30-31.
LIU Li-qun, SUN Zhi-yi, JIN Kun-shan. The design of Ultra-low power consumptive data collector based on MSP430 single chip computer[J].Process Automation Instrument, 2005,26(4):30-31.
[11] 李 昕,曲夢可,榮譽等. 基于MSP430單片機低功耗濕度計的設計[J].儀器儀表學報,2007,27(6):1437-1438.
LI Xin, QU Meng-ke, RONG Yu, Design of low-power hygrometer based on MSP430 MCU[J].Chinese Journal of Scientific Instrument, 2007,27(6):1437-1438.
[12] 田 野,廖明燕.基于充放電原理的電容式觸摸按鍵設計[J].電子設計工程,2010(10):142-144.
TIAN Ye, LIAO Ming-yan. Capacitive touch sensor design based on charging/discharging principle[J]. Electronic Design Engineering, 2010(10):142-144.
[13] 蔡 震,馬洪江.混合PIN/Schottky二極管特性簡析[J].微處理機, 2012(4):16-17.
CAI Zheng, MA Hong-jiang. Character and analyse of the MPS[J].Microprocessors, 2012(4):16-17.
[14] 徐科軍,馬修水,李曉林.傳感器與檢測技術[M].2版.北京:電子工業出版社,2008:72-79.
[15] 唐紅文,陳少平. I2C總線在多機通信中的應用[J].電子技術應用,2005,31(5):51-52.
TANG Hon-wen, CHEN Shao-pin. Application of I2C bus among microprocessor communications[J].Application of Electronic Technique, 2005,31(5):51-52.