紅外技術之工業(yè)控制計算機紅外線遙控鍵盤的設計
遙控技術經歷了有線遙控、無線電波遙控,現今的紅外遙控,技術已相當成熟,功能越來越強,運行越來越穩(wěn)定,應用越來越廣泛。先進的遙控技術配合單片機運用到工業(yè)控制中去,那么,控制系統(tǒng)的操作將變得更容易、更快捷、更方便、更安全。
對于工業(yè)控制微機系統(tǒng)來說輸入設備鍵盤幾乎是必不可少的。在按鍵數目較少時,一般直接利用按鍵控制接口線的高低電平來表示,因此需要相應的接口支持,由于單片工業(yè)控制微機系統(tǒng)接口線數目有限,為了減少占用接口線常常采用一鍵定義多功能,但這又增加了軟件的復雜性;在按鍵數目較多時,則大多采用動態(tài)掃描的方式構成鍵盤矩陣,這種鍵盤雖然結構原理簡單,驅動程序易于設計,但是在具體實現時往往需要花很多的時間去設計印刷電路板、考慮面板布局,而且在硬件資源比較緊張時,還要考慮擴充I/O口,從而使得電路變得越來越復雜。
本文介紹一種利用紅外線發(fā)射裝置作為工業(yè)控制計算機輸入鍵盤的接口原理和實現方法,該接口可以最大限度地減少對單片機系統(tǒng)的硬件資源要求,僅占用一根接口線,在系統(tǒng)的面板上只需一個小的接收窗。整個接口由發(fā)射和接收兩部分組成。對于單片工業(yè)控制微機系統(tǒng)所需的按鍵數目少于30 時,發(fā)射部分可以直接使用成品紅外遙控發(fā)射器,如果自行設計發(fā)射部分,則可以支持60個鍵左右,其中有兩鍵用于構成組合按鍵。接收部分的接口電路也非常簡單,無需布線,只要將成品模塊的輸出直接接到單片工業(yè)控制微機系統(tǒng)的任一I/ O 接口線即可,同時驅動程序也易于設計。由于鍵盤采用無線方式,因此所構成的單片機可以方便地滿足一些需要遠距離控制的場合,以及一些特殊場合,例如:單片工業(yè)控制微機系統(tǒng)在一個密封的容器內,通過玻璃小窗進行參數輸入或控制;單片工業(yè)控制微機周圍環(huán)境不適宜用戶近距離操作等。
1. 紅外線遙控鍵盤的硬件組成
由集成芯片PT2248構成的紅外線遙控鍵盤發(fā)射電路見圖1。00H~09H為數字鍵,0AH為復位鍵,0BH 為取消鍵。
紅外線遙控鍵盤發(fā)射電路采用脈時調制(PPM)方式,將遙控指令調制成脈沖序列,并驅動紅外發(fā)射管以光脈沖的形式發(fā)送出去。遙控指令有12位碼組成,見表1。
表1 遙控指令格式
C1,C2,C3是用戶碼,在T1,T2,T3與 CODE之間分別接二極管則分別代表C1,C2,C3為高電平“1”,不接二極管則代表低電平“0”,圖2中C1C2C2=111。 D1,D2,D3,D4,D5,D6是發(fā)送的數據碼,鍵號與鍵碼的對應關系見表2。
PT2248遙控指令的波形正脈沖的占空比為1/4時代表“0”,正脈沖的占空比為 3/4時代表“1”見圖2。
無論“0”還是“1”,發(fā)射時正脈沖被調制在38KHZ的載波上,載波的占空比為 1/3,這樣有利于減少功耗。每個發(fā)送周期按C1,C1,C2,H,S1,S2,D1,D2,D3,D4,D5,D6的次序串行發(fā)送,總長度為48a,其中a為每位碼周期的1/4,其大小為:a=192/fosc秒=192/455KHE=0.422ms。按下00H~0BH中某個鍵時,輸出腳TXOUT 發(fā)送兩個周期的12位碼,其間隔為80a。由GL3276A構成的紅外線遙控鍵盤接收電路見圖3。
當紅外線線遙控鍵盤接收電路工作時,接收管PH302B接收到帶有載頻為38KHZ 的遙控指令的紅外線信號后,進行放大,限幅和檢波,檢出遙控指令的脈沖包絡,濾去38KHZ載頻,得到遙控指令的脈沖信號,整形并反向后由OUT輸出,將 GL3276A的OUT經74LS14施密特觸發(fā)器整形,最終得到遙控指令的理想的反向脈沖信號。得到的遙控指令的反向脈沖信號的波形正脈沖的占空比為 1/4代表“1”,正脈沖的占空比為3/4代表“0”,見圖4。
2. 紅外線遙控鍵盤的軟件設計
將GL3276A的OUT輸出信號經74LS14兩級施密特反向器整形后與89C51的P3.2(/INTO)相連,由于每位碼都以4a為周期,每位的起始總是由高電平到低電平,因此解碼的過程可用每位碼的起始邊沿作為/INTO的中斷請求信號,中斷響應后關/INTO中斷,然后延時a/2,由P3.2對紅外線遙控接收電路的輸出信號進行采樣,再延時a,分別在3a/2,5a/2,7a/2時刻進行采樣,波形與采樣時刻的對應關系見圖5。
由圖5可見接收到的“0”由‘低高高高’組成,“1”由‘低低低高’組成,當 7a/2時刻采樣完成后開/INTO中斷,為下一位碼的采樣作準備,直到/INTO中斷24次(兩個周期的串行12位碼)。中斷服務子程序開始預置樣碼 0FH,分別在a/2,3a/2,5a/2,7a/2時刻由P3.2對紅外遙控接收電路的輸出信號進行采樣,如果是高電平保持樣碼不變,如果是低電平樣碼相應位置0,最后將樣碼存入指定的RAM單元。
遙控鍵盤的可靠性是軟硬件設計中重點考慮的問題。在硬件上,將GL3276A的OUT經 74LS14施密特整形,以提高抗干擾能力。在軟件上要正確的解碼,必須從每位碼的起始位開始接收,本設計中,PT2248發(fā)送的遙控指令的起始碼為用戶碼C1C2C3=111,因為P3.2接收到的“1”由‘低低低高’組成,因此接收到的碼應為三個“0001”,若不是,本次接收無效。其次,為了防止接收誤碼,應對前后兩次接收的兩個周期的12位串行碼進行一致性比較,若相同則與鍵碼表中的鍵碼進行比較,找出相應的鍵號,否則本次接收無效。解碼程序流程圖見圖6.
最后,我們已經成功地利用該接口方式實現了單片機鍵盤的無線式操作。文中以PT2248集成芯片作為發(fā)射部分,對于其他類型發(fā)射芯片,此接口原理仍然適用,只需相應修改中斷服務程序即可。如果單片機系統(tǒng)有多余的外中斷資源,可將接收到的信號輸入至中斷引腳,利用外中斷與定時器結合,則可減少接收處理時對CPU 時間的占用。利用此技術,我們在“智能型牛奶質量快速檢測儀研制”項目上得到了很好的應用。
共有-條評論【我要評論】