来源 CEPARK网站http://www.cepark.com/Index.html 作者: hnrain
SPI总线四种工作方式 SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果 CPOL="0",串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设备时钟相位和极性应该一致。电子园51单片机学习网SH ]S#{%{
电子园51单片机学习网Y"u+`V~
H5H3V.O)eE9i^45629SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设音时钟相位和极性应该一致。SPI接口时序如图3、图4所示。电子园51单片机学习网fOe,tF$|1^
电子园51单片机学习网:A!I|4DZsGD4]^
1Y1c A3dE6{$C|w45629 上升沿主机SDO发送数据1,同时从设备SDO发送数据0;紧接着在SCLK的下降沿的时候从设备的SDI接收到了主机发送过来的数据1,同时主机也接收到了从设备发送过来的数据0.电子园51单片机学习网T%j#L-\ \%Ai2]~(x*{Q
电子园51单片机学习网`G"y T[)T[SPI接口时钟配置心得:电子园51单片机学习网 d9rmD-Fv0a!j u#mh!^ m
[2rTZ5F$l{ aw0V S45629 在主设备这边配置SPI接口时钟的时候一定要弄清楚从设备的时钟要求,因为主设备这边的时钟极性和相位都是以从设备为基准的。因此在时钟极性的配置上一定要搞清楚从设备是在时钟的上升沿还是下降沿接收数据,是在时钟的下降沿还是上升沿输出数据。但要注意的是,由于主设备的SDO连接从设备的SDI,从设备的SDO连接主设备的SDI,从设备SDI接收的数据是主设备的SDO发送过来的,主设备SDI接收的数据是从设备SDO发送过来的,所以主设备这边SPI时钟极性的配置(即SDO的配置)跟从设备的SDI接收数据的极性是相反的,跟从设备SDO发送数据的极性是相同的。下面这段话是Sychip Wlan8100 Module Spec上说的,充分说明了时钟极性是如何配置的:电子园51单片机学习网2|0D V tI`7Ur
电子园51单片机学习网^ R#HA T!H0Aa
The 81xx module will always input data bits at the rising edge of the clock, and the host will always output data bits on the falling edge of the clock.电子园51单片机学习网(L]-H_*P&^7`
:G,i-Dh2lX3y9U45629 意思是:主设备在时钟的下降沿发送数据,从设备在时钟的上升沿接收数据。因此主设备这边SPI时钟极性应该配置为下降沿有效。电子园51单片机学习网^|S*v A2^G#ZJ"M
电子园51单片机学习网$h5{#\ c@ _!`
又如,下面这段话是摘自LCD Driver IC SSD1289:电子园51单片机学习网R2\&hNc|0\]s
电子园51单片机学习网&]2E#c^G%y.]
,I/X'KP%l$H.W'y(d9ir+e45629 SDI is shifted into 8-bit shift register on every rising edge of SCK in the order of data bit 7, data bit 6 …… data bit 0.
WS`0q ^+[h T45629电子园51单片机学习网0R+^f#z`6pIoE
意思是:从设备SSD1289在时钟的上升沿接收数据,而且是按照从高位到地位的顺序接收数据的。因此主设备的SPI时钟极性同样应该配置为下降沿有效。电子园51单片机学习网GK5\B{,p6g k
电子园51单片机学习网 D@9U)D(p%f.AJq
时钟极性和相位配置正确后,数据才能够被准确的发送和接收。因此应该对照从设备的SPI接口时序或者Spec文档说明来正确配置主设备的时钟。
文章评论(0条评论)
登录后参与讨论