8.12外部串行扩展原理 80C51的外部串行总线主要包括:SPI( Serial peripheral Interface)总线和IC总线两种。 1.SP三线总线结构 SPI三线总线结构是一个同步外围接口,允许MCU与各种 外围设备以串行方式进行通信。一个完整的SPI系统有如下的特 性: 全双工、三线同步传送; 主、从机工作方式; 可程控的主机位传送频率、时钟极性和相位; 发送完成中断标志; 写冲突保护标志。 在大多数场合,使用一个MCU作为主机,控制数据向一个或多个 从机(外围器件)的传送
80C51的外部串行总线主要包括:SPI(Serial PeriPheral Interface)总线和I 2C总线两种。 ⒈ SPI三线总线结构 SPI三线总线结构是一个同步外围接口,允许MCU与各种 外围设备以串行方式进行通信。一个完整的SPI系统有如下的特 性: .全双工、三线同步传送; .主、从机工作方式; .可程控的主机位传送频率、时钟极性和相位; .发送完成中断标志; .写冲突保护标志。 在大多数场合,使用一个MCU作为主机,控制数据向一个或多个 从机(外围器件)的传送。 8.1.2
般SPI系统使用四个IO引脚: ①串行数据线(MISO、MOSI 主机输入/从机输出数据线(MISO)和主机输出/从 机输入数据线(MOSI),用于串行数据的发送和接收。数据 发送时.先传送MSB(高位),后传送LSB(低位)。 在SP设置为主机方式时,MSO线是主机数据输入线, MOSI是主机数据输出线;在SPI设置为从机方式时,MISO线 是从机数据输出线,MOSI是从机数据输入线
一般SPI系统使用四个I/O引脚: ①串行数据线(MISO、MOSI) 主机输入/从机输出数据线(MISO)和主机输出/从 机输入数据线(MOSI),用于串行数据的发送和接收。数据 发送时.先传送MSB(高位),后传送LSB(低位)。 在SPI设置为主机方式时,MISO线是主机数据输入线, MOSI是主机数据输出线;在SPI设置为从机方式时,MISO线 是从机数据输出线,MOSI是从机数据输入线
②串行时钟线(SCLK) 串行时钟线(SCLK)用于同步从MISO和MOSI引脚输入 和输出数据的传送。在SP设置为主机方式时SCLK为输出;在 SPI设置为从机方式时,SCIK为输入。 在SP设置为主机方式时,主机启动一次传送时,自动在 SCLK脚产生8个时钟周期。主机和从机SP器件中.在SCLK信 号的一个跳变时进行数据移位,数据稳定后的另一个跳变时进行 采样。 对于一个完整的SPI系统,串行数据和串行时钟之间有四 种极性和相位关系,如图8-5所示,以适应不同的外围器件特 性。主机和从机器件之间的传送定时关系必须相同。 ③从机选择(ss 在从机方式时,脚是输入端,用于使能SP从机进行数据 传送;在主机方式时,SS一般由外部置为高电平。 通过SPI可以扩展各种I/O功能,包括:A/D、D/A、实 时时钟、RAM、 EEPROM及并行输入/输出接口等
②串行时钟线(SCLK) 串行时钟线(SCLK)用于同步从MISO和MOSI引脚输入 和输出数据的传送。在SPI设置为主机方式时SCLK为输出;在 SPI设置为从机方式时,SCLK为输入。 在SPI设置为主机方式时,主机启动一次传送时,自动在 SCLK脚产生8个时钟周期。主机和从机SPI器件中.在SCLK信 号的一个跳变时进行数据移位,数据稳定后的另一个跳变时进行 采样。 对于一个完整的SPI系统,串行数据和串行时钟之间有四 种极性和相位关系,如图8-5所示,以适应不同的外围器件特 性。主机和从机器件之间的传送定时关系必须相同。 ③从机选择( ) 在从机方式时,脚是输入端,用于使能SPI从机进行数据 传送;在主机方式时, 一般由外部置为高电平。 通过SPI可以扩展各种I/O功能,包括:A/D、D/A、实 时时钟、RAM、EEPROM及并行输入/输出接口等。 SS SS
在把中与一片或几片串行扩展芯片相连时,只需把SPI的SCLK MOSI及MISO三根线同名端相连即可。对于有些IO扩展芯片 ,它们有CS端。这时,这些片选输入端一般有同步串行通信的功 能。无效时,为复位芯片的串行接口;有效时,初始化串行传送 。有些芯片的CS端,将其上从低到高的跳变当做把移位数据打 入并行寄存器或操作启动的脉冲信号。因此,对于这些芯片,应 该用一根IO口线来控制它们的CS片选端。 若80C51的串行通信口已经被占用,则可以用通用IO口来 模拟SPI串行接口,用软件来模拟仿真SPI操作 2.卫C( Intel IC BUS公用双总线结构 使用两根信号线(SDA和SCL)串行的方法进行信息传送 ,并允许若干兼容器件共享的双线总线,称为12C总线。12C总线 系统的示意图见图8-6。 SDA:称为串行数据线,用于传输双向的数据 SCL:称为串行时钟线,用于传输时钟信号,在传输时用 来同步串行数据线上的数据
在把SPI与一片或几片串行扩展芯片相连时,只需把SPI的SCLK 、MOSI及MISO三根线同名端相连即可。对于有些I/O扩展芯片 ,它们有 端。这时,这些片选输入端一般有同步串行通信的功 能。无效时,为复位芯片的串行接口;有效时,初始化串行传送 。有些芯片的 端,将其上从低到高的跳变当做把移位数据打 入并行寄存器或操作启动的脉冲信号。因此,对于这些芯片,应 该用一根I/O口线来控制它们的 片选端。 若80C51的串行通信口已经被占用,则可以用通用I/O口来 模拟SPI串行接口,用软件来模拟仿真SPI操作 使用两根信号线(SDA和SCL)串行的方法进行信息传送 ,并允许若干兼容器件共享的双线总线,称为1 2C总线。1 2C总线 系统的示意图见图8-6。 ·SDA:称为串行数据线,用于传输双向的数据。 ·SCL:称为串行时钟线,用于传输时钟信号,在传输时用 来同步串行数据线上的数据。 CS CS CS
I2C总线上的器件SDA和SCL引脚都是开漏结构,都需通 过电阻与电源连接。在ⅣC总线系统中的所有器件的SDA引脚、 SCL引脚也都同名端连接在一起。 挂接在IC总线上的器件(或IC),根据其功能可分为两 种:主控器件和从控器件。 主控器件:控制总线存取,产生串行时钟(SCL)信号, 并产生启动传送及结束传送的器件,总线必须由一个主控器件控 制。主控器件一般称主器件。 从控器件:在总线上被主控器件寻址的器件,它们根据主 控器件的命令来接收和发送数据。从控器件一般称从器件。 在由若干器件所组成的C总线系统中,可能存在多个主 器件。因此,C总线系统是一允许多主的系统。对于系统中的 某一器件来说,有四种可能的工作方式:主发送方式、主接收 式、从发送方式和从接收方式
I 2C总线上的器件SDA和SCL引脚都是开漏结构,都需通 过电阻与电源连接。在I 2C 总线系统中的所有器件的SDA引脚、 SCL引脚也都同名端连接在一起。 挂接在I 2C 总线上的器件(或IC),根据其功能可分为两 种:主控器件和从控器件。 主控器件:控制总线存取,产生串行时钟(SCL)信号, 并产生启动传送及结束传送的器件,总线必须由一个主控器件控 制。主控器件一般称主器件。 从控器件:在总线上被主控器件寻址的器件,它们根据主 控器件的命令来接收和发送数据。从控器件一般称从器件。 在由若干器件所组成的I 2C 总线系统中,可能存在多个主 器件。因此,I 2C 总线系统是一允许多主的系统。对于系统中的 某一器件来说,有四种可能的工作方式:主发送方式、主接收 式、从发送方式和从接收方式