STM32f103 中APB1的最高频率是36MHz,APB2的最高频率是72MHz,而PCLK1和PCLK2一般也默认配置为其最高工作频率36M和72M。如下图(STM32F10xx_参考手册(第7版) 第46页)时钟树所示:
SPI1时钟由APB2时钟分频而来,可以选择2、4、8、16、32、64、128、256这几个分频系数。而手册规定STM32的SPI时钟最快是18MHz。对于STM32F103的SPI1接口时钟,由72M的PCLK2分频得到,所以分配系数大于等于4(72M/4 = 18M)。对于STM32F103的SPI2/SPI3接口时钟,由36M的PCLK1分频得到,所以分配系数大于等于2(36M/2 = 18M)。
若在配置SPI1时,选择了APB2的二分频选项,依据理论SPI1的时钟速率将为36MHz(有网友测试过,确实可以达到36hz)。这个频率大于手册中要求的最快的18Mhz。如果为了追求高速率使用36MHz,建议一定要加强测试环节,同时不建议在工控产品等高可靠性的场合使用。
|