![串行外設(shè)接口SPI課件_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/4ff5519e-6328-405e-a7bc-fd2199ace0c5/4ff5519e-6328-405e-a7bc-fd2199ace0c51.gif)
![串行外設(shè)接口SPI課件_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/4ff5519e-6328-405e-a7bc-fd2199ace0c5/4ff5519e-6328-405e-a7bc-fd2199ace0c52.gif)
![串行外設(shè)接口SPI課件_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/4ff5519e-6328-405e-a7bc-fd2199ace0c5/4ff5519e-6328-405e-a7bc-fd2199ace0c53.gif)
![串行外設(shè)接口SPI課件_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/4ff5519e-6328-405e-a7bc-fd2199ace0c5/4ff5519e-6328-405e-a7bc-fd2199ace0c54.gif)
![串行外設(shè)接口SPI課件_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/19/4ff5519e-6328-405e-a7bc-fd2199ace0c5/4ff5519e-6328-405e-a7bc-fd2199ace0c55.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、X281x SPI模塊的概述SPI模塊的工作原理SPI模塊的寄存器SPI通信編程實(shí)例SPI模塊的通用知識(shí)15.1 SPI模塊的通用知識(shí)SPI是Serial Peripheral Interface的縮寫,翻譯成中文就是串行外圍設(shè)備接口。 SPI是一種高速的同步串行輸入輸出接口,允許116位的數(shù)據(jù)流在設(shè)備與設(shè)備之間進(jìn)行交換,通常用于DSP與外圍設(shè)備或者DSP與其他控制器之間進(jìn)行通信。 15.1 SPI模塊的通用知識(shí)SCI 串行通信接口:低速異步串行通信SPI 串行外設(shè)接口:高速同步串行通信同步通信時(shí),通信雙方的設(shè)備必須擁有相同的時(shí)鐘脈沖,以相同的步調(diào)進(jìn)行數(shù)據(jù)傳輸,就像國(guó)慶閱兵時(shí),隊(duì)伍中的官兵在統(tǒng)
2、一的口令下齊步前進(jìn),整齊劃一。 異步通信時(shí),通信雙方的設(shè)備可以擁有各自獨(dú)立的時(shí)鐘脈沖,可以獨(dú)自進(jìn)行數(shù)據(jù)傳輸,就像是兩個(gè)人在散步,可以各走各的。 SPISPI與與SCISCI的區(qū)別的區(qū)別15.1 SPI模塊的通用知識(shí)總線系統(tǒng)總線系統(tǒng)SPI的總線系統(tǒng)可以直接與各個(gè)廠家生產(chǎn)的多標(biāo)準(zhǔn)外圍器件直接接口,SPI接口一般使用四條線。當(dāng)然,并不是所有的SPI接口都是采用四線制的,有的SPI接口帶有中斷信號(hào)線INT,而有的SPI接口沒有主機(jī)輸出/從機(jī)輸入線MOSI。在X281x中SPI接口采用的是四線制。15.1 SPI模塊的通用知識(shí)SCI 接口的通信原理很簡(jiǎn)單,它以主從方式進(jìn)行工作。片選信號(hào)的存在,使得允許在
3、同一總線上連接多個(gè)SPI設(shè)備成為可能。主從的工作方式主從的工作方式15.1 SPI模塊的通用知識(shí)環(huán)形總線結(jié)構(gòu)環(huán)形總線結(jié)構(gòu)SPI是一個(gè)環(huán)形總線結(jié)構(gòu),其時(shí)序其實(shí)比較簡(jiǎn)單,主要是在時(shí)鐘脈沖SCK的控制下,兩個(gè)雙向移位寄存器SPIDAT進(jìn)行數(shù)據(jù)交換。 15.2 X281x SPI模塊的概述SPISPI模塊的特點(diǎn)模塊的特點(diǎn)15.2 X281x SPI模塊的概述1、具有4個(gè)外部引腳。X281x采用的是四線制的SPI接口。15.2 X281x SPI模塊的概述SPISPI模塊的特點(diǎn)模塊的特點(diǎn)2、有兩種工作模式可以選擇:主工作模式和從工作模式。3、波特率:具有125種可編程的波特率。能夠使用的最大波特率受到I
4、/O緩沖器最大緩存速度的限制,這些緩沖器是使用在SPI引腳上的I/O緩沖器,而最高的波特率不能超過LSPCLK/4。 15.2 X281x SPI模塊的概述SPISPI模塊的特點(diǎn)模塊的特點(diǎn)4、單次發(fā)送的數(shù)據(jù)字的長(zhǎng)度為1-16位,可以通過寄存器設(shè)定。 5、可選擇的四種脈沖時(shí)鐘配置方案。6、接收和發(fā)送可以同步操作,也就是說可以實(shí)現(xiàn)全雙工通信。 同時(shí),發(fā)送功能可以通過SPICTL控制寄存器的TALK位禁止或者使能。7、和SCI相同,發(fā)送和接收都能通過查詢或者中斷方式來(lái)實(shí)現(xiàn)。 15.2 X281x SPI模塊的概述SPISPI模塊的特點(diǎn)模塊的特點(diǎn)8、具有6個(gè)控制寄存器、3個(gè)數(shù)據(jù)寄存器和3個(gè)FIFO寄存
5、器。值得注意的是,SPI所有的控制寄存器都是8位的,而所有的數(shù)據(jù)寄存器和FIFO寄存器均為16位,當(dāng)寄存器被訪問時(shí),數(shù)據(jù)位于低8位,而高8位為0,因此把數(shù)據(jù)寫入SPI這6個(gè)控制寄存器的高8位是無(wú)效的。 9、X281x的SPI也具有2個(gè)16級(jí)的FIFO,一個(gè)用于發(fā)送數(shù)據(jù),一個(gè)用于接收數(shù)據(jù)。 15.2 X281x SPI模塊的概述SPISPI模塊的特點(diǎn)模塊的特點(diǎn)10、在標(biāo)準(zhǔn)的SPI模式(非FIFO模式)下,發(fā)送中斷和接收中斷都使用SPIINT/RXINT。在FIFO模式中,接收中斷使用SPIINT/RXINT,而發(fā)送中斷使用的是SPITXINT。15.2 X281x SPI模塊的概述SPISPI的
6、信號(hào)總結(jié)的信號(hào)總結(jié)15.3 SPI模塊的工作原理SPISPI主從工作方式主從工作方式15.3 SPI模塊的工作原理主機(jī)模式主機(jī)模式15.3 SPI模塊的工作原理1、問: 如何設(shè)置SPI成為主機(jī)? 答:通過設(shè)置SPI工作控制寄存器SPICTL的MASTER/SLAVE位為1來(lái)使得SPI工作于主機(jī)模式。編程的語(yǔ)句為: SpiaRegs.SPICTL.bit.MASTER_SLAVE=1 主機(jī)模式主機(jī)模式15.3 SPI模塊的工作原理2、問:整個(gè)SPI的通信網(wǎng)絡(luò)中的時(shí)鐘和波特率是由主機(jī)來(lái)提供的嗎? 答:是的。從字面上理解,主機(jī)就是在系統(tǒng)中占主導(dǎo)地位的設(shè)備,關(guān)乎到整個(gè)系統(tǒng)的運(yùn)行。主機(jī)通過SPICLK引
7、腳為整個(gè)通信網(wǎng)絡(luò)提供時(shí)鐘脈沖信號(hào)。由于每經(jīng)過一個(gè)時(shí)鐘脈沖,SPI就完成一位數(shù)據(jù)的發(fā)送,因此時(shí)鐘脈沖的頻率就是通常所說的波特率,其值由主機(jī)的SPIBBR寄存器來(lái)決定。通過對(duì)SPIBBR寄存器的編程,SPI能夠?qū)崿F(xiàn)125種不同的波特率,最大波特率為L(zhǎng)SPCLK/4。主機(jī)模式主機(jī)模式15.3 SPI模塊的工作原理3、問:主機(jī)的數(shù)據(jù)是如何發(fā)送和接收的呢? 答:主機(jī)通過SPISIMO引腳來(lái)發(fā)送數(shù)據(jù),而通過SPISOMI引腳輸入數(shù)據(jù)。當(dāng)數(shù)據(jù)寫到移位寄存器SPIDAT或者寫到串行發(fā)送緩沖器SPITXBUF的時(shí)候,就會(huì)啟動(dòng)SPISIMO引腳開始發(fā)送數(shù)據(jù),首先發(fā)送的是SPIDAT的最高位,接著將剩余的數(shù)據(jù)左移1
8、位,然后將接收到得數(shù)據(jù)通過SPISOMI引腳移入SPIDAT的最低有效位。 主機(jī)模式主機(jī)模式15.3 SPI模塊的工作原理4、問:在數(shù)據(jù)傳輸過程和傳輸完成兩種狀態(tài)時(shí),主機(jī)的SPISTE引腳有何變化? 答:從前面的學(xué)習(xí)已經(jīng)知道,引腳SPISTE是從機(jī)使能信號(hào),這是一個(gè)低電平有效的信號(hào),也就是說當(dāng)主機(jī)需要給從機(jī)發(fā)送數(shù)據(jù)的時(shí)候,引腳SPISTE就被置為低電平,當(dāng)主機(jī)發(fā)送完需要發(fā)送的數(shù)據(jù)后,引腳SPISTE重新被置為高電平。片選信號(hào)的存在使得系統(tǒng)能夠同時(shí)擁有多個(gè)從機(jī),但是在同一時(shí)刻,只能有一個(gè)從機(jī)起作用。從機(jī)模式從機(jī)模式15.3 SPI模塊的工作原理1、問:SPI從機(jī)的時(shí)鐘是由誰(shuí)決定的? 答:前面已經(jīng)
9、講到過,SPI系統(tǒng)通信的時(shí)鐘是由主機(jī)來(lái)決定的,也就說從機(jī)通過SPICLK引腳來(lái)接受主機(jī)提供的串行移位時(shí)鐘。從機(jī)SPICLK引腳的輸入頻率應(yīng)不大于LSPCLK/4。從機(jī)模式從機(jī)模式15.3 SPI模塊的工作原理2、問:從機(jī)的數(shù)據(jù)是如何接收和發(fā)送的呢? 答:這個(gè)和主機(jī)的數(shù)據(jù)傳輸機(jī)制其實(shí)是類似的,首先,從機(jī)數(shù)據(jù)是通過SPISOMI引腳來(lái)發(fā)送的,而通過SPISIMO引腳來(lái)接收的。當(dāng)從機(jī)接收到來(lái)自于主機(jī)脈沖信號(hào)的邊沿時(shí),就可以啟動(dòng)數(shù)據(jù)的發(fā)送和接收了。當(dāng)數(shù)據(jù)寫入SPIDAT或者SPITXBUF后,SPIDAT就開始將數(shù)據(jù)的最高位移出,同時(shí)左移剩下的數(shù)據(jù),然后將接收到的數(shù)據(jù)移入SPIDAT的最低位。 從機(jī)模
10、式從機(jī)模式15.3 SPI模塊的工作原理3、問:由于從機(jī)通常是接收功能用的比較多,那如何禁止SPI的發(fā)送功能? 答:可以通過設(shè)置SPICTL寄存器的TALK位來(lái)禁止SPI的發(fā)送功能,編程語(yǔ)句為: SpiaRegs.SPICTL.bit.TALK=0特別提醒:千萬(wàn)不要在通信期間更改特別提醒:千萬(wàn)不要在通信期間更改SPISPI的配置!的配置!SPISPI數(shù)據(jù)格式數(shù)據(jù)格式15.3 SPI模塊的工作原理 X281x的SPI通過對(duì)配置控制寄存器SPICCR的第3位至第0位的選擇,可以實(shí)現(xiàn)1-16位數(shù)據(jù)的傳輸。當(dāng)每次傳輸?shù)臄?shù)據(jù)少于16位時(shí),需要注意以下幾點(diǎn):1、當(dāng)數(shù)據(jù)寫入SPITXBUF和SPIDAT寄存
11、器時(shí),必須左對(duì)齊;2、當(dāng)數(shù)據(jù)從SPIRXBUF寄存器讀取時(shí),必須右對(duì)齊;3、SPIRXBUF寄存器中存放的是最新接收到的數(shù)據(jù),數(shù)據(jù)采用右對(duì)齊方式,再加上前面移位到左邊后留下的位。SPISPI數(shù)據(jù)格式數(shù)據(jù)格式15.3 SPI模塊的工作原理SPISPI波特率波特率15.3 SPI模塊的工作原理 SPI通過對(duì)寄存器SPIBRR的配置,可以實(shí)現(xiàn)125種不同的波特率,計(jì)算公式如下:當(dāng)SPIBRR=0,1,2時(shí):當(dāng)SPIBRR=3-127時(shí):LSPCLKSPIBaudRate4LSPCLKSPIBaudRateSPIBRR1SPISPI波特率波特率15.3 SPI模塊的工作原理SPISPI波特率波特率15
12、.3 SPI模塊的工作原理 SPI時(shí)鐘配置方案是指SPI在時(shí)鐘脈沖的什么時(shí)刻去發(fā)送或者接收數(shù)據(jù)。SPICCR寄存器的CLOCK POLARITY位和工作控制寄存器SPICTL的CLOCK PHASE位決定了SPI的時(shí)鐘特性, CLOCK POLARITY決定了時(shí)鐘的極性,而CLOCK PHASE決定了時(shí)鐘的相位。兩個(gè)參數(shù)不同取值的組合可以構(gòu)成4種不同的時(shí)鐘方案SPISPI時(shí)鐘配置時(shí)鐘配置15.3 SPI模塊的工作原理SPISPI的的FIFOFIFO隊(duì)列隊(duì)列15.3 SPI模塊的工作原理 X281x的SPI有16級(jí)深度的發(fā)送FIFO和接收FIFO。當(dāng)DSP復(fù)位時(shí),SPI工作在標(biāo)準(zhǔn)SPI模式下,F(xiàn)
13、IFO功能被禁止。通過將SPIFFTX寄存器中的SPIFFEN位置位來(lái)啟動(dòng)SPI的FIFO功能,其功能通過三個(gè)寄存器來(lái)設(shè)置,分別是:發(fā)送寄存器SPIFFTX、接收寄存器SPIFFRX、控制寄存器SPIFCT。 SPI具有1個(gè)16X16位的發(fā)送緩沖器和1個(gè)16X16的接收緩沖器,標(biāo)準(zhǔn)SPI模式下的發(fā)送緩沖器SPITXBUF將作為發(fā)送FIFO和移位寄存器SPIDAT之間的一個(gè)發(fā)送緩沖器。當(dāng)最后一位數(shù)據(jù)從移位寄存器SPIDAT移出后,SPITXBUF將重新從FIFO裝載數(shù)據(jù)SPISPI的中斷的中斷15.3 SPI模塊的工作原理 工作于標(biāo)準(zhǔn)SPI模式下,能夠產(chǎn)生接收溢出中斷RX_OVRN INT和發(fā)送
14、或接收操作的中斷SPIINT,這兩個(gè)中斷共用中斷線SPIRXINT。 工作于FIFO模式下,能夠產(chǎn)生接收中斷SPIRXINT和發(fā)送中斷SPITXINT。SPISPI的中斷的中斷15.3 SPI模塊的工作原理 SPI模塊具有6個(gè)控制寄存器、3個(gè)數(shù)據(jù)寄存器、3個(gè)FIFO寄存器。15.4 SPI模塊的寄存器SPICCRSPICCR配置控制寄存器配置控制寄存器15.4 SPI模塊的寄存器SPICTLSPICTL工作控制寄存器工作控制寄存器15.4 SPI模塊的寄存器SPISTSSPISTS狀態(tài)控制寄存器狀態(tài)控制寄存器15.4 SPI模塊的寄存器SPIBRRSPIBRR波特率寄存器波特率寄存器15.4
15、SPI模塊的寄存器SPIRXEMUSPIRXEMU仿真緩沖寄存器仿真緩沖寄存器15.4 SPI模塊的寄存器SPIRXBUFSPIRXBUF串行接收緩沖寄存器串行接收緩沖寄存器SPITXBUFSPITXBUF串行發(fā)送緩沖寄存器串行發(fā)送緩沖寄存器15.4 SPI模塊的寄存器SPIDATSPIDAT串行數(shù)據(jù)寄存器串行數(shù)據(jù)寄存器FIFOFIFO發(fā)送寄存器發(fā)送寄存器SPIFFTXSPIFFTX15.4 SPI模塊的寄存器FIFOFIFO接收寄存器接收寄存器SPIFFRXSPIFFRX15.4 SPI模塊的寄存器FIFOFIFO控制寄存器控制寄存器SPIFFCTSPIFFCT15.4 SPI模塊的寄存器S
16、PIPRISPIPRI優(yōu)先權(quán)控制器優(yōu)先權(quán)控制器15.4 SPI模塊的寄存器15.5 SPI通信編程實(shí)例SPISPI點(diǎn)亮點(diǎn)亮LEDLED數(shù)碼管數(shù)碼管 X281x的SPI接口和移位器74HC595之間進(jìn)行通信,然后點(diǎn)亮8位LRD數(shù)碼管,使得數(shù)碼管從0-F循環(huán)顯示。74HC595是一個(gè)8位串行輸入、并行輸出的移位寄存器。這里選用的數(shù)碼管為L(zhǎng)G3611BH共陽(yáng)極數(shù)碼管。15.5 SPI通信編程實(shí)例SPISPI點(diǎn)亮點(diǎn)亮LEDLED數(shù)碼管數(shù)碼管 程序的整體思路:1、初始化系統(tǒng),為系統(tǒng)分配時(shí)鐘,處理看門狗電路等;2、初始化GPIO,將SPI的引腳SPISIMO和SPISCLK設(shè)定為功能引腳,將SPISTE設(shè)為I/O,方便更改電平,實(shí)現(xiàn)片選;3、初始化SPI模塊,設(shè)定通信數(shù)據(jù)格式、波特率、時(shí)鐘方案等,并配置相關(guān)的寄存器;4、在主函數(shù)采用查詢的方式發(fā)送數(shù)據(jù),在發(fā)送數(shù)據(jù)前開通片選信號(hào),將74HC595選中,發(fā)送數(shù)據(jù)完成后再關(guān)閉片選信號(hào)。15.5 SPI通
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Cefotaxime-d3-Cefotaxim-d-sub-3-sub-生命科學(xué)試劑-MCE-1932
- 二零二五年度生物基因編輯技術(shù)研發(fā)合作保密協(xié)議
- 2025年度藥店全職員工聘用合同
- 2025年度銀企合作風(fēng)險(xiǎn)控制與業(yè)務(wù)拓展合同標(biāo)準(zhǔn)
- 2025年度二零二五年度門面房使用權(quán)拍賣合同
- 2025年度魚塘承包合同書:魚塘承包與漁業(yè)市場(chǎng)拓展合作合同
- 2025年度超市租賃合同排他性節(jié)假日營(yíng)銷活動(dòng)策劃協(xié)議
- 二零二五年度終止合伙合同-海洋資源開發(fā)合作終止協(xié)議
- 個(gè)人機(jī)械租賃合同范本
- 上海市電子產(chǎn)品購(gòu)銷合同
- 2024年臨沂市高三一模(學(xué)業(yè)水平等級(jí)考試模擬試題)物理試卷
- 高中物理選擇性必修2教材習(xí)題答案
- 我國(guó)糖尿病視網(wǎng)膜病變臨床診療指南2022解讀
- 鋰離子電池健康評(píng)估及剩余使用壽命預(yù)測(cè)方法研究
- c30混凝土路面施工方案
- 頸椎骨折的護(hù)理常規(guī)課件
- 2022-2023學(xué)年上海市楊浦區(qū)上海同濟(jì)大附屬存志學(xué)校七年級(jí)數(shù)學(xué)第二學(xué)期期中綜合測(cè)試模擬試題含解析
- 稿件修改說明(模板)
- GB/T 33107-2016工業(yè)用碳酸二甲酯
- GB/T 16604-2017滌綸工業(yè)長(zhǎng)絲
- 勞動(dòng)合同法經(jīng)典講義
評(píng)論
0/150
提交評(píng)論