spi

it2022-05-05  58

module spi_master ( input sys_clk, input rst, output nCS, //chip select (SPI mode) output DCLK, //spi clock output MOSI, //spi data output input MISO, //spi input input CPOL, input CPHA, input nCS_ctrl, input[15:0] clk_div, input wr_req, output wr_ack, input[7:0] data_in, output[7:0] data_out ); 1:Sys_clk是系统的输入时钟,其中DCLK为SPI接口输出的时钟, DCLK时钟的周期为DCLK=sys_clk/ (clk_div*2)。 2:rst是高电平有效的复位信号。 3:nCS是SPI的片选信号; 4:MOSI是master输出,其中master就是FPGA,就是说FPGA的SPI输出信号 5:MISO是slave输出,其中master就是FPGA,就是说FPGA的SPI输入信号 6:CPOL是空闲状态的时候DCLK的状态,CPHA是什么时候FPGA放置MOSI数据的控制位置。它们两个信号的配合状态如下图。 7:nCS_ctrl控制片选信号cs的控制位置; 8:wr_req是FPGA的SPI输出请求,高电平有效。当wr_req变为高电平的时候开始输出,当时当输出结束以后如果wr_req还是高电平,继续SPI输出。 9:wr_ack发送反馈 10:data_in需要的SPI数据; 11:data_out接收到的数据。


最新回复(0)