欢迎来到天天文库
浏览记录
ID:41073759
大小:258.87 KB
页数:13页
时间:2019-08-15
《SPI接口详细讲解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SPI串行外设接口(serialperipheralinterface)DanielSong2012.4.12一SPI接口简介SPI(SerialPeripheralInterface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。如图1MasterSlaveMOSISCLKMISO/SS(1)MOSI –主设备数据输出,从设备数据输入(2)MISO –主设备数据输入,从设备数据输出(3)SCLK–时钟信号,由主设备产生(4)/SS –从设备
2、使能信号,由主设备控制/SS(片选信号)是控制芯片是否被选中,也就是说只有片选信号为预先规定的使能信号时,对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。二SPI相关的寄存器(1)SCPR:控制寄存器:(SPI的大部分设置都在该寄存器)Bit3:CPOL(时钟极性);Bit2:CPHA(时钟相位)(2)SPSR:标志寄存器:(查看一些标志和设置SPI速度,主要是用到SPIF这个标志位,接收完成和发送完成都会置位这个标志,进入中断服务程序或访问SPDR寄存器都可以清零这个标志)。(3)S
3、PDR:数据寄存器:三SPI主从器件间数据传输框图四SPI串行外设接口举例SPI串行数据传输结构由MISO、MOSI、SCLK、/SS构成,主要是在SCLK的控制下,两个双向移位寄存器进行数据交换。CPOL(时钟极性)=0;上升沿发送、下降沿接收、高位先发送。上升沿到来的时候,MOSI上的电平将被发送到从设备的寄存器中。下降沿到来的时候,MISO上的电平将被接收到主设备的寄存器中。假设主机和从机初始化就绪:并且主机的sbuf=0xaa(10101010),从机的sbuf=0x55(01010101),下面将
4、分步对SPI的8个时钟周期的数据情况演示一遍(假设上升沿发送数据)。Sbuf(串行接收和发射缓冲器)脉冲主机sbuff从机sbuffMISOMOSI01010101001010101001↑0101010X1010101X011↓0101010010101011012↑1010100X0101011X102↓1010100101010110103↑0101001X1010110X013↓0101001010101101014↑1010010X0101101X104↓1010010101011010105↑0
5、100101X1011010X015↓0100101010110101016↑1001010X0110101X106↓1001010101101010107↑0010101X1101010X017↓0010101011010101018↑0101010X1010101X108↓010101011010101010五SPI时序图分析(1)CPOL=0,SCLK为低时总线空闲:CPHA=0数据在SCLK的上升沿(risingedge)被读取;数据在下降沿(fallingedge)写入;CPHA=1数据在SCLK
6、的下降沿(fallingedge)被读取;数据在上升沿(risingedge)写入;(2)CPOL=1,SCLK为高时总线空闲:CPHA=0数据在SCLK的下降沿(fallingedge)被读取;数据在上升沿(fallingedge)写入;CPHA=1数据在SCLK的上升沿(fallingedge)被读取;数据在下降沿(risingedge)写入;六SPI优缺点SPI接口具有如下优点:1)支持全双工操作;2)操作简单;3)数据传输速率较高。同时,它也具有如下缺点:1)需要占用主机较多的口线(每个从机都需要一
7、根片选线);2)只支持单个主机;3)没有指定的流控制,没有应答机制确认是否接收到数据;4)从器件不能主动传输,收发都有主控器件控制。END
此文档下载收益归作者所有