请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
众所周知,如果在传输过程中写入SPDR,并且在SPI状态寄存器中设置了WCOL位,则会发生写入冲突。 AFAIK,一些芯片以这种方式处理写冲突:在这种情况下,将不执行写操作,并且传输继续不受干扰。 写入程序可以检查WCOL位以查看写入是否成功。
当传输已在进行中时,会发生上述写入冲突。 现在,请考虑以下两种情况,当传输尚未启动时会发生写冲突:
-SPI从机正在将SPDR (数据寄存器)(或RX FIFO缓冲器)的内容读取到自己的内存中,同时SPI主机开始传输。 因此,SPI从属设备将从SPDR读取损坏(覆盖)的数据。
-SPI SAVVE正在将数据从其内存写入SPDR (或TX FIFO缓冲器),同时,SPI主节点开始传输。 因此,SPI从属设备将向SPDR发送损坏的数据。
这两种情况通常发生在从端,因为SPI从端对定时没有控制。
我们计划在产品中使用TDA2x系列(精确芯片尚未确定)。 不确定TI是否会以同样的方式处理第一种情况,以及如何处理后两种情况?