在
FPGA接收ARM端传过来的数据时,片选拉低时,直接通过SPI上的时钟SCLK的上升沿进行寄存数据,然后在spi_clk的下降沿输出寄存的数据,这样在输出时会导致传给ARM的数据发生跳变,然后我改了下代码,在FPGA的内部时钟(sys_clk)的上升沿对SPI上的时钟和数据进行操作,回读的数据正常了。请问前者和后者的区别是啥?是因为要经过内部的时钟进行同步操作吗?
上图为接收数据,这是修改后的代码,在sys_clk下操作,之前是直接在spi_clk 和片选进行操作,和片选无关。
第二张和第三张图之前也是在spi_clk下进行数据输出,现在就是将spi_clk和sys_clk的边沿对齐进行
通信,我修改后回读数据正常了,有大佬能解答下下吗???