上篇文章中講解了在XMC單片機(jī)中,如何使用USIC單元配置IIC接口,這篇文章講解如何配置使用另外一個(gè)很常用的通信協(xié)議SPI。
SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫,是一種高速的,全雙工,同步的通信總線,SPI簡(jiǎn)單易用,與IIC類似,也是采用主從方式工作,一般是由四根線組成,事實(shí)上3根也可以(半雙工模式)?;赟PI的設(shè)備共有的,四根線分別是MISO(主設(shè)備數(shù)據(jù)輸入)、MOSI(主設(shè)備數(shù)據(jù)輸出)、SCLK(時(shí)鐘)、CS(片選)。
(1)MISO– Master Input Slave Output,主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;
(2)MOSI– Master Output Slave Input,主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;
(3)SCLK – Serial Clock,時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生;
(4)CS – Chip Select,從設(shè)備使能信號(hào),由主設(shè)備控制。
在英飛凌XMC單片機(jī)中,SPI可以選擇四種工作方式,分別為標(biāo)準(zhǔn)SPI,三線半雙工SPI、Dual SPI、Quad SPI,標(biāo)準(zhǔn)spi就如上所示四根線全雙工傳輸;三線SPI中,只使用一根數(shù)據(jù)線進(jìn)行半雙工通信,速度相比標(biāo)準(zhǔn)spi有所減慢;Dual SPI為四根線,兩根數(shù)據(jù)線改為同方向,速度是三線的兩倍,而Quad SPI六根線,也是單向通信,傳輸速度是Dual的兩倍。
這次我們使用Dave4的app配置一個(gè)標(biāo)準(zhǔn)SPI
1. 先添加SPI_MASTER APP,雙擊打開后展現(xiàn)出以下畫面,Operation mode一欄可以選擇四種工作模式,我們選擇為標(biāo)準(zhǔn)的Full Duplex;
在Desired bus speed可以選擇SPI的時(shí)鐘頻率,此頻率和從機(jī)的時(shí)鐘頻率保持一致即可,其中SPI的最大時(shí)鐘頻率由芯片的系統(tǒng)時(shí)鐘決定。值得注意的是,時(shí)鐘頻率不等同于SPI的傳輸速率,傳輸速率受限于芯片處理SPI數(shù)據(jù)的能力,最大時(shí)鐘頻率只是有可能制約 其傳輸速率;
在Parity selection中可以選擇奇校驗(yàn)和偶校驗(yàn)。
2.在Advanced Setting中,首先我們可以選擇是否啟用中斷處理,這里我們選擇啟用;
Number of slave可以選擇從機(jī)數(shù)量,這里選擇1,當(dāng)增加數(shù)量時(shí),可以配置為CS的IO口也會(huì)隨之增加;
Invert the signal polarity of SELOx signals可以選擇CS引腳的輸出極性;
在Frame and word length中我們可以啟用MSLS信號(hào)來(lái)進(jìn)行幀結(jié)束控制;
在Control中可以選擇輸出和接收數(shù)據(jù)位時(shí)MSB在先還是LSB在先,還可以選擇時(shí)鐘的相位和極性;
在FIFO Setting中可以選擇是否使用FIFO,數(shù)據(jù)流只需使用 FIFO 數(shù)據(jù)緩存即可定義完整的數(shù)據(jù)幀,不必訪問(wèn)其它控制寄存器。
3.在后面的interrupt settings中可以配置中斷相關(guān),Pin Setting中配置引腳狀態(tài),就不多做介紹了。
4.在配置完app后,點(diǎn)擊Manual Pin Allocator即可配置引腳
5.此外點(diǎn)擊Manual Resource Assignment配置中斷,然后生成代碼即可。
-
通信協(xié)議
+關(guān)注
關(guān)注
28文章
845瀏覽量
40218 -
SPI
+關(guān)注
關(guān)注
17文章
1688瀏覽量
91229
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論