新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 紅外遙控發(fā)射器Proteus仿真研究

紅外遙控發(fā)射器Proteus仿真研究

作者: 時(shí)間:2016-10-15 來(lái)源:網(wǎng)絡(luò) 收藏

0 引言

本文引用地址:http://m.butianyuan.cn/article/201610/307425.htm

在家電、玩具、工控、智能儀表中是使用最廣泛的一種通信和遙控手段。能大大加快該遙控系統(tǒng)的開(kāi)發(fā)周期和提高其性能,但是當(dāng)前版本的Proteus中尚沒(méi)有紅外的仿真元器件,只有一個(gè)IRLINK模塊可以用于接收并解調(diào)紅外信號(hào),給紅外系統(tǒng)仿真帶來(lái)了較大的難度。目前學(xué)者對(duì)系統(tǒng)的接收部分仿真已經(jīng)有較多的研究,但是還很少有針對(duì)發(fā)射部分的典型仿真研究??梢栽O(shè)計(jì)一種典型的紅外仿真模塊,該模塊在仿真中相當(dāng)于實(shí)際的遙控器。進(jìn)行紅外遙控系統(tǒng)開(kāi)發(fā)仿真時(shí),可以將此模塊用于紅外遙控接收電路以及其軟件的快速驗(yàn)證,加快產(chǎn)品開(kāi)發(fā)周期。

1 紅外遙控調(diào)制解調(diào)過(guò)程簡(jiǎn)介

紅外遙控發(fā)射器發(fā)射的一幀數(shù)據(jù)一般由引導(dǎo)碼、低8位用戶編碼、8位數(shù)據(jù)碼、8位數(shù)據(jù)碼的反碼等4部分組成。其中用戶識(shí)別碼能區(qū)別不同的紅外遙控設(shè)備,防止不同機(jī)種遙控碼互相干擾。后16位為8位數(shù)據(jù)碼和8位數(shù)據(jù)碼的反碼,每次8位的數(shù)據(jù)碼被傳送之后,它的反碼也隨即被傳送,用于確保接收數(shù)據(jù)準(zhǔn)確。這種遙控碼是采用脈沖寬度調(diào)制方式,它的特征是:采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”。

紅外數(shù)據(jù)幀經(jīng)編碼后,還要用38kHz的方波進(jìn)行脈沖幅度調(diào)制。如圖1所示,最上面一行為待發(fā)射數(shù)據(jù)的波形,第二行為38k載波,第三行為經(jīng)載波調(diào)制后的紅外發(fā)射信號(hào)波形,第四行是經(jīng)過(guò)一種專門的紅外接收濾波后的數(shù)據(jù)還原??梢钥闯觯詈笸ㄟ^(guò)解碼還原出來(lái)的數(shù)據(jù)波形與紅外遙控器發(fā)射的數(shù)據(jù)波形相位剛好反向。

紅外遙控發(fā)射器Proteus仿真研究

2 紅外遙控仿真硬件電路設(shè)計(jì)

圖2所示是紅外發(fā)射接收一體化仿真電路。U2部分為紅外接收,并顯示接收到的紅外編碼,顯示部分可采用數(shù)碼管,LCD等顯示器件,學(xué)者已經(jīng)對(duì)紅外接收及顯示有較詳細(xì)的研究,在此不作論述,只用作驗(yàn)證紅外遙控發(fā)射器模塊的有效性。

紅外遙控發(fā)射器Proteus仿真研究

U1部分為模擬紅外遙控器發(fā)射。因軟件里面沒(méi)有常見(jiàn)的紅外遙控發(fā)射器處理芯片,這里用8051U1來(lái)實(shí)現(xiàn),其P3.4口輸出待發(fā)射數(shù)據(jù),該數(shù)據(jù)經(jīng)與門U3和38k載波信號(hào)調(diào)制后發(fā)射到接收電路,接收電路再通過(guò)Proteus軟件自帶的IRLINK模塊解調(diào)后送到U2的外部中斷INT0。遙控發(fā)射器按鍵輸入采用4×4矩陣鍵盤,當(dāng)按下某一個(gè)鍵后會(huì)發(fā)出對(duì)應(yīng)的編碼。例如按下鍵K6,按照紅外發(fā)射數(shù)據(jù)幀結(jié)構(gòu),將通過(guò)P3.4口串行發(fā)送“00,00,0x06,0xf9”,其中,前面的“00,00”為用戶碼,對(duì)于不同的設(shè)備需作相應(yīng)的修改;“0x06”是代表6號(hào)鍵,“0xf9”是“0x06”的反碼,用于校驗(yàn),提高傳輸準(zhǔn)確性。只要在單片機(jī)的程序中對(duì)用戶碼和按鍵編碼作相應(yīng)的修改,就能使該遙控發(fā)射器在各類紅外遙控系統(tǒng)仿真中通用。

3 紅外遙控發(fā)射器程序設(shè)計(jì)

3.1 軟件功能概述

根據(jù)仿真硬件電路設(shè)計(jì),單片機(jī)的軟件程序需要完成以下2個(gè)功能:1)按鍵掃描:實(shí)時(shí)對(duì)4×4矩陣鍵盤掃描,得到按鍵碼,并根據(jù)按鍵碼查找出對(duì)應(yīng)的紅外發(fā)射編碼。2)編碼發(fā)射:根據(jù)前述2.1和2.2的編碼協(xié)議通過(guò)P3.4口發(fā)射紅外編碼。

單片機(jī)程序功能較簡(jiǎn)單,但是對(duì)于按鍵掃描和編碼發(fā)射的時(shí)序要求較高,既要保證實(shí)時(shí)掃描到按鍵,又要保證紅外編碼的實(shí)時(shí)發(fā)射。

3. 2 程序設(shè)計(jì)

程序流程圖如圖3所示,在時(shí)序上,整個(gè)程序基本上所有的時(shí)間都是在調(diào)用鍵盤掃描子程序,因此能檢測(cè)到任何時(shí)候的按鍵。只有在掃描到有按鍵時(shí)才會(huì)調(diào)用發(fā)射紅外編碼程序,發(fā)射一次紅外編碼程序耗時(shí)為58.5ms至76.5ms,該時(shí)間很短,對(duì)于按鍵時(shí)序不會(huì)產(chǎn)生任何影響。

紅外遙控發(fā)射器Proteus仿真研究

發(fā)射紅外編碼采用定時(shí)器中斷的方式來(lái)實(shí)現(xiàn),設(shè)定時(shí)值為38k,也就是每隔26 μs中斷一次。這樣,要發(fā)送9ms的引導(dǎo)碼,只需要將P3.4置為1,并控制定時(shí)器中斷次數(shù)為346次即可。同樣,要發(fā)送4.5ms的起始碼,只需要將P3.4清0,并控制定時(shí)器中斷次數(shù)為173次即可。其它部分類似。得到的紅外編碼數(shù)據(jù)發(fā)送子程序如下:

紅外遙控發(fā)射器Proteus仿真研究
紅外遙控發(fā)射器Proteus仿真研究

在紅外編碼數(shù)據(jù)發(fā)送子程序中,“IR_data[]”數(shù)組里存放的是一幀數(shù)據(jù)的4個(gè)編碼,每個(gè)編碼8位,共32位;“endcount”用于控制定時(shí)時(shí)間,例如“endcount=346;”指令將控制發(fā)送9ms的起始碼。

4 仿真及實(shí)物驗(yàn)證

4. 1 仿真結(jié)果

紅外遙控發(fā)射數(shù)據(jù)時(shí)的仿真波形圖如圖4所示:第一個(gè)波形為由單片機(jī)U1的P3.4口發(fā)送出來(lái)的數(shù)據(jù),第二個(gè)波形為38k載波,第三個(gè)波形為調(diào)制后的紅外發(fā)射信號(hào),第四個(gè)波形為紅外接收濾波后的數(shù)據(jù)還原??梢钥闯鲞€原后的數(shù)據(jù)波形與發(fā)射出的數(shù)據(jù)波形相位剛好反向。這種紅外遙控碼波形與前述遙控器廠家提供的如圖1所示的數(shù)據(jù)完全吻合。

紅外遙控發(fā)射器Proteus仿真研究

4.2 實(shí)物驗(yàn)證結(jié)果

圖5所示為用實(shí)物驗(yàn)證模擬紅外發(fā)射接收。其中(b)部分為接收紅外遙控信號(hào),解調(diào)并用兩位數(shù)碼管來(lái)顯示接收到的紅外編碼。(b)部分的解調(diào)和顯示程序是事先經(jīng)海信電視CN-22601遙控器、開(kāi)博爾電視盒遙控器、志高空調(diào)ZH/JT-06遙控器等三款紅外遙控器測(cè)試通過(guò)的,可以確保解調(diào)和顯示程序是正確的。(a)部分為模擬紅外遙控發(fā)射數(shù)據(jù)。(a)和(b)兩部分通過(guò)兩根線相連,白色的一根是地線,使兩塊電路板共地;紅色的一根連接(a)部分的P3.4口和(b)部分的外部中斷INT0。圖5中顯示的是當(dāng)(a)部分按下按鍵“K14”時(shí),(b)部分顯示“14”。

紅外遙控發(fā)射器Proteus仿真研究

實(shí)驗(yàn)結(jié)果證明,仿真結(jié)果在實(shí)物電路板上同樣是正確的,說(shuō)明此發(fā)射模塊就等同于一個(gè)實(shí)際的遙控器。

5 結(jié)論

紅外遙控發(fā)射器模塊具有結(jié)構(gòu)簡(jiǎn)單、可靠性高、可移植性強(qiáng)等優(yōu)點(diǎn)。本模塊填補(bǔ)了Proteus仿真軟件對(duì)于紅外遙控發(fā)射器件的空白。借助本模塊,紅外遙控系統(tǒng)開(kāi)發(fā)者能大幅度地縮短產(chǎn)品的開(kāi)發(fā)時(shí)間,大大提高工作效率。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉