新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SPI總線的51單片機(jī)多機(jī)互連編程技術(shù)

基于SPI總線的51單片機(jī)多機(jī)互連編程技術(shù)

作者: 時(shí)間:2012-08-21 來(lái)源:網(wǎng)絡(luò) 收藏

圖4中2號(hào)機(jī)通信和UART通信皆為Slaver方式,由于、UART共用一個(gè)中斷,會(huì)導(dǎo)致通信工作過(guò)程不正常,嚴(yán)重時(shí)和UART通信皆無(wú)法正常進(jìn)行。上述協(xié)議無(wú)法滿足需要。為此,在基本協(xié)議的基礎(chǔ)上,構(gòu)造高級(jí)的協(xié)議。
高級(jí)協(xié)議:主機(jī)和從機(jī)皆用定時(shí)器進(jìn)行SPI數(shù)據(jù)幀的收發(fā),定時(shí)器是SPI通信的發(fā)動(dòng)機(jī),通信是由主機(jī)定時(shí)器發(fā)動(dòng)。從機(jī)僅被動(dòng)收發(fā),為了保證SPI收發(fā)雙方數(shù)據(jù)包的字節(jié)相位匹配,必須設(shè)置數(shù)據(jù)包收發(fā)緩沖區(qū),收發(fā)緩沖區(qū)字節(jié)個(gè)數(shù)應(yīng)當(dāng)是數(shù)據(jù)包的N倍。同時(shí),數(shù)據(jù)包中設(shè)置若干包標(biāo)示字節(jié),通常為頭字節(jié)、尾字節(jié),以便主從機(jī)在接收數(shù)據(jù)時(shí)可以動(dòng)態(tài)的進(jìn)行字節(jié)相位的校準(zhǔn),保證數(shù)據(jù)接收的可靠性。高級(jí)協(xié)議構(gòu)造示意圖如圖5所示。

本文引用地址:http://butianyuan.cn/article/171013.htm

e.JPG


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



評(píng)論


相關(guān)推薦

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

關(guān)閉