用的STM32F103R8的片子,调试SPI接口,配置NSS引脚采用硬件管理,做主机只发送,发现NSS一直为低电平,无法为从设备提供C\S\片选及锁存信号。后来只能采用软件管理的方式。 后来在网上各论坛搜了一下发现,很多人遇到了这个问题。 ST的NSS引脚在SPI enable后就拉低了,并且一直保持。这一点与很多其他的MCU有很大的区别。 现在采用SPI接口的很多外设(flash芯片、DAC、ADC等等)都需要这个片选信号,如果只能软件设置,就无法采用DMA,占用了大量的CPU资源。在一些实时性要求很高的场合,这是非常要命的,大量的CPU资源消耗在了设置NSS引脚上,整棵芯片的性能打了很大的折扣。 ST的资料没有对NSS的时序进行明确的说明,在时序图Fig. 239中对这个信号的描述也极容易引起误解。 希望大家采用ST的片子的时候能够注意到这一点。也希望ST注意到这个问题。 |
RE:要人命NSS引脚,诡异的SPI