a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 用87LPC764實現遙控信號的解碼

用87LPC764實現遙控信號的解碼

作者:浙江大學控制系系統工程研究所 劉鍇 吳明光/浙江大學機械與能源工程學院 魏欣 時間:2004-09-07 來源:電子設計應用 收藏

電子設計應用2003年第5期

本文引用地址:http://www.j9360.com/article/3224.htm

摘   要: 本文針對家電系統中使用專用解碼芯片解碼的方法消耗系統資源多、占用空間大、成本高等問題,提出了一種用單片機對編碼芯片的信號進行解碼的方法,并介紹了其硬件結構和軟件實現的流程。
關鍵詞: 

引言
在紅外/無線遙控應用中,與PT2272是一對常用的編碼和解碼IC。使用該組芯片的典型家電遙控收發系統用PT2272來解碼(圖1中虛線箭頭所示)。PT2272可以獲得較快的解碼速度,但是PT2272采用并行輸出的方式,占用單片機I/O資源多,整個系統的開銷和成本相對較大。如果采用單片機兼作解碼器的技術(圖1中粗實線箭頭所示),不僅可以省去芯片PT2272,減少中間環節,增強系統的可靠性,而且僅占用了單片機上兩個I/O口,充分利用了單片機資源,節省了電路板上的空間,降低了成本,具有很好的實用價值。

圖1 遙控系統結構圖

圖2 PT2262引腳排列圖


PT2262編碼原理
PT2262是Princeton Technology公司的一款適用于紅外和無線遙控,將載波振蕩、編碼、發射部分集于一身的集成電路。它具有價格低、功耗小、抗擾性好、單電阻振蕩、適用電壓范圍寬等優點,外圍電路簡單,使用方便。目前被廣泛應用于家電遙控、車門遙控、遙控玩具及工業遙控等領域。
PT2262芯片引腳排列如圖2所示。各引腳功能如下:A0~A5為地址輸入,可編制成三種狀態:1、0和高阻態;A6/D0~A11/D5為地址或數據輸入,取決于接收端的譯碼器。做地址輸入時,可編制成三種狀態:1、0和高阻態;做數據輸入時,可編成l和0兩種狀態。該芯片最大編碼容量為531441(312)種。為發射使能端,低電平有效。OSC1、OSC2外接振蕩電阻,決定電路時鐘頻率。Dout為數據輸出端。由地址、數據的不同狀態而決定的各位編碼由此腳串行輸出。PT2262 的信號發送格式如圖3所示。
每當按鍵有效時,PT2262 發送四次編碼。每發送一次編碼都有5ms 寬度的低電平分開,而16ms的編碼是由A0~A11十二個碼組成,低位在前,高位在后。
PT2262每組發送12位三態數據,要把三態碼轉換成二進制形式,每位數據(0,1,高阻態)由兩個脈沖位組成(具體編碼格式見圖4),接收端的信號與發送的信號高低電平正好相反。在接收端,把負電平的脈沖作為有效信號,這樣的脈沖有兩種,一種為寬脈沖,長度約490μs,一種為窄脈沖,寬度約165μs。每一個數據位的寬度約為1.3ms,每組12位數據的寬度約為16ms。如果把寬脈沖看作二進制“0”,窄脈沖看作二進制“1”,那么接收到的二進制碼和發送的三態碼的對應關系如表1所示。這樣,解碼的對象實際上就是與12位三態碼對應的24位的二進制碼。

圖3 PT2262發送格式

圖4 PT2262編碼格式

解碼原理及硬件結構
每檢測到一次有效按鍵,PT2262都發送四次編碼,接收端收到的編碼間隔是5ms的高電平。可以利用這一特點先檢測有沒有接收到數據。當有數據的時候,就去掉第一次編碼的信號,接收到5ms的高電平的負跳變后才開始解碼。解碼時,使用單片機內的比較器判斷信號的電平跳變,用定時器記錄信號相鄰下降沿和上升沿之間的時間,判斷是寬脈沖(二進制1)還是窄脈沖(二進制0),將該二進制數值記錄下來,就得到了與發送端相對應的編碼。
本文采用的解碼單片機是Philips公司的。這是一款性價比較高的80C51改進型MCU,增加了WDT、I2C、模擬比較器等功能。利用其模擬比較器的功能可以較方便的實現對PT2262信號的解碼,而且僅占用單片機的2個I/O口。解碼部分的硬件連接方式見圖5。圖中遙控接收頭是一個模擬接收電路,接收發送方的物理信號,將信號傳送到單片機比較器的輸入腳。
內置了2個模擬信號比較器,CMP1和CMP2。每一個比較器包含一個正相輸入端、一個反相輸入端和一個輸出端。當正相輸入電壓大于反相輸入電壓時,比較器輸出邏輯“1”,反之則輸出“0”。同時每一個比較器都可以成為一個中斷源。
解碼過程只需要一個比較器,外接一個參考電壓作為判斷高低電平信號的參考。當接收端信號電平發生跳變時,產生一個比較器中斷,利用中斷服務程序可以實現解碼操作。

圖5 接收頭與單片機硬件連接圖

圖6  比較器中斷程序流程圖

解碼軟件的實現
解碼程序在比較器中斷服務程序中實現。第一個下降沿表明編碼輸出開始,這時將時間記錄為last_time,當比較器輸出跳變為高電平時,記錄當前時間current_time,并且記錄脈沖寬(current_time - last_time),判斷收到的為寬脈沖還是窄脈沖,如果是窄脈沖,記錄為1,寬脈沖記錄為0。
圖6是比較器中斷程序流程圖。每一組有效的編碼由24個位組成,因此程序中需要有一個脈沖計數變量來記錄是否有24位碼,只有確認收到24位碼后,才認為這次按鍵有效。同時需要防止將用戶的一次按鍵解釋為多次按鍵,需要有去抖功能。可以設一個變量來記錄同一個鍵值的收到次數,當它的記錄小于某一預定的值時,表示用戶在進行同一次按鍵操作。完整的接收到一組編碼以后,在中斷程序中將鍵值有效標志key_flag置1,主程序循環中如果查詢到key_flag為1,則保存這個鍵碼,即完成了一次解碼的操作。
 
結語
文章提出的解碼方法已經成功應用于一個無線遙控浴霸產品。使用該方法,遙控模塊的成本降低了15%左右,而且電路板空間節省了5%左右,硬件資源也得到了充分利用。■

參考文獻
1 Princeton Technology Corp. Remote Control Encoder. 1999
2 Philips Semiconductor. 87LPC764 Data Sheet. 2001
3 李堅. PT2262-IR-PT2272芯片應用.現代通信.1997.2



評論


相關推薦

技術專區

關閉