1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第十五章,串行,SPI,接口应用,串行外设接口,SPI,串行同步方式的,3,线或,4,线通信接口,主要用于单片机与外围器件之间的板级通信,典型,SPI,系统,主机输出,/,从机输入,(MOSI),主机输入,/,从机输出,(MISO),同步时钟,(SCLK),从机选择,(SS),MOSI,MOSI,MISO,MISO,SCLK,SCLK,SS,SS,串行外设接口,SPI,SPI,通信特点,主机控制具有完全主导地位,全双工高速通信方式,MOSI,MOSI,MISO,MISO,SCLK,SCLK,SS,SS,串行
2、外设接口,SPI,SPI,通信的工作模式和时序,可工作于,4,种模式,取决于同步时钟的极性和相位,同步时钟极性(,CPOL,):,CPOL=0,:,SPI,传输空闲时,,SCLK,保持为,0,CPOL=1,:,SPI,传输空闲时,,SCLK,保持为,1,同步时钟相位(,CPHA,):,CPHA=0,:,SCLK,前沿采样锁存,后沿串行移出数据,CPOL=1,:,SCLK,后沿采样锁存,前沿串行移出数据,参见书上,pp.434,,表,15-1,和图,15-3,串行外设接口,SPI,多机,SPI,通信,SPI,总线上可以挂接多个,SPI,设备,采用主,-,从模式通信。任一时刻只能有一个主机,且只能
3、与一个从机通信。,MOSI,MOSI,MISO,MISO,SCLK,SCLK,PA0,SS,MOSI,MISO,SCLK,SS,PA1,AVR,的,SPI,接口原理与使用,SPI,接口的结构和功能,数据寄存器:,8,位移位寄存器;配备一个读缓冲寄存器,SPDR,读取收到字节的操作应在下一个字节传输完成前进行,否则会被覆盖;写字节操作应在前一个字节传输完成后进行,否则会出现写碰撞。,Master,Slave,(pp.437,Fig.15-6),SCLK,SS,AVR,的,SPI,接口原理与使用,SPI,接口的结构和功能,时钟逻辑:,作为,SPI,主机时:时钟信号由内部分频器对系统时钟分频获得,最
4、高为,fosc/2,。,作为,SPI,从机时:时钟由,SCK,引脚引入,最高为,fosc/4,。,AVR,的,SPI,接口原理与使用,SPI,接口的结构和功能,引脚逻辑:,4,个引脚,由用户定义方向,由主机程序控制,SPI,接口相关的寄存器,SPI,控制寄存器,SPCR,SPIE,SPE,DORD,MSTR,CPOL,CPHA,SPR1,SPR0,SPIE,:,SPI,中断允许;,SPE,:,SPI,通信允许;,DORD,:数据移出顺序。,1,为,LSB,方式,,0,为,MSB,方式;,MSTR,:主,/,从机选择。,1,主机,,0,从机;,CPOL,:,SCK,时钟极性选择。,1,高电平,,
5、0,低电平;,CPHA,:,SCK,时钟相位选择。参见表,15-1,和图,15-3,;,SPR1:0,:,SPI,时钟速率选择。详见表,15-3,。,SPI,接口相关的寄存器,SPI,状态寄存器,SPSR,SPIF,WCOL,-,-,-,-,-,SPI2X,SPIF,:,SPI,中断标志。串行传送完成时置,1,。清零方式,pp.440,;,WCOL,:写冲突标志;数据传送时写,SPDR,则会置,1,;,SPI2X,:倍速,SPI,选择。主机,SPI,模式下,该位置,1,会加倍,SCK,。,SPI,接口相关的寄存器,SPI,数据寄存器,SPDR,MSB,LSB,SPI,接口的设计应用要点,初始化
6、正确选择,SPI,的主,/,从机模式。一般单片机设为主机,外设为从机,正确设置通信参数。主机最高,fosc/2,,从机最高,fosc/4,正确设置数据传出的顺序。,MSB,先发送还是,LSB,先发送,SS,引脚的处理,主机模式下该引脚应尽量设为输出模式,SPI,主机模式下,该引脚不会自动产生任何信号,需通过程序设定,SPI,接口应用实例,1,采用,74HC595,结合,SPI,接口控制多位,7,段,LED,数码管显示,电路图及仿真结果:见,Proteus,和实验电路板原理图,程序分析:见程序,SPI,接口应用实例,2,采用外接,A/D,转换器的万用表,采用具有,SPI,接口的,TLC549,,一款,8,位逐次逼近型,A/D,转换器测量外部模拟电压信号的幅值。,模拟量输入,MISO,SS,SCLK,SPI,接口应用实例,2,采用外接,A/D,转换器的万用表,电路图及仿真结果:见,Proteus,程序分析:见程序,