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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種基于ARM和FPGA的環(huán)形緩沖區(qū)接口設(shè)計

          一種基于ARM和FPGA的環(huán)形緩沖區(qū)接口設(shè)計

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

          2.2 發(fā)送程序設(shè)計
          首先介紹數(shù)據(jù)的發(fā)送過程,也就是數(shù)據(jù)幀從到FPGA的發(fā)送流程。程序分為兩個部分,一個是端的程序,負(fù)責(zé)將來自用戶的數(shù)據(jù)組成最大不超過256雙字節(jié)的數(shù)據(jù)幀,然后向FPGA內(nèi)部的發(fā)送緩沖區(qū)寫數(shù)據(jù)幀;另外一個是FPGA端的程序,負(fù)責(zé)將接收的數(shù)據(jù)幀寫入發(fā)送緩沖區(qū),同時將各個子緩沖空間的數(shù)據(jù)依次提取出來,傳遞給物理層進(jìn)行發(fā)送。
          發(fā)送部分ARM端的程序流程圖如圖3所示。將用戶數(shù)據(jù)首先組裝成規(guī)定大小的數(shù)據(jù)幀,然后判斷發(fā)送緩沖區(qū)是否有空閑的子緩沖空間,若發(fā)送緩沖區(qū)滿則等待,否則將數(shù)據(jù)幀發(fā)送到統(tǒng)一編址的發(fā)送緩沖區(qū)空間。

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

          c.jpg


          發(fā)送部分FPGA端的程序流程可分為接收ARM寫入的數(shù)據(jù)幀和將發(fā)送緩沖區(qū)中的數(shù)據(jù)幀發(fā)送給物理層進(jìn)行數(shù)據(jù)處理。這兩部分的程序流程分別如圖4和圖5所示,主要是利用子緩沖空間的忙閑狀態(tài)與讀寫指針的變化來控制數(shù)據(jù)幀的讀取和寫入,實現(xiàn)子緩沖空間循環(huán)利用以及數(shù)據(jù)幀的正常發(fā)送和緩存。

          d.jpg

          fpga相關(guān)文章:fpga是什么




          評論


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