主题中讨论的其他器件: TMS570LS2124
您好!
我的情况如下:
有一个 Hercules 处理器(当前为 TMS570LC4357、但我们也可以使用 TMS570LS2124)、它使用 MibSPI 总线与 FPGA 进行通信。 到 FPGA 的事务包括一个识别 FPGA 上特定通道的16位标头字、该通道的存储器地址和要采取的操作(读取/写入、复位等)以及对 FPGA 进行数据读取或写入。
例如、FPGA 通道可能从外部器件读取脉冲宽度、并使用有关脉冲宽度的最新信息更新其内部存储器。 CPU 将从 FPGA 读取有关该脉冲宽度的数据。 但是、如果 FPGA 在 CPU 希望读取脉宽寄存器的同时更新脉宽寄存器、则很容易发生冲突。 在这种情况下、CPU 必须根据我的读数延迟 SPI 事务、可以使用 SPIENAn 引脚来完成。
但是、在 FPGA 接收到报头字之前、不可能延迟 CPU、报头字将处于事务处理的中间。 在接收标头字之前、FPGA 将不知道正在访问哪个通道、因此无法评估是否需要保持 CPU。 如果不需要保持、它可以立即提供数据、但如果存储器正在使用、它将需要等待下一个 FPGA 时钟才能访问存储器、这意味着它不会及时到达 SPI 总线发送。
那么、我的问题归结为"SPI 使能引脚是否可用于在交易中途保持交易?"