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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > DSP與51單片機的一種高速通信實現(xiàn)方案

          DSP與51單片機的一種高速通信實現(xiàn)方案

          作者: 時間:2011-11-05 來源:網(wǎng)絡 收藏

            下面討論一下89C52對雙口RAM的讀寫過程。當89C52對雙口RAM進行讀數(shù)據(jù)時,由圖3可知此時A0應為低電平,不妨假設地址為0x1000h,則存儲在雙口RAM中該地址處的16位數(shù)據(jù)同時被讀出,由于高8位數(shù)據(jù)線與89C52的8位數(shù)據(jù)線直接相連,所以高8位數(shù)據(jù)被立即讀入89C52中。同時,根據(jù)圖3中各信號的相互邏輯關系不難判斷,U3的使能信號LE有效(高電平),OE無效(低電平),因而低8位數(shù)據(jù)被送入U3 中鎖存起來。接著89C52再進行一次讀操作,這時地址變?yōu)?x1001h,由于A0變成高電平,雙口RAM的讀使能信號變成無效電平,所以此次讀操作對雙口RAM不產(chǎn)生影響。再來看U3的使能信號LE和OE的變化情況,顯然LE變成了無效電平,而OE變成了有效電平,上次被鎖存的數(shù)據(jù)(即雙口RAM的低8位數(shù)據(jù))被送入89C52。當89C52對雙口RAM進行寫入操作時,注意此時A0應為高電平,不妨假設地址為0x100Ch,同樣可根據(jù)圖3判斷U2的使能信號LE和OE均為有效電平,因而數(shù)據(jù)被同時寫入雙口RAM中(即此時雙口RAM的高8位數(shù)據(jù)和低8位相同);接著89C52再進行一次寫操作,此時地址變?yōu)?x100Dh,由于A0變成低電平,U2的片選為無效電平,U2被封鎖,數(shù)據(jù)寫入雙口RAM的高8位。從上面的分析可知,利用最低地址位A0的不同電平,89C52通過兩次連續(xù)的讀或?qū)懖僮?,成功地實現(xiàn)了對雙口RAM中數(shù)據(jù)的讀或?qū)?,只不過是讀入時是先讀入高8位,后讀入低8位;而寫入則是先寫入低8位,后寫入高8位。

          4 軟件實現(xiàn)方案
            雙口RAM必須采用一定的機制來協(xié)調(diào)左右兩邊CPU對它的讀寫操作,否則會出現(xiàn)讀寫數(shù)據(jù)的錯誤。通??梢杂弥袛唷⒂布?、令牌和軟件這四種方式來協(xié)調(diào)雙方,本文采用的是軟件方式。從上面的分析中我們可以得知,在接口電路中實際上已經(jīng)利用89C52的最低地址位A0把雙口RAM的存儲空間分為奇、偶地址兩個空間。其中,奇地址空間專供89C52寫,偶地址空間專供89C52讀。那么我們只需對TMS320C32的軟件作相應處理即可,也就是說,TMS320C32對雙口RAM的奇地址空間只讀,對偶地址空間只寫。這樣就避免了TMS320C32和89C52對雙口RAM同一地址單元的寫入操作。另外,在對雙口RAM進行訪問之前,CPU首先對本端的BUSY信號進行查詢,只有本端/BUSY信號無效時才進行讀寫操作,進一步保證了數(shù)據(jù)讀寫的可靠性。


          5 結(jié)束語
            通過雙口RAM實現(xiàn)雙CPU之間的數(shù)據(jù)通信,極大地提高了數(shù)據(jù)傳輸速度和可靠性,滿足了控制系統(tǒng)的實時、高速的控制要求。本文所設計的89C52與雙口RAM之間的接口電路簡單實用,成功解決了它們總線匹配的問題,對其他類似需要總線擴展的系統(tǒng)也有一定的參考價值。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();