文档介绍:第 4 章 SPI 数据传输
本章主要内容包括:
Q SPI的原理
Q SPI模块的组成部分
Q SPI 模块的使用方法
Q 片上 SPI 的功能
Q SPI 传输的实现
本章全面介绍SPI总线技术的原理和使用方法。读者在学****lock Guide Motorola, Original Release Date: 21 JAN 2000, Revised: 14 JUL 2004
1. SPI 控制寄存器 1(SPICR1)
SPICR1 是 SPI 模块中第一个控制寄存器,它控制着 SPI 传输过程的禁止和有效, SPI
模块是否产生中断,同时控制着 SCK 时钟信号的相位和时钟选择,控制着移位过程中是先
移LSB还是先移MSB。复位后该寄存器的值为00000100,。
D7
D6
D5
D4
D3
D2
D1
D0
SPIE
SPE
SPTIE
MSTR
CPOL
CPHA
SSOE
LSBEF
图 SPI 控制寄存器 1 (SPICR1)
SPIE: SPI中断允许控制位。SPIE=1 :允许SPI中断;SPIE=0:禁止SPI中断。
SPE: SPI使能控制位。SPE=1表:许SPI传输,SPI传输的任何操作都必须使该位置 位;SPE=0:禁止SPI( SPI进入低功耗状态)。
SPTIE: SPI传输中断允许控制位。该位允许在SPTEF置位时产生中断。
SPTIE=1 :允许 SPITEF 中断;SPTIE=0 表:禁止 SPITEF 中断。
MSTR: SPI主模式/从模式选择位。MSTR=1: SPI工作在主模式;MSTR=0: SPI工 作在从模式。
CPOL: SPI时钟极性控制位。该位选择SPI时钟的极性。在SPI传输时,传输双方必 须设置同样的CPOL值。主机在传输中,该位若发生变化则会中止正在进行的传输。 CPOL =1:低电平时钟有效,空闲时SCK信号为高电平;CPOL =0:高电平时钟有效, 空闲时SCK信号为低电平。
CPHA: SPI采样时钟相位选择。CPHA =1:在SCK时钟的偶数沿(2, 4,6,…) 采样数据;CPHA =0:在SCK时钟的奇数沿(1, 3,5,…)采样数据。
SSOE: SS输出选择位。该位只能在主模式下有效,在MODFEN置1的情况下,SSOE 的设置如表 所示。
ss输入/输出选择表
MODFEN
SSOE
主模式
从模式
0
0
SS无效
SS输入
0
1
SS无效
SS输入
1
0
SS作为模式错误标志输入
SS输入
1
1
ss作为从机的冼择信号
SS输入
• LSBFE:优先传输LSB控制位。LSBFE =1:数据传输时,先传输LBS; LSBFE =0: 数据传输时,先传输MBS。
2. SPI控制寄存器2 (SPICR2)
SPI控制寄存器2控制SPI的模式错误检测,全双工传输和空闲模式下的SPI时钟信号 的停止与否。图 ,复位后,该寄存器值为00000000。
D7
D6
D5
D4
D3
D2
D1
D0
-
-
-
MODFEN
BIDIROE
-
SPISWAI
SPC0
图 SPI 控制寄存器 2 ( SPICR2 )
MODFEN:模式错误检测(MODF )允许位。MODFEN =1: SS引脚作为MODF特 征输入;MODFEN =0: SS无效。。
BIDIROE:双向传输模式下输出缓冲区允许位。在双向传输时,该位控制着MOSI 和MISO的输出缓冲区。在主模式下,该位控制MOSI的输出缓冲区,在从模式下, 该位控制MISO的输出缓冲区。
BIDIROE =1:使能输出缓冲区; BIDIROE =0:禁止输出缓冲区。
SPISWAI:空闲模式下SPI停止控制位。SPISWAI =1:空闲状态下停止SPI时钟发
生器;SPISWAI =0:空闲状态下不停止SPI时钟发生器。
• SPC0:双向串行传输控制位。。
单线双向传输和正常传输下各控制位及各引脚的功能表
传输模式 SPC0 BIDIROE MISO脚状态 MOSI引脚状态
正常传输
MISO脚状态 主机的操作— 主机输入
单线传输
无效
主机输出
主机输入
主机输入/输出
从机的操作
正常传输 0
单线传输 1
从机输入
无效
从机输出
从机输入
从机输入/输出
说明:单线传输是指主机和从机通过一条线,主机用MOSI,从