一個基于FPGA的紅外遙控和LCD顯示框架,支持紅外遙控輸入并在LCD上顯示對應的內容,可通過修改代碼實現紅外遙控計算器等高級應用。
已在臺灣友晶科技的DE2-115開發板上測試可用,該開發板的核心FPGA芯片型號為Intel/Altera的Cyclone IV4CE115F29,開發平臺為Quartus II/Quartus Prime。若要在其他開發板上使用,可通過修改相應配置管腳來實現。
其頂層文件的代碼如下:
- module irda_top(
- input clk,
- input rst,
- input key_clear,
- input iIRDA,
- output rw,
- output rs,
- output en,
- output [7:0] data_out,
- output lcd_on,
- output lcd_bg
- );
- wire [9:0] data_in;
- lcd_1602 lcd_1602_m0(
- .clk(clk),
- .rst(rst),
- .data_in(data_in),
- .ir_arri(irinf_trig),
- .key_clear(key_clear),
- .rw(rw),
- .rs(rs),
- .en(en),
- .next_data(next_data),
- .data_out(data_out),
- .lcd_on(lcd_on),
- .lcd_bg(lcd_bg)
- );
- wire[31:0] ir_data;
- wire ir_arri;
- wire [7:0] inf_data;
- wire answer_flag;
- wire irinf_trig;
- wire [127:0] answer;
- IR_RECEIVE ir_m0(
- .iCLK(clk), //clk 50MHz
- .iRST_n(rst), //reset
- .iIRDA(iIRDA), //IR code input
- .oDATA_READY(ir_arri), //data ready
- .oDATA(ir_data) //decode data output
- );
-
- lcd_inf lcd_inf_m0(
- .clk(clk),
- .rst(rst),
- .ir_arri(irinf_trig),
- .key_clear(key_clear),
- .trig(next_data),
- .answer_flag(answer_flag),
- .inf_data(inf_data),
- .answer(answer),
- .data(data_in)
- );
- data_trans data_trans_m0(
- .clk(clk),
- .rst(rst),
- .trig(ir_arri),
- .raw_data(ir_data),
- .final_data(inf_data),
- .answer_out(answer_flag),
- .ir_infready(irinf_trig),
- .answer(answer)
- );
- endmodule
復制代碼 綜合后的RTL圖如下:
下載.png (51.26 KB, 下載次數: 61)
下載附件
RTL圖
2020-6-6 18:08 上傳
全部資料51hei下載地址:
irda_lcd_version_2.7z
(13.58 MB, 下載次數: 22)
2020-6-7 03:52 上傳
點擊文件名下載附件
基于FPGA的紅外遙控和LCD顯示框架 下載積分: 黑幣 -5
|