電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 143|回復(fù): 0
收起左側(cè)

單片機(jī)SPI還能實(shí)現(xiàn)單線半雙工模式?

[復(fù)制鏈接]

418

主題

418

帖子

4293

積分

四級會員

Rank: 4

積分
4293
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-10-4 20:04:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
關(guān)注+星標(biāo)公眾,不錯過精彩內(nèi)容
來源 | 瑞薩嵌入式小百科
SPI:Serial Peripheral Interface,串行外設(shè)接口。
SPI是嵌入式項(xiàng)目中常用的一種通信接口,正常情況下,SPI都是“雙線”全雙工模式。但有些情況由于產(chǎn)品設(shè)計(jì)的要求或者接線數(shù)目的限制, 外設(shè)會使用單線半雙工模式。
SPI半雙工原理
SPI單線半雙工,指少一根數(shù)據(jù)線,即只有SDI/SDO,SCLK,GND 三根線。這種方式在相同的連接線的基礎(chǔ)上,比UART更具備穩(wěn)定的通訊能力和更高速的數(shù)據(jù)傳輸量。
硬件連接方式:通常情況下MCU端只需要把MOSI和MISO管腳短接, 但需要考慮MOSI實(shí)際輸出能力和設(shè)備端的輸出電平狀態(tài)因素, 建議串接一個電阻避免由于雙方同時輸出不同的高低電平造成的短路現(xiàn)象。

單片機(jī)實(shí)現(xiàn)SPI半雙工
現(xiàn)在絕大部分單片機(jī)都集成了 SPI 外設(shè),而且?guī)缀醵贾С秩p工模式。但是,通過一定設(shè)置,還是可以支持半雙工模式。
本文以瑞薩 RA 系列單片機(jī)為例,給大家講述一下實(shí)現(xiàn)方法。
FSP配置:只需要按照實(shí)際通訊模式的要求做配置就可以。DTC功能和中斷回調(diào)函數(shù)等的配置也是按照FSP的手冊說明來做就可以。

由于SPI本身是采用全雙工運(yùn)行的, 就算調(diào)用函數(shù) (R_SPI_Read) 在MISO做接收數(shù)據(jù)時, MOSI也是會有同步輸出的。但在單線的情況下, 這樣就會干擾到Slave端的數(shù)據(jù)輸出, 甚至造成數(shù)據(jù)線上的短路情況。所以需要在接收數(shù)據(jù)前將MOSI的管腳配置改為GPIO 功能, 并且配置為輸入狀態(tài), 這樣MOSI管腳就不會在接收的過程中制造干擾。在接收完畢后將MOSI管腳的配置還原為外設(shè)功能的MOSI狀態(tài)。
發(fā)送數(shù)據(jù):直接調(diào)用函數(shù)R_SPI_Write()或者R_SPI_WriteRead().

切換到接收狀態(tài)并接收數(shù)據(jù):

還原MOSI狀態(tài):

通過以上的軟件配置流程,單線半雙工模式的SPI通訊就能夠正常運(yùn)行。
------------ END ------------


瑞薩RA8系列教程 | RA8輸出PWM實(shí)現(xiàn)方法


Cortex-M3與M85單片機(jī)的SysTick使用上有區(qū)別嗎?


嵌入式在邊緣AI的技術(shù)優(yōu)勢

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表