红外接收模块FPGA实验Verilog逻辑源码Quartus工程文件+文档说明资料,FPGA为CYCLONE4系列中的EP4CE6E22C8. 完整的工程文件,可以做为你的学习设计参考。
module remote_rcv (
//input
input sys_clk , //系统时钟
input sys_rst_n , //系统复位信号,低电平有效
input remote_in , //红外接收信号
//output
output reg [15:0] data_buf , // for not optimize
output beep , // for shut beep
output reg [7:0] led //指示LED
);
//reg define
reg [11:0] div_cnt ; //分频计数器
reg div_clk ;
reg remote_in_dly ;
reg [6:0] start_cnt ;
reg [6:0] start_cnt1
reg [11:0] div_cnt ; //分频计数器
reg div_clk ;
reg remote_in_dly ;
reg [6:0] start_cnt ;
reg [6:0] start_cnt1 ;
reg [5:0] start_cnt2 ;
reg [5:0] user_cnt ;
reg [5:0] data_cnt ;
reg [14:0] data_judge_cnt ;
reg [14:0] noise_cnt ;
reg [4:0] curr_st ;
reg [4:0] next_st ;
//wire define
wire remote_pos ;
wire remote_neg ;
//fsm define
parameter IDLE = 3'b000 ;
parameter CHECK_START_9MS = 3'b001 ;
parameter CHECK_START_4MS = 3'b010 ;
parameter CHECK_USER_CODE = 3'b011 ;
parameter CHECK_DATA_CODE = 3'b100 ;