65 / 71 page

宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商 www.MCU-Memory.com STC12C2052AD 系列 1T 8051 单片机中文指南
65
对 SPI 进行配置
下表 所示为主 / 从模式的配置以及模式的使用和传输方向。
SPI 主从模式选择
作为从机时的额外注意事项
当 CPHA = 0 时,SSIG 必须为 0,/SS 脚必须取反并且在每个连续的串行字节之间重新设置为高
电平。如果 SPDAT 寄存器在 /SS 有效(低电平)时执行写操作,那么将导致一个写冲突错误。
CPHA=0 且 SSIG=0 时的操作未定义。
当 CPHA = 1 时,SSIG 可以置位。如果 SSIG = 0,/SS 脚可在连续传输之间保持低有效(即一
直固定为低电平)。这种方式有时适用于具有单固定主机和单从机驱动 MISO 数据线的系统。
作为主机时的额外注意事项
在 SPI 中,传输总是由主机启动的。如果 SPI 使能(SPEN=1 )并选择作为主机,主机对 SPI 数
据寄存器的写操作将启动 SPI 时钟发生器和数据的传输。在数据写入 SPDAT 之后的半个到一个 SPI 位
时间后,数据将出现在 MOSI 脚。
需要注意的是,主机可以通过将对应器件的 /SS 脚驱动为低电平实现与之通信。写入主机 SPDAT
寄存器的数据从 MOSI 脚移出发送到从机的 MOSI 脚。同时从机 SPDAT 寄存器的数据从 MISO 脚移出发送
到主机的 MISO 脚。
传输完一个字节后,SPI 时钟发生器停止,传输完成标志(SPIF )置位并产生一个中断(如果
SPI 中断使能)。主机和从机 CPU 的两个移位寄存器可以看作是一个 16 循环移位寄存器。当数据从主机
移位传送到从机的同时,数据也以相反的方向移入。这意味着在一个移位周期中,主机和从机的数据相
互交换。
SPEN
SSIG
/SS 脚
P1.4
MSTR
主或从
模式
MISO
P1.6
MOSI
P1.5
SPICLK
P1.7
备注
0
X
P1.4
X
SPI 功能禁止
P1.6
P1.5
P1.7
SPI 禁止 。P1.4/P1.5/P1.6/P1.7作为普通I/O口
使用
1
0
0
0
从机模式
输出
输入
输入
选择作为从机
1
0
1
0
从机模式
未被选中
高阻
输入
输入
未被选中 。MISO 为高阻状态,以避免总线冲突
1
0
0
1—>0
从机模式
输出
输入
输入
P1.4/ SS 配置为输入或准双向口 。 SSIG 为0。如
果择 /SS 被驱动为低电平,则被选择作为从机。
当SS 变为低电平时, MSTR将清零。
注: 当/SS处于输入模式时,如被驱动为低电平
且SSIG=0 时 ,MSTR 位自动清零。
1
0
1
1
主(空闲)
输入
高阻
高阻
当主机空闲时 MOSI 和 SPICLK 为高阻态以避免总线
冲突 。用户必须将 SPICLK 上拉或下拉 (根
据CPOL-SPCTL.3 的取值 )以避免 SPICLK出现悬浮
状态。
主(激活)
输出
输出
作为主机激活时 ,MOSI 和SPICLK 为推挽输出
1
1
P1.4
0
从
输出
输入
输入
1
1
P1.4
1
主
输入
输出
输出