SPI总线共有四种工作方式,主要是数据改变和采集的时间不同,在时钟上升沿和下降沿采集有不同定义。这里涉及到两个参数,串行同步时钟极性(CPOL)和时钟相位(CPHA)。
如果CPOL=0,串行同步时钟(SCK)的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。
时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。
如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降沿)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降沿)数据被采样。
时钟极性和相位配置正确后,数据才能够准确的发送和接收。例如从设备在时钟的上升沿接收数据,那么主设备的SPI时钟极性应该配置为下降沿有效。
以触摸屏控制器TSC2046为例,由于TSC2046采样触摸屏信息并量化出最高位需要一定时间,而SPI总线没有握手机制,为避免Master过早的启动传输,接收无效数据,TSC2046引入了BUSY信号作为TSC2046向Master的指示。TSC2046是在时钟的第一个上升沿采集数据,而在第一个下降沿开始移出数据,这导致Master只能在第二个上升沿采集到的数据才是有效的,而在第一个上升沿采集的数据是无效的,因此在软件中需要将该Bit丢弃.
阅读(3115) | 评论(0) | 转发(0) |