基于SPI方式DSP外部E2PROM接口設(shè)計(jì)
2.2 McBSP與X5043的接口設(shè)計(jì)
X5043的外部接口符號(hào)SPI協(xié)議規(guī)范。DIP封裝的X5043有8個(gè)管腳組成,各個(gè)管腳功能如下所示:
CS:片選端,當(dāng)CS為低時(shí),X5043選中。在任何操作之前,需要先在CS上有一次由高至低的跳變;
SO:串行數(shù)據(jù)輸出端,當(dāng)讀周期時(shí),數(shù)據(jù)從該引腳移出;
SI:串行數(shù)據(jù)輸入引腳,所要寫入存儲(chǔ)器的操作碼,字節(jié)地址和數(shù)據(jù)都從該引腳輸入;
WP:當(dāng)WP為低時(shí),向X5043的非易失性寫被禁止,但器件其他功能正常,為高時(shí),所用功能都正常;
SCK:串行時(shí)鐘端。串行時(shí)鐘控制串行總線數(shù)據(jù)輸入和輸出的時(shí)序。
McBSP的時(shí)鐘停止模式與SPI協(xié)議兼容。當(dāng)McBSP處于時(shí)鐘停止模式時(shí),發(fā)送器和接收器是內(nèi)部同步的,因此可以將McBSP作為SPI主設(shè)備或從設(shè)備。當(dāng)設(shè)置McBSP為主設(shè)備時(shí),發(fā)送端輸出信號(hào)DXR就作為SPI協(xié)議的MOSI信號(hào),接收端輸入信號(hào)DRR就作為SPI協(xié)議的MISO信號(hào)。發(fā)送幀同步脈沖信號(hào)FSX作為從設(shè)備片選信號(hào)SS,而發(fā)送時(shí)鐘信號(hào)CLKX就與SPI協(xié)議的串行時(shí)鐘信號(hào)SCK相對(duì)應(yīng)。由于接收時(shí)鐘信號(hào)CLKR和接收幀同步脈沖信號(hào)FSR與發(fā)送端的相應(yīng)部分CLKX和FSX在內(nèi)部相互連接,因此這些信號(hào)不用于時(shí)鐘停止模式。該設(shè)計(jì)中McBSP作為主設(shè)備使用。X5043與McBSP的接口電路如圖2所示。本文引用地址:http://www.butianyuan.cn/article/152185.htm
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)主要包括DSP相關(guān)寄存器的配置,X5043狀態(tài)寄存器的配置,以及X5043的讀寫操作。
3.1 寄存器的配置
DSP端需要配置的寄存器主要包括CLKMD,SPCR[1,2],XCR[1,2],RCR[1,2],SRGR[1,2],PCR等。
其中CLKMD主要配置DSP的時(shí)鐘;XCR[1,2],RCR[1,2]主要配置接收和發(fā)送數(shù)據(jù)的幀的個(gè)數(shù)、幀長(zhǎng)以及字長(zhǎng)。根據(jù)對(duì)X5043操作的不同,發(fā)送和接收的字長(zhǎng)也不同,但是針對(duì)某一種操作,接收和發(fā)送字長(zhǎng)是一樣的;SRGR[1,2]主要是對(duì)CLKGDV,CLKSM,F(xiàn)SGM三個(gè)位域的配置;SPCR[1,2]主要是對(duì)CLKSTP位域的配置,因?yàn)樗鼪Q定了McBSP是采用時(shí)鐘停止模式(SPI模式)還是正常模式;引腳控制寄存器(PCR)配置了各個(gè)引腳的工作狀態(tài)。
值得注意的是在配置McBSP的寄存器之前,首先要使發(fā)送、接收和分頻器復(fù)位,配置完SPCR[1,2],XCR[1,2],RCR[1,2],PCR后,使分頻器置位,等待兩個(gè)時(shí)鐘周期,在配置SRGR[1,2],然后使發(fā)送和接收置位在等待兩個(gè)時(shí)鐘周期,這時(shí)才可以進(jìn)行其他操作。
3.2 X5043的讀寫操作
X5043的讀操作包括讀狀態(tài)寄存器、讀存儲(chǔ)器陣列(即讀數(shù)據(jù))。寫操作包括寫使能/寫禁止、寫狀態(tài)寄存器、寫存儲(chǔ)器陣列(寫數(shù)據(jù))。X5043的指令組如表1所示。
下面主要講一下對(duì)單個(gè)數(shù)據(jù)的讀寫操作。
評(píng)論