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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于SOPC技術(shù)的異步串行通信IP核的設(shè)計與實現(xiàn)

          基于SOPC技術(shù)的異步串行通信IP核的設(shè)計與實現(xiàn)

          作者: 時間:2012-05-30 來源:網(wǎng)絡(luò) 收藏

          3 UART
          3.1 PLB Slave Single模塊介紹
          如上,UABT 核作為PLB總線的從設(shè)備,必須提供PLB總線接口。但由于PLB總線協(xié)議復(fù)雜,其接口難度較大,Xilinx公司為了使用戶編寫的邏輯能夠方便的連結(jié)到PLB總線上,提供了一種PLB總線與用戶邏輯之間的接口模塊(IF,IP Interface),利用它簡化了PLB總線接口信號、總線協(xié)議和其他接口相關(guān)問題。IPIF接口邏輯中最簡單的模塊稱為PLB Slave Single模塊,它提供了一種輕量級的PLB總線接口,為PLB總線主設(shè)備提供了解析從設(shè)備地址空間,讀寫從設(shè)備寄存器/存儲空間等基本服務(wù)。本文的UARTIP核與MicroBlaze處理器之間僅通過寄存器的讀寫進(jìn)行交互,PLB Slave Single模塊很好的滿足了該要求,因此采用PLB Slave Single模塊與UART邏輯共同構(gòu)成了UART IP核。PLB Slave Single模塊與UART邏輯之間的連接關(guān)系如圖3所示,接口信號說明如表1所示。

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

          c.jpg

          d.jpg


          在系統(tǒng)中,UART IP核的內(nèi)部寄存器組映射為處理器的某段地址空間,MicroBlaze處理器通過對該段地址的讀寫對UART IP核的訪問。當(dāng)MicroBlaze處理器訪問UART IP核的某個寄存器時,PLB總線會產(chǎn)生相應(yīng)的地址信號和讀寫信號,該信號被UART IP核中的PLB Slave Single模塊解析并生成相應(yīng)的IPIF信號,UART IP核中的UABT邏輯響應(yīng)該IPIF信號,完成寄存器的讀寫。
          3.2 UART IP核寄存器組設(shè)計
          文中設(shè)計的UART IP核提供了5個寄存器,如表2所示。其中發(fā)送寄存器和讀接收寄存器完成UART數(shù)據(jù)的發(fā)送和接收。狀態(tài)寄存器提供了UART IP核內(nèi)部狀態(tài),包括接收數(shù)據(jù)有效,發(fā)送FIFO滿,接收FIFO滿,奇偶校驗錯等狀態(tài)。控制寄存器提供了UART IP核復(fù)位功能。配置寄存器提供了波特率設(shè)置,奇偶校驗位設(shè)置等功能。
          3. 3 UART協(xié)議邏輯模塊設(shè)計
          本文設(shè)計的UART協(xié)議邏輯模塊主要包括波特率產(chǎn)生模塊,發(fā)送模塊,接收模塊,寄存器組等幾個部分,其結(jié)構(gòu)如圖4所示。寄存器組說明如表2,其他幾個模塊的設(shè)計如圖4所示。

          f.jpg

          e.jpg



          評論


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