主题中讨论的其他器件:HALCOGEN
您好!
我们尝试使用 MibSPI 接口(特别是 SPI #1)与 ADC 器件通信。 功能很简单、我们希望发送和接收27个数据包、当接收到最后一个数据包时、会触发 DMA 通道、将数据从 RXRAM 复制到本地缓冲区。
当前配置:
-多缓冲模式。
IO DMA。
- SCS1、SPICLK、SIM0和 SOMI0设置为正常(其余引脚默认设置为不起作用)。
-数据格式0:
无间隙延迟、极性偶数、奇偶校验禁用、移位方向 MSB、 全双工启用、 CS 延迟被禁用、CLK 极性高电平、相位延迟使能、预分频= 4、数据长度= 16、1线模式。
-转移组:
TG0、TG 禁用(需要时将触发)、一次性启用、PRST 忽略、触发始终、触发源禁用、 起始索引= 0。
TG1 (虚拟、仅限制 TG0的大小)、TG 禁用(始终)、起始索引= 27。
- SPI DMA:
一次性禁用、触发缓冲器26、Rx DMA 线路2、Rx DMA 启用、TX DMA 禁用、无 BRK 交错。
TXRAM 数据包的配置为:
挂起覆盖保护、CS 保持两个数据包、释放第三个数据包(沿27个数据包重复此模式)、TG 锁定(仅第27个数据包解锁)、使用数据格式0。
我们使用了其他可用总线、发送数据包时没有问题、但使用 SPI #1时会发生以下情况:
-启用 TG0后、传输开始、只有5个数据包一个接一个地发送、没有任何问题、然后发送每个数据包之间的间隔为~14ms、因此发送27个数据包需要花费大量时间。
另一项测试是创建8个 TG (0至7)并为每个 TG 分配3个数据包(总共24个数据包),我们尝试启用所有 TG,1对1, TGs 1至7会按预期发送3个数据包、但 TG0仅发送2个数据包、然后等待几 ms 后再发送最后一个数据包、可能需要~500us 的传输最后花费几 ms。
您是否知道在使用 SPI #1时、我们是否应该考虑任何差异?
如果您需要任何其他信息来更好地描述可能发生的情况、请告诉我。
此致、