《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 具有自學習功能的編碼集成電路PT2262解碼器設計
具有自學習功能的編碼集成電路PT2262解碼器設計
電子設計工程
徐偉恒,趙 璠,蘇志芳,李俊萩
摘要: 摘要:傳統(tǒng)解碼方法存在只能針對特定振蕩頻率的波形進行解碼的問題。為了改進傳統(tǒng)解碼方法的局限性,設計了一種基于單片機的具有自學習功能的集成編碼芯PT2262解碼器。該解碼器實現(xiàn)了在未知發(fā)射電路的振蕩電阻參數情
Abstract:
Key words :

摘要:傳統(tǒng)解碼方法存在只能針對特定振蕩頻率的波形進行解碼的問題。為了改進傳統(tǒng)解碼方法的局限性,設計了一種基于單片機的具有自學習功能的集成編碼芯PT2262解碼器。該解碼器實現(xiàn)了在未知發(fā)射電路的振蕩電阻參數情況下,通過自學習獲取參數并完成解碼;同時,突破了傳統(tǒng)解碼方法中數據位只有4~6位的限制,12位編碼數據幀格式可根據實際使用場合靈活定義。實驗結果表明,在無線傳輸距離為200m的情況下,解碼正確率為99.8%。
關鍵詞:自學習;PT2262;單片機;解碼器

    PT2262/2272是一種CMOS工藝制造的低功耗、低價位、通用編解碼集成電路?,F(xiàn)已廣泛應用于紅外遙控、智能報警、門禁管理等領域,也可擴展應用于串行數據傳送。在一般應用情況下,PT2262和PT2272需要配對使用,對地址位的設置和振蕩電阻的配置有嚴格要求,而且如果使用PT2272硬件電路解碼,數據位只有4~6位,這就限制了其應用的領域和使用的靈活性。
    近年來,基于波形分析的軟件解碼或者軟硬結合解碼的方法被提出來。但是,這些方法都不具有自學功能,只針對特定振蕩頻率的波形進行解碼,當不知道發(fā)射電路PT2262的振蕩電阻的配置的情況下無法解碼,或者需要手工調整程序的參數。
    本文提出了一種具有自學習功能的基于單片機的軟件解碼方法并完成了設計,這種新方法可以在未知發(fā)射電路的配置參數的情況下,通過先學習、后解碼的過程實現(xiàn)解碼,且可以實現(xiàn)自定義數據幀的格式,使編碼的地址位和數據位的設置更加靈活。從而可以將通用編碼集成電路擴展應用于數據通信,智能控制等領域。

1 PT2262工作原理
    PT2262最多可有12位(A0~A11)三態(tài)地址端管腳(懸空,接高電平,接低電平)任意組合可提供531441種地址碼。最多可以有6位(D0~D5)數據位,設定的地址碼和數據碼與同步碼組成數據幀以串行數據方式輸出。
    當PT2262和PT2272配對使用時,要求發(fā)端編碼芯片F(xiàn)T2262的地址編碼與收端解碼芯片PT2272的地址編碼相一致,而且振蕩頻率相匹配。而發(fā)端向收端發(fā)送的指令等信息可編碼在編碼芯片的數據端,通過無線傳送后,在解碼芯片的數據端取出。
    編碼芯片PT2262發(fā)出的編碼由地址碼、數據碼、同步碼組成。地址碼和數據碼都用寬度不同的脈沖來表示,兩個窄脈沖表示“0”;兩個寬脈沖表示“1”;一個窄脈沖和一個寬脈沖表示“f”(“懸空”)。圖1所示為PT2262編碼格式圖。

a.jpg


    圖中的T為時鐘振蕩周期的2倍,同步碼低電平寬度是窄脈沖寬度的31倍。

2 硬件電路
2.1 發(fā)射電路
    發(fā)射電路由PT2262編碼器和無線發(fā)射模塊組成,如圖2所示。當PT2262和無線發(fā)射模塊同時上電時(這里用開關S1代替,實際使用中可以加入控制電路),設定的地址碼和數據碼與固定的同步碼組成一組編碼從17腳串行輸出到315 MHz的無線數據發(fā)送模塊。振蕩電阻Rosc用來調節(jié)編碼發(fā)射頻率,適當調高電路工作電源VCC可以增大發(fā)射距離。12位編碼共531 441種組合可以滿足各種智能控制和低速、少數據量、短距離數據通信。

b.jpg


2.2 接收電路
    接收電路由無線接收模塊,信號變換模塊和89C51單片機組成。無線接收模塊集無線接收、解調、放大、整形于一體,并能輸出與TTL電平信號兼容的數字信號。信號變換模塊主要完成信號隔離、編碼反相、為單片機提供中斷信號功能,如圖3所示。

c.jpg


    當接收到編碼信號后,編碼信號反相后送到單片機的P0口進行解碼,同時在INT端會產生下降沿,并在整個信號接收過程中保持低電平,當發(fā)送端停止發(fā)送編碼信號后,INT回到高電平,INT端口信號為單片機解碼提供中斷信號。89C51單片機完成軟件解碼和控制外部執(zhí)行電路功能,外接4 MHz晶體振蕩器,如圖4所示。由于采用中斷方式判斷有無發(fā)射信號到來,從而大大減少了單片機處理開銷,降低了功耗,也提高了抗干擾性能。

d.jpg



3 解碼原理
3.1 波形分析
    PT2262每次發(fā)射時至少發(fā)射4組碼字,每組字碼之間有同步碼隔開,一個碼字包括同步碼、地址位、和數據位,波形振蕩頻率f=2x1000x 16/Rosc kHz,其中Rosc為振蕩電阻。圖5所示的一個碼字從左到右依次由“f”、“f”、“f”、“f”、“f”、“f”、“f”、“f”、“0”、“0”、“1”、“0”、同步碼組成。

e.jpg


3.2 解碼方法
    單片機軟件解碼時,程序需要判斷出同步碼,然后對后面的碼字進行脈沖寬度識別即可。為方便判讀同步碼,在解碼前將信號反相,如圖6所示,上半部分為反相前信號,下半部分為反相后信號。

f.jpg


    碼字中的每一位都可以分成兩段,以每段中的高電平寬度來描述碼位,如表1所示。

4 軟件設計
    解碼過程分為自學習和數據解析兩個步驟完成。自學習實現(xiàn)從一個碼字中檢測出同步碼頭和計算同步碼高電平寬度(反相后),其流程圖如圖7所示。

g.jpg                h.jpg


    數據解析實現(xiàn)從碼字中解析出地址位和數據位的值,解析過程如圖8所示。由于加入了自學習過程,程序自動完成同步碼高電平寬度的計算,從而根據同步碼高電平寬度和數據“0”、“1”、“f”的波形高電平寬度之間的倍數關系計算出數據“0”、“1”、“f”波形的高電平寬度。所以解碼軟件不受PT2262編碼芯片振蕩電阻(Rosc)的限制,即使在未知發(fā)射電路中的Rosc參數值或者是Rosc參數值發(fā)生了改變,也
不必更改解碼軟件。

5 抗干擾措施
    本系統(tǒng)采取的措施包括硬件措施和軟件措施。硬件措施包括:1)為了有效抑制單片機對接收模塊的電磁干擾采用了電源隔離和端口隔離技術;2)在接收電路部分,對接收信號進行整形、放大、倒相,倒相后同步碼頭的高低電平保持時間相反,高電平保持時間由原來的4T提高到了124T,提高了抗突發(fā)脈沖干擾的能力和解碼的準確率;3)在接收電路部分加入了INT信號產生端口,只有檢測到編碼信號到來時,INT端才有下降沿產生,如果干擾信號是負向干擾,則INT端不會產生下降沿,有效抑制了負向干擾;4)收發(fā)模塊采用目前國家允許無線遙控使用的頻率315 MHz;5)單片機振蕩頻率采用頻率為4 MHz的晶體,而不是C51單片機常用的12 MHz及11.059 2 MHz的晶體。軟件措施包括:在程序中增加了自學習功能,通過自學習程序判斷出同步碼頭高電平保持時間和數據“0”、“1”、“f”的高電平保持時間之間是否滿足固定的倍數關系。只有滿足固定的倍數關系才進行解碼,否則認為是誤碼,不予解碼。

6 結束語
    本設計的軟件解碼過程加入了自學習環(huán)節(jié),可以在未知發(fā)射端編碼芯片的振蕩電阻參數的情況下完成解碼,增加了解碼器的通用性和靈活性。本設計方案已應用于無線報警系統(tǒng),經實踐證明,該方案經濟,解碼器性能可靠,可以將其擴展應用于智能遙控、數據通信等領域。

此內容為AET網站原創(chuàng),未經授權禁止轉載。