tica, SimSun, sans-serif">小弟,用单片机做主机给FPGA发一个字节数据,然后FPGA发送回来。但是发现在FPGA里MISO延迟一个周期导致单片机接受的数据少了一位。想请教大神们怎么解决啊?下图为仿真图FPGA,上升沿接受数据,下降沿发送数据,程序也如下
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;
ENTITY spi_fpga is
PORT (SCK: IN std_logic;
MOSI: IN std_logic;
CS : IN std_logic;
MISO: OUT std_logic);
END spi_fpga;
ARCHITECTURE one of spi_fpga is
SIGNAL MOSI_IN: std_logic;
BEGIN
PROCESS (CS,SCK)
BEGIN
IF (CS='1') THEN
NULL;
ELSIF rising_edge(SCK) THEN
MOSI_IN <= MOSI;
END IF;
END PROCESS;
PROCESS (SCK)
BEGIN
IF falling_edge (SCK) THEN
MISO <= MOSI_IN;
END IF;
END PROCESS;
END one;
-
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
多谢回复。时间久了。
一周热门 更多>