达拉斯半导体/Maxim提供各种串行实时时钟(RTC)。其中一些 RTC 使用行业标准的摩托罗拉 SPI 接口与微处理器通信。本应用笔记可帮助客户了解SPI接口的基础知识。
概述
SPI标准包括四种模式,由SCLK的极性以及数据与SCLK之间的相位关系定义。时钟极性 (CPOL) 由 SCLK 的空闲状态决定。如果空闲状态为低,则 CPOL 为 0。如果空闲状态为高,则 CPOL 为 1。时钟相位 (CPHA) 由数据有效的边沿决定。如果数据在 SCLK 的第一个边缘有效,则 CPHA 为 0。如果数据在 SCLK 的第二个边缘有效,则 CPHA 为 1。
业界有两种通用格式来定义四种SPI模式。第一种格式将相位和极性的四种可能组合定义为模式 0、模式 1、模式 2 和模式 3。第二种格式将组合定义为模式 0,0、模式 0,1、模式 1,0 和模式 1,1。SPI主机必须使用从设备支持的模式,以允许正常通信。
Dallas Semiconductor/Maxim的SPI接口RTC支持两种SCLK极性。当CE被置位时,RTC通过检测SCLK的空闲状态来自动确定极性。因此,在断言 CE 之前,主机必须将 SCLK 置于适当的空闲状态。仅支持一个阶段。由于支持两种SCLK极性,因此RTC支持四种SPI模式中的两种:模式1和3(模式0,1和模式1,1)。
在具有内置SPI接口的微控制器上,SPI控制或配置寄存器将具有控制极性和相位的位。由于 RTC 支持任一极性,因此可以根据需要进行极性设置。但是,相位位必须正确设置,否则RTC将无法正常工作。
图 1 显示了典型的单字节读取,图 2 显示了典型的单字节写入。每次置位CE时,前8个SCLK脉冲用于在命令字节中计时。命令字节由定义寄存器地址的几个位和一个定义数据方向的位组成:如果接下来的8个SCLK脉冲将数据时钟输入器件,则写入器件,如果数据时钟输出器件,则读取。另外一组八个SCLK脉冲继续沿选定方向传输数据,直到CE被取消。
图1.单字节读取。
注意:在突发模式下,CE 保持高电平,并发送额外的 SCLK 周期,直到突发结束。
图2.单字节写入。
注意:在突发模式下,CE 保持高电平,并发送额外的 SCLK 周期,直到突发结束。
SPI 代码示例可在以下位置找到:实时时钟
总结
本应用笔记中的信息将有助于确保SPI通信例程正常工作。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !