硬件SPI的速率是与主时钟频率(40MHz)或高速PLL时钟频率、主时钟分频系数(HSCLKDIV)、SPI外设输入时钟分频系数(SPI_CLKDIV)、SPI时钟分频系数(SPR[1:0])相关的吗?
计算公式是如下这样吗?
- SPI最终速率 = ( ( 高速时钟频率[ PLL 或 MAIN_Fosc / HSCLKDIV[1~255] ) / SCLKDIV[1~255] ) / xT[4T、8T、16T、2T分频]
复制代码
例如,我使用40MHz主频作为高速时钟频率,经过HSCLKDIV=1(1分频)后得到40MHz的外设主时钟频率,在经过SPI_CLKDIV=2(2分频)后,
得到20MHz的SPI主时钟频率,最后
经过SPR[1:0]=00( 4T分频),得到5MHz的SPI通讯频率;
经过SPR[1:0]=01( 8T分频),得到2.5MHz的SPI通讯频率;
经过SPR[1:0]=10(16T分频),得到1.25MHz的SPI通讯频率;
经过SPR[1:0]=11( 2T分频),得到10MHz的SPI通讯频率;
请问是这样计算的嘛?
|