0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)中紅外遙控的基本原理

嵌入式開(kāi)發(fā)愛(ài)好者 ? 來(lái)源:嵌入式開(kāi)發(fā)愛(ài)好者 ? 2023-01-03 15:24 ? 次閱讀

紅外遙控簡(jiǎn)介

紅外遙控是一種無(wú)線(xiàn)、非接觸控制技術(shù),具有抗干擾能力強(qiáng),信息傳輸可靠,功耗低,成本低,易實(shí)現(xiàn)等顯著優(yōu)點(diǎn),被諸多電子設(shè)備特別是家用電器廣泛采用,并越來(lái)越多的應(yīng)用到計(jì)算機(jī)系統(tǒng)中。

由于紅外線(xiàn)遙控不具有像無(wú)線(xiàn)電遙控那樣穿過(guò)障礙物去控制被控對(duì)象的能力,所以,在設(shè)計(jì)紅外線(xiàn)遙控器時(shí),不必要像無(wú)線(xiàn)電遙控器那樣,每套(發(fā)射器和接收器)要有不同的遙控頻率或編碼(否則,就會(huì)隔墻控制或干擾鄰居的家用電器),所以同類(lèi)產(chǎn)品的紅外線(xiàn)遙控器,可以有相同的遙控頻率或編碼,而不會(huì)出現(xiàn)遙控信號(hào)“串門(mén)”的情況。這對(duì)于大批量生產(chǎn)以及在家用電器上普及紅外線(xiàn)遙控提供了極大的方面。由于紅外線(xiàn)為不可見(jiàn)光,因此對(duì)環(huán)境影響很小,再由紅外光波動(dòng)波長(zhǎng)遠(yuǎn)小于無(wú)線(xiàn)電波的波長(zhǎng),所以紅外線(xiàn)遙控不會(huì)影響其他家用電器,也不會(huì)影響臨近的無(wú)線(xiàn)電設(shè)備。

紅外遙控的編碼目前廣泛使用的是:NEC Protocol 的 PWM(脈沖寬度調(diào)制)和 Philips RC-5 Protocol的 PPM(脈沖位置調(diào)制)。我使用的的遙控器使用的是NEC 協(xié)議,其特征如下:

8位地址和8位指令長(zhǎng)度;

地址和命令2次傳輸(確保可靠性);

PWM脈沖位置調(diào)制,以發(fā)射紅外載波的占空比代表“ 0”和“ 1”;

載波頻率為38Khz;

位時(shí)間為1.125ms或2.25ms;

NEC 碼的位定義:一個(gè)脈沖對(duì)應(yīng)560us的連續(xù)載波,一個(gè)邏輯 1 傳輸需要2.25ms(560us 脈沖+1680us 低電平),一個(gè)邏輯0的傳輸需要 1.125ms(560us 脈沖+560us 低電平)。而遙控接收頭在收到脈沖的時(shí)候?yàn)榈碗娖?,在沒(méi)有脈沖的時(shí)候?yàn)楦唠娖?,這樣,我們?cè)诮邮疹^端收到的信號(hào)為:邏輯1應(yīng)該是560us低+1680us高,邏輯0應(yīng)該是560us低+560us高。

NEC 遙控指令的數(shù)據(jù)格式為:同步碼頭、地址碼、地址反碼、控制碼、控制反碼。同步碼由一個(gè)9ms的低電平和一個(gè)4.5ms的高電平組成,地址碼、地址反碼、控制碼、控制反碼均是8位數(shù)據(jù)格式。按照低位在前,高位在后的順序發(fā)送。采用反碼是為了增加傳輸?shù)目煽啃裕捎糜谛r?yàn))。

1. ENC 協(xié)議的時(shí)序圖

c7037728-88e1-11ed-bfe3-dac502259ad0.jpg

ENC特點(diǎn)如下:
1),協(xié)議規(guī)定低位首先發(fā)送。一串信息首先發(fā)送9ms的AGC(自動(dòng)增益控制)的高脈沖,接著發(fā)送4.5ms的起始低電平,接下來(lái)是發(fā)送四個(gè)字節(jié)的地址碼和命令碼,這四個(gè)字節(jié)分別為:地址碼;地址碼反碼;命令碼;命令碼反碼。
2),如果你一直按那個(gè)按鍵,一串信息也只能發(fā)送一次,一直按著,發(fā)送的則是以110ms為周期的重復(fù)碼。
3),接收到的信號(hào)是跟發(fā)送信號(hào)正好反向的。

2.重復(fù)碼的格式

c716ef92-88e1-11ed-bfe3-dac502259ad0.jpg

重復(fù)碼的格式是由9ms的AGC高電平和4.5ms的低電平及一個(gè)560us的高電平組成。

3.邏輯“1”的表示

c7290d30-88e1-11ed-bfe3-dac502259ad0.jpg

邏輯1的是由560us的高電平和1.69ms的低電平組成的脈沖表示。

4.邏輯“0”的表示

c73ede26-88e1-11ed-bfe3-dac502259ad0.jpg

邏輯0的是有560us的高電平和565us的低電平組成的脈沖表示。

5.ENC的解碼過(guò)程

一般ENC的解碼過(guò)程為:

1),產(chǎn)生下降沿,進(jìn)入外部中斷15的中斷函數(shù),延時(shí)一下之后檢測(cè)IO口是否還是低電平,是就等待9ms的低電平過(guò)去。

2),等待完9ms低電平過(guò)去,再去等待4.5ms的高電平過(guò)去。

3),接著開(kāi)始接收傳送的4組數(shù)據(jù)

①先等待560us的低電平過(guò)去
②檢測(cè)高電平的持續(xù)時(shí)間,如果超過(guò)1.12ms那么是高電平(高電平的的持續(xù)時(shí)間為1.69ms,低電平的持續(xù)時(shí)間為565us。

4),檢測(cè)接收到的數(shù)據(jù)和數(shù)據(jù)的反碼進(jìn)行比較,是否等到的數(shù)據(jù)是一樣的。

c7501290-88e1-11ed-bfe3-dac502259ad0.jpg

6,下面直接寫(xiě)驅(qū)動(dòng)程序

#include
#include
#include
#include
#include

#include


#defineIRDA_GPIOEXYNOS4_GPX3(2)

intflag=0;//表示數(shù)據(jù)幀的開(kāi)始
intnum=0;//表示數(shù)據(jù)幀里的第幾位數(shù)據(jù)
staticlonglongprev=0;//64bit,記錄上次的時(shí)間
unsignedinttimes[40];//記錄每位數(shù)據(jù)的時(shí)間

irqreturn_t
infrared_irq_handler(intirqno,void*dev_id)
{
longlongnow=ktime_to_us(ktime_get());
unsignedintoffset;
inti,j,tmp;

if(!flag){//數(shù)據(jù)開(kāi)始
flag=1;
prev=now;

returnIRQ_HANDLED;
}

offset=now-prev;
prev=now;

if((offset>13000)&&(offset=32){
for(i=0;i2000)//如果數(shù)據(jù)位的信號(hào)周期大于20ms,則是二進(jìn)制數(shù)據(jù)1
tmp|=1<

還有對(duì)應(yīng)的Makefile:

#指定內(nèi)核源碼路徑
KERNEL_DIR=/home/george/1702/exynos/linux-3.5

#指定當(dāng)前路徑
CUR_DIR=$(shellpwd)


#MYAPP=dht11_app
MODULE=IRDA_for_irq

all:
make-C$(KERNEL_DIR)M=$(CUR_DIR)modules
#arm-none-linux-gnueabi-gcc-o$(MYAPP)$(MYAPP).c
clean:
make-C$(KERNEL_DIR)M=$(CUR_DIR)clean
$(RM)$(MYAPP)
install:
cp-raf*.ko$(MYAPP)/home/george/1702/exynos/filesystem/1702

#指定編譯當(dāng)前目錄下那個(gè)源文件
obj-m=$(MODULE).o

編譯生成.ko文件之后,裝載,然后進(jìn)行實(shí)物測(cè)試,驗(yàn)證效果圖如下:

c767e08c-88e1-11ed-bfe3-dac502259ad0.jpg

審核編輯:湯梓紅。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628326
  • 遙控器
    +關(guān)注

    關(guān)注

    18

    文章

    824

    瀏覽量

    65374
  • 紅外遙控
    +關(guān)注

    關(guān)注

    22

    文章

    347

    瀏覽量

    45397
  • ENC
    ENC
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    1363

原文標(biāo)題:?jiǎn)纹瑱C(jī)中紅外遙控的基本原理

文章出處:【微信號(hào):嵌入式開(kāi)發(fā)愛(ài)好者,微信公眾號(hào):嵌入式開(kāi)發(fā)愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    51單片機(jī)如何利用外部中斷和定時(shí)器0對(duì)紅外信號(hào)進(jìn)行解碼?

    紅外遙控基本原理是什么?51單片機(jī)如何利用外部中斷和定時(shí)器0對(duì)紅外信號(hào)進(jìn)行解碼?
    發(fā)表于 09-28 07:39

    紅外光的基本原理

    文章目錄紅外光的基本原理紅外光的基本原理紅外線(xiàn)是波長(zhǎng)介于微波和可見(jiàn)光之間的電磁波,波長(zhǎng)在760納米到1毫米之間,是波形比紅光長(zhǎng)的非可見(jiàn)光。自
    發(fā)表于 01-24 06:52

    基于單片機(jī)紅外遙控密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)

    基于單片機(jī)紅外遙控密碼鎖的設(shè)計(jì)與實(shí)現(xiàn):Design and Realization of the Code LockControlled by Infrared Based on Single Chip 本文設(shè)計(jì)了一種基于
    發(fā)表于 11-26 13:30 ?163次下載
    基于<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>紅外</b><b class='flag-5'>遙控</b>密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)

    MCS-51 單片機(jī)基本原理

    [學(xué)習(xí)要求] 掌握MCS-51單片機(jī)的基本概念和基本原理。[重點(diǎn)與難點(diǎn)]重點(diǎn):單片機(jī)基本原理與內(nèi)部結(jié)構(gòu)。難點(diǎn):MCS-51單片機(jī)存儲(chǔ)器結(jié)構(gòu)
    發(fā)表于 03-18 22:05 ?67次下載

    紅外遙控器與單片機(jī)的硬件接口的設(shè)計(jì)

    紅外遙控系統(tǒng)設(shè)計(jì)及應(yīng)用:本文介紹了紅外遙控系統(tǒng)的設(shè)計(jì),紅外遙控器與
    發(fā)表于 05-24 01:34 ?279次下載

    基于單片機(jī)紅外遙控窗簾設(shè)計(jì)資料

    基于51系列的單片機(jī)紅外遙控設(shè)計(jì),實(shí)現(xiàn)窗簾的自動(dòng)打開(kāi)與閉合。
    發(fā)表于 01-14 16:32 ?95次下載

    紅外遙控單片機(jī)C程序

    紅外遙控單片機(jī),C語(yǔ)言實(shí)現(xiàn), 12MHz,T/12 51單片機(jī)
    發(fā)表于 03-14 15:09 ?11次下載

    單片機(jī)紅外遙控鍵盤(pán)系統(tǒng)

    本文介紹紅外遙控器在單片機(jī)系統(tǒng)的應(yīng)用,提出了一種利用彩電遙控器來(lái)擴(kuò)展單片機(jī)鍵盤(pán)系統(tǒng)的方法,介紹
    發(fā)表于 03-25 11:28 ?10次下載

    單片機(jī)紅外遙控系統(tǒng)設(shè)計(jì)資料

    單片機(jī)紅外遙控系統(tǒng)設(shè)計(jì)資料,有興趣的同學(xué)可以下載學(xué)習(xí)
    發(fā)表于 04-28 16:37 ?20次下載

    單片機(jī)紅外遙控系統(tǒng)

    單片機(jī)紅外遙控系統(tǒng)。
    發(fā)表于 04-28 18:02 ?18次下載

    單片機(jī)紅外遙控系統(tǒng)設(shè)計(jì)資料

    單片機(jī)紅外遙控系統(tǒng)設(shè)計(jì)資料,很好的設(shè)計(jì)資料,快來(lái)下載學(xué)習(xí)吧。
    發(fā)表于 05-09 17:35 ?0次下載

    基于單片機(jī)紅外風(fēng)扇遙控

    基于單片機(jī)紅外風(fēng)扇遙控
    發(fā)表于 12-27 16:54 ?52次下載

    淺析單片機(jī)PWM的基本概念和基本原理

    PWM 在單片機(jī)的應(yīng)用是非常廣泛的,它的基本原理很簡(jiǎn)單,但往往應(yīng)用于不同場(chǎng)合上意義也不完全一樣,這里我先把基本概念和基本原理給大家介紹一下,后邊遇到用的時(shí)候起碼知道是個(gè)什么東西。
    的頭像 發(fā)表于 09-10 11:01 ?1.1w次閱讀

    51單片機(jī)紅外遙控

    、電源和應(yīng)用電路組成,在單片機(jī)開(kāi)發(fā)板上有紅外接收電路,而且單片機(jī)充當(dāng)解碼芯片。- 紅外信號(hào)是怎么傳輸?shù)娜说难劬δ芸吹降目梢?jiàn)光按波長(zhǎng)從長(zhǎng)到短排列依次為:紅、橙、黃、綠、青、藍(lán)、紫。其中紅
    發(fā)表于 11-11 14:21 ?30次下載
    51<b class='flag-5'>單片機(jī)</b>—<b class='flag-5'>紅外</b><b class='flag-5'>遙控</b>

    基于單片機(jī)紅外風(fēng)扇遙控

    電子發(fā)燒友網(wǎng)站提供《基于單片機(jī)紅外風(fēng)扇遙控.rar》資料免費(fèi)下載
    發(fā)表于 10-20 09:11 ?8次下載
    基于<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>紅外</b>風(fēng)扇<b class='flag-5'>遙控</b>