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