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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于SOPC的異步串行通信IP核設(shè)計

          基于SOPC的異步串行通信IP核設(shè)計

          作者: 時間:2013-02-20 來源:網(wǎng)絡(luò) 收藏

          隨著嵌入式技術(shù)的發(fā)展,基于SoPC技術(shù)的嵌入式系統(tǒng)所具有的軟硬件可裁減、可擴充、可升級以及可在線修改的特點越來越受到人們的重視。SoPC系統(tǒng)通常具有以下基本特征:采用大容量可編程邏輯器件來實現(xiàn),單芯片、低功耗;至少包含1個以上的嵌入式處理器;具有一個或多條片上總線作為系統(tǒng)擴展功能的接口;具有充足的片上可編程邏輯資源,用戶可以根據(jù)需要擴充功能部件。

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

          協(xié)議(UART)以低成本、高可靠性等優(yōu)點而廣泛應(yīng)用于嵌入式系統(tǒng)中,多篇文獻也討論了UART協(xié)議的硬件設(shè)計方法,但多數(shù)只限于討論UART協(xié)議的硬件實現(xiàn),缺少從SoPC系統(tǒng)的角度論述UART 的設(shè)計方法。本文以UART 和PLB總線為例,討論了在SoPC系統(tǒng)下UART IP核的設(shè)計方法,該方法對其他IP核的設(shè)計有一定的參考作用。

          1 UART協(xié)議介紹

          UART是一種串行異步通信方式,它采用RS232電平在串行鏈路上進行全雙工的通信,其數(shù)據(jù)傳輸格式如圖1所示:UART協(xié)議在空閑時為高電平,通過發(fā)送起始位提示接收方數(shù)據(jù)傳輸即將開始,接著傳輸8位有效數(shù)據(jù)位和奇偶檢驗位,最后發(fā)送停止位表示一個字符傳輸完成。

          2 UART通信系統(tǒng)介紹

          本文設(shè)計的 UART通信系統(tǒng)主要包括MicroBlaze處理器、PLB總線、UART IP核和DDR2控制器IP核,如圖2所示。

          MicroBlaze處理器是Xilinx公司針對其FPGA器件優(yōu)化的32位微處理器核,它采用RISC(Reduced Instruction System Computer)架構(gòu)和哈佛總線結(jié)構(gòu),具有獨立32位數(shù)據(jù)和指令總線,能夠高速執(zhí)行和訪問片上存儲器和片外存儲器上的程序與數(shù)據(jù);提供本地塊存儲器總線(LMB)、處理器本地總線(PLB)等總線接口。

          PLB總線作為IBM CoreConnect總線協(xié)議簇中的一部分,廣泛的應(yīng)用于IBM PowerPC處理器架構(gòu)中。該總線具有總線地址空間大,總線吞吐率高,能支持多個主從設(shè)備連接等特點。如圖3所示,MicroBlaze處理器通過PLB總線與UARTIP核、DDR2控制器相互連接,各部件之間通過PLB總線協(xié)議進行交互。其中,MicroBlaze處理器作為主設(shè)備完成系統(tǒng)控制和UART通信流程控制,UART IP核作為從設(shè)備在主設(shè)備的控制下完成,DDR2存儲指令和數(shù)據(jù)。

          MicroBlaze處理器和DDR2控制器采用Xilinx公司提供的IP核,UART IP核由用戶編寫邏輯,它是文中設(shè)計的主要內(nèi)容,對此模塊的設(shè)計將在下一節(jié)進行詳細闡述。


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: SOPC IP核 異步串行通信

          評論


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