2)双器件方式 ◇图中,两个器件可互为主从。当没有发生SP操作时, 两个器件都可配置为主机MSTR=1),将SSIG清零并 将P1.2(SS)配置为准双向模式或输入模式。当其中 个器件启动传输时,可将P1,配置为输出并驱动为低 电平,这样就强制另一个器件变为从机。 主机或从机 主机或从机 MISO MISO 8位移位寄存器 MOS士MoS工 8位移位寄存器 SCLK- SCLK sPI时钟发生器 SP时钟发生器 8 23:49:0
23:49:01 2)双器件方式 图中, 两个器件可互为主从。当没有发生SPI操作时, 两个器件都可配置为主机(MSTR=1), 将SSIG清零并 将P1.2( )配置为准双向模式或输入模式。当其中一 个器件启动传输时, 可将P1.2配置为输出并驱动为低 电平, 这样就强制另一个器件变为从机。 SS 18 MOSI MOSI SCLK MISO MISO SS 8位移位寄存器 主机或从机 主机或从机 8位移位寄存器 SCLK SPI时钟发生器 SPI时钟发生器 SS
2)双器件 方式SSG=1,MSTR=0,R12/SS配置为准双向模式且输出1 ◇双方初始化时将自己设置成忽略/S脚的SP丛模式 当一方要主动发送数据时,先检测/SS脚的电平,若SS 脚是高电平,就将自己设置成忽略丶S脚的主模式。 SSG=1,MSTR=1,P12/SS输出0 P12SS配置为准双向模式且输出1SSG=0,MSTR=0,P12/SS为1 ◇通信双方平时将SP置成没有被选中的从模式。在该 模式下,MSO(高阻)、MOSⅠ、SCLK均为输入,当 多个MCU的SP接口以此模式并联时不会发生总线冲 突。这种特性在互为主从、一主多从等应用中很有用 ◇注意,互为主从模式时,双方的SP速率必须相同。 如果使用外部晶体振荡器,双方的晶体频率也要相同 23:49:0
23:49:01 2) 双器件 方式 双方初始化时将自己设置成忽略/SS脚的SPI从模式。 当一方要主动发送数据时, 先检测/SS脚的电平, 若/SS 脚是高电平, 就将自己设置成忽略/SS脚的主模式。 19 SSIG =1, MSTR=0, P1.2/ SS 配置为准双向模式且输出1 SSIG =1, MSTR=1, P1.2/ SS 输出0 通信双方平时将SPI置成没有被选中的从模式。在该 模式下,MISO(高阻)、MOSI、SCLK均为输入,当 多个MCU的SPI接口以此模式并联时不会发生总线冲 突。这种特性在互为主从、一主多从等应用中很有用。 注意,互为主从模式时,双方的SPI速率必须相同。 如果使用外部晶体振荡器,双方的晶体频率也要相同。 P1.2/ SS 配置为准双向模式且输出1 SSIG =0, MSTR=0, P1.2/ SS 为1
(2)P接口的数据通信方式3)单主机-多从机方式(包 ◇图中,从机的sSIG( SPCTLA7)为0,从机通过对应的SSs 信号被选中。SPI主机可使用任何端口位(包括P12/SS) 来控制从机的/SS。 从机1 MISa 位移位寄存器Msr Mosd3位移位寄存器 sP时钟发生 SCLK SCL 匚端口位囗_丽 SSIG=0 从机n MISO MoSI8位移位寄存器 SCLK SSIG=O 2 图8-30SP接口的单主机多从机连接方式 23:49:0
23:49:01 (2)SPI接口的数据通信方式 图中, 从机的SSIG (SPCTL.7)为0, 从机通过对应的/SS 信号被选中。SPI主机可使用任何端口位(包括P1.2/SS) 来控制从机的/SS。 21 MOSI MOSI SCLK MISO MISO SS 8位移位寄存器 主机 从机1 8位移位寄存器 SCLK SPI时钟发生器 端口位 端口位 MOSI MISO SS 从机n 8位移位寄存器 SCLK ┇ 3)单主机-多从机方式 图8-30 SPI接口的单主机-多从机连接方式 SSIG=0 SSIG=0
2)SP接口的 数据通信方式 表8-8主机模式的配置主机和从机的选择 ◇STCl5单片机进行SPI通信时,主机和从机的选择由SPEN,SSIG, 引脚P12(SS)和MSTR联合控制;主机和从机的选择如表所示。 SPENSSIG P1.2 MSTR 或从 MISOMOSISCLK 模式P14P13PL.5 备注 0XP12|XSPⅠ功自 禁正P14P13/ P1.5 P禁止:P1,2/P13/P14/P1.5 作为普通O口使用 000仄从机模式输出输入输入选择作为从机 1010床被选中高阻输入输入床被选中。MISO为高阻状态, 以避免总线冲突 kss配置为准双向口或输入模 001-0从机模式输出输入|输入式,SS若被驱动为低电平且 SIG=0,MSTR位自动清0。 隹机空闲时MOSⅠ和SCLK为 高阻态以避免总线冲突。用 主(空闲) 高阻高阻戶须将SCLK上拉或下拉(根 011 输入 据CPOL取值以避免SCLK 出现悬浮状态。 主(激活)输出输出雄为主机激活时, MOSLE SC 1|1P12 匚0从输出输入输入 主输入「输出输出
23:49:01 (2) SPI接口的 数据通信方式 STC15单片机进行SPI通信时,主机和从机的选择由SPEN, SSIG, 引脚P1.2( )和MSTR联合控制; 主机和从机的选择如表所示。 SPENSSIG /SS P1.2MSTR 主或从 模式 MISO P1.4 MOSI P1.3 SCLK P1.5 备 注 0 X P1.2 X SPI功能 禁止 P1.4 P1.3 P1.5 SPI禁止:P1.2/P1.3/P1.4 /P1.5 作为普通I/O口使用 1 0 0 0 从机模式 输出 输入 输入 选择作为从机 1 0 1 0 从机模式 未被选中 高阻 输入 输入 未被选中。MISO为高阻状态, 以避免总线冲突 1 0 0 1→0 从机模式 输出 输入 输入 /SS配置为准双向口或输入模 式, /SS若被驱动为低电平且 SSIG=0, MSTR位自动清0。 1 0 1 1 主(空闲) 输入 高阻 高阻 主机空闲时MOSI和SCLK为 高阻态以避免总线冲突。用 户须将SCLK上拉或下拉(根 据CPOL取值)以避免SCLK 出现悬浮状态。 主(激活) 输出 输出 作为主机激活时,MOSI 和 SCLK 为推挽输出 1 1 P1.2 0 从 输出 输入 输入 1 主 输入 输出 输出 表8-8 主机模式的配置 主机和从机的选择 22 SS SCLK 单主机输出状态也不会总线冲突
(3)SP接口的数据通信过程 ◆在SPI通信中,数据传输总是由主机启动的。如果 SPI使能(SPEN=1),主机对SP数据寄存器的写操 作将启动SP时钟发生器和数据的传输。在数据写 入 SPDAT之后的半个到一个SP位时间后,数据 将出现在MOS引脚。 ◆需注意的是,主机可以通过将对应器件的SS引脚 驱动为低电平实现与之通信。写入主机 SPDAT寄 存器的数据从MOS脚移出并发送到从机的MOSI 引脚。同时,从机 SPDAT寄存器的数据从MISO 引脚移出并发送到主机的MISO引脚。 23:49:0
23:49:01 (3)SPI接口的数据通信过程 在SPI通信中,数据传输总是由主机启动的。如果 SPI使能(SPEN=1),主机对SPI数据寄存器的写操 作将启动SPI时钟发生器和数据的传输。在数据写 入SPDAT之后的半个到一个SPI位时间后,数据 将出现在MOSI引脚。 需注意的是,主机可以通过将对应器件的/SS引脚 驱动为低电平实现与之通信。写入主机SPDAT寄 存器的数据从MOSI脚移出并发送到从机的MOSI 引脚。同时,从机SPDAT寄存器的数据从MISO 引脚移出并发送到主机的MISO引脚。 23