關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于AX88796B的網絡接口設計與實現

        基于AX88796B的網絡接口設計與實現

        作者: 時間:2011-01-05 來源:網絡 收藏


        (2)報文的接收。判斷是否接收到新的數據包有2種方式:輪循和中斷。單片機用輪循方式較多。由于TMS320C6722在此還要進行其他處理,為了提高DSP性能和實時性要求,這里采用中斷方式。當網卡接收到新數據包時進入中斷,首先判斷cpr是否等于bnry,若相等,則表示接收緩沖區已被存滿,則停止接收數據包,而不會覆蓋舊的數據;若不等,則將接收緩沖區中待讀取的數據包的起始地址寫入rsar[0,1]寄存器,數據包的開始4字節寫入rbcr[O,1]寄存器,并啟動遠端DMA讀命令,通過讀取4個信息字節得到待讀取數據包的長度、接收狀態和下一個將被讀的頁的指針信息。然后通過遠端DMA讀命令,將數據包從網卡sram中讀入TMS320C6722內存中,并更新讀頁指針寄存器bnr-y,DSP每從網卡內存中讀走一頁數據,bnry便加一,這需要通過程序實現。網卡通過cpr將接收到的數據包寫入接收緩沖區,每寫完一頁,cpr將自動加一,當加到最后的空頁(這里是 pstop=0x80)時,cpr將自動恢復為接收緩沖區的首頁(pstart=Ox4c)。網卡接收關鍵性代碼如下:
        e.JPG

        (3)報文的發送。報文的發送過程就是調用寫網卡函數,將報文發送到網卡的內存中去。然后將的控制寄存器(CR)的發送位 TXP(transmit packet)位置1,即將報文發送。dsp通過遠端dma通道將網卡發送緩沖區的起始地址和要發送的字節數分別寫入rsar[O,1]和 rbcr[0,1],然后啟動遠端dma寫命令即可將數據包寫入網卡內存,此后將字節數寫入tber[O,1]寄存器,啟動發送命令就可將數據包發送到上。網卡發送的關鍵代碼如下:

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


        4 結語
        在如上所述的底層硬件和軟件設計基礎上,完成了UDP和TCP/IP協議棧的軟件,系統主要使用這2個協議進行數據傳輸。長期的系統在線驗證證明,在TMS320C6722上擴展的接口,傳輸可靠,性能穩定,在100 Mb/s的速度,負荷超過90%的情況下,沒有丟包和錯包出現。可見,對這種只有異步總線,又需要網絡大數據量傳輸的應用,該設計是可行的。


        上一頁 1 2 3 下一頁

        關鍵詞: 88796B AX 網絡

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 和硕县| 东阳市| 四川省| 曲阳县| 尚志市| 渝北区| 上高县| 白银市| 翁源县| 宣武区| 马鞍山市| 若尔盖县| 曲靖市| 宣化县| 南京市| 云浮市| 鹤庆县| 兴文县| 宁乡县| 铜梁县| 汤阴县| 明水县| 尚志市| 察哈| 武胜县| 光山县| 安图县| 鲁甸县| 平和县| 军事| 咸丰县| 罗城| 武宁县| 海淀区| 望江县| 曲松县| 庄河市| 南康市| 沂南县| 泰安市| 汨罗市|