新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > SPI接口基礎(chǔ)上的各種串行通信工作方式配置及驅(qū)動編程

SPI接口基礎(chǔ)上的各種串行通信工作方式配置及驅(qū)動編程

作者: 時間:2012-10-10 來源:網(wǎng)絡(luò) 收藏

  圖4中2號機(jī)SPI通信和UART通信皆為Slaver方式,由于SPI、UART共用一個中斷,會導(dǎo)致通信工作過程不正常,嚴(yán)重時SPI和UART通信皆無法正常進(jìn)行。上述協(xié)議無法滿足需要。為此,在基本協(xié)議的基礎(chǔ)上,構(gòu)造高級的協(xié)議。

  高級協(xié)議:主機(jī)和從機(jī)皆用定時器進(jìn)行SPI數(shù)據(jù)幀的收發(fā),定時器是SPI通信的發(fā)動機(jī),通信是由主機(jī)定時器發(fā)動。從機(jī)僅被動收發(fā),為了保證SPI收發(fā)雙方數(shù)據(jù)包的字節(jié)相位匹配,必須設(shè)置數(shù)據(jù)包收發(fā)緩沖區(qū),收發(fā)緩沖區(qū)字節(jié)個數(shù)應(yīng)當(dāng)是數(shù)據(jù)包的N倍。同時,數(shù)據(jù)包中設(shè)置若干包標(biāo)示字節(jié),通常為頭字節(jié)、尾字節(jié),以便主從機(jī)在接收數(shù)據(jù)時可以動態(tài)的進(jìn)行字節(jié)相位的校準(zhǔn),保證數(shù)據(jù)接收的可靠性。高級協(xié)議構(gòu)造示意圖如圖5所示。


圖5中,SPI通信數(shù)據(jù)包為8個字節(jié),包標(biāo)識字節(jié)為0x0d、0x0c。SPI通信發(fā)動采用PCA定時器模式,讀者也可以采用定時器T1和T2實(shí)現(xiàn)SPI通信發(fā)動。參考程序如下:

數(shù)字通信相關(guān)文章:數(shù)字通信原理


通信相關(guān)文章:通信原理




關(guān)鍵詞: SPI接口 串行通信 工作方式

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉