基于MSP430單片機(jī)的紅外遙控器設(shè)計(jì)
1 引言
在工業(yè)控制的許多環(huán)境下,不適合操作人員直接控制,例如:高溫、高壓、輻射、粉塵、強(qiáng)酸性、腐蝕性、有毒氣體等。這時(shí),紅外遙控是可行的控制方式。通過這種方式,操作人員能及時(shí)采集現(xiàn)場(chǎng)數(shù)據(jù),修改控制對(duì)象的參數(shù),并發(fā)送控制命令,以達(dá)到理想的控制效果。紅外遙控通過紅外通信的方式進(jìn)行控制,具有低功耗、低成本、高可靠性、體積小、結(jié)構(gòu)簡單、避免人身傷害等優(yōu)點(diǎn),是一種先進(jìn)的控制方式,具有廣闊的應(yīng)用前景。
2 紅外通信原理
紅外通信,即以紅外線作為通信載體,通過紅外光在空中的傳播來傳輸數(shù)據(jù)的通信方式,它由發(fā)射端和接收端來完成。在發(fā)射端,發(fā)送的數(shù)字信號(hào)經(jīng)過適當(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ā)送,通過待發(fā)送二進(jìn)制數(shù)據(jù)的“0”或“1”控制兩個(gè)脈沖之間的時(shí)間間隔,及PWM的占空比。紅外載波既可以通過外圍硬件電路實(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ī)簡介
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)品之中。筆者在開發(fā)這款遙控器時(shí),選用的單片機(jī)型號(hào)是MSP430F413,其性能特點(diǎn)如下:低工作電壓(1.8~3.6V);超低功耗(工作模式4下耗電僅為 0.1μA);16位精簡指令結(jié)構(gòu)(RISC);150ns指令周期;帶有3個(gè)捕獲/比較器的16位定時(shí)器;片內(nèi)集成96段LCD驅(qū)動(dòng)器;片內(nèi)有JTAG 調(diào)試接口和FLASH型存儲(chǔ)器,可在線串行編程;開發(fā)環(huán)境十分方便高效,支持C語言和匯編語言。
4 基于MSP430單片機(jī)的紅外遙控器設(shè)計(jì)
4.1 總體硬件框圖
筆者設(shè)計(jì)的這款紅外遙控器,不僅能設(shè)置控制對(duì)象的給定值或控制參數(shù),并通過紅外線發(fā)送給對(duì)象,而且能接收并顯示對(duì)象通過紅外線反饋回的實(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方法來實(shí)現(xiàn):一是用硬件方法,即設(shè)計(jì)脈沖電路來產(chǎn)生占空比盡量小的脈沖載波信號(hào);另一種就是用軟件來控制MSP430F413的輸出端P2.1,讓其輸出即為占空比較小的脈沖信號(hào)。
這里利用軟件來實(shí)現(xiàn)這個(gè)功能。即在需要輸出高電平的時(shí)候,讓程序定時(shí)把P2.1口輸出狀態(tài)反向,其中定時(shí)時(shí)間是由指令數(shù)和指令周期來決定的,每條指令的指令執(zhí)行周期是固定的,所以如果想讓反向頻率高一些,則讓指令執(zhí)行的少一些,反之就讓指令多一些。可見輸出信號(hào)占空比可以由定時(shí)時(shí)間的長短來決定,這樣就可以在高電平時(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)載波,低電平則一直為低。
紅外發(fā)送程序流程圖如圖4所示。即先發(fā)出前導(dǎo)碼,然后再按發(fā)出的是‘0’或‘1’來發(fā)出不同的數(shù)據(jù)碼,每發(fā)送完一位,就讓碼長計(jì)數(shù)器num加1,直到num加到32時(shí),發(fā)送停止。
圖4紅外發(fā)送程序流程圖
圖5紅外接收電路
4.3 紅外接收模塊
紅外接收電路選用Vishay公司生產(chǎn)的專用紅外接收模塊TSOP1838SS3V(以下簡稱1838)。該接收模塊是一個(gè)三端元件,使用+3V電源,具有功耗低、抗干擾能力強(qiáng)、輸入靈敏度高、對(duì)其它波長(950nm以外)的紅外光不敏感的特點(diǎn)。1838的工作原理為:首先,通過紅外光敏元件將接收到的載波頻率為38kHz的脈沖調(diào)制紅外光信號(hào)轉(zhuǎn)化為電信號(hào),再由前置放大器和自動(dòng)增益控制電路進(jìn)行放大處理;然后,通過帶通濾波器進(jìn)行濾波,濾波后的信號(hào)由解調(diào)電路進(jìn)行解調(diào);最后,由輸出級(jí)電路進(jìn)行反向放大輸出。
如圖5所示,1838的Vcc接+3V,GND接地,信號(hào)從OUT引腳引出,進(jìn)入MSP430F413的P2.0口。當(dāng)1838接收到紅外信號(hào),就會(huì)把紅外信號(hào)轉(zhuǎn)換的電平從OUT腳輸出,P2.0口就會(huì)產(chǎn)生一個(gè)中斷,進(jìn)入紅外中斷服務(wù)程序,進(jìn)而判斷是什么信號(hào),并且對(duì)信號(hào)做出反應(yīng)。
1838輸出的接收波形與發(fā)射波形恰好反相,即前導(dǎo)碼是9ms的低電平與4ms的高電平,“0”是0.5ms的低電平與0.5ms的高電平,“1” 是0.5ms的低電平與1.5ms的高電平。因此,在接收程序中,通過比較高電平的脈寬來判斷到底是前導(dǎo)碼,還是“0”或“1”。
圖6是紅外接收中斷程序流程圖。在主程序中,先設(shè)置P2.0口為上升沿和下降沿都捕獲,然后中斷允許,進(jìn)入主循環(huán)。一旦P2.0口有電平的跳變即進(jìn)入中斷程序。在中斷程序中,首先判斷是否上升沿。若是,則上升沿標(biāo)志置1,并記錄上升沿時(shí)刻;否則,說明是下降沿,再判斷上升沿標(biāo)志是否置1。若是,說明已有上升沿,記錄下降沿時(shí)刻,并計(jì)算脈寬(脈寬=下降沿時(shí)刻—上升沿時(shí)刻);否則,說明這是干擾信號(hào),直接返回。下一步,判斷脈寬的大小。若是起始碼,則起始碼標(biāo)志置1,記數(shù)值n清0。否則,判斷起始碼標(biāo)志是否置1,若是,判斷是“0”還是“1”,并保存,n加1,判斷n是否大于或等于32,是則將起始碼標(biāo)志和記數(shù)值n清0,保存32位數(shù)據(jù),返回;否則直接返回。
圖6 紅外接收中斷程序流程圖 |
5 結(jié)束語
在遙控器開發(fā)中,紅外發(fā)射電路采用紅外發(fā)光二極管,用軟件生成38K的載波;紅外接收電路采用專用模塊TSOP1838SS3V;主控制器采用 MSP430F413單片機(jī)。經(jīng)實(shí)際測(cè)試,遙控器的發(fā)射功率約為38mw,發(fā)射距離達(dá)到8m。遙控器具有低功耗、便攜式、低成本、高可靠性、體積小、結(jié)構(gòu)簡單的特點(diǎn)。
本文作者創(chuàng)新點(diǎn):本文中的紅外遙控器主要用于現(xiàn)場(chǎng)儀表的控制。目前帶遙控器的現(xiàn)場(chǎng)儀表還非常少,國外也只有SIEMENS公司開發(fā)了帶有遙控功能的現(xiàn)場(chǎng)儀表,而國內(nèi)這種產(chǎn)品幾乎沒有,所以紅外遙控器的開發(fā),可以說走在了國內(nèi)同類產(chǎn)品的前列,具有很大的市場(chǎng)優(yōu)勢(shì)。而且,通過紅外遙控器的開發(fā)和使用,適應(yīng)了現(xiàn)代社會(huì)對(duì)控制的要求日益向便攜式、簡單式方向發(fā)展的趨勢(shì)。
參考文獻(xiàn)
[1] 柏軍,胡屏. 一種用于單片機(jī)的紅外串行通信接口. 單片機(jī)及嵌入式系統(tǒng)應(yīng)用, 2003.8
[2] 蔣俊峰. 基于單片機(jī)的紅外通訊設(shè)計(jì). 電子設(shè)計(jì)應(yīng)用,2003.11
[3] 魏小龍. MSP430系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計(jì)實(shí)例. 北京:北京航空航天大學(xué)出版社,2002
[4] 陳茂勇,郭西進(jìn). 基于MSP430單片機(jī)的智能無功補(bǔ)償控制器的設(shè)計(jì). 微計(jì)算機(jī)信息,2005.5
[5] 馮瑛. 全數(shù)字電動(dòng)調(diào)節(jié)閥模糊控制系統(tǒng)的研究與開發(fā):[學(xué)位論文].長沙:中南大學(xué),2004
評(píng)論