SPI(Serial Peripheral Interface--串行外設(shè)接口)總線系統(tǒng)是一種同步串行外�(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式�(jìn)行通信以交換信息。SPI有三�(gè)寄存器分別為:控制寄存器SPCR,狀�(tài)寄存器SPSR,數(shù)�(jù)寄存器SPDR。外圍設(shè)備包括FLASHRAM、網(wǎng)�(luò)控制�、LCD顯示�(qū)�(dòng)器、A/D�(zhuǎn)換器和MCU�。SPI總線系統(tǒng)可直接與各�(gè)廠家生產(chǎn)的多種標(biāo)�(zhǔn)外圍器件直接接口,該接口一般使�4條線:串行時(shí)鐘線(SCLK�、主�(jī)輸入/從機(jī)輸出�(shù)�(jù)線MISO、主�(jī)輸出/從機(jī)輸入�(shù)�(jù)線MOSI和低電平有效的從�(jī)選擇線NSS(有的SPI接口芯片帶有中斷信號(hào)線INT、有的SPI接口芯片沒有主機(jī)輸出/從機(jī)輸入�(shù)�(jù)線MOSI)�
SPI接口的全稱是"Serial Peripheral Interface",意為串行外圍接�,是Motorola首先在其MC68HCXX系列處理器上定義�。SPI接口主要�(yīng)用在EEPROM、FLASH、實(shí)�(shí)�(shí)�、AD�(zhuǎn)換器,還有數(shù)字信�(hào)處理器和�(shù)字信�(hào)解碼器之��
SPI接口是在CPU和外圍低速器件之間�(jìn)行同步串行數(shù)�(jù)傳輸,在主器件的移位脈沖�,數(shù)�(jù)按位傳輸,低位在�,高位在�,為全雙工通信,數(shù)�(jù)傳輸速度總體來說比I2C總線要快,速度可達(dá)到幾Mbps�
信號(hào)線少,協(xié)議簡(jiǎn)�,相�(duì)�(shù)�(jù)速率��
?�?)MOSI � 主器件數(shù)�(jù)輸出,從器件�(shù)�(jù)輸入
?�?)MISO � 主器件數(shù)�(jù)輸入,從器件�(shù)�(jù)輸出
�3)SCLK –時(shí)鐘信�(hào),由主器件產(chǎn)�,為fPCLK/2,從模式頻率為fCPU/2
?�?)NSS � 從器件使能信�(hào),由主器件控�,有的IC�(huì)�(biāo)注為CS(Chip select)
在點(diǎn)�(duì)�(diǎn)的通信�,SPI接口不需要�(jìn)行尋址操作,且為全雙工通信,顯得簡(jiǎn)單高�。在多�(gè)從器件的系統(tǒng)中,每�(gè)從器件需要獨(dú)立的使能信號(hào),硬件上比I2C系統(tǒng)要稍微復(fù)雜一些�
SPI接口在內(nèi)部硬件實(shí)際上是兩�(gè)�(jiǎn)單的移位寄存�,傳�?shù)�?shù)�(jù)�8�,在主器件產(chǎn)生的從器件使能信�(hào)和移位脈沖下,按位傳輸,高位在前,低位在后。如下圖所�,在SCLK的上升沿上數(shù)�(jù)改變,同�(shí)一位數(shù)�(jù)被存入移位寄存器�
,SPI接口的一�(gè)缺點(diǎn):沒有指定的流控�,沒有應(yīng)答機(jī)制確�(rèn)是否接收到數(shù)�(jù)�