在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

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

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

            摘要:目前,基于和FPGA架構(gòu)的嵌入式系統(tǒng)在通信設(shè)備中得到廣泛的應(yīng)用。文章提出了一種基于和FPGA的接口設(shè)計(jì)方案,從而實(shí)現(xiàn)了和FPGA之間的數(shù)據(jù)緩沖和速率匹配。實(shí)際測(cè)試表明該方案能夠有效地對(duì)數(shù)據(jù)速率進(jìn)行匹配,且具有良好的可擴(kuò)展性。
            關(guān)鍵詞:ARM;;

            0 引言
            隨著嵌入式系統(tǒng)、軟件無(wú)線電和無(wú)線通信的發(fā)展,基于嵌入式系統(tǒng)和軟件無(wú)線電的實(shí)現(xiàn)架構(gòu)廣泛應(yīng)用到無(wú)線通信設(shè)備中。其中,采用ARM+FPGA的軟件無(wú)線電體系結(jié)構(gòu)來(lái)實(shí)現(xiàn)的通信設(shè)備是最近十分流行的一種方案。該方案充分利用ARM CPU靈活便捷的優(yōu)勢(shì),用來(lái)處理用戶輸入、系統(tǒng)控制、網(wǎng)絡(luò)協(xié)議功能,而利用FPGA卓越的實(shí)時(shí)信號(hào)處理優(yōu)點(diǎn),對(duì)無(wú)線通信的物理層信號(hào)進(jìn)行無(wú)線收發(fā)處理。在這種體系結(jié)構(gòu)中,ARM和FPGA的數(shù)據(jù)通信信號(hào)接口設(shè)計(jì)是其中十分關(guān)鍵的一個(gè)環(huán)節(jié)。由于無(wú)線設(shè)備的數(shù)據(jù)收發(fā)往往具有一定的突發(fā)性,在高速數(shù)據(jù)收發(fā)情況下,需要設(shè)計(jì)一種合理的緩沖區(qū)進(jìn)行數(shù)據(jù)傳輸速率的匹配和緩沖。另外,對(duì)于ARM CPU來(lái)說(shuō),由于CPU往往需要同時(shí)并行處理多種任務(wù),如何盡可能地保證數(shù)據(jù)的實(shí)時(shí)接收,也是設(shè)計(jì)中的一個(gè)關(guān)鍵。本文提出了一種基于ARM和FPGA的設(shè)計(jì)結(jié)構(gòu),能可靠有效地處理好兩者之間數(shù)據(jù)傳輸速率匹配和緩沖,且具有很好的擴(kuò)展性。

            1 緩沖區(qū)接口硬件設(shè)計(jì)
            本方法設(shè)計(jì)的硬件接口如圖1所示。FPGA作為一個(gè)存儲(chǔ)器外設(shè)與ARM連接,采用的是標(biāo)準(zhǔn)的總線接口,由nGCS片選線、雙向數(shù)據(jù)線DATA、地址線ADDR、以及讀寫控制線nOE和nWE等信號(hào)線組成。另外,EINT是中斷信號(hào)線,F(xiàn)PGA發(fā)起中斷向ARM請(qǐng)求處理。

            本文引用地址:http://www.biyoush.com/article/148003.htm

            a.jpg



            2 緩沖區(qū)接口軟件設(shè)計(jì)
            為了設(shè)計(jì)ARM和FPGA的緩沖區(qū)接口,首先要利用圖1中的信號(hào)線實(shí)現(xiàn)ARM對(duì)FPGA的基本讀寫操作,這需要雙方遵循擬定的接口時(shí)序相互配合進(jìn)行,這可以通過(guò)參考相應(yīng)的ARM內(nèi)核CPU用戶手冊(cè),在FPGA端編寫相應(yīng)的接口代碼來(lái)配合ARM CPU2端的讀寫時(shí)序?qū)崿F(xiàn)。
            下面重點(diǎn)介紹環(huán)形緩沖區(qū)接口的軟件實(shí)現(xiàn)。
            2.1 緩沖區(qū)空間設(shè)計(jì)
            如上所述,F(xiàn)PGA是作為ARM的一個(gè)存儲(chǔ)器外設(shè)來(lái)設(shè)計(jì)的。在本方案中,F(xiàn)PGA存儲(chǔ)器空間包括兩個(gè)部分:寄存器空間和數(shù)據(jù)緩沖區(qū)空間。
            寄存器空間用于設(shè)置各種讀寫的參數(shù),包括緩沖區(qū)讀寫指針、緩沖區(qū)忙閑狀態(tài)等;而緩沖區(qū)用于大量數(shù)據(jù)的臨時(shí)存儲(chǔ),按作用分為發(fā)送緩沖區(qū)和接收緩沖區(qū)。設(shè)計(jì)中對(duì)所有空間都采用統(tǒng)一編址方式實(shí)現(xiàn),利用ARM與FPGA之間相連的接口地址線(ADDR)的最高兩位來(lái)區(qū)分,例如,00表示寄存器空間,01表示發(fā)送緩沖區(qū)空間、10表示接收緩沖區(qū)空間,11為保留。
            在本文的環(huán)形緩沖區(qū)結(jié)構(gòu)設(shè)計(jì)中,發(fā)送(接收)緩沖區(qū)又分為若干大小相同的子緩沖空間,這些子緩沖空間共享同一個(gè)地址空間,由FPGA內(nèi)部的緩沖區(qū)忙閑指示寄存器和子緩沖空間的控制指針來(lái)引導(dǎo)ARM對(duì)子緩沖區(qū)的讀寫。子緩沖空間的控制指針循環(huán)依次變化,數(shù)據(jù)幀也循環(huán)依次寫入指針指向的子緩沖空間或被讀走,這樣就構(gòu)成了環(huán)形緩沖區(qū)。
            以實(shí)際項(xiàng)目的設(shè)計(jì)為例,發(fā)送(接收)緩沖區(qū)分別由16個(gè)子緩沖空間組成,每個(gè)子緩沖空間的大小為256雙字節(jié),這16個(gè)子緩沖空間共享一個(gè)地址空間。設(shè)計(jì)中的接口地址線一共為10位,數(shù)據(jù)線是16位。每個(gè)數(shù)據(jù)幀的最大長(zhǎng)度也設(shè)置為256雙字節(jié),以便一個(gè)緩沖區(qū)能夠裝滿一個(gè)幀,簡(jiǎn)化緩沖區(qū)管理。以發(fā)送緩沖區(qū)為例,其結(jié)構(gòu)設(shè)計(jì)如圖2所示。

            b.jpg


            盡管設(shè)置了16個(gè)子緩沖空間來(lái)應(yīng)對(duì)可能的突發(fā)數(shù)據(jù)流,為了防止ARM將所有的子緩沖區(qū)寫溢出,在FPGA內(nèi)部設(shè)置了緩沖區(qū)忙閑寄存器指示,當(dāng)所有的子緩沖空間都寫滿后,緩沖區(qū)忙閑指示寄存器設(shè)置為忙。

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



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

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉