新聞中心

        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ò) 收藏

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

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

        c.jpg


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

        d.jpg

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




        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 罗山县| 兰西县| 泌阳县| 阿坝县| 中超| 从化市| 盖州市| 万州区| 武夷山市| 加查县| 高淳县| 西丰县| 福安市| 炎陵县| 安陆市| 连山| 丹寨县| 沐川县| 孝昌县| 大名县| 牡丹江市| 达州市| 东阳市| 娄烦县| 广宁县| 农安县| 桐梓县| 砀山县| 武陟县| 房山区| 临朐县| 安宁市| 浙江省| 资中县| 塔河县| 光山县| 富平县| 建水县| 谢通门县| 三江| 兴和县|