资源预览内容
第1页 / 共143页
第2页 / 共143页
第3页 / 共143页
第4页 / 共143页
第5页 / 共143页
第6页 / 共143页
第7页 / 共143页
第8页 / 共143页
第9页 / 共143页
第10页 / 共143页
亲,该文档总共143页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务二:SPI接口应用(25xx) 任务三:I2C串行总线原理 2 3 1任务一:SPI串行外设接口总线 任务四:I2C接口应用(24cxx)4 任务五:单总线数字温度传感器DS18B205 SPI(Serial Periperal Interface)是Motorola公 司推出的同步串行外设接口,允许单片机与多个厂家 生产的带有标准SPI接口的外围设备直接连接,以串 行方式交换信息。 图12-1为SPI外围串行扩展结构图。SPI使用条线: 串行时钟SCK,主器件输入/从器件输出数据线MISO, 主器件输出/从器件输入数据线MOSI和从器件选择线 。 任务一:SPI串行外设接口总线 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 图12-1 SPI外围串行扩展结构图 任务一:SPI串行外设接口总线 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 (1)SPI总线系统的组成 图12-1是SPI总线系统典型结构示意图。 单片机与外围扩展器件在时钟线SCK、数据线MISO和MOSI上都 是同名端相连。带SPI接口的外围器件都有片选端 。在扩 展多个SPI外围器件时(如图12-1所示),单片机应分别通过 I/O口线来分时选通外围器件。 任务一:SPI串行外设接口总线 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 SPI典型应用是单主系统,一台主器件,从器件通常是外围 接口器件,如存储器、I/O接口、A/D、D/A、键盘、日历/时 钟和显示驱动等。扩展多个外围器件时,SPI无法通过数据 线译码选择,故外围器件都有片选端。在扩展单个SPI器件 时,外围器件的片选端 可以接地或通过I/O口控制;在扩 展多个SPI器件时,单片机应分别通过I/O口线来分时选通外 围器件。 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 在SPI串行扩展系统中,如果某一从器件只作输入(如键盘 )或只作输出(如显示器)时,可省去一条数据输出(MISO )线或一条数据输入(MOSI)线,从而构成双线系统( 接地)。SPI系统中单片机对从器件的选通需控制其 端,由于省去传输时的地址字节,数据传送软件十分简单。 但在扩展器件较多时,需要控制较多的从器件 端,连线 较多。 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 (2)SPI总线数据传送格式 在SPI系统中,主器件单片机在启动一次传送时,便产生8 个时钟,传送给接口芯片作为同步时钟,控制数据的输入和输 出。传送格式是高位(MSB)在前,低位(LSB)在后,如图12 -2所示。输出数据的变化以及输入数据时的采样,都取决于 SCK。但对不同外围芯片,可能是SCK的上升沿起作用,也可能 是SCK的下降沿起作用。SPI有较高的数据传输速度,最高可达 1.05Mbit/s。 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 图12-2 SPI数据传送格式 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 Motorola提供了一系列具有SPI接口的单片机和外围接口 芯片,如存储器MC2814、显示驱动器MC14499和MC14489等各种 芯片。 MC14489 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 (3)STC15F2K60S2单片机的SPI接口 STC15F2K60S2单片机集成了串行外设接口,SPI接口既 可以和其他微处理器通信,也可以与具有SPI兼容接口的器 件(如存储器、A/D转换器、D/A转换器、LED或LCD驱动器等 )进行同步通信。 SPI接口由MISO(P1.4)、MOSI(P1.3)、SCLK(P1.5 )和/SS(P1.2)4根信号线构成,可通过设置P_SW1中的 SPI_S1、SPI_S0将MISO、MOSI、SCLK和/SS功能引脚切换到 P2.2、P2.3、P2.1、P2.4,或P4.1、P4.0、P4.3、P5.4。 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 (4)SPI接口的特殊功能寄存器 与SPI接口有关的特殊功能寄存器有: SPI控制寄存器SPCTL; SPI状态寄存器SPSTAT; SPI数据寄存器SPDAT。 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 SPI控制寄存器SPCTL 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 地址D7D6D5D4D3D2D1D0 复位 值 CEHSSIGSPENDORDMSTRCPOLCPHASPR1SPR0 00000 000 SSIG:/SS引脚忽略控制位。若(SSIG)=1,由MSTR确定器 件为主机还是从机,/SS引脚被忽略,可配置为I/O功能;若 (SSIG)=0,由/SS引脚的输入信号确定器件为主机还是从 机。 SPI控制寄存器SPCTL 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 地址D7D6D5D4D3D2D1D0 复位 值 CEHSSIGSPENDORDMSTRCPOLCPHASPR1SPR0 00000 000 SPEN:SPI使能位,。 若(SPEN)=1,SPI使能; 若(SPEN)=0,SPI被禁止,所有SPI信号引脚用做I/O功能 。 SPI控制寄存器SPCTL 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 地址D7D6D5D4D3D2D1D0 复位 值 CEHSSIGSPENDORDMSTRCPOLCPHASPR1SPR0 00000 000 DORD:SPI数据发送与接收顺序的控制位。 若(DORD)=1,SPI数据的传送顺序为由低到高; 若(D0RD)=0,SPI数据的传送顺序为由高到低。 SPI控制寄存器SPCTL 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 地址D7D6D5D4D3D2D1D0 复位 值 CEHSSIGSPENDORDMSTRCPOLCPHASPR1SPR0 00000 000 MSTR:SPI主/从模式位。 若(MSTR)=1,主机模式; 若(MSTR)=0,从机模式。 SPI接口的工作状态还与其他控制位有关,具体选择方法见 书P249页表12.1。 SPI控制寄存器SPCTL 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 地址D7D6D5D4D3D2D1D0 复位 值 CEHSSIGSPENDORDMSTRCPOLCPHASPR1SPR0 00000 000 CPOL:SPI时钟信号极性选择位。 若(CPOL)=1,SPI空闲时SCLK为高电平,SCLK的前跳变沿 为下降沿,后跳变沿为上升沿; 若(CPOL)=0,SPI空闲时SCLK为低电平,SCLK的前跳变沿 为上升沿,后跳变沿为下降沿。 SPI控制寄存器SPCTL 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 地址D7D6D5D4D3D2D1D0 复位 值 CEHSSIGSPENDORDMSTRCPOLCPHASPR1SPR0 00000 000 CPHA:SPI时钟信号相位选择位。 若(CPHA)=1,SPI数据由前跳变沿驱动到口线,后跳变沿 采样; 若(CPHA)=0,当/SS引脚为低电平(且SSIG为0)时数据 被驱动到口线,并且SCLK的后跳变沿被改变,SCLK的前跳变 沿被采样。注意:SSIG为1时操作未定义。 SPI控制寄存器SPCTL 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 地址D7D6D5D4D3D2D1D0 复位 值 CEHSSIGSPENDORDMSTRCPOLCPHASPR1SPR0 00000 000 SPR1、SPR0:主模式时SPI时钟速率选择为。 00:fsys/4 01:fsys/16 10:fsys/64 11:fsys/128 SPI状态寄存器SPSATA 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 地址D7D6D5D4D3D2D1D0 复位 值 CDHSPIFWCOL- 00 xxx xxx SPIF:SPI传输完成标志。当一次传输完成时,SPIF置位。 此时如果SPI中断允许,则向CPU申请中断。当SPI处于主模式 且(SSIG)=0时,如果/SS为输入且为低电平时,则SPIF也将 置位,表示“模式改变”(由主机模式变为从机模式)。 SPIF标志位通过软件向其写“1”而清零。 SPI状态寄存器SPSATA 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 地址D7D6D5D4D3D2D1D0 复位 值 CDHSPIFWCOL- 00 xxx xxx WCOL:SPI写冲突标志。 当一个数据还在传输,又向数据寄存器SPDAT写入数据时, WCOL被置位。WCOL标志通过软件向其写“1”而清零。 SPI数据寄存器SPDAT 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 地址D7D6D5D4D3D2D1D0 复位 值 CFH- 00 xxx xxx 用于保存通信数据字节。当主机程序向SPDAT写入一个字节 时,立即启动一个连续的8位移动通信过程:主机的SCLK引脚 向从机的SCLK引脚发出一串脉冲,在这串脉冲的驱动下,主 机SPI的8位移位寄存器中的数据移到了从机SPI的8位移位寄 存器中。与此同时,从机SPI的8位移位寄存器中的数据移到 主机SPI的8位移位寄存器中。 与SPI中断管理有关的控制位 SPI中断允许控制位ESPI:位于IE2寄存器的B1位。“1” 允许,“0”禁止。 SPI中断优先级控制位PSPI:PSPI位于IP2的B1位。利用 PSPI可以将SPI中断设置为2个优先等级。 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 (5)STC15F2K60S2单片机SPI接口的数据通信方式 有三种: 单主机单从机方式 双器件方式(器件可互为主机和从机) 单主机多从机方式 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 项目十二项目十二 串行总线扩展及应用设计串行总线扩展及应用设计 任务一:SPI串行外设接口总线 (5)STC15F2K60S2单片机SPI接口的数据通信方式 图12-2 SPI接口的单主机单从机方式 (5)STC15F2K60S2单片机SPI接口的数据通信方式 在图12-2中,从机的SSIG为0,/SS用于选择从机。SPI主 机可使用任何端口位(包括/SS)来控制从机的/SS脚。主机 SPI与从机SPI的8位移位寄存器连接成一个循环的16位移位 寄存器。当主机程序向SPDAT写入一个字节时,立即启动一 个连续的8位移动通信过程:主机的SCLK引脚向从机的SCLK 引脚发出一串脉冲,在这串脉冲的驱动下,主机SPI的8位移 位寄存器中的数据移到了从机SPI的8位移位寄存器中。与此 同时,从机SPI的8位移位寄存器中的数据移到主机SPI的8位 移位寄存器中。因此主机既
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号