主题中讨论的其他器件: HALCOGEN、 RM57L843
尊敬的 TI 团队:
我们一直在使用 TMS570LC4357器件进行 MIBSPI 接口开发。 尽管已经了解和开发了许多内容(使用 https://www.ti.com/tool/TMDX570LC43HDK)、但我们仍面临一些挑战。
查询:
我们希望使用器件的 MIBSPI1传输256字节的数据。 我们还使用 MibSPIEN 寄存器启用了扩展缓冲模式。 在调试时、我们可以在 MibSPIEN 寄存器中看到00000A01值、这表示 MIBSPI1已启用扩展缓冲模式。 (否则、该值为 00000501。)
我们还修改 了 mibspiSetData()和 mibspiGetData(),以设置扩展缓冲区的数据并从扩展缓冲区获取数据。 如下所示。
void mibspiSetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data)
{ ...
uint32 end = (group == 7U) ? (((mibspi->LTGPEND & 0x00007F00U) >> 8U) + 1U) : ((mibspi->TGCTRL[group+1U] >> 8U) & 0xFFU);
...
}
uint32 mibspiGetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data)
{ ...
uint32 end = (group == 7U) ? (((mibspi->LTGPEND & 0x00007F00U) >> 8U) + 1U) : ((mibspi->TGCTRL[group+1U] >> 8U) & 0xFFU);
...
}
但是、我仍然无法在256字节模式下使用 MIBSPI1。 下面是 使用 MIBSPI1传输256字节数据的实现方案的总结。
在实施您建议的变通办法后、我的项目中的关键配置如下:
- MIBSPI1缓冲器:
- MIBSPI1 TG0缓冲器:256
- MIBSPI1 TG1缓冲器:0
- MIBSPI1 TG2缓冲器:0
- MIBSPI1 tg3缓冲器:0
- MIBSPI1 TG4缓冲器:0
- MIBSPI1 TG5缓冲器:0
- MIBSPI1 TG6缓冲器:0
- MIBSPI1 TG7缓冲器:0
- 将此行添加到 MIBSPIINIT()函数:mibspiREG1->MIBSPIE = 0xA00;
- 将 mibspiSetData()和 mibspiGetData()中的值更新为 FF 而不是7F。
您能否建议解决方法 以使该问题正常工作?
此致、
H C Trivedi





