唐 寧,劉瑋德
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林541004)
遠(yuǎn)程遙控技術(shù),是指實(shí)現(xiàn)對(duì)目標(biāo)的遙遠(yuǎn)距離控制,在工業(yè)、航天、家電、聲控等眾多領(lǐng)域應(yīng)用廣泛。紅外遙控是一種無線、遠(yuǎn)距離的控制技術(shù),具有成本低、抗干擾能力強(qiáng)、功耗低、成本低、易實(shí)現(xiàn)、信息傳輸可靠等顯著優(yōu)點(diǎn),被諸多電子設(shè)備特別是家用電器廣泛采用,并越來越多地應(yīng)用到各個(gè)行業(yè)之中[1-2]。例如,據(jù)專業(yè)研究機(jī)構(gòu)預(yù)測(cè),2012年智能電視市場(chǎng)份額將占據(jù)近30%,智能電視對(duì)人機(jī)交互技術(shù)的需求較傳統(tǒng)電視高很多[3],所以對(duì)控制芯片的要求也提高很多,所以,成本越低的同類紅外遙控產(chǎn)品就更具有競(jìng)爭(zhēng)力,因此對(duì)傳統(tǒng)的紅外遙控電路進(jìn)行優(yōu)化,并且縮減版圖面積,可以有效提高該產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力。
文中設(shè)計(jì)的新型的遠(yuǎn)程控制編碼芯片的電路的整體結(jié)構(gòu)框圖如圖1所示。其主要由5個(gè)部分組成,分別為時(shí)序控制電路、用戶碼掃描電路、鍵盤掃描電路、編碼電路、輸出控制電路。圖中振蕩電路部分可通過外接晶體振蕩器來實(shí)現(xiàn),這樣能夠縮小芯片的面積。當(dāng)有按鍵按下,電路鍵盤掃描模塊收到按鍵信號(hào)之后才會(huì)開始工作,這樣就減小了芯片的待機(jī)功耗,同時(shí)時(shí)序控制電路開始對(duì)輸入時(shí)鐘進(jìn)行分頻等控制。當(dāng)按鍵掃描模塊捕獲輸入信號(hào)之后,會(huì)將其傳入編碼電路模塊,該模塊根據(jù)不同的按鍵信號(hào)進(jìn)行數(shù)據(jù)的編碼,之后將編碼傳入輸出控制模塊,輸出控制模塊將編碼進(jìn)行排序編幀,使其以符合所定紅外傳輸協(xié)議的格式輸送到外部。
圖1 遠(yuǎn)程控制編碼芯片的電路的整體結(jié)構(gòu)框圖
本芯片的輸入時(shí)鐘頻率是455 kHz,同時(shí)輸出信號(hào)是采用ppm編碼方式,所以要對(duì)輸入時(shí)鐘信號(hào)進(jìn)行分頻等一系列的整理。
如圖2所示時(shí)序電路模塊中的Powerup端口是上電復(fù)位端口,當(dāng)系統(tǒng)供電,將會(huì)產(chǎn)生一個(gè)短暫的復(fù)位信號(hào)對(duì)電路中的各個(gè)門進(jìn)行復(fù)位清空數(shù)據(jù)初始化。
圖2 時(shí)序處理電路模塊電路圖(截圖)
模塊中每一個(gè)D觸發(fā)器的輸出端接一個(gè)非門作為觸發(fā)器的輸入信號(hào),構(gòu)成一個(gè)分頻器[4],輸入時(shí)鐘頻率455 kHz,因?yàn)椴捎玫膒pm編碼方式所需用到的最小時(shí)鐘信號(hào)的周期是0.56 ms,所以經(jīng)過計(jì)算455/(1/0.56)=255,即2的8次方,所以需要經(jīng)過8次分頻。
用戶碼的存在是為了讓信號(hào)接收器能區(qū)分不同的遙控設(shè)備,本課題設(shè)計(jì)的遙控電路可以讓用戶自定義8位用戶碼。
用戶碼通過在I/O端口與CCST端口之間外接二極管來設(shè)置,有二極管當(dāng)前bit位為“1”,否則為“0”。
具體原理:I/O端口產(chǎn)生一次順序脈沖掃描,例如KI/O 0~7依 次 產(chǎn) 生00000001,00000010,00000100,00001000,00010000,00100000,01000000,10000000的脈沖信號(hào),如果該端口外接了二極管,當(dāng)這個(gè)端口的高電平脈沖到達(dá)的時(shí)候,CCST端口將會(huì)被置成1,若無外接二極管,CCST端口的值將會(huì)保持為0。
用戶碼掃描模塊如圖3所示,t0~t7為此時(shí)的I/O口輸出數(shù)據(jù)。
圖3 用戶碼掃描模塊(截圖)
當(dāng)按鍵數(shù)量較多時(shí),為了減少封裝端口,可以將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處通過一個(gè)按鍵加以連接在矩陣式鍵盤中,這樣,就可以構(gòu)成n×n個(gè)按鍵,極大地?cái)U(kuò)展了按鍵數(shù)量。
確定矩陣式鍵盤上哪個(gè)按鍵按下的方法叫行列掃描法,原理如下:
第一步,使行線為輸入線,列線是輸出線,拉高所有的列線,判斷行線的變化,如果有按鍵按下,按鍵按下的對(duì)應(yīng)行線被拉高,否則,所有的行線都為低電平。無按鍵按下時(shí)KI 0~7全為0,若有按鍵按下則KI 0~7相或后的CC端產(chǎn)生變化,表示有按鍵輸入。
第二步,在第一步判斷有鍵按下后,延時(shí)若干時(shí)間消除機(jī)械抖動(dòng),再次讀取行值,如果此行線還處于高電平狀態(tài)則進(jìn)入下一步,否則返回第一步重新判斷。下圖判定是否有按鍵按下,當(dāng)無按鍵按下KI 0~7全為低電平,若有按鍵按下其中一個(gè)端口則被置為高電平。
第三步,開始掃描按鍵位置,采用逐行掃描,每間隔一定的時(shí)間,分別拉高第1列、第2列、第3列、第4列等,無論拉高哪一列其列都為低電平,讀取行值找到按鍵的位置,分別把行值和列值儲(chǔ)存在寄存器里。
脈沖掃描電路如圖4所示,keyt0~keyt7為脈沖輸出數(shù)據(jù),此時(shí)從I/O口輸出。
圖4 脈沖掃描電路(截圖)
第四步,從寄存器中找到行值和列值并把其合并,得到按鍵值,對(duì)此按鍵值進(jìn)行編碼,如圖5所示。
圖5 編碼電路(截圖)
右下角的部分為鎖存器當(dāng)列值置為高電平時(shí),如果此時(shí)某個(gè)行值也對(duì)應(yīng)變?yōu)楦唠娖?,那么他們?duì)應(yīng)的鎖存器的輸出端將會(huì)被置為1,最后左下角部分根據(jù)這64個(gè)鎖存器的值進(jìn)行編碼得到data。
本遙控發(fā)射的碼型的一幀碼含有一個(gè)引導(dǎo)碼,8位的用戶編碼及其8位反碼,8位的按鍵數(shù)據(jù)碼及其8位反碼。
引導(dǎo)碼由時(shí)間長(zhǎng)度為9 ms的載波和長(zhǎng)度為4.5 ms的低電平時(shí)間構(gòu)成,它是作為引導(dǎo)碼而存在的,之后接著的是16位的地址碼,即用戶碼,再接著16位數(shù)據(jù)碼。當(dāng)重復(fù)發(fā)送幀時(shí),引導(dǎo)碼由時(shí)間長(zhǎng)度為9 ms的載波和長(zhǎng)度為2.25 ms的低電平時(shí)間和0.56 ms的載波構(gòu)成,之后全為低電平,每一幀的長(zhǎng)度為108 ms。表示數(shù)據(jù)“0”使用高電平與低電平比例1∶1.每個(gè)長(zhǎng)度為0.56 ms,表示數(shù)據(jù)“1”使用高電平與低電平比例1∶3,即高電平占0.56 ms,低電平占1.68 ms[5-6]。
要實(shí)現(xiàn)幀,首先需要通過一組計(jì)時(shí)器來劃分好各個(gè)時(shí)間段,計(jì)時(shí)器實(shí)現(xiàn)如圖6所示。
圖6 計(jì)時(shí)器電路(截圖)
輸入的時(shí)鐘周期為0.56 ms,經(jīng)過3個(gè)分頻器得到的時(shí)鐘周期為4.5 ms,該信號(hào)再通過4個(gè)D觸發(fā)器,每個(gè)D觸發(fā)器的輸出信號(hào)置高電平的時(shí)刻均比前一個(gè)D觸發(fā)器晚了4.5 ms。
因?yàn)樽詈笠l(fā)射的幀信號(hào)是行輸入,而之前得到的用戶碼和按鍵編碼都是列數(shù)據(jù),所以要對(duì)列數(shù)據(jù)進(jìn)行排序,然后排好的數(shù)據(jù)隊(duì)列使用“0”和“1”的編碼方式進(jìn)行編碼。圖中sel0~4為一組經(jīng)過處理的時(shí)鐘信號(hào),可以作為選擇器的信號(hào),用戶碼UD和數(shù)據(jù)碼data通過sel信號(hào)實(shí)現(xiàn)數(shù)據(jù)的選擇排序,電路如圖7所示。
圖7 編幀電路(截圖)
數(shù)據(jù)在排序的同時(shí),已經(jīng)排好的數(shù)據(jù),如果為0,DT信號(hào)也將為0,如果為1,DT信號(hào)也將為1,這樣通過選擇排列信號(hào)AA0與AA1,則可以實(shí)現(xiàn)“0”和“1”的編碼。
若當(dāng)按鍵持續(xù)按下,重復(fù)幀的結(jié)構(gòu)為引導(dǎo)碼由時(shí)間長(zhǎng)度為9 ms的載波和長(zhǎng)度為2.25 ms的低電平時(shí)間和0.56 ms的載波構(gòu)成,之后全為低電平,電路構(gòu)成與第一次編幀的電路結(jié)構(gòu)類似,只是不用加入客戶碼和數(shù)據(jù)碼,具體電路如圖8所示。
圖8 重復(fù)碼產(chǎn)生電路(截圖)
當(dāng)沒有按鍵按下時(shí),KI0~KI7全為低電平,經(jīng)過圖9所示電路的處理得到控制信號(hào)CC,CC信號(hào)與各模塊復(fù)位信號(hào)相與,則僅當(dāng)有按鍵按下時(shí),CC才會(huì)置高電平,各模塊復(fù)位端解除被鉗制狀態(tài),整體電路開始工作。
圖9 電路運(yùn)行控制電路(截圖)
利用QuartusII對(duì)電路進(jìn)行總體仿真,結(jié)果如圖10所示。
圖10 電路運(yùn)行仿真結(jié)果(截圖)
波形圖中test信號(hào)為電路輸出信號(hào),當(dāng)有按鍵按下,經(jīng)過掃描,KI的值出現(xiàn)變化,經(jīng)過處理后,完整編碼由test端口在約125.19 ms時(shí)輸出,到134.13 ms為止,是大約9 ms的高電平引導(dǎo)碼,從134.13~138.6 ms,間隔4.47 ms,即大約4.5 ms的低電平引導(dǎo)碼。
從138.6 ms開始是8位用戶碼和8位用戶碼反碼組成的地址碼,仿真時(shí)設(shè)定的初始用戶碼的值為11111111,因?yàn)椴捎玫膒pm編碼方式,所以理論輸出信號(hào)的用戶碼部分應(yīng)該是8組高電平與低電平比例1∶3,即高電平占0.56 ms,低電平占1.68 ms的波形組成,觀察仿真波形用戶碼部分從138.6 ms開始,高電平持續(xù)至139.16 ms,共計(jì)0.56 ms,低電平從139.16 ms處至140.82 ms處,持續(xù)1.66 ms,剛好一共8組。用戶碼反碼部分理論輸出信號(hào)應(yīng)為00000000,輸出波形應(yīng)為高電平與低電平比例1∶1,高、低電平各占0.56 ms的波形共8組,仿真圖的反碼部分從從156.59 ms開始,高電平持續(xù)至157.15 ms處,持續(xù)約0.56 ms,低電平從157.15 ms處開始至157.72 ms,持續(xù)約0.57 ms,此為一組信號(hào)碼,表示信號(hào)“0”,一共8組,所以用戶碼與用戶碼反碼部分符合所需要求規(guī)范,其中細(xì)小誤差是由于手動(dòng)測(cè)量造成,不影響所得結(jié)論。
再接下來的是8位數(shù)據(jù)碼和8位數(shù)據(jù)反碼,根據(jù)初始設(shè)定的按鍵輸入信號(hào),經(jīng)過按鍵掃描得到的數(shù)據(jù)data[0~7]為“11111000”,分析仿真結(jié)果,數(shù)據(jù)碼部分從165.60 ms處開始,高低電平比例為1∶3的波形共5組,高低電平的比例為1∶1的信號(hào)共3組,根據(jù)所用紅外協(xié)議,該信號(hào)表示的值為“11111000”,與理論值相同。數(shù)據(jù)碼反碼部分從180.25 ms處開始,依次出現(xiàn)占空比1∶1的波形5組,1∶3的波形3組,所表示的信號(hào)為“00000111”,剛好為之前數(shù)據(jù)信號(hào)值的反碼。全波形持續(xù)108 ms。
當(dāng)按鍵持續(xù)按下,繼續(xù)輸出波形如圖11所示,即只由9 ms的高電平引導(dǎo)碼和4.5 ms的低電平引導(dǎo)碼組成,符合所采用的紅外協(xié)議。
圖11 按鍵持續(xù)按下時(shí)電路輸出信號(hào)(截圖)
綜上,仿真結(jié)果符合所定紅外傳輸協(xié)議。經(jīng)過了電路的優(yōu)化設(shè)計(jì)之后,電路能夠輸出所需信號(hào)波形,達(dá)到了預(yù)期的目的。
[1]張愛全.紅外線遙控的基本原理和應(yīng)用范圍[J].山西電子技術(shù),2003(6):40-41.
[2]李從宏.基于功能碼的紅外遙控軟件解碼技術(shù)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(9):72-73.
[3]羅少鋒.基于多點(diǎn)觸控及語音傳輸?shù)闹悄茈娨曔b控器[J].電視技術(shù),2012,36(16):33-34.
[4]鞠英.應(yīng)用于頻率合成器的寬分頻比CMOS可編程分頻器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(4):162-165.
[5]豬飼國(guó)夫,本多中二.數(shù)字系統(tǒng)設(shè)計(jì)[M].徐雅珍,田少華,劉松美,譯.北京:科學(xué)出版社,2004.
[6]UNO H,KUMATANI K,OKUHARA H,et al.Low power architecture for high speed infrared wireless communication system[J].Low Power Electronics and Design,1997(8):255-258.