主题中讨论的其他器件: C2000WARE
尊敬的专家
问题说明:
TMS320F2808 DSP SPI 通信在中断期间以18KHz 周期执行 SPI 传输。 以下两种不同的方法可能会导致 SPI 发送的数据出现异常。
第一种方法是将18KHz 分成两个9KHz、然后发送第一个9KHz。 待发送的数据存储在 SpiaRegs.SPITXBUF 中;以第二个9KHz 的频率进行接收并读出 SpiaRegs。 SPIRXBUF 寄存器数据。 SpiaRegs 的操作。 SPITXBUF 和 SpiaRegs。 SPIRXBUF 的时间间隔为55.56us。 在这种工作条件下、未发现 SPI 发送的数据有异常。
第二种方法是对 SpiaRegs 执行运算。 SPITXBUF 和 SpiaRegs。 SPIRXBUF 每18K 寄存一次。 首先、阅读 SpiaRegs。 SPIRXBUF、执行数据处理、然后将要传输的数据存储到 SpiaRegs 中。 SPITXBUF。 读取 SpiaRegs 之间的时间间隔。 SPIRXBUF 并将数据存储到 SpiaRegs。 SPITXBUF 大约只有几微秒。 这种工作状态下、SPI 发送的数据异常。
注意:在读取 SpiaRegs 前未评估 SPI 的状态。 SPIRXBUF 并将数据存储在 SpiaRegs 中。 SPITXBUF。