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