SPI从站:如何实现对主站的快速响应?

时间:2019-07-26 15:55:20

标签: synchronization fpga

我有一个FPGA板,其中包含许多有关片上存储器(RAM)的信息。因为我想在计算机上获取这些数据,所以我正在VHDL中制作一个SPI从设备。 我的计算机将通过SPI将以下格式的字节发送到FPGA(首先是MSB):

  • [7-1]:内存地址
  • [0]:读(1)或写(0)

如果该字节是写指令,则第二个字节紧随第一个字节,表示要存储的数据。

如果该字节是一条读指令,我不知道如何使用SPI实现高速,因为仅在一个SCLK周期中,我需要根据发送的地址获取RAM中的数据。而且我已经有来自同步器的延迟(以防止SPI时钟和FPGA时钟之间的亚稳定性问题)。

假设我处于SPI模式0。在最后一个上升沿,我对从主机接收的第8位进行采样。在接下来的下降沿,我必须将内存值的第一位放在MISO上。同步器涉及2 fpga时钟周期等待时间,并访问存储器1 fpga时钟周期。 如果我的FPGA时钟为50 MHz,我想不可能使用50 /(2 * 3)= 8.3 MHz的SPI时钟读取数据。我对么 ?有什么解决方案可以在+15 MHz的频率上运行吗?

0 个答案:

没有答案