1、力天手把手教你學dsplt-dsp2812視頻教程24講09參考串行外設spi_第1頁
1、力天手把手教你學dsplt-dsp2812視頻教程24講09參考串行外設spi_第2頁
1、力天手把手教你學dsplt-dsp2812視頻教程24講09參考串行外設spi_第3頁
1、力天手把手教你學dsplt-dsp2812視頻教程24講09參考串行外設spi_第4頁
1、力天手把手教你學dsplt-dsp2812視頻教程24講09參考串行外設spi_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第10章串行外設接口SPISPI:高速同步串行輸入/輸出端口,傳送速率可編程,應用:外部移位寄存器、D/A、A/D、串行EEPROM、LED顯示驅動器等外部設備進行擴展。10.1串行外設接口的結構(1)4個外部引腳,以下引腳都可用作數(shù)字I/O引腳。SPISIMOSPI從輸入、主輸出SPISOMISPI主輸入、從輸出SPICLKSPI時鐘SPISTE*SPI從發(fā)送使能(2)主從操作模式。(3)發(fā)送、接收雙緩沖。SPI模塊中有9個寄存器用于控制該模塊的操作:(1)SPICCR:SPI配置控制寄存器。(2)SPICTL:SPI操作控制寄存器。(3)SPISTS:SPI狀態(tài)寄存器。(4)SPIBRR:

2、SPI波特率寄存器。(5)SPIRXEMU:SPI仿真緩沖寄存器。(6)SPIRXBUF:SPI串行輸入緩沖寄存器。(7)SPITXBUF:SPI串行發(fā)送緩沖寄存器。(8)SAT:SPI串行數(shù)據(jù)寄存器。(9)SPIPRI:SPI優(yōu)先級控制。10.2SPI操作下圖是SPI用于兩個控制器(一個主控制器和一個從控制器)通信的典型連接方式。SPI主控制器SPI從控制器主出/從入SPI選通主入/從出串行時鐘SPI主/從控制器連接SPISIMO SPISTE* SPISOMISPICLKSPISIMOSPISTE*SPISOMI SPICLKSPI可工作于主模式或從模式。SPICTL.2位-MASTER/

3、SLAVE用來選擇操作模式和SPICLK的源。(1)主模式將Master的數(shù)據(jù)傳送給Slave,數(shù)據(jù)傳送完畢,申請中斷。時鐘(2)從模式將 Slave的數(shù)據(jù)傳送給 Master,數(shù)據(jù)傳送完畢,申請中斷。時鐘SPIMISO SPISTE SPICLKSPIMISOSPISTE SPICLKSPIMOSISPICLKSPIMOSISPICLK由圖知,SPI有兩種工作模式:主模式和從模式,操作模式由SPICTL.2(MASTER/SLAVE位)決定。數(shù)據(jù)的發(fā)送方式有三種:(1)主控制器發(fā)送數(shù)據(jù),從控制器發(fā)送偽數(shù)據(jù);(2)主控制器發(fā)送數(shù)據(jù),從控制器發(fā)送數(shù)據(jù);(3)主控制器發(fā)送偽數(shù)據(jù),從控制器發(fā)送數(shù)據(jù)。

4、主控制器控制SPICLK信號,通過發(fā)出SPICLK信號啟動數(shù)據(jù)發(fā)送,從控制器則通過檢測SPICLK信號接收數(shù)據(jù)。一個主控制器可以連接多個從控制器,但是一次只允許一個從控制器給主控制器發(fā)送數(shù)據(jù)10.3串行外設接口中斷有五個控制位用于初始化串行外設接口的中斷:SPI中斷使能位:SPISPI中斷標志位:SPIENA(SPICTL.0);FLAG(SPISTS.6);SPI超限中斷使能位:OVERRUNENA(SPICTL.4);SPI超限中斷標志位:RECEIVEROVERRUNFLAG(SPISTS.7)SPI中斷優(yōu)先級選擇位:SPIPRIORITY(SPIPRI.6)。10.4數(shù)據(jù)格式SPI通信

5、時,要發(fā)送的數(shù)據(jù)從SAT寄存器的MSB依次移出,接收的數(shù)據(jù)則從SAT的LSB依次移入。SPI數(shù)據(jù)字符位數(shù)(1-16位)由SPICCR.3-0指定。當寫入S的。數(shù)據(jù)從SPIRXBUF讀回時是右對齊的。AT或SPITXBUF時,數(shù)據(jù)必須是左對齊LSB移位寄存器SATMSB10.5SPI波特率和時鐘模式SPI模塊支持125種不同的波特率和4種不同的時鐘模式。SPI最大波特率為CLKOUT頻率的四分之一。10.5.1SPI波特率的確定SPI波特率取決于CLKOUT和SPIBRR的值。(1)對于SPIBRR=3-127 SPI波特率=CLKOUT/(SPIBRR+1)(2)對于SPIBRR=0-2SPI

6、波特率=CLKOUT/4SPI最大波特率=CLKOUT/4=10MHz10.5.2SPI時鐘模式SPI有四種時鐘模式,由CLOCKPHASE位控制。POLARITY和CLOCKCLOCKPOLARITY位:選擇時鐘的有效沿是上升沿還是下降沿;CLOCKPHASE位:選擇是否有半個時鐘周期的延時。(1)下降沿,時:SPI在時鐘下降沿發(fā)送數(shù)據(jù),在時鐘的上升沿接收數(shù)據(jù);(2)下降沿,有延時:SPI在時鐘下降沿前半個周期發(fā)送數(shù)據(jù),在時鐘的下降沿接收數(shù)據(jù);(3)上升沿,時:SPI在時鐘上升沿發(fā)送數(shù)據(jù),在下降沿接收數(shù)據(jù);(4)上升沿,有延時:SPI在時鐘上升沿前半個周期發(fā)送數(shù)據(jù),在上升沿接收數(shù)據(jù)。4種時鐘

7、模式。SPICLK周期數(shù)SPICLK時的上升沿)(SPICLK(時的下降沿)SPICLK(有延時的下降沿)SPISIMO/SPISOMISPISTE 進入從方式接收鎖存點SPICLK(有延時的上升沿)10.6SPI的復位和初始化系統(tǒng)復位使SPI引腳功能被選定為通用輸入,要對SPI的配置,需做以下工作:(1)設置SPISPI復位;SWRESET位(SPICCR.7)的值為0,強制(2)初始化SPI的配置、格式、波特率和引腳功能為期望值;(3)設置SPISWRESET位為1,從復位狀態(tài)SPI;(4)向SAT或SPITXBUF寫數(shù)據(jù);(5)數(shù)據(jù)發(fā)送完成后(SPISTS.6=1),確定接收的數(shù)據(jù)。SPIRXBUF以SPI應用實例(控制串行D/A)DAC714是BB公司生產的16位具有串行接口的數(shù)模轉換器,電壓輸出型,輸出范圍是-10V+10V。串行時鐘數(shù)據(jù)輸入使能引腳串行數(shù)據(jù)輸入引腳數(shù)據(jù)更新使能引腳DAC714控制時序2407DAC714串行數(shù)據(jù)SPI選通UP/DA串行時鐘

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論