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

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 雙CPU之間的數(shù)據(jù)通信實(shí)現(xiàn)

          雙CPU之間的數(shù)據(jù)通信實(shí)現(xiàn)

          作者: 時(shí)間:2012-03-28 來(lái)源:網(wǎng)絡(luò) 收藏
          G-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">TMS320C32分配給雙口RAM的地址空間為0x800000h~0x8007FFh。通過(guò)三八譯碼器74HC138對(duì)A20~A23和STRB進(jìn)行譯碼,給出雙口RAM的片選信號(hào)CER。89C52分配給雙口RAM的地址空間為0x1000h~0x1FFFh。通過(guò)二四譯碼器74HC139對(duì)A13~A15進(jìn)行譯碼產(chǎn)生雙口RAM的片選信號(hào)CEL。雙口RAM每邊都有兩個(gè)讀/寫(xiě)控制信號(hào),分別控制高位字節(jié)和低位字節(jié)的讀/寫(xiě),在使用時(shí)可以根據(jù)需要分別對(duì)數(shù)據(jù)的高位和低位進(jìn)行寫(xiě)入操作。在圖2所示接口電路中,兩邊的兩個(gè)讀/寫(xiě)控制信號(hào)分別被連接在一起,也就是說(shuō)此時(shí)雙口RAM的讀寫(xiě)都是同時(shí)讀寫(xiě)16位數(shù)據(jù)。

          圖2中雙口RAM CY7C133的讀寫(xiě)信號(hào)以及鎖存器74HC373的使能信號(hào)的產(chǎn)生如圖3所示。其中,WR是89C52的寫(xiě)控制信號(hào),RD是89C52的讀控制信號(hào),A0是89C52的地址最低位,A15是地址最高位,R/W是TMS320C32的讀寫(xiě)控制信號(hào),BUSYL接89C52的P1口的一個(gè)引腳(具體可根據(jù)系統(tǒng)實(shí)際情形自行選擇,圖中未畫(huà)出),BUSYR接TMS320C32的READY信號(hào)。

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

          4 軟件實(shí)現(xiàn)方案

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

          5 結(jié)束語(yǔ)

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

          通信相關(guān)文章:通信原理


          上拉電阻相關(guān)文章:上拉電阻原理

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

          關(guān)鍵詞: CPU 數(shù)據(jù)通信

          評(píng)論


          相關(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); })();