第六章SPI单片机

时间:2022-11-25 10:14:05 作者:壹号 字数:10590字

单片机C8051F

C8051F系列 系列 SOC单片机原理及应用 单片机原理及应用第六章 SPI总线 总线 主讲: 主讲:吴国东

单片机C8051F

SPI总线 第六章 SPI总线 串行外设接口( 串行外设接口(SPI0)提供一个灵活 ) 线全双工串行总线。 的4线全双工串行总线。SPI0可以作为主 线全双工串行总线 可以作为主 器件或从器件, 器件或从器件,并支持在同一总线上连接 多个从器件和主器件。 多个从器件和主器件 。 SPI0接口包含一 接口包含一 个从选择信号( 个从选择信号 ( NSS) , 用于选择 ) 用于选择SPI0 为从器件; 作为主器件时, 为从器件 ; 当 SPI0 作为主器件时 , 可以 用额外的通用I/O 端口 端口I/O 作为从选择输 用额外的通用 出。当两个或多个主器件试图同时进行数 据传输时,系统提供了冲突检测功能。 据传输时,系统提供了冲突检测功能。

单片机C8051F

SPI总线 第六章 SPI总线

当SPI 被配置为主器件时,最大数据传输 被配置为主器件时, 率(位/秒)是系统时钟频率的 。 秒 是系统时钟频率的1/2。 当SPI 被配置为从器件时,如果主器件与 被配置为从器件时, 系统时钟同步发出SCK、NSS 和串行输 系统时钟同步发出 、 入数据, 入数据,则全双工操作时的最大数据传 输率( 秒 是系统时钟频率的1/10。 输率(位/秒)是系统时钟频率的 。

单片机C8051F

SPI总线 第六章 SPI总线 如果主器件发出的SCK、NSS及串行输 如果主器件发出的SCK、NSS及串行输 SCK 入数据不同步,则最大数据传输率( 入数据不同步,则最大数据传输率(位/ 必须小于系统时钟频率的1/10 1/10。 秒)必须小于系统时钟频率的1/10。 在主器件只想发送数据到从器件而不 需要接收从器件发出的数据(半双工操作) 需要接收从器件发出的数据(半双工操作) 情况下,SPI从器件接收数据时的最大数 情况下,SPI从器件接收数据时的最大数 据传输率( 是系统时钟频率的1/4 1/4。 据传输率(位/秒)是系统时钟频率的1/4。

单片机C8051F

SPI总线 第六章 SPI总线

单片机C8051F

SPI总线 第六章 SPI总线 6.1 SPI0的引脚信号说明 SPI0的引脚信号说明 4个信号(MOSI、MISO、SCK、NSS)。 个信号(MOSI MISO、SCK、NSS)。 (MOSI、 6.1.1 主输出、从输入(MOSI) 主输出、从输入(MOSI) 主出从入(MOSI)信号是主器件的输出和 主出从入(MOSI) 从器件的输入,用于从主器件到从器件的 从器件的输入, 串行数据传输。 作为主器件时, 串行数据传输。当SPI0 作为主器件时, 该信号是输出; 作为从器件时, 该信号是输出;当SPI0 作为从器件时, 该信号是输入。数据传输时最高位在先。 该信号是输入。数据传输时最高位在先。

单片机C8051F

SPI总线 第六章 SPI总线 6.1.2 主输入、从输出(MISO) 主输

入、从输出(MISO) 主入从出(MISO)信号是从器件的输出和 主入从出(MISO) 主器件的输入,用于从从器件到主器件的 主器件的输入, 串行数据传输。 SPI0作为主器件时 作为主器件时, 串行数据传输。当SPI0作为主器件时,该 信号是输入; SPI0作为从器件时 作为从器件时, 信号是输入;当SPI0作为从器件时,该信 号是输出。数据传输时最高位在先。 号是输出。数据传输时最高位在先。当 SPI从器件未被选中时 它将MISO 从器件未被选中时, MISO引脚置 SPI从器件未被选中时,它将MISO引脚置 于高阻状态。 于高阻状态。

单片机C8051F

SPI总线 第六章 SPI总线 6.1.3 串行时钟(SCK) 串行时钟(SCK) 串行时钟(SCK)信号是主器件的输出和 串行时钟(SCK) 从器件的输入,用于同步主器件和从器件 从器件的输入, 之间在MOSI MISO线上的串行数据传输 MOSI和 线上的串行数据传输。 之间在MOSI和MISO线上的串行数据传输。 作为主器件时产生该信号。 当SPI0 作为主器件时产生该信号。

单片机C8051F

…… 此处隐藏1827字 ……

件移位寄存器中的最后8 将总是含有从器件移位寄存器中的最后8 位。

单片机C8051F

SPI总线 第六章 SPI总线 从器件可以通过写SPI0数据寄存器 从器件可以通过写SPI0数据寄存器 SPI0 来为下一次数据传输装载它的移位寄存器。 来为下一次数据传输装载它的移位寄存器。 从器件必须在主器件开始下一次数据传输 之前至少一个SPI SPI串行时钟周期写数据寄 之前至少一个SPI串行时钟周期写数据寄 存器。 存器。 否则, 否则,已经位于从器件移位寄存器 中的数据字节将被发送。 中的数据字节将被发送。

单片机C8051F

SPI总线 第六章 SPI总线 注意: 注意: NSS信号必须在每次字节传输的第一 NSS信号必须在每次字节传输的第一 个SCK有效沿之前至少两个系统时钟被驱 SCK有效沿之前至少两个系统时钟被驱 动到低电平。 动到低电平

单片机C8051F

SPI总线 第六章 SPI总线 SPI0 数据寄存器对读操作而言是双 缓冲的,但写操作时不是。 缓冲的,但写操作时不是。如果在一次数 据传输期间试图写SPI0DAT SPI0DAT, 据传输期间试图写SPI0DAT,则WCOL 标志 SPI0CN.6)将被设置为逻辑1 (SPI0CN.6)将被设置为逻辑1,写操作 被忽略,而当前的数据传输不受影响。 被忽略,而当前的数据传输不受影响。 系统控制器读SPI0 数据寄存器时, 系统控制器读SPI0 数据寄存器时, 实际上是读接收缓冲器。 实际上是读接收缓冲器。