一種3線制半雙工SPI接口設(shè)計
串行外圍設(shè)備接口SPI(serial peripheralinterface)總線技術(shù)是Motorola公司推出的一種微處理器、微控制器及其外設(shè)間的一種全/半雙工同步串行數(shù)據(jù)接口標(biāo)準(zhǔn),具有連接線少、傳輸效率高等特點,因其硬件功能很強,與SPI有關(guān)的軟件就相當(dāng)簡單,使CPU有更多的時間處理其他事務(wù)。
SPI接口一般采用4條連接線:串行時鐘線(SCK)、主機輸出/從機輸入數(shù)據(jù)線(MOSI)、主機輸入/從機輸出數(shù)據(jù)線(MISO)和低電平使能的從機選擇線(SS),有的還帶有中斷信號線(INT),半雙工或單向模式則不需要主機輸出/從機輸入數(shù)據(jù)線(MOSI)。為了在減少引腳的基礎(chǔ)上完成主從機的雙向通訊,本文采用半雙工機制實現(xiàn)了一種3線制雙向SPI總線模塊,即通過使能信號實現(xiàn)數(shù)據(jù)傳輸?shù)姆较蚩刂?,因此將主機輸出/從機輸入(MOSI)線和主機輸入/從機輸出線(MISO)線合并為一條雙向信號線。該模塊是某射頻芯片中的接口模塊,其作用是實現(xiàn)基帶芯片對射頻芯片的控制以及數(shù)據(jù)交換,而且為了便于和射頻電路集成,該模塊最終以硬IP形式實現(xiàn)。
1 SPI總線協(xié)議
射頻芯片的SPI接口具有兩個主要特征:Slave工作模式和半雙工方式通訊。
SPI接口信號描述如表1。
接口時序要求如下:
1)輸出時序
當(dāng)SEN為高電平時,SPI接口處于輸出狀態(tài)。每次數(shù)據(jù)傳輸開始于SCK信號的上升沿。數(shù)據(jù)傳輸過程中,數(shù)據(jù)由SCK信號控制,并遵循下列規(guī)則:數(shù)據(jù)傳輸時,低位在前,高位在后;每個輸出數(shù)據(jù)位在SCK下降沿采樣;當(dāng)本幀數(shù)據(jù)輸出達(dá)到24 bit時,結(jié)束數(shù)據(jù)輸出;當(dāng)本幀數(shù)據(jù)輸出超過24 bit時,則多余位數(shù)全為高電平。
2)輸入時序
當(dāng)SEN為低電平時,SPI接口處于輸入狀態(tài)。每次數(shù)據(jù)傳輸開始于SEN信號的下降沿,結(jié)束于其上升沿。數(shù)據(jù)傳輸過程中命令和數(shù)據(jù)有SCK和SEN信號控制,并遵循下列規(guī)則:數(shù)據(jù)傳輸時,低位在前,高位在后;每個輸入數(shù)據(jù)在SCK下降沿移入MOSI;當(dāng)本幀數(shù)據(jù)輸入為24 bit時,當(dāng)SEN轉(zhuǎn)為高電平時,將已輸入的24 bit數(shù)據(jù)寫入RF IC內(nèi)部寄存器;當(dāng)本幀數(shù)據(jù)輸入不足24 bit或多于24 bit時,放棄本幀輸入,等待下一幀。
射頻SPI接口的最大特點就是采用半雙工通訊機制,串行數(shù)據(jù)的輸入/輸出共用一條數(shù)據(jù)線,因此SPI接口數(shù)據(jù)通路的設(shè)計和普通的4線制SPI接口完全不同。
2 實現(xiàn)方案
2.1 總體結(jié)構(gòu)
SPI接口電路主要由讀/寫控制器、串行寄存器組、輸出寄存器組和內(nèi)部定時器四部分構(gòu)成,如圖1所示。
在SPI接口模塊中,數(shù)據(jù)交換的核心是串行寄存器組,讀、寫控制器根據(jù)外部方向選擇信號SEN交替控制串行寄存器組的輸人和輸出。
評論