嘿,团队,
我在 这里问了一个有关从模式下的TMS570 mibspi的问题。 以下查询可视为对该问题的跟进。 我们已经能够设置和测试以下内容(这是测试MIBSPI的设置)-
- TMS570芯片作为具有外部主时钟和外部时钟的从属器件(也是TMS DEV KTI Hercules XL-570LC4357)。
- 从属设备的外部时钟当前来自主TM 570,但实际主板上是来自DSP芯片的自由运行时钟。
- 4引脚模式(CS,MOSI Miso,CLK),但在不存在的情况下,我们只能从主控制器->从控制器进行数据传输。因此,我们只能连接MOSI引脚,并使Miso保持浮动。
通过上述设置,我们能够以6.75 MHz通过MIBSPI发送数据(uint16{1,2,3,4,5,6,7,8}),并看到以下行为。
- 我们在while循环中从主中继器持续发送此数据。
- 在大多数情况下,我们都能在从属设备上看到相同的数据。
- 在某些情况下,我们在复制Rx数据时只看到零。 这是在检查 SPI接收寄存器缓冲区中的RXEMPTY位之后。
看到这种行为,我相信抽样并不是在它应该导致销售的时候发生的,它认为它看到了一些数据,但实际上它只是抽样0。 两端的时钟相位和极性为0。
当我们将频率增加到12.5 MHz时,我们根本看不到确切的数据,而看到数据位向左移动({0x10,0x200,0x300,...}),或者在读取Rx缓冲区时看到0的列表。 只有在两次后续转账之间存在相当长的延迟,才能解决这一问题。
在我们的板上,主器件是一个DSP芯片,它以SPI格式发送数据,输出一个空闲运行时钟作为SPI时钟,并且在发送数据时具有芯片选择的活动低配置。 在这种情况下,我们无法在SPI时钟线路中暂停空闲运行时钟。 后续CS Lows之间的延迟为~25微秒。 我们的VCLK设置为75 MHz。 我们也看到上面提到的多个0或位移问题。
这种行为在TM端是否仍然可以接受,因为理想情况下,它只应在CS变低时查看时钟? 如果是这样,我们如何解决位移和错误采样的问题。 我们的要求 是以25.576 MHz运行mibspi时钟,并以该速率在SPI总线上发送数据。下图是实际SPI事务的样子。

谢谢
Cree

