我正在尝试在 Verilog 中实现一个 SPI 设备。我在协调主机和从机方面遇到了很多问题,因为有时(使用我目前的实现)SPI 主机不会向从机发送足够的时钟脉冲,因此它可以完成其处理。
例如,如果从机被实现为使其状态机具有更多状态,并且它在完成其周期之前停止接收时钟脉冲,则可能会发生这种情况。
我可以修改我的实现以使这两个设备在时钟脉冲方面进行协调,但是,这意味着主实现者需要知道实现。奴隶(以及所有潜在奴隶)的详细信息。这对我来说似乎根本不对。
SPI 协议是否准确指定了主机在发送(例如,一个字节)时必须向从机提供多少脉冲?如果不是,那么任何 SPI 主设备如何与任何从设备兼容?为了以防万一,可以向从机发送大量脉冲(例如:1 个字节 64 个脉冲)吗?