<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/152185.htm

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

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


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


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();