鍍金池/ 教程/ 數(shù)據(jù)庫/ 16.2 紅外遙控通信原理
18. RS485 通信與 Modbus 協(xié)議
17.5 A/D 差分輸入信號(hào)
15.8 C 語言復(fù)合數(shù)據(jù)類型(結(jié)構(gòu)體,共用體,枚舉類型)
16.3 NEC 協(xié)議紅外遙控器
13.1 單片機(jī)通信時(shí)序解析
14.4 單片機(jī) EEPROM 單字節(jié)讀寫操作時(shí)序
13.3 多個(gè) .c 文件的初步認(rèn)識(shí)
18.2 Modbus 通信協(xié)議介紹
15.1 BCD 碼介紹
18.3 單片機(jī) Modbus 多機(jī)通信程序設(shè)計(jì)
18.1 單片機(jī) RS485 通信接口、控制線、原理圖及程序?qū)嵗?/span>
15. 實(shí)時(shí)時(shí)鐘 DS1302
14.7 單片機(jī) I2C 和 EEPROM 的綜合編程
17. 模數(shù)轉(zhuǎn)換與數(shù)模轉(zhuǎn)換
16.2 紅外遙控通信原理
13.2 1602 液晶整屏移動(dòng)程序
17.6 D/A 輸出
17.7 單片機(jī)信號(hào)發(fā)生器程序
16.4 溫度傳感器 DS18B20
14.6 單片機(jī)EEPROM的頁寫入
13.4 單片機(jī)計(jì)算器程序設(shè)計(jì)[詳細(xì)]
17.2 A/D(模數(shù)轉(zhuǎn)換)的主要指標(biāo)
17.4 PCF8591 應(yīng)用程序
17.1 A/D 和 D/A 的基本概念
17.3 PCF8591硬件接口(電路圖引腳圖)
14.3 單片機(jī) EEPROM 簡(jiǎn)介
13.5 單片機(jī)串口通信原理和控制程序
15.5 DS1302 寄存器介紹
15.2 單片機(jī) SPI 通信接口
15.6 DS1302 通信時(shí)序介紹
14.5 單片機(jī) EEPROM 多字節(jié)讀寫操作時(shí)序
16. 紅外通信與 DS18B20 溫度傳感器
14.1 單片機(jī) I2C 時(shí)序介紹
15.3 實(shí)時(shí)時(shí)鐘芯片 DS1302 介紹
15.9 單片機(jī)電子時(shí)鐘程序設(shè)計(jì)
16.1 紅外光的基本原理
15.4 DS1302 的硬件信息
15.7 DS1302 的 BURST 模式
14.2 單片機(jī) I2C 尋址模式
14. 單片機(jī) I2C 總線與 EEPROM
13. 單片機(jī) 1602 液晶與串口的應(yīng)用實(shí)例

16.2 紅外遙控通信原理

在實(shí)際的通信領(lǐng)域,發(fā)出來的信號(hào)一般有較寬的頻譜,而且都是在比較低的頻率段分布大量的能量,所以稱之為基帶信號(hào),這種信號(hào)是不適合直接在信道中傳輸?shù)?。為便于傳輸、提高抗干擾能力和有效的利用帶寬,通常需要將信號(hào)調(diào)制到適合信道和噪聲特性的頻率范圍內(nèi)進(jìn)行傳輸,這就叫做信號(hào)調(diào)制。在通信系統(tǒng)的接收端要對(duì)接收到的信號(hào)進(jìn)行解調(diào),恢復(fù)出原來的基帶信號(hào)。這部分通信原理的內(nèi)容,大家了解一下即可。

我們平時(shí)用到的紅外遙控器里的紅外通信,通常是使用 38 K 左右的載波進(jìn)行調(diào)制的,下面我把原理大概給大家介紹一下,先看發(fā)送部分原理。

調(diào)制:就是用待傳送信號(hào)去控制某個(gè)高頻信號(hào)的幅度、相位、頻率等參量變化的過程,即用一個(gè)信號(hào)去裝載另一個(gè)信號(hào)。比如我們的紅外遙控信號(hào)要發(fā)送的時(shí)候,先經(jīng)過 38 K 調(diào)制,如圖16-4所示。

http://wiki.jikexueyuan.com/project/mcu-tutorial-three/images/27.png" alt="" />

圖16-4 紅外信號(hào)調(diào)制

原始信號(hào)就是我們要發(fā)送的一個(gè)數(shù)據(jù)“0”位或者一位數(shù)據(jù)“1”位,而所謂 38 K 載波就是頻率為 38 K 的方波信號(hào),調(diào)制后信號(hào)就是最終我們發(fā)射出去的波形。我們使用原始信號(hào)來控制 38 K 載波,當(dāng)信號(hào)是數(shù)據(jù)“0”的時(shí)候,38 K 載波毫無保留的全部發(fā)送出去,當(dāng)信號(hào)是數(shù)據(jù)“1”的時(shí)候,不發(fā)送任何載波信號(hào)。

那在原理上,我們?nèi)绾螐碾娐返慕嵌热?shí)現(xiàn)這個(gè)功能呢?如圖16-5所示。

http://wiki.jikexueyuan.com/project/mcu-tutorial-three/images/28.png" alt="" />

圖16-5 紅外發(fā)射原理圖

38 K 載波,我們可以用 455 K 晶振,經(jīng)過12分頻得到 37.91 K,也可以由時(shí)基電路 NE555 來產(chǎn)生,或者使用單片機(jī)的 PWM 來產(chǎn)生。當(dāng)信號(hào)輸出引腳輸出高電平時(shí),Q2 截止,不管 38 K 載波信號(hào)如何控制 Q1,右側(cè)的豎向支路都不會(huì)導(dǎo)通,紅外管 L1 不會(huì)發(fā)送任何信息。當(dāng)信號(hào)輸出是低電平的時(shí)候,那么 38 K 載波就會(huì)通過 Q1 釋放出來,在 L1 上產(chǎn)生 38 K 的載波信號(hào)。這里要說明的是,大多數(shù)家電遙控器的 38 K 的占空比是1/3,也有1/2的,但是相對(duì)少一些。

正常的通信來講,接收端要首先對(duì)信號(hào)通過監(jiān)測(cè)、放大、濾波、解調(diào)等等一系列電路處理,然后輸出基帶信號(hào)。但是紅外通信的一體化接收頭 HS0038B,已經(jīng)把這些電路全部集成到一起了,我們只需要把這個(gè)電路接上去,就可以直接輸出我們所要的基帶信號(hào)了,如圖16-6所示。

http://wiki.jikexueyuan.com/project/mcu-tutorial-three/images/29.png" alt="" />

圖16-6 紅外接收原理圖

由于紅外接收頭內(nèi)部放大器的增益很大,很容易引起干擾,因此在接收頭供電引腳上必須加上濾波電容,官方手冊(cè)給的值是 4.7 uF,我們這里直接用的 10 uF,手冊(cè)里還要求在供電引腳和電源之間串聯(lián)100歐的電阻,進(jìn)一步降低干擾。

圖16-6所示的電路,用來接收?qǐng)D16-5電路發(fā)送出來的波形,當(dāng) HS0038B 監(jiān)測(cè)到有 38 K 的紅外信號(hào)時(shí),就會(huì)在 OUT 引腳輸出低電平,當(dāng)沒有 38 K 的時(shí)候,OUT 引腳就會(huì)輸出高電平。那我們把 OUT 引腳接到單片機(jī)的 IO 口上,通過編程,就可以獲取紅外通信發(fā)過來的數(shù)據(jù)了。

大家想想,OUT 引腳輸出的數(shù)據(jù)是不是又恢復(fù)成為基帶信號(hào)數(shù)據(jù)了呢?那我們單片機(jī)在接收這個(gè)基帶信號(hào)數(shù)據(jù)的時(shí)候,如何判斷接收到的是什么數(shù)據(jù),應(yīng)該遵循什么協(xié)議呢?像我們前邊學(xué)到的 UART、I2C、SPI 等通信協(xié)議都是基帶通信的通信協(xié)議,而紅外的 38 K 僅僅是對(duì)基帶信號(hào)進(jìn)行調(diào)制解調(diào),讓信號(hào)更適合在信道中傳輸。

由于我們的紅外調(diào)制信號(hào)是半雙工的,而且同一時(shí)刻空間只能允許一個(gè)信號(hào)源,所以紅外的基帶信號(hào)不適合在 I2C 或者 SPI 通信協(xié)議中進(jìn)行的,我們前邊提到過 UART 雖然是2條線,但是通信的時(shí)候,實(shí)際上一條線即可,所以紅外可以在 UART 中進(jìn)行通信。當(dāng)然,這個(gè)通信也不是沒有限制的,比如在 HS0038B 的數(shù)據(jù)手冊(cè)中標(biāo)明,要想讓 HS0038B 識(shí)別到 38 K 的紅外信號(hào),那么這個(gè) 38 K 的載波必須要大于10個(gè)周期,這就限定了紅外通信的基帶信號(hào)的比特率必須不能高于3800,那如果把串口輸出的信號(hào)直接用 38 K 調(diào)制的話,波特率也就不能高于3800。當(dāng)然還有很多其它基帶協(xié)議可以利用紅外來調(diào)制,下面我們介紹一種遙控器常用的紅外通信協(xié)議——NEC 協(xié)議。