This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320C2809 SPI 动态时钟速率



我正使用 TMS320C2809 SPI-B 模块作为与 USB(从设备)芯片进行通信的主控器件。产品说明书称在主模式下,最大时钟速率为 25MHz,而在接收模式下最大时钟速率则为 12.5MHz。我可不可以通过 SPIBRR 寄存器动态地更改 SPI 时钟速率,以使其在发送模式下为 25MHz,在接收模式下为 12.5MHz?(这符合从芯片的规范,因为它最高可以工作在 26MHz)。如果我能够动态地在 25/12.5MHz 之间更改 SPI 时钟,是否存在任何时钟稳定延迟,还是说切合后就可以立即使用?

  • 简单地说,不可以:

    为了防止在初始化过程中出现或者因为初始化变动(比如针对 SPI 时钟速率调整 SPIBRR 寄存器)造成不必要或者不可预见的情况,建议(在 SPI 参考指南中有明确说明)在更改配置的任何设置之前,清除 SPI 软件 RESET 位(在 SPICCR 第 7 位),然后再在改变配置设置后重新设置该位。

  • 那我现在碰到的一个问题是这样的: 我用DSP2407的SPI接口连上一块EEPROM芯片。发现对EEPROM写数据时,连上仿真器和不连仿真器所用的时间不一样。连上仿真器,我写入256个字需要6.5秒,但不连仿真器只需2.5秒。请问,什么原因? 是不是仿真器拖慢了SPI的时钟?