資源描述:
《串行外設(shè)接口SPI課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第8章串行外設(shè)接口SPI主要內(nèi)容8.1SPI的基本工作原理8.2AW60SPI模塊編程結(jié)構(gòu)8.3AW60的SPI構(gòu)件設(shè)計8.4利用SPI擴展外接Flash芯片8.1SPI的基本工作原理8.1.1SPI基本概念串行外設(shè)接口(SPI,SerialPeripheralInterface)是Freescale公司推出的一種同步串行通訊接口,用于微處理器和外圍擴展芯片之間的串行連接,現(xiàn)已發(fā)展成為一種工業(yè)標準,各半導體公司推出了大量帶有SPI接口的芯片,如RAM、EEPROM、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、LED/LCD顯示驅(qū)動器、I/O接口
2、芯片、實時時鐘、UART收發(fā)器等,為用戶的外圍擴展提供了靈活而廉價的選擇。我們先來了解幾個概念:主機-從機(Master-Slave):提供SPI串行時鐘的SPI設(shè)備稱為SPI主機或主設(shè)備(Master),其它設(shè)備則稱為SPI從機或從設(shè)備(Slave)從機選擇引腳(SlaveSelect):若一個MCU的SPI工作于主機方式,則置該MCU的為高電平。若一個MCU的SPI工作于從機方式,當=0時表示主機選中了該從機,反之則未選中該從機主出從入引腳MOSI(MasterOut/SlaveIn):主出從入引腳MOSI是主機輸出、從機輸
3、入數(shù)據(jù)線。主入從出引腳MISO(MasterIn/SlaveOut):主入從出引腳MISO是主機輸入、從機輸出數(shù)據(jù)線。SPI串行時鐘引腳SPSCK(SPISerialClock):SPI串行時鐘引腳SPSCK用于控制主機與從機之間的數(shù)據(jù)傳輸。時鐘極性:表示時鐘信號在空閑時是高電平還是低電平。時鐘相位:決定數(shù)據(jù)是在SPSCK的上升沿采樣還是在SPSCK的下降沿采樣8.1.2SPI的數(shù)據(jù)傳輸每一工作過程相互傳送8位數(shù)據(jù),工作從主機CPU發(fā)出啟動傳輸信號開始,此時要傳送的數(shù)據(jù)裝入8位移位寄存器,同時產(chǎn)生8個時鐘信號從SPSCK引腳依次
4、送出,在SPSCK信號的控制下,主機中8位移位寄存器中的數(shù)據(jù)依次從MOSI引腳送出,到從機的MOSI引腳后送入它的8位移位寄存器;在此過程中,從機的數(shù)據(jù)也可通過MISO引腳傳送到主機中SPI全雙工主-從連接8.1.3SPI模塊的時序SPI的數(shù)據(jù)傳輸是在時鐘信號SPSCK(同步信號)的控制下完成的。數(shù)據(jù)傳輸過程涉及到時鐘相位與時鐘極性兩個概念。CPHA表達時鐘相位,CPOL表達時鐘極性??傮w要求是:確保發(fā)送數(shù)據(jù)在一周期開始的時刻上線,接收方在1/2周期的時刻從線上取數(shù),這樣是最穩(wěn)定的通信方式。當CPHA=0,CPOL=0時,MIS
5、O引腳上的數(shù)據(jù)在第一個SPSCK沿跳變之前已經(jīng)上線了,而為了保證正確傳輸,MOSI引腳的MSB位必須與SPSCK的第一個邊沿同步,在SPI傳輸過程中,首先將數(shù)據(jù)上線,然后在同步時鐘信號的上升沿時,SPI的接收方捕捉位信號,在時鐘信號的一個周期結(jié)束時(下降沿),下一位數(shù)據(jù)信號上線,再重復(fù)上述過程,直到一個字節(jié)的8位信號傳輸結(jié)束CPHA=0,CPOL=0時的數(shù)據(jù)/時鐘時序圖CPHA=0,CPOL=1時的數(shù)據(jù)/時鐘時序圖CPHA=1,CPOL=0時的數(shù)據(jù)/時鐘時序圖CPHA=1,CPOL=1時的數(shù)據(jù)/時鐘時序圖8.1.4模擬SPI對于
6、不帶SPI串行總線接口的MCU來說,可以使用軟件來模擬SPI的操作。舉例說明,我們可以使用三個普通I/O口,分別定義為pin_SPSCK、pin_MISO、pin_MOSI來模擬SPI器件的SPSCK、MISO、MOSI8.2AW60SPI模塊編程結(jié)構(gòu)8.2.1AW60的SPI模塊概述SPI的主要特點如下:主或輔模式運行全雙工或單線雙向選項可編程發(fā)送波特率雙緩沖發(fā)送和接收串行時鐘相位和極性選項輔選擇輸出可選擇的MSB在先或LSB在先轉(zhuǎn)換8.2.2SPI模塊寄存器SPI寄存器簡介SPI控制寄存器1(SPI1C1)SPI1C1的定義
7、為:D7—SPIE為SPI中斷使能(用于SPRF和MODF)D6—SPE為禁止SPI將暫停正在進行的任何傳輸、清除數(shù)據(jù)緩沖區(qū)、初始化內(nèi)部狀態(tài)設(shè)備D5—SPTIE為SPI發(fā)送中斷使能,這是SPI發(fā)送緩沖器(SPTEF)的中斷使能位。SPTIE=0,禁止從SPTEF中中斷;SPTIE=1,請求硬件中斷D4—MSTR為主/從模式選擇。MSTR=0,SPI模塊配置為從SPI器件;MSTR=1,SPI模塊配置為主SPI器件D3—CPOL為時鐘極性位。這個位有效地對從主SPI到從SPI器件的時鐘信號串聯(lián)放置一個反相器。CPOL=0,高有效S
8、PI時鐘(低無效);CPOL=1,低有效SPI時鐘(高無效)D2—CPHA為時鐘相位位。該位選擇兩種時鐘格式的一種用于不同類型的同步串行外圍器件。CPHA=0,SPSCK上的第一個邊沿出現(xiàn)在8周期數(shù)據(jù)傳輸?shù)牡谝粋€周期的中央;CPHA=1,SPSCK上的第一個邊沿