[整理] LM4F232H5QD的SSI时钟问题
SSI 模块内置可编程的位速率时钟分频器以及预分频器,通过分频产生串行输出时钟。SSI
模块支持2MHz 或更高的位速率,实际使用时最高位速率通常由片外器件的性能决定。
串行位速率是由输入时钟(SysClk)分频后得到的。输入时钟首先须进行预分频,预分频
系数是2 到254 范围内的偶数,由SSI 时钟预分频寄存器(SSICPSR)的CPSDVSR 位域确定。预分频后的时钟还能继续分频,分频系数是1 到256 范围内的整数1 +SCR,其中SCR 是SSI 控制寄存器0(SSICR0)中的位域。因此输出时钟SSIClk 的频率为:
SSICLK = SysClk / (CPSDVSR * (1 + SCR))
注:当工作于主机模式时,应确保系统时钟至少2 倍于SSIClk,且SSIClk 不得超过25MHz;
当工作于从机模式时,应确保系统时钟至少12 倍于SSIClk。
where FSSI is the frequency of the clock supplied to the SSI module.
SSIConfigSetExpClk(SSI0_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 10000000, 8);
在LM4F232H5QD的数据手册第15章SSI模块15.3.1节中关于Bit Rate Generation中的说明。
“当为主机模式时,最大时钟不超过25MHZ,同时,若连接的从机设备时钟不超25MHZ,则最大不能超过从机的时钟。 若为从机模式时,最大时钟不能超过系统时钟的1/6”
整理自:http://www.deyisupport.com.sixxs.org/question_answer/f/57/t/7686.aspx
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。