紅外通信的設(shè)計與實現(xiàn)
在電子消費(fèi)領(lǐng)域當(dāng)中,紅外產(chǎn)品的使用較為普遍,它多用于簡單的近距離控制,如家電,玩具,各種抄表系統(tǒng)。本文以Freescale 8位高性能、低功耗單片機(jī)MC9S08GT60為載體,詳細(xì)介紹紅外通信的硬件和軟件設(shè)計過程及通信協(xié)議的使用。
本文引用地址:http://www.ex-cimer.com/article/157893.htmHCS08系列的MCU是Freescale半導(dǎo)體公司最新推出的8位單片機(jī),具有多種低功耗模式,更高的工作頻率,并集成了片上調(diào)試器,而且資源豐富,因此采用了該系列的MC9S08GT60作為載體詳細(xì)討論了一個簡單實用的紅外通信開發(fā)系統(tǒng)。
紅外通信過程主要由紅外發(fā)射和紅外接收兩個過程,首先將數(shù)字信號送給紅外發(fā)射電路,經(jīng)該電路的調(diào)制轉(zhuǎn)變成紅外光信號在空中傳輸,然后紅外接收電路收到該紅外光信號,經(jīng)過該電路的解調(diào),將此紅外光信號還原成可被單片機(jī)處理的信號,由單片機(jī)內(nèi)部處理得到原來的數(shù)據(jù)編碼。
2 紅外通信協(xié)議
協(xié)議的目的是給收發(fā)雙方一個約定,使其能夠進(jìn)行同步,并正確的收發(fā)數(shù)據(jù)。本設(shè)計使用了類同步協(xié)議。當(dāng)紅外接收器未收到信號時,不產(chǎn)生定時操作,否則,首先接收起始位‘0’,并觸發(fā)中斷,啟動定時器接收數(shù)據(jù),然后判斷是否為起始位,如果是,則繼續(xù)接收數(shù)據(jù),否則將定時器復(fù)位,重新檢測起始位,在接收第二個停止位時,會觸發(fā)一次中斷來檢測第一次接收的停止位是否正確,如果不正確,則復(fù)位定時器,重新接收,否則已經(jīng)正確接收該數(shù)據(jù)段。
3 紅外通信的原理分析
紅外通信在空中傳輸?shù)氖禽d波信號,當(dāng)有載波通過時,接收端輸出數(shù)字信號‘0’,反之,輸出數(shù)字信號‘1’。因此在發(fā)射電路發(fā)送的功能指令碼,一般采用多位二進(jìn)制串行碼。本文中,紅外通信數(shù)據(jù)采用脈沖編碼,就是將每位數(shù)據(jù)信號用一個脈沖來表示,脈寬為526 μs,兩個這樣的脈沖周期表示‘1’,一個這樣的脈沖周期表示‘0’。這樣的脈沖信號都調(diào)制在頻率為38 kHz的載波上再發(fā)送出去,調(diào)制后在空中傳輸?shù)男盘柧褪蔷哂幸欢〞r間間隔的載波信號,其占空比由數(shù)據(jù)編碼決定。在紅外接收端,數(shù)據(jù)處理的過程正好相反,在接收紅外光信號之后,會經(jīng)過整形、放大、濾波、調(diào)制等一系列處理,然后在其輸出端輸出一系列的單片機(jī)能夠處理的數(shù)據(jù)信號。
4 紅外通信硬件設(shè)計原理
4.1 發(fā)送電路的硬件設(shè)計
HCS08GT60單片機(jī)內(nèi)部有兩個TPM模塊,每個模塊有兩個通道,可以用任意一個通道的PWM功能,輸出38 kHz的載波信號,本文編程設(shè)計根據(jù)實驗條件的要求采用了TPM1通道1中心脈寬輸出功能產(chǎn)生38 kHz紅外載波信號。而PTA7口作為普通的輸入輸出口,產(chǎn)生一定脈寬的方波信號,作為數(shù)據(jù)編碼信號輸入。硬件原理圖如圖1所示。
原理圖中,電氣節(jié)點(diǎn)CODE跟PTA7口相連,產(chǎn)生數(shù)據(jù)編碼;電氣節(jié)點(diǎn)CLK跟TPM1通道1相連,產(chǎn)生38 kHz紅外載波信號。三極管基極串接的電阻和R5起到限流保護(hù)的作用,三極管本身則具有信號放大的功能,另外兩個三極管級聯(lián)將編碼調(diào)制在38 kHz的載波上通過紅外發(fā)射器發(fā)射出去。當(dāng)編碼為‘1’時,Q1,Q2截止,紅外發(fā)射器上無電流通過,發(fā)射低電平信號,當(dāng)編碼為‘0’時,Q1,Q2導(dǎo)通,此時載波信號通過Q2放大在發(fā)射器上體現(xiàn)出38 kHz的載波信號。因此在PTA7端口輸入不同的數(shù)據(jù)編碼,通過該發(fā)送電路,在發(fā)射器上會出現(xiàn)具有一定間隔的38 kHz載波信號,經(jīng)發(fā)射器將該載波信號轉(zhuǎn)化成光信號發(fā)射出去。載波脈沖調(diào)制信號的時序圖如圖2所示。
評論