基于NiosⅡ的學(xué)習(xí)型遙控器設(shè)計(jì)
3 軟件設(shè)計(jì)
當(dāng)系統(tǒng)上電后進(jìn)入等待狀態(tài)。當(dāng)檢測(cè)到學(xué)習(xí)鍵按下時(shí)候,系統(tǒng)進(jìn)入學(xué)習(xí)狀態(tài)。在學(xué)習(xí)過程中,Nios處理器寫入頻率測(cè)量控制字,通過A-valon總線調(diào)用頻率測(cè)量IP核對(duì)載波頻率進(jìn)行測(cè)量。測(cè)量完成后,檢測(cè)到有啟動(dòng)解調(diào)控制字和測(cè)量脈寬控制字寫入,即開始對(duì)紅外信號(hào)解調(diào)同時(shí)對(duì)解調(diào)后的信號(hào)的脈寬進(jìn)行測(cè)量。測(cè)量完成后,處理器會(huì)將數(shù)據(jù)寫入對(duì)應(yīng)存儲(chǔ)區(qū)域,完成本次學(xué)習(xí)過程。如圖4所示。還原信號(hào)時(shí),處理器寫入發(fā)送調(diào)制控制字,通過Avalon總線控制紅外發(fā)送調(diào)制邏輯電路,發(fā)送完成后返回等待狀態(tài),等待下一次發(fā)送。如圖5所示。
4 系統(tǒng)功能仿真
為了驗(yàn)證該學(xué)習(xí)型遙控器的原理、硬件系統(tǒng)和軟件系統(tǒng),選用21K8型飛利浦電視遙控器,RMFDLC7461型NEC電視遙控器和RM-687C型索尼電視遙控器作為實(shí)驗(yàn)對(duì)象,分別按這三個(gè)遙控器的“電源”功能鍵,發(fā)送紅外遙控信號(hào),它們對(duì)應(yīng)的載波頻率分別為36 kHz,38 kHz和40k-Hz,學(xué)習(xí)型遙控器的紅外接收二極管接收到紅外信號(hào),并通過三極管9014放大,送入FPGA的I/O口18腳,利用QuartusⅡ軟件中的集成仿真器可對(duì)學(xué)習(xí)型遙控器進(jìn)行功能仿真。首先建立一個(gè)工程,全部編譯通過后,然后對(duì)其功能和時(shí)序進(jìn)行仿真測(cè)試,如圖6~圖8所示。通過比較圖6~圖8中的已經(jīng)濾掉載波紅外信號(hào)High_En和紅外發(fā)送調(diào)制邏輯電路輸出的信號(hào)IR_code的波形可看出,接收和發(fā)射的高低電平維持的時(shí)間相同,數(shù)據(jù)一致,電平也一致。
由仿真結(jié)果表明,21K8型飛利浦電視遙控器、RM-FDLC7461型NEC電視遙控器和RM-687C型索尼電視遙控器的“電源”功能鍵代碼和學(xué)習(xí)型遙控器發(fā)出的代碼,兩者相同,表示學(xué)習(xí)成功。同時(shí)也表明該遙控器可以精確地測(cè)量不同載波的紅外遙控信號(hào),解決了單片機(jī)因時(shí)鐘頻率低而無(wú)法對(duì)載波頻率進(jìn)行測(cè)量的瓶頸。
5 結(jié)語(yǔ)
該學(xué)習(xí)型遙控器通過SoPC技術(shù)構(gòu)建嵌入式軟核NiosⅡ處理器平臺(tái),運(yùn)用Verilog HDL語(yǔ)言設(shè)計(jì)等精度測(cè)量載波頻率IP核、紅外信號(hào)解調(diào)IP核、紅外編碼脈寬測(cè)量IP核和紅外發(fā)送調(diào)制邏輯電路,把載波的精確測(cè)量,紅外信號(hào)解調(diào)、脈寬測(cè)量和調(diào)制集中到Ahera FPGA系列Cyclone-EPICl2Q240C8器件上,極大地簡(jiǎn)化外圍硬件電路。實(shí)驗(yàn)表明,該遙控器解決了單片機(jī)因時(shí)鐘頻率低而無(wú)法對(duì)載波頻率進(jìn)行測(cè)量的瓶頸,實(shí)現(xiàn)了對(duì)任何一款普通遙控器的按鍵編碼學(xué)習(xí),真正完成了學(xué)習(xí)型遙控器的學(xué)習(xí)功能。
本文引用地址:http://butianyuan.cn/article/162578.htm
評(píng)論