您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>無(wú)線通信>

PT2262單片機(jī)解碼思路和原理

2017年11月14日 10:53 網(wǎng)絡(luò)整理 作者: 用戶評(píng)論(0
關(guān)鍵字:PT2262(37152)

  PT2262/2272是***普城公司生產(chǎn)的一種CMOS工藝制造的低功耗低價(jià)位通用編解碼電路,PT2262/2272最多可有12位(A0-A11)三態(tài)地址端管腳(懸空,接高電平,接低電平),任意組合可提供531441地址碼,PT2262最多可有6位(D0-D5)數(shù)據(jù)端管腳,設(shè)定的地址碼和數(shù)據(jù)碼從17腳串行輸出,可用于無(wú)線遙控發(fā)射電路。

  編碼芯片PT2262發(fā)出的編碼信號(hào)由:地址碼、數(shù)據(jù)碼、同步碼組成一個(gè)完整的碼字,解碼芯片PT2272接收到信號(hào)后,其地址碼經(jīng)過(guò)兩次比較核對(duì)后,VT腳才輸出高電平,與此同時(shí)相應(yīng)的數(shù)據(jù)腳也輸出高電平,如果發(fā)送端一直按住按鍵,編碼芯片也會(huì)連續(xù)發(fā)射。

  當(dāng)發(fā)射機(jī)沒(méi)有按鍵按下時(shí),PT2262不接通電源,其17腳為低電平,所以315MHz的高頻發(fā)射電路不工作,當(dāng)有按鍵按下時(shí),PT2262得電工作,其第17腳輸出經(jīng)調(diào)制的串行數(shù)據(jù)信號(hào),當(dāng)17腳為高電平期間315MHz的高頻發(fā)射電路起振并發(fā)射等幅高頻信號(hào),當(dāng)17腳為低平期間315MHz的高頻發(fā)射電路停止振蕩,所以高頻發(fā)射電路完全收控于PT2262的17腳輸出的數(shù)字信號(hào),從而對(duì)高頻電路完成幅度鍵控(ASK調(diào)制)相當(dāng)于調(diào)制度為100%的調(diào)幅。

  單片機(jī)解碼思路

  紅外線經(jīng)一體化接收模塊解碼后送到單片機(jī)的外部中斷0,單片機(jī)設(shè)置外部中斷下降沿觸發(fā)(即外部中斷0為跳變沿觸發(fā)方式,從高到低的負(fù)跳變觸發(fā)進(jìn)入中斷處理函數(shù)進(jìn)行解碼操作);

  首先我們把T0設(shè)置為16位定時(shí)器模式,工作在定時(shí)狀態(tài),初始化值為0,在晶振的工作頻率為11.0592MHz時(shí)計(jì)滿最大值計(jì)數(shù)值的時(shí)間為:71111us。由于同步碼周期與地址數(shù)據(jù)周期都遠(yuǎn)小于定時(shí)器0的定時(shí)時(shí)間,所在定時(shí)器0正常工作時(shí),是不會(huì)溢出的;

  T1用作延時(shí),設(shè)置其定時(shí)為1ms(本示例中沒(méi)有用到T1功能);

  在EX0=1(外部中斷0啟動(dòng))并且EA=1(使能所有中斷)后,當(dāng)下降沿到來(lái)時(shí)進(jìn)入到中斷處理函數(shù),T0在TR0的控制下啟動(dòng)與停止計(jì)時(shí);

  當(dāng)接收到下降沿后,先判斷當(dāng)前的電平狀態(tài),檢測(cè)到是低電平時(shí)則把T0計(jì)時(shí)器歸零開(kāi)始計(jì)數(shù)低電平的時(shí)間寬度,電平狀態(tài)發(fā)生變化時(shí)停止計(jì)數(shù)。取TH0和TL0之和即可根據(jù)該低電平的時(shí)間寬度值來(lái)識(shí)別是否為同步碼。只有先識(shí)別出同步碼,才開(kāi)始接收后續(xù)脈沖數(shù)據(jù)進(jìn)行24位解碼操作。

  PT2262單片機(jī)解碼思路和原理

  判斷電平寬度,檢測(cè)是否為同步碼時(shí),事實(shí)上超過(guò)10ms即有可能為同步碼。初步找出同步碼后,根據(jù)同步碼低電平寬度取得寬脈沖低電平寬度值,根據(jù)同步碼低電平寬度取得窄脈沖低電平寬度值,由上面的PT2262編碼格式圖可以看出,同步碼低電平持續(xù)時(shí)間是寬脈沖低電平持續(xù)時(shí)間的32倍,是窄脈沖低電平持續(xù)時(shí)間的10(或11)倍,后續(xù)的24位數(shù)據(jù)的寬、窄脈沖低電平持續(xù)時(shí)間寬度進(jìn)行比較,滿足一定的范圍時(shí),即可解析出發(fā)射端送出的編碼。那么實(shí)現(xiàn)PT2262解碼原理是什么呢?一起來(lái)了解一下。

  單片機(jī)實(shí)現(xiàn)PT2262解碼原理

  1、ASK調(diào)制:

  “幅移鍵控”又稱為“振幅鍵控”,也有稱為“開(kāi)關(guān)鍵控”(通斷鍵控),所以又記作OOK信號(hào)。ASK是一種相對(duì)簡(jiǎn)單的調(diào)制方式。幅移鍵控(ASK)相當(dāng)于模擬信號(hào)中的調(diào)幅,只不過(guò)與載頻信號(hào)相乘的是二進(jìn)制數(shù)碼而已。幅移就是把頻率、相位作為常量,而把振幅作為變量,信息比特是通過(guò)載波的幅度來(lái)傳遞的。二進(jìn)制振幅鍵控(2ASK), 由于調(diào)制信號(hào)只有0或1兩個(gè)電平,相乘的結(jié)果相當(dāng)于將載頻或者關(guān)斷,或者接通,它的實(shí)際意義是當(dāng)調(diào)制的數(shù)字信號(hào)為“1”時(shí),傳輸載波;當(dāng)調(diào)制的數(shù)字信號(hào)為“0”時(shí),不傳輸載波。一般載波信號(hào)用余弦信號(hào),而調(diào)制信號(hào)是把數(shù)字序列轉(zhuǎn)換成單極性的基帶矩形脈沖序列,而這個(gè)通斷鍵控的作用就是把這個(gè)輸出與載波相乘,就可以把頻譜搬移到載波頻率附近。

  2、幾個(gè)周期:

  2.1、時(shí)鐘周期:也稱為振蕩周期或晶振周期,定義為時(shí)鐘頻率的倒數(shù),即晶振的振蕩頻率的倒數(shù),計(jì)為:T(時(shí))=1/f(osc)。時(shí)鐘周期是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。在一個(gè)時(shí)鐘周期內(nèi),CPU僅完成一個(gè)最基本的動(dòng)作。對(duì)于某種單片機(jī),若采用了1MHZ的時(shí)鐘頻率,則時(shí)鐘周期為1us。

  2.2、狀態(tài)周期:狀態(tài)周期是振蕩周期的二倍。振蕩周期也稱為晶振周期,振蕩周期是單片機(jī)的基本時(shí)間單位。振蕩脈沖經(jīng)二分頻成為時(shí)鐘信號(hào),時(shí)鐘信號(hào)的周期稱為狀態(tài)周期。若時(shí)鐘晶振的振蕩頻率為fosc,則時(shí)鐘信號(hào)的狀態(tài)周期Tosc=(1/fosc)*2。(即為振蕩頻率的倒數(shù)的2倍)。例如:晶振頻率為12MHZ,則時(shí)鐘周期Tosc=(1/12us)*2。

  2.3、機(jī)器周期:?jiǎn)纹瑱C(jī)的基本操作周期。在計(jì)算機(jī)中,為了便于管理,常把一條指令的執(zhí)行過(guò)程劃分為若干個(gè)階段,每一階段完成一項(xiàng)工作。例如,取指令、存儲(chǔ)器讀、存儲(chǔ)器寫(xiě)等,這每一項(xiàng)工作稱為一個(gè)基本操作。一個(gè)操作周期內(nèi),單片機(jī)完成一項(xiàng)基本操作。

  2.4、指令周期:執(zhí)行一條指令所需要的時(shí)間,一般由若干個(gè)機(jī)器周期組成。指令不同,所需的機(jī)器周期數(shù)也不同。對(duì)于一些簡(jiǎn)單的的單字節(jié)指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執(zhí)行,不再需要其它的機(jī)器周期。對(duì)于一些比較復(fù)雜的指令,例如轉(zhuǎn)移指令、乘法指令,則需要兩個(gè)或者兩個(gè)以上的機(jī)器周期。

  綜上所述:一個(gè)機(jī)器周期 = 6個(gè)狀態(tài)周期 = 12個(gè)時(shí)鐘周期。

  3、位碼:

  紅外編碼波形的基本單位,為分AD(地址碼、數(shù)據(jù)碼)位和SYNC(同步碼)位,每“位”波形由兩個(gè)脈沖周期構(gòu)成,每個(gè)脈沖周期含有16個(gè)時(shí)鐘周期。位碼使用兩個(gè)脈沖信號(hào)表示一個(gè)編碼值,其中,兩個(gè)連續(xù)窄脈沖表示編碼值“0”;兩個(gè)連續(xù)寬脈沖表示編碼值“1”;一個(gè)窄脈沖和一個(gè)寬脈沖表示“F”,也就是地址碼的“懸空”。即每個(gè)位碼bit用2bit表示:00 或01或10表示0碼;11表示1碼。

  如下圖所示,編碼芯片PT2262發(fā)出的編碼信號(hào)經(jīng)過(guò)整形電路之后得到的脈沖波形圖。由:地址碼、數(shù)據(jù)碼、同步碼組成。地址碼和數(shù)據(jù)碼都用寬度不同的脈沖來(lái)表示,兩個(gè)窄脈沖表示“0”; 兩個(gè)寬脈沖表示“1”; 一個(gè)窄脈沖和一個(gè)寬脈沖表示“F”,也就是地址碼的“懸空”;同步碼為時(shí)間較長(zhǎng)的低電平間隔,下圖為PT2262編碼圖:

  PT2262單片機(jī)解碼思路和原理

  如上圖,發(fā)射端每發(fā)送一次信號(hào)都會(huì)攜帶多組編碼字碼,每段編碼字碼值相同,二進(jìn)制值為0B010101010101010100001100,對(duì)應(yīng)的十六進(jìn)制碼值為:0x55550C。從圖中可以看出,發(fā)送碼的周期是相等的,只是脈沖寬度不同(寬脈沖與窄脈沖之比為3:1)。而同步碼的低電平時(shí)間約為這個(gè)周期的8倍。

  解碼的關(guān)鍵是識(shí)別同步碼,然后對(duì)后面的字碼的脈沖寬度進(jìn)行識(shí)別,就可以解出這個(gè)編碼。PT2262每次發(fā)射時(shí)至少發(fā)射4組字碼,每組字碼由25個(gè)脈沖組成,前24個(gè)脈沖為地址和數(shù)據(jù),最后一個(gè)脈沖和一低電平間隔組成同步碼。

非常好我支持^.^

(31) 100%

不好我反對(duì)

(0) 0%

( 發(fā)表人:陳翠 )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?