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.

TMS570LS3137关于SPI的时钟设置问题

Other Parts Discussed in Thread: TMS570LS3137

我正在使用一款SPI Flash芯片,通过阅读flash的芯片手册,得知时钟模式应该设置为模式0,即CPHA = 0, CPOL = 0(或是模式3, 1 ,1)。如下图所示:

然后,我就在HCG里面设置好了CPHA = 0, CPOL = 0,然后开始对FLASH进行操作。结果就是一直失败。

后来我在flash厂家的论坛上提问,并得知有可能是时钟模式设置的有问题,因此,我再次检查了HCG配置,以及生成的代码,均为模式0。

接着,我又重新将TMS570LS3137的数据手册中关于SPI时钟模式的部分看了一遍,其模式0的定义如下图所示:

显然,这两个芯片SPI的时钟模式0,是完全不一致的,因此这也是操作flash失败的原因。我将ARM的时钟模式改成了CPHA = 0, CPOL = 1, 可以成功对flash进行各种操作。

我又在网上搜了一些关于SPI时钟模式的说明,时钟模式0(CPHA = 0, CPOL = 1),均与TMS570的时钟模式0不一致,也就是说TMS570中SPI的时钟模式设置与通用的不一致。

所以,设计师在设计这款芯片时,将SPI时钟模式设置与通用的不一致,是有特殊的原因?还是说这是这个芯片的特色?