基于MC9RS08KA2紅外遠(yuǎn)距離多鍵控制方案設(shè)計(jì)
在空調(diào)和許多家電應(yīng)用中,常常使用無線數(shù)據(jù)接口(如紅外通信)來發(fā)送和接收數(shù)據(jù),在紅外通信中基本的要求是:待機(jī)模式低功耗,低電壓操作,低成本,簡(jiǎn)易的代碼調(diào)制來客戶化定制不同的模式。
本方案包括發(fā)送和接收部分。設(shè)計(jì)中采用6引腳DFN封裝的MC9RS08KA2來實(shí)現(xiàn)紅外遠(yuǎn)程控制;采用6引腳的BDM接口實(shí)現(xiàn)Flash在線編程和調(diào)試。紅外遠(yuǎn)程控制發(fā)送部分通過紅外線發(fā)射產(chǎn)生數(shù)字控制幀到接收部分。紅外發(fā)送二極管和紅外接收調(diào)制元件是紅外控制的重要器件,作為家居應(yīng)用,紅外載波頻率的典型值是38kHz。對(duì)于不同的發(fā)射和接收設(shè)計(jì),紅外線數(shù)據(jù)幀模式都是確定的,它依賴于應(yīng)用的要求。
載波頻率是38 kHz,在紅外線數(shù)據(jù)傳輸中考慮到低功耗問題,占空比設(shè)計(jì)成l/3,紅外發(fā)射二極管導(dǎo)通時(shí)間為8μs,截止時(shí)間為18μs。相對(duì)于占空比為1/2時(shí),紅外發(fā)射二極管導(dǎo)通時(shí)間為13μs,截止時(shí)間為13μs,功耗降低了很多。數(shù)據(jù)位0/l表示基于調(diào)制信號(hào)的導(dǎo)通和截止時(shí)間。數(shù)據(jù)位0表示載波導(dǎo)通和截止時(shí)問都足0.5ms;數(shù)據(jù)位1表示載波導(dǎo)通時(shí)間足O.5 ms,截止時(shí)間是1.5 ms。
本次設(shè)計(jì)的數(shù)據(jù)幀由前導(dǎo)碼、多個(gè)數(shù)據(jù)碼、1字節(jié)的客戶識(shí)別碼和1個(gè)停止位組成。前導(dǎo)碼代表不同的IR接收器,數(shù)據(jù)碼用于控制開閉信號(hào)、加減、不同模式等,客戶識(shí)別碼用于識(shí)別小同的客戶,停止位用于標(biāo)識(shí)當(dāng)前傳輸結(jié)柬。
1 MC9RS08KA2微處理器
MC9RS08KA2(KA2)是一個(gè)超低功耗、低引腳封裝的MCU,適合于家居、玩具和遠(yuǎn)程控制的應(yīng)用。它是RS08 CPU內(nèi)核,包含62字節(jié)RAM、2 KB Flash和1個(gè)8位的定時(shí)器,具有鍵盤中斷、低壓檢測(cè)和模擬比較功能,有6引腳和8引腳2種封裝形式。設(shè)計(jì)中通過軟件延時(shí)的38 kHz載波頻率,硬件電路使用9個(gè)按鍵實(shí)現(xiàn)遠(yuǎn)程控制,具有可反復(fù)編程和凋試的BDM接口,工作電壓低至1.8V,系統(tǒng)采用鋰電池供電,低功耗模式下的電流值是lμA。
2 系統(tǒng)說明
設(shè)計(jì)中使用MC9RS08KA2作為發(fā)送和接收處理器。發(fā)送部分執(zhí)行鍵盤掃描、數(shù)據(jù)幀編碼、載波頻率產(chǎn)生,以及通過紅外線發(fā)送數(shù)據(jù)幀。接收部分執(zhí)行鍵盤掃描、數(shù)據(jù)幀解碼、LCD和LED顯示。
2.1 硬件部分
MC9RS08KA2具備內(nèi)部時(shí)鐘ICS模式,不需要額外的外部時(shí)鐘源,內(nèi)部RC晶振的最高時(shí)鐘頻率町達(dá)20 MHz(10MHz的總線頻率)。如圖1所示,6引腳封裝具備足夠的資源來識(shí)別9個(gè)按鍵。盡管MC9RS08KA2沒有內(nèi)建ADC轉(zhuǎn)換器,但是可通過內(nèi)建的比較器來實(shí)現(xiàn)ADC功能。通過電阻網(wǎng)絡(luò),比較器檢測(cè)不同按鍵按下的電壓值來識(shí)別按鍵。通過按下按鍵將KBl2連接到地,因此CPU上會(huì)有鍵盤中斷發(fā)生,同時(shí)按鍵電阻網(wǎng)絡(luò)會(huì)在ACMP一引腳產(chǎn)生一個(gè)確定的電壓。當(dāng)KB1中斷發(fā)生時(shí),開始對(duì)RC網(wǎng)絡(luò)(R1l和C3)的ACMP+充電。當(dāng)檢測(cè)到有按鍵按下時(shí),通過計(jì)算ACMP+的充電電壓達(dá)到電阻網(wǎng)絡(luò)在ACMP一上的分壓值的時(shí)間來識(shí)別按鍵(Sl~S9)。
為了保持系統(tǒng)的低功耗,MC9RS08KA2直接驅(qū)動(dòng)紅外線發(fā)射,如圖2所示。電路使用PTA3來驅(qū)動(dòng)IR發(fā)射硬件接收部分(如圖4所示)使用PDIP-8封裝的MC9RS08KA2,通過數(shù)碼管顯示不同的按鍵數(shù)值,通過PTA3驅(qū)動(dòng)繼電器來控制電器(如燈具或直流電機(jī))。
2.2 軟件部分
當(dāng)系統(tǒng)發(fā)送部分上電后,MC9RS08KA2進(jìn)行初始化。時(shí)鐘提升到16MHz,初始化變量寄存器,使能低壓監(jiān)測(cè),I/0口和PTA2設(shè)置為輸入,使能KBl2的下降沿中斷方式。初始化完成后,主程序進(jìn)入待機(jī)模式。當(dāng)有按鍵按下時(shí),系統(tǒng)喚醒,CPU執(zhí)行按鍵識(shí)別和數(shù)據(jù)幀的發(fā)送;之后系統(tǒng)繼續(xù)進(jìn)入低功耗模式.繼續(xù)準(zhǔn)備按鍵喚醒。發(fā)送流程如圖5所示。
接收部分(如圖6所示)則在初始化I/O口后,檢測(cè)是否有紅外信號(hào)。若無,則繼續(xù)檢測(cè);若有,則判斷數(shù)據(jù)幀地址碼足否與接收機(jī)相匹配。若匹配,則通過調(diào)用數(shù)碼顯示二極管。當(dāng)PTA3是邏輯高電平時(shí),IR發(fā)射二極管接通。
R14是一個(gè)限流電阻,可以通過改變輸出的PWM信號(hào)占空比來改變IR發(fā)射二極管的輸出功率。硬件發(fā)送部分原理圖如3所示。
驅(qū)動(dòng)程序顯示地址號(hào),同時(shí)驅(qū)動(dòng)繼電器動(dòng)作;若不匹配,則繼續(xù)下一輪接收。
結(jié) 語
系統(tǒng)采用了Freescale公司低成本、高集成度的IC,因而體積很小,功能強(qiáng)大。該方案用于控制家居室內(nèi)不同的電器,用一個(gè)紅外發(fā)射器,多個(gè)相同的紅外線接收裝置,發(fā)射器不同的按鍵對(duì)應(yīng)不同的電器。實(shí)際證明,系統(tǒng)能正常識(shí)別每種不同電氣設(shè)備,無誤動(dòng)作,效果良好。
評(píng)論