摘要
本文介紹了使用MSP430 作為主處理器實現(xiàn)可充電的觸屏遙控模塊,,該設計方案支持紅外(IR)信號傳輸,,且可擴展RF 和NFC 無線傳輸方式;用戶輸入采用觸摸按鍵實現(xiàn),,設計簡潔美觀,;系統(tǒng)可由電池供電,,且自帶可充電模塊,可由USB 或者直流電源適配器充電,。TI 的430 系列MCU產(chǎn)品功耗低,,可為便攜式電子設備提供更長的使用壽命;其內(nèi)嵌LCD 驅(qū)動器,,可以方便實時顯示監(jiān)測數(shù)據(jù),;其支持多種觸摸按鍵實現(xiàn)方式,設計簡便靈活,。
簡介
遙控設備在日常生活中非常易見,,家電遙控器、玩具遙控器等方便了用戶對設備的控制,。針對不同需求,,遙控設備設計也不同,例如電視機遙控器不帶顯示屏,,通常用紅外信號傳輸,;空調(diào)遙控器則帶顯示屏,常用紅外(IR)和射頻(RF)傳輸信號;另有一些高端遙控產(chǎn)品可通過手機等更新固件,,實現(xiàn)版本的升級,。本文介紹了一套用于遙控設備的通用方案,該方案支持 LCD 顯示,; 支持紅外通信且可擴展射頻通信方式,;用戶輸入采用觸摸按鍵實現(xiàn),時尚美觀,;本方案預留NFC 接口,,可擴展 NFC 功能;在電源管理方面,,支持電池供電,,USB 充電和無線充電,方便實用,。
1 原理介紹
1.1 電容式觸摸按鍵原理
觸摸按鍵在電子設備中得到越來越多的應用,。用觸摸按鍵實現(xiàn)人機交互的電磁爐,微波爐,,電冰箱等家電產(chǎn)品越來越受青睞,,預計未來會有越來越多的觸摸按鍵產(chǎn)品取代傳統(tǒng)的機械式按鍵產(chǎn)品。觸摸按鍵具有堅固耐用,,反應速度快,,節(jié)省空間,美觀大方,,易于清潔等諸多優(yōu)點,。觸摸式按鍵可分為四大類,電阻式,,電容式,紅外線式及表面聲波式感應按鍵,。其中電阻式,,紅外線式和表面聲波按鍵主要應用于觸摸屏中,在單個按鍵中很少使用,。本方案將重點討論電容式觸摸按鍵在單個按鍵中的應用,。
電容式觸摸按鍵采用電容量為判斷標準,在觸摸按鍵的設計中,,它具有一些優(yōu)點,,例如可直接集成在 PCB 中,觸摸感應區(qū)域外形尺寸設計靈活,,相對成本較低等等,。簡單來講,電容式觸摸按鍵在按下的時候改變了電容值,從而改變電路振蕩周期,,通過對振蕩周期改變值的檢測實現(xiàn)對按鍵的檢測,。圖1 是電容式觸摸按鍵原理示意圖。
圖 1 觸摸按鍵原理示意圖
空載狀態(tài)下,,感應區(qū)域電容由材料和結(jié)構決定(圖 1 左上圖),電容值為 C1+C2,。變化電容基于寄生效應,主要由外界導體與PAD 之間的寄生電容組成(圖1 右下圖),,手指按下,,寄生電容值變化,容值為 C1+C2+C3||C4,。將此電容接入電路組成振蕩器,,電容值的改變導致振蕩電路輸出頻率變化,通過測量輸出頻率判斷按鍵的觸發(fā)狀態(tài),。
按鍵感應區(qū)域設計需要避免誤觸發(fā)以及兼顧靈敏度,。通常來說,單個按鍵感應區(qū)域需要做的足夠大,,以達到識別按鍵目的,;相鄰按鍵感應區(qū)域應保持一定距離,避免誤觸發(fā),;觸摸感應區(qū)形狀原則上可任意,,單個按鍵以圓形、方形為佳,。
TI 的MSP430 支持多種觸摸實現(xiàn)方式,,參考文檔[1]。
1.2 紅外信號傳輸原理
紅外遙控原理可參考文檔[2],。本文采用 NEC 協(xié)議編碼,,簡單說是通過脈沖串之間的時間間隔來表示邏輯“0”和邏輯“1”。載波信號頻率為38k,,邏輯“1”用 0.56ms 的 38k 載波和 1.5ms的無載波表示,,邏輯“0”用0.56ms 的載波和0.56ms 的無載波表示,幀頭用9ms 載波加4.5ms無載波表示,。編碼幀格式參考圖2,,具體格式定義可根據(jù)實際情況稍作修改。
圖 2 紅外編碼數(shù)據(jù)幀格式
TI 的 MSP430 系列 MCU 自帶 Timer,,可方便產(chǎn)生 38k 載波,,編碼時的載波有無控制可由Timer 的 PWM 輸出模塊實現(xiàn)[3]。其 PWM 輸出模塊可配置成 7 種輸出方式,,可方便實現(xiàn)上述編碼,。采用MSP430 的Timer 的PWM 輸出功能,,僅需要一個Timer 和一路PWM 即可輕松實現(xiàn)紅外編碼,無需額外硬件,,軟件實現(xiàn)簡單,。為系統(tǒng)設計節(jié)省成本和開發(fā)時間。
1.3 可充電觸屏遙控模塊方案設計
傳統(tǒng)的遙控模塊采用機械按鍵實現(xiàn),,本方案采用觸摸按鍵設計,,按鍵和顯示在同一塊LCD 屏上,外形時尚,、美觀,。本方案作為參考設計,除了遙控器基本功能(按鍵,,顯示,,發(fā)射,按鍵聲)外,,還設計了充電和 USB 模塊,,并擴展了 RF 和 NFC 接口??沙潆姺绞教岣吡遂`活性,,用戶僅需要充電而不必更換電池。USB 模塊可實現(xiàn)和 PC 端應用軟件通信,。本方案不僅僅是遙控器方案,,在其他應用領域,本方案也有很大的參考價值,,用戶僅需要根據(jù)需求對本方案功能模塊進行裁剪即可,。本方案電源模塊支持電池供電和USB 或直流適配器充/供電;觸摸按鍵采用比較器B實現(xiàn),;RF 和NFC 模塊采用SPI 和MCU 接口,;MSP430 自帶的USB 模塊可方便與PC 端應用軟件接口,實現(xiàn)PC 和MCU 的雙向通信,。系統(tǒng)框圖如圖3 所示,。
圖 3 系統(tǒng)框圖
2 設計實例
2.1 硬件設計
2.1.1 電源模塊設計
本系統(tǒng)采用電池供電,且設計了充電電路,,支持 USB 或直流充電。電源經(jīng) LDO 穩(wěn)壓后輸出3.3V 供給MCU,,保證MCU 工作電壓的穩(wěn)定,。其電路實現(xiàn)如下圖4 所示。
圖 4 電源模塊電路設計
2.1.2 LCD 及背光模塊設計
MSP430F6638 自帶 LCD 控制器,,可方便地驅(qū)動段式 LCD 屏,。屏幕背光亮度由 Timer 輸出PWM 波控制,,調(diào)節(jié)方便。背光電路設計如圖5 所示,。通過改變PWM 的頻率和占空比,,可改變背光亮度,從而改變LCD 屏視覺效果,。
圖 5 背光電路設計
2.1.3 觸摸按鍵設計
MSP430F6638 自帶比較器 B,,最多可支持 12 個觸摸按鍵,比較器 B 的輸出接入 Timer 的CLK 輸入端,,當手指按下,,觸摸感應區(qū)電容值發(fā)生了變化,比較器翻轉(zhuǎn)周期變長,,比較器輸出作為 Timer 的計數(shù)脈沖,,在固定的時間內(nèi)計數(shù)值變小,根據(jù)固定時間內(nèi) Timer 計數(shù)值的變化來判斷按鍵動作,。通過合適配置寄存器和軟件算法處理,,可實現(xiàn)觸摸按鍵檢測。電路設計如圖 6 所示,。注意為了降低噪聲,,每通道外接電阻不宜過小,可選500k 左右,。比較器B 翻轉(zhuǎn)電平通過配置寄存器實現(xiàn),,請參考手冊[3]。
圖 6 觸摸按鍵電路設計
2.1.4 紅外發(fā)射模塊設計
紅外模塊采用普通紅外管實現(xiàn),,通過配置 Timer 輸出合適的 PWM 波實現(xiàn)紅外編碼,。紅外發(fā)射瞬間電流較大,通過MCU 的GPIO 控制三極管驅(qū)動紅外發(fā)射燈管,,提高發(fā)射電流,。紅外發(fā)射模塊需配合接收模塊采用同樣的編碼格式實現(xiàn)通信。紅外模塊電路圖如圖7 所示,。
圖 7 紅外發(fā)射模塊
2.1.5 USB 模塊設計
MSP430F6638 自帶 USB 模塊,,可實現(xiàn) USB 通信,其硬件設計簡單,。本文用 USB 虛擬
UART 實現(xiàn)和PC 通信,。關于USB 調(diào)試請參考TI 官網(wǎng)資料[4]。
2.2 軟件設計
2.2.1 嵌入式軟件設計
系統(tǒng)軟件流程如圖 8 所示,。無按鍵動作時,,系統(tǒng)運行 RTC,顯示當前時間,,溫度且把時間,,溫度以及按鍵狀態(tài)(每個按鍵動作有無)信息發(fā)送給 PC,。當有按鍵按下后,除了上述功能外,,系統(tǒng)還將執(zhí)行按鍵上層邏輯,,比如是否進入時間設定模式,是否開蜂鳴器以及發(fā)射哪種紅外碼等等,。
圖 8 軟件流程圖
2.2.2 PC 端軟件設計
為了方便實現(xiàn)人機交互,,使用 C Sharp 語言開發(fā)了配套的 PC 端軟件實現(xiàn)和 MCU 的雙向通信。通過 PC 端軟件可查看 DEMO 的當前狀態(tài),,包括時間,,溫度,按鍵動作等,,另外也可通過PC 端改變DEMO 背光的亮度,。PC 端軟件如圖9 所示。
圖 9 PC 端軟件
DEMO 通過 USB 線與 PC 端 COM 口連接,,MSP430F6638 的 USB 通過軟件協(xié)議虛擬UART,,在 PC 端選擇合適的 COM 端口號可實現(xiàn) PC 軟件和 DEMO 的互連。圖 9 中左圖反映DEMO 的實物,,當有按鍵按下的時候,,對應的按鍵圖標閃爍一下,同時在記錄框輸出文字記錄這個動作(Button xx Pressed!),。最下面圖表則實時顯示當前溫度信息,。
2.3 DEMO 展示
DEMO 實物如圖 10 所示。鍵盤區(qū) 12 個按鍵,,每個按鍵按下圖標會閃爍一下,,同時蜂鳴器會響 0.3s 左右。每個按鍵做了不同功能,,可根據(jù)需求發(fā)射不同的紅外碼實現(xiàn)遙控器的功能,。演示DEMO 中代碼支持RTC 和溫度計功能,支持靈活調(diào)整時間,,同時可通過PC 端軟件來調(diào)節(jié)屏幕背光,。DEMO 還可擴展光傳感模塊,可根據(jù)環(huán)境光強弱智能調(diào)節(jié)背光亮度,,達到較好的視覺效果,。
該 DEMO 具有通用性,在所有需要顯示和人機交互的微控制系統(tǒng)中均可參考此方案,,只需對FW 做簡單修改即可實現(xiàn)所需功能,。同樣,MSP430 系列眾多的產(chǎn)品線為客戶提供了不同成本的多種選擇,??蛻艨筛鶕?jù)具體需求選擇合適的MCU 和合適的代碼模塊組合,以實現(xiàn)最高的性價比,。
圖 10 DEMO 實物
3 總結(jié)
本方案使用MSP430F6638 作為主處理器,,展示了用其實現(xiàn)觸屏遙控器的電子模塊設計實例。在遙控器,,無線設備以及其它需要按鍵和顯示的應用場合均可參考本方案,。MSP430 豐富的產(chǎn)品線也為前述應用場合提供了豐富的選擇,客戶可根據(jù)具體需求選擇合適的產(chǎn)品,,達到最優(yōu)性價比,。
參考文檔
1. Capacitive Touch Library (SLAA490)
2. MSP430F415 在LCD 空調(diào)紅外遙控器中的應用 (ZHCA425)
3. MSP430x5xx and MSP430x6xx Family User's Guide (SLAU208M)
4. Starting a USB Design Using MSP430™ MCU