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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > TMS320VC5402 DSP與單片機(jī)的HPI接口實(shí)現(xiàn)

          TMS320VC5402 DSP與單片機(jī)的HPI接口實(shí)現(xiàn)

          作者: 時(shí)間:2011-09-12 來(lái)源:網(wǎng)絡(luò) 收藏
          通過(guò)和電平轉(zhuǎn)換器件

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

            芯片中的(主機(jī))是為了滿(mǎn)足與其他的微處理器而專(zhuān)門(mén)設(shè)計(jì)的。他分為—8和HPI1—6,分別針對(duì)具有8位和16位數(shù)據(jù)線(xiàn)的。每一種又分為標(biāo)準(zhǔn)型和增強(qiáng)型,區(qū)別在于標(biāo)準(zhǔn)型只可以訪(fǎng)問(wèn)固定的地址空間,而增強(qiáng)型可以訪(fǎng)問(wèn)整個(gè)的片內(nèi)存儲(chǔ)器。利用C5402的增強(qiáng)型8位并行主機(jī)(HPI)與通信。

            VC5402DSP的外部I/P引腳用的是3.3V的邏輯電平,而大部分51用的是5V的邏輯電平。前者輸出高電平,最小值為2.4V;后者輸入高電平,最小值為2.0V。所以前者的輸出可以直接接到后者的輸入。但是前者允許輸入高電平最大值為3.6V,而后者的輸出高電平一般都在4.6V以上。所以前者的輸入和后者的輸出不能直接連接,需要做電平轉(zhuǎn)換。如果引腳數(shù)量少,可以直接用三極管電阻來(lái)轉(zhuǎn)換。這里由于引腳較多,所以選用TI74LVC16245A芯片來(lái)進(jìn)行電平轉(zhuǎn)換。硬件電路如圖3所示。

            

          通過(guò)電平轉(zhuǎn)換芯片實(shí)現(xiàn)

            圖3 通過(guò)電平轉(zhuǎn)換芯片

            HPI的數(shù)據(jù)傳輸分為2部分:外部傳輸和內(nèi)部傳輸。外部傳輸是指主機(jī)和HPI寄存器之間的傳輸,由主機(jī)發(fā)出指令完成。內(nèi)部傳輸是指HPI寄存器和DSP內(nèi)部RAM之間的傳輸,由DSP內(nèi)部的DMA控制器自動(dòng)完成。主機(jī)在進(jìn)行外部傳輸時(shí),要先檢查內(nèi)部傳輸是否完成,這是通過(guò)檢測(cè)HRDY信號(hào)的。外部傳輸操作的一般步驟是:檢查HRDY信號(hào)的電平。為高,表示可以進(jìn)行傳輸;為低,表示DSP正在進(jìn)行內(nèi)部傳輸,此時(shí)不能進(jìn)行外部傳輸。主機(jī)發(fā)出指令,設(shè)置HCNTL0,HCNTL1,BHIL,HR?W信號(hào)的狀態(tài),以確定讀或?qū)懙募拇嫫饕约白止?jié)的選擇。主機(jī)發(fā)出時(shí)序控制信號(hào),按時(shí)序進(jìn)行操作,從而完成一次外部傳輸。

            結(jié)語(yǔ)

            利用McBSP的方法,硬件結(jié)構(gòu)簡(jiǎn)單所用芯片少,但是將占用片上系統(tǒng)中為數(shù)不多的同步串行口資源,而且也要占用DSP的處理時(shí)間。HPI方案比較簡(jiǎn)單,附加硬件少、成本低、數(shù)據(jù)吞吐量非常大,但不適合于實(shí)時(shí)控制的場(chǎng)合,因?yàn)楣ぷ髦锌赡軐SP掛起,影響實(shí)時(shí)工作。


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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();