Design of Infrared Controller Based on MCU MSP430
摘要:本文首先介紹了紅外通信的基本原理;然后簡(jiǎn)要介紹了TI公司的MSP430單片機(jī)的功能特點(diǎn);最后介紹了一種基于MSP430單片機(jī)的紅外遙控器的設(shè)計(jì)方案,并給出了硬件電路和程序流程圖。
關(guān)鍵詞:紅外通信;MSP430單片機(jī);紅外遙控器
1 引言
在工業(yè)控制的許多環(huán)境下,不適合操作人員直接控制,例如:高溫、高壓、輻射、粉塵、強(qiáng)酸性、腐蝕性、有毒氣體等。這時(shí),紅外遙控是可行的控制方式。通過(guò)這種方式,操作人員能及時(shí)采集現(xiàn)場(chǎng)數(shù)據(jù),修改控制對(duì)象的參數(shù),并發(fā)送控制命令,以達(dá)到理想的控制效果。紅外遙控通過(guò)紅外通信的方式進(jìn)行控制,具有低功耗、低成本、高可靠性、體積小、結(jié)構(gòu)簡(jiǎn)單、避免人身傷害等優(yōu)點(diǎn),是一種先進(jìn)的控制方式,具有廣闊的應(yīng)用前景。
2 紅外通信原理[1][2]
紅外通信,即以紅外線作為通信載體,通過(guò)紅外光在空中的傳播來(lái)傳輸數(shù)據(jù)的通信方式,它由發(fā)射端和接收端來(lái)完成。在發(fā)射端,發(fā)送的數(shù)字信號(hào)經(jīng)過(guò)適當(dāng)?shù)恼{(diào)制編碼后,送入電光變換電路,經(jīng)紅外發(fā)射管轉(zhuǎn)變?yōu)榧t外光脈沖發(fā)射到空中;在接收端,紅外接收器對(duì)接收到的紅外光脈沖進(jìn)行光電變換,解調(diào)譯碼后恢復(fù)出原信號(hào)。
紅外發(fā)射端發(fā)送數(shù)據(jù)時(shí),是將待發(fā)送的二進(jìn)制數(shù)據(jù)調(diào)制成一系列的脈沖信號(hào)后發(fā)射出去。紅外載波為頻率38KHz的方波,采用脈寬調(diào)制PWM方式發(fā)送,通過(guò)待發(fā)送二進(jìn)制數(shù)據(jù)的“0”或“1”控制兩個(gè)脈沖之間的時(shí)間間隔,及PWM的占空比。紅外載波既可以通過(guò)外圍硬件電路實(shí)現(xiàn),也可以使用單片機(jī)內(nèi)部的定時(shí)器的PWM功能實(shí)現(xiàn)。
紅外接收端在收到38KHz的載波信號(hào)時(shí),會(huì)輸出低電平,否則輸出高電平,從而可以將“時(shí)斷時(shí)續(xù)”的紅外光信號(hào)解調(diào)成一定周期的連續(xù)方波信號(hào),經(jīng)單片機(jī)處理,便可以恢復(fù)出原數(shù)據(jù)信號(hào)。
3 MSP430單片機(jī)簡(jiǎn)介[3]
MSP430單片機(jī)是TI公司推出的一個(gè)新型單片機(jī)系列,其主要特點(diǎn)是:超低功耗、16位指令、內(nèi)置A/D轉(zhuǎn)換器、串行通信接口、硬件乘法器、LCD(液晶)驅(qū)動(dòng)器及高抗干擾能力等。因此,MSP430單片機(jī)特別適合應(yīng)用在智能儀表、防盜系統(tǒng)、智能家電、電池供電便攜式設(shè)備等產(chǎn)品之中。筆者在開(kāi)發(fā)這款遙控器時(shí),選用的單片機(jī)型號(hào)是MSP430F413,其性能特點(diǎn)如下:低工作電壓(1.8~3.6V);超低功耗(工作模式4下耗電僅為0.1μA);16位精簡(jiǎn)指令結(jié)構(gòu)(RISC);150ns指令周期;帶有3個(gè)捕獲/比較器的16位定時(shí)器;片內(nèi)集成96段LCD驅(qū)動(dòng)器;片內(nèi)有JTAG調(diào)試接口和FLASH型存儲(chǔ)器,可在線串行編程;開(kāi)發(fā)環(huán)境十分方便高效,支持C語(yǔ)言和匯編語(yǔ)言。
4 基于MSP430單片機(jī)的紅外遙控器設(shè)計(jì)[4][5]
4.1 總體硬件框圖
筆者設(shè)計(jì)的這款紅外遙控器,不僅能設(shè)置控制對(duì)象的給定值或控制參數(shù),并通過(guò)紅外線發(fā)送給對(duì)象,而且能接收并顯示對(duì)象通過(guò)紅外線反饋回的實(shí)際值,這是它不同于普通紅外遙控器的地方。因此,實(shí)際應(yīng)用中,紅外遙控器和控制對(duì)象上都裝有紅外發(fā)送電路和紅外接收電路。紅外遙控器的硬件部分主要包括五個(gè)模塊:電源模塊、鍵盤模塊、液晶模塊、紅外發(fā)送模塊和紅外接收模塊?傮w硬件框圖如圖1所示。由于MSP430、紅外發(fā)送模塊和紅外接收模塊都可采用3V電源,所以電源模塊采用兩節(jié)1.5V電池供電即可。鍵盤模塊采用4×4行列掃描式鍵盤。液晶模塊由MSP430F413直接驅(qū)動(dòng)。

圖1 總體硬件框圖
4.2 紅外發(fā)送模塊

因?yàn)榘l(fā)光二極管的發(fā)光距離與其發(fā)射功率成正比,為了提高發(fā)光二極管的發(fā)光距離,必須提高它的發(fā)射功率,也就是使紅外發(fā)光二極管工作于脈沖狀態(tài)?梢杂脙煞N方法來(lái)實(shí)現(xiàn):一是用硬件方法,即設(shè)計(jì)脈沖電路來(lái)產(chǎn)生占空比盡量小的脈沖載波信號(hào);另一種就是用軟件來(lái)控制MSP430F413的輸出端P2.1,讓其輸出即為占空比較小的脈沖信號(hào)。
這里利用軟件來(lái)實(shí)現(xiàn)這個(gè)功能。即在需要輸出高電平的時(shí)候,讓程序定時(shí)把P2.1口輸出狀態(tài)反向,其中定時(shí)時(shí)間是由指令數(shù)和指令周期來(lái)決定的,每條指令的指令執(zhí)行周期是固定的,所以如果想讓反向頻率高一些,則讓指令執(zhí)行的少一些,反之就讓指令多一些。可見(jiàn)輸出信號(hào)占空比可以由定時(shí)時(shí)間的長(zhǎng)短來(lái)決定,這樣就可以在高電平時(shí)輸出占空比盡量小的脈沖信號(hào)。因?yàn)榻邮疹^對(duì)38KHz的光信號(hào)轉(zhuǎn)換能力比較強(qiáng),所以把高電平的頻率設(shè)置為38KHz。在需要輸出低電平的時(shí)候,控制P2.1口一直為低就可以了。
紅外發(fā)光二極管發(fā)射波形如圖3所示。先發(fā)一段前導(dǎo)碼,以檢驗(yàn)這組碼是否為想要的碼。前導(dǎo)碼由一個(gè)9ms的高電平和一個(gè)4ms的低電平組成。然后再發(fā)32位數(shù)據(jù)代碼,其中高電平為0.5ms,低電平為0.5ms的一個(gè)周期為代碼“0”;高電平為0.5ms,低電平為1.5ms的一個(gè)周期為代碼“1”。為了提高發(fā)射功率,實(shí)際工作時(shí),發(fā)光二極管的高電平用38kHz的載波信號(hào)載波,低電平則一直為低。





