⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usbrefdesign.v

📁 这是一个在MAX II CPLD利用FT245BM 模块实现USB传输的读写程序
💻 V
字号:
module USBRefDesign(
		//系统信号
		input	wire	sclk,                     //sclk为FPGA工作时钟,默认100MHz.
		//FPGA和FT245MB间的USB接口
		input   wire    USB_RXE,		
		output	reg     USB_RD,	
		input  wire     [7:0] USB_DATA,          //USB和FPGA间的双向数据库总线
		output wire     USB_SI,
		output reg     [7:0] LED
		);                                         //处于读状态时,由忙碌状态变为空闲状表示上一个数据开始有效
//******************************************************
//内部寄存器定义


reg   [4:0]   	RD_time_cont;       //读等待时间计数器
reg   [4:0]   	WR_time_cont;       //写等待时间计数器


reg [8:0] count;
reg istrue;

parameter   TX_state0 = 2'b00;      //写状态0
parameter   TX_state1 = 2'b01;      //写状态1
parameter   TX_state2 = 2'b10;      //写状态2
parameter   TX_state3 = 2'b11;      //写状态3

reg	[1:0]	TX_state;               //写状态
//******************************************************
//本模块与FT245B间的数据总线
//******************************************************
assign USB_SI=1;
//******************************************************
//其他模块与本模块之间的数据交换
//******************************************************








//******************************************************
//本模块写FT254BM状态机
//******************************************************
always@(posedge sclk )  //sclk为FPGA工作时钟,默认100MHz.

begin 
if(USB_RXE==1'b0)         //WR_Enable 高有效   
 begin
   case(TX_state)
        TX_state0:
            begin
               USB_RD<=1'b0;                      //产生写信号的上升沿
               TX_state<=TX_state1;
            end
        TX_state1:
            begin
               //USB_DATA <=8'b10110101;  //写一个字节到FIFO,data_to_usb_buffer为发送缓冲寄存器
               LED<=USB_DATA;
               TX_state<=TX_state2; 
            end
        TX_state2:
            begin
               USB_RD  <=1'b1;
               TX_state<=TX_state3;
            end
        TX_state3:
            begin 
            end
               
    endcase
  end
else
  begin
    TX_state<=TX_state0;
    USB_RD  <=1'b1;
  end
end
 
endmodule
//////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -