新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SPI方式DSP外部E2PROM接口設(shè)計(jì)

基于SPI方式DSP外部E2PROM接口設(shè)計(jì)

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

3.2.1 寫(xiě)一個(gè)字節(jié)操作
寫(xiě)操作之前必須寫(xiě)使能,即向X5043先發(fā)送數(shù)據(jù)(06H)。首先將CS拉低,然后向器件輸入WREN指令,在將CS拉高。再次將CS拉低并輸入WRITE指令,后面跟隨8位地址,在后面需要寫(xiě)入的數(shù)據(jù)。WRITE指令的位3是地址位A8,它選擇是陣列的高半部分還是低半部分。如果CS在WREN和WRITE之間沒(méi)變?yōu)楦?,則WRITE指令被忽略。寫(xiě)操作時(shí)序如圖3所示。

本文引用地址:http://2s4d.com/article/152185.htm

在字節(jié)的最后一個(gè)位0寫(xiě)入后,CS必須被拉高。如果它在其他時(shí)間拉高,寫(xiě)操作不完全。在存儲(chǔ)器寫(xiě)操作之后跟隨一次非易失性寫(xiě)操作??梢酝ㄟ^(guò)讀狀態(tài)寄存器的WIP位來(lái)判斷非易失性寫(xiě)是否結(jié)束。只有非易失性寫(xiě)結(jié)束之后才可以進(jìn)行下次寫(xiě)操作。
值得注意的是McBSP在模式下,只有數(shù)據(jù)發(fā)送的時(shí)候CLKX端才有時(shí)鐘輸出,F(xiàn)SX端才輸出低電平的幀同步信號(hào)。因?yàn)樵诎l(fā)送寫(xiě)使能和寫(xiě)數(shù)據(jù)指令之間要求CS(即FSX)變高,所以要分兩次把數(shù)據(jù)送給X5043。且這兩次發(fā)送的字長(zhǎng)不同(寫(xiě)使能一個(gè)字節(jié),寫(xiě)數(shù)據(jù)三個(gè)字節(jié)),所以在發(fā)送之前需要重新配置McBSP。
3.2.2 讀一個(gè)字節(jié)操作
當(dāng)從存儲(chǔ)器陣列讀數(shù)據(jù)時(shí),首先CS通過(guò)FSX引腳拉低為低電平,然后送READ指令到器件,后面跟隨8位地址,在后面就是發(fā)送8位無(wú)意義的數(shù)據(jù)(目的是為了繼續(xù)產(chǎn)生時(shí)鐘信號(hào))。發(fā)送結(jié)束后,所選地址中的數(shù)據(jù)從SO端移出到McBSP的數(shù)據(jù)接收引腳。讀操作時(shí)序如圖4所示。

讀操作和寫(xiě)操作一樣,都是發(fā)送三個(gè)字節(jié)的數(shù)據(jù),所以McBSP的串口字長(zhǎng)要配置為24位。讀操作發(fā)出以后,通過(guò)查看SPCR1寄存器的RRDY位來(lái)判斷接收數(shù)據(jù)是否完成,若RRDY為1,則讀DRR寄存器獲取數(shù)據(jù)。
3.3 值得注意的地方
無(wú)論是寫(xiě)使能/寫(xiě)禁止、寫(xiě)狀態(tài)寄存器還是寫(xiě)數(shù)據(jù),當(dāng)McBSP相應(yīng)數(shù)據(jù)發(fā)送結(jié)束后,McBSP的時(shí)鐘和幀同步信號(hào)都將變?yōu)闊o(wú)效狀態(tài),這種無(wú)效狀態(tài)要保持至少10μs之上(否則數(shù)據(jù)將無(wú)法正確寫(xiě)入),然后在讀取X5043的狀態(tài)寄存器,判斷非易失性寫(xiě)是否結(jié)束,結(jié)束了才可以進(jìn)行其他操作。


4 結(jié) 語(yǔ)
通過(guò)外接,簡(jiǎn)化了硬件電路,提高了系統(tǒng)的可靠性和開(kāi)發(fā)難度,具有很實(shí)際的應(yīng)用價(jià)值。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉