• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      可識別載波的紅外遙控自學(xué)習(xí)模塊研究與設(shè)計*

      2013-12-07 06:18:16程小輝康燕萍
      電子技術(shù)應(yīng)用 2013年2期
      關(guān)鍵詞:遙控載波紅外

      程小輝,康燕萍

      (桂林理工大學(xué) 信息科學(xué)與工程學(xué)院,廣西 桂林 541004)

      紅外遙控器是人們?nèi)粘I钪谐R姷囊环N遙控設(shè)備,可以用來遙控電視機(jī)、DVD、空調(diào)、風(fēng)扇等生活電器。但是紅外遙控的傳輸協(xié)議沒有統(tǒng)一的標(biāo)準(zhǔn),不同的生產(chǎn)廠家設(shè)計的遙控也各有異同,主要表現(xiàn)在載波頻率的不同和紅外信號傳輸協(xié)議的不同,常用的紅外遙控器中載波頻率主要有38 kHz和40 kHz。常用的紅外遙控信號傳輸協(xié)議有 NEC協(xié)議、Philips協(xié)議、ITT協(xié)議、Nokia NRC協(xié)議等。

      目前的自學(xué)習(xí)紅外遙控器,只能針對單一的載波頻率進(jìn)行學(xué)習(xí),而不能識別不同的載波頻率的遙控信號。這樣的自學(xué)習(xí)遙控器存在一定的局限性,學(xué)習(xí)遙控的數(shù)量也相對較少。

      1 模塊硬件設(shè)計

      1.1 硬件結(jié)構(gòu)設(shè)計

      本模塊硬件結(jié)構(gòu)設(shè)計基于STC單片機(jī),芯片型號為STC12C5410AD。硬件結(jié)構(gòu)框圖如圖1所示。

      1.2 單片機(jī)芯片介紹

      選擇單片機(jī)型號為STC12C5410AD。32腳LQFP封裝,CPU 最大頻率 35 MHz,10 KB Flash,512 B RAM,共 6個16位普通定時器,具有UART和SPI接口。該芯片是本模塊的核心部件,主要作用是計算紅外載波頻率和信號波形測量分析。

      E2PROM存儲芯片選擇24C16,具有16 KB存儲空間,使用I2C總線通信。芯片的主要作用是存儲復(fù)制后的紅外二進(jìn)制編碼波形。

      1.3 單片機(jī)最小系統(tǒng)

      STC12C5410AD支持的最大外部時鐘頻率為35 MHz,具有單時鐘機(jī)器周期,運(yùn)行速度是普通51單片機(jī)速度的12倍。最小系統(tǒng)原理圖如圖2所示。

      1.4 紅外接收及發(fā)射電路

      紅外接收電路使用傳統(tǒng)的紅外接收管,接收信號經(jīng)三極管偏置電路放大。紅外發(fā)射電路波形信號從CLK引腳輸入,CS為門控端,信號經(jīng)三極管放大后驅(qū)動紅外發(fā)射管,如圖3所示。

      1.5 E2PROM存儲電路

      外部存儲器使用24C16芯片,通信接口使用模擬I2C總線,24C16的SDA引腳和SCL引腳分別與單片機(jī)的P3.7和P1.0相連,并用10 kΩ電阻上拉。

      2 模塊軟件設(shè)計

      本紅外自學(xué)習(xí)模塊主要工作模式分為:自學(xué)習(xí)模式和紅外遙控模式。自學(xué)習(xí)模式是學(xué)習(xí)紅外遙控的載波頻率和波形復(fù)制。工作步驟分為:載波頻率檢測、紅外波形檢測、檢測數(shù)據(jù)分析和數(shù)據(jù)儲存。軟件總體設(shè)計流程如圖4所示。

      2.1 載波頻率檢測

      因?yàn)椴煌募t外遙控使用的載波頻率有所不同,所以載波頻率的檢測是模塊主要功能之一。利用外部觸發(fā)中斷和定時器聯(lián)合使用來實(shí)現(xiàn)檢測載波頻率。

      理論計算:假如紅外信號的載波頻率為40 kHz。則周期T=25μs。單片機(jī)時鐘頻率為 24 MHz,定時器計數(shù)周期為1/24 MHz=0.041 7μs。假如在載波的一個下降沿啟動定時器計數(shù),到下一個下降沿停止計時,并讀取定時器的計數(shù)值,這個定時器的理論計數(shù)值為 25μs/0.041 7μs=600。

      為了減小定時器計數(shù)值轉(zhuǎn)換成時間或頻率的計算誤差,本設(shè)計方案中存儲的頻率是定時器的計數(shù)值而并非實(shí)際的載波頻率。載波頻率檢測方法如下:

      (1)將單片機(jī)的定時器0配置為16位計數(shù)器,計數(shù)時鐘不進(jìn)行12分頻;外部中斷1配置為下降沿觸發(fā)。

      (2)當(dāng)接收到紅外波形時,下降沿觸發(fā)外部中斷1,在中斷函數(shù)中啟動定時器0開始計數(shù)。下一個下降沿時停止計數(shù),并讀出計數(shù)值存入緩沖區(qū)。

      (3)連續(xù)測量14個數(shù)據(jù),將14個數(shù)據(jù)進(jìn)行冒泡法排列,分別去掉2個最大值和2個最小值,對剩下的數(shù)據(jù)求平均值。

      (4)計算出來的平均值加上一個誤差補(bǔ)償值則為載波在一個周期內(nèi)定時器0的計數(shù)值。直接將計數(shù)值進(jìn)行存儲。

      圖4 軟件總體設(shè)計流程圖

      2.2 波形測量

      波形測量是指對紅外信號的編碼波形進(jìn)行測量。實(shí)際測量調(diào)制信號高低電平的時間。以紅外NEC[1]協(xié)議為例,紅外NEC協(xié)議編碼波形如圖5所示。

      圖5所示的黑色部分是載波,空白部分是低電平。波形測量的方法:采用外部中斷觸發(fā)的方式分別記錄不同黑塊中載波脈沖的個數(shù)和不同低電平的時間。具體測量步驟如下:

      (1)配置單片機(jī)的定時器0和外部中斷1,與測量載波頻率時的配置相同。

      (2)當(dāng)接收到紅外波形時下降沿觸發(fā)外部中斷1,在中斷函數(shù)中啟動定時器0開始計數(shù),中斷計數(shù)器值自增1。

      (3)下一個下降沿時定時器0停止計數(shù),中斷計數(shù)器值自增1,并讀出定時器計數(shù)值。將計數(shù)值與載波頻率中測量值比較,若前者數(shù)值大于后者兩倍,則表明測量的是低電平,執(zhí)行步驟(4);否則,重置定時器0初值,并返回執(zhí)行步驟(3)。

      (4)存儲外部中斷1和定時器0的計數(shù)值,并判斷數(shù)據(jù)緩存是否存滿,若存滿則執(zhí)行步驟(5);否則重置定時器0初值并返回步驟(3)。

      (5)分析測出的數(shù)據(jù),并提取一段完整的波形存入E2PROM中,執(zhí)行步驟(6)。若不能分析出一段完整波形,則執(zhí)行步驟(7)。

      (6)通過串口反饋學(xué)習(xí)成功,并傳回按鍵編號。

      (7)通過串口反饋學(xué)習(xí)失敗。

      2.3 波形數(shù)據(jù)分析與存儲

      波形測量后得到兩組數(shù)據(jù),分別是調(diào)制段的載波脈沖個數(shù)和低電平的時間計數(shù)值。所測波形數(shù)據(jù)中包含一段完整的波形數(shù)據(jù),之后會出現(xiàn)一個較長時間的低電平,這個低電平的時間一般都會大于10 ms。通過判別低電平時間,就可以提取出一段完整的波形數(shù)據(jù)。

      存儲波形數(shù)據(jù)時,先定義一個結(jié)構(gòu)體,其成員有:載波頻率、按鍵編號、波形存儲首地址和存儲數(shù)據(jù)長度。其中按鍵編號和存儲數(shù)據(jù)長度采用無符號字符型,其余兩個采用無符號整型,因此一個結(jié)構(gòu)體變量的字節(jié)長度是6 B。24C16的存儲容量是16 KB,將存儲空間分成兩個區(qū)域,前2 KB來存儲波形的結(jié)構(gòu)體變量數(shù)據(jù),后14 KB來存儲波形數(shù)據(jù)。理論上計算存儲器至少能存儲55個波形。

      2.4 紅外信號發(fā)射

      發(fā)射紅外信號時,先根據(jù)按鍵編號從24C16中讀取相應(yīng)按鍵的載波頻率、按鍵編號、波形數(shù)據(jù)存儲首地址和存儲數(shù)據(jù)長度。然后對按鍵編號進(jìn)行比較,確認(rèn)無誤后根據(jù)波形數(shù)據(jù)存儲首地址將波形數(shù)據(jù)讀取出來。再根據(jù)波形數(shù)據(jù)給定時器0賦不同的初值,在定時器0的定時中斷函數(shù)里對P3.5進(jìn)行電平翻轉(zhuǎn),從而輸出編碼波形。波形信號經(jīng)過三極管功率放大驅(qū)動紅外發(fā)光二極管發(fā)射波形。

      2.5 模塊UART通信協(xié)議設(shè)置

      2.5.1 串口參數(shù)設(shè)置

      串口參數(shù)設(shè)置為:波特率1 200 b/s、數(shù)據(jù)位 8 bit、停止位1 bit、無校驗(yàn)位、無流控制。

      2.5.2 通信協(xié)議設(shè)置

      (1)模塊接收數(shù)據(jù)格式

      起始位 (0xfe)+命令位+數(shù)據(jù)長度+數(shù)據(jù)域+數(shù)據(jù)校驗(yàn)。

      命令位詳解:①0x00:模塊進(jìn)入學(xué)習(xí)模式;②0x01:模塊按照接收到的按鍵編碼發(fā)送紅外信號;③0x02:獲取指定按鍵編號的波形數(shù)據(jù)。

      數(shù)據(jù)長度:通信協(xié)議中數(shù)據(jù)域的數(shù)據(jù)字節(jié)總數(shù)。

      數(shù)據(jù)域:要發(fā)送的數(shù)據(jù)。當(dāng)命令位為0x00,數(shù)據(jù)域中數(shù)據(jù)無效,可為一個字節(jié)的任意數(shù)據(jù)。

      數(shù)據(jù)校驗(yàn):數(shù)據(jù)域中所有數(shù)據(jù)的校驗(yàn)和。

      例如,模塊進(jìn)入學(xué)習(xí)模式接收到的數(shù)據(jù)應(yīng)該是0xfe 0x00 0x01 0x00 0x00;控制模塊發(fā)送編碼為2的按鍵信號數(shù)據(jù)應(yīng)該是0xfe 0x01 0x01 0x02 0x02。

      (2)模塊發(fā)送數(shù)據(jù)格式

      起始位(0xfe)+狀態(tài)位+數(shù)據(jù)長度+數(shù)據(jù)域+數(shù)據(jù)校驗(yàn)。

      狀態(tài)位詳解:①0x00:紅外信號學(xué)習(xí)成功;②0x01:紅外信號學(xué)習(xí)失??;③0x02:數(shù)據(jù)域中發(fā)送指定按鍵的編碼波形數(shù)據(jù)。

      3 實(shí)驗(yàn)分析與性能測試

      3.1 載波頻率學(xué)習(xí)測試對比與分析

      測試方法:用一個模塊編寫程序發(fā)出固定頻率的信號,該信號需要經(jīng)過示波器測量確認(rèn),并讓另一模塊接收,測量該頻率相應(yīng)的定時器計數(shù)值,通過串口發(fā)送到PC機(jī)的串口調(diào)試助手顯示。再計算出該頻率相應(yīng)的定時器理論計數(shù)值,將兩個數(shù)值進(jìn)行比較。測試結(jié)果如表1所示。

      表1 載波頻率測試結(jié)果

      理論值的計算方法:載波頻率為F,一個周期的時間T=1/F;單片機(jī)的時鐘頻率 f=24 MHz,定時器 0不采用12分頻方式,定時器計一個數(shù)的時間t=1/f。因此在一個T時間內(nèi)定時器0的計數(shù)值為C=T/t。

      通過實(shí)驗(yàn)數(shù)據(jù)可得出,測量值與理論值存在偏差,但是這個偏差值接近一個固定值34,通過軟件對測量數(shù)據(jù)加34來達(dá)到理論計算值。經(jīng)過補(bǔ)償后,將測量的頻率數(shù)據(jù)轉(zhuǎn)換成信號發(fā)出,用示波器測量發(fā)出的頻率與接收到的頻率一致。通過實(shí)驗(yàn)測得模塊學(xué)習(xí)載波的范圍是30 kHz~65 kHz。

      載波頻率的數(shù)據(jù)測量可通過補(bǔ)償來達(dá)到理論要求。下面對實(shí)際的紅外遙控進(jìn)行載波頻率識別測試,使用示波器捕捉載波波形進(jìn)行比較。載波識別是本模塊的一大亮點(diǎn),參考文獻(xiàn)[1-7]中的紅外學(xué)習(xí)模塊都使用紅外一體化接收頭進(jìn)行數(shù)據(jù)采集,它們的共同點(diǎn)是載波頻率固定,不能學(xué)習(xí)多種載波的遙控信號。而載波學(xué)習(xí)的一個重要指標(biāo)是經(jīng)過學(xué)習(xí)后的載波頻率必須與原載波一致。

      圖6所示為學(xué)習(xí)模塊識別載波頻率后發(fā)送的載波波形,頻率為38.46 kHz,占空比為1/2。用示波器測量紅外遙控發(fā)射的載波頻率為38.64 kHz,占空比為1/3。由圖6可見,該學(xué)習(xí)模塊能夠識別載波頻率。占空比的差異只與遙控器的功耗有關(guān),但不影響遙控功能。

      圖6 學(xué)習(xí)模塊學(xué)習(xí)后發(fā)送的載波

      3.2 紅外波形學(xué)習(xí)測試對比與分析

      紅外遙控自學(xué)習(xí)模塊另一重要功能是將學(xué)習(xí)到的紅外波形完整地發(fā)送出去,并且與原來的波形一致。通過示波器實(shí)驗(yàn)可以比對學(xué)習(xí)轉(zhuǎn)發(fā)的波形與原有波形。圖7所示為按下遙控器1號鍵時,通過紅外接收管接收到的部分波形。圖8所示為模塊學(xué)習(xí)復(fù)制信號后發(fā)送的部分波形。經(jīng)過比較,兩種波形基本一致。

      圖7 紅外遙控按鍵1發(fā)送的部分波形

      圖8 模塊學(xué)習(xí)后發(fā)送的部分波形

      實(shí)際功能測試:紅外遙控自學(xué)習(xí)模塊的主要功能是學(xué)習(xí)紅外遙控器的相關(guān)按鍵,并且能控制相關(guān)的紅外遙控設(shè)備。使用該模塊學(xué)習(xí)彩色電視機(jī)的遙控,能夠成功控制電視機(jī)頻道選擇;學(xué)習(xí)空調(diào)遙控,能成功控制空調(diào)的開關(guān)和調(diào)溫等操作。

      本文介紹的紅外遙控自學(xué)習(xí)模塊具有自動識別載波頻率和波形學(xué)習(xí)的功能。實(shí)驗(yàn)證明,紅外自學(xué)習(xí)模塊具有良好的通用性和寬載波學(xué)習(xí)范圍,解決了目前遙控器只識別單一載波的問題。通過實(shí)際功能測試,驗(yàn)證了該模塊設(shè)計方案的可行性。

      [1]鄭偉,謝利理,張震.一種具有自學(xué)習(xí)功能的智能紅外遙控器設(shè)計[J].計算機(jī)測量與控制,2007,15(12):1758-1759.

      [2]吳彪,朱立新,趙佳.基于 CPLD的紅外遙控發(fā)射接收設(shè)計與仿真[J].計算機(jī)仿真,2006,23(8):269-272.

      [3]朱光忠,呂梅蕾,楊子鳴.基于單片機(jī)的紅外遙控開關(guān)控制器[J].計算機(jī)工程與設(shè)計,2006,27(11):2097-2099.

      [4]吳愛萍,朱曉春.基于AT89S51的多功能紅外遙控器設(shè)計[J].儀表技術(shù)與傳感器,2008(8):78-80.

      [5]高建榮.基于單片機(jī)控制紅外線遙控的編碼實(shí)現(xiàn)[J].計算機(jī)工程與設(shè)計,2004,25(11):2105-2107.

      [6]李從宏.基于功能碼的紅外遙控軟件解碼技術(shù)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(9):72-73.

      [7]聶詩良,李磊民.紅外遙控信號的一種編碼解碼方法[J].儀表技術(shù)與傳感器,2004(8):28-29,32.

      猜你喜歡
      遙控載波紅外
      如何遙控引爆的
      網(wǎng)紅外賣
      閃亮的中國紅外『芯』
      金橋(2021年4期)2021-05-21 08:19:20
      TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
      電子制作(2019年7期)2019-04-25 13:17:14
      他是如何遙控引爆的
      基于快速遞推模糊2-劃分熵圖割的紅外圖像分割
      應(yīng)急廣播系統(tǒng)中副載波的構(gòu)建與應(yīng)用
      遙控賽車
      低壓載波通訊測試儀的開發(fā)與應(yīng)用
      基于最優(yōu)化搜索的迭代載波同步算法
      克拉玛依市| 北碚区| 乌拉特后旗| 元朗区| 文成县| 环江| 美姑县| 德兴市| 乌拉特中旗| 金阳县| 五大连池市| 新竹市| 营山县| 黄浦区| 屯留县| 雷波县| 葵青区| 读书| 佳木斯市| 咸阳市| 金华市| 镇坪县| 农安县| 永兴县| 沈丘县| 河西区| 东宁县| 原阳县| 武山县| 扎鲁特旗| 庆云县| 巴塘县| 卓尼县| 新源县| 镇赉县| 崇明县| 偃师市| 英德市| 黄冈市| 辰溪县| 沙洋县|