關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于AX88796B的網(wǎng)絡(luò)接口設(shè)計(jì)與實(shí)現(xiàn)

基于AX88796B的網(wǎng)絡(luò)接口設(shè)計(jì)與實(shí)現(xiàn)

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


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

(3)報(bào)文的發(fā)送。報(bào)文的發(fā)送過(guò)程就是調(diào)用寫(xiě)網(wǎng)卡函數(shù),將報(bào)文發(fā)送到網(wǎng)卡的內(nèi)存中去。然后將的控制寄存器(CR)的發(fā)送位 TXP(transmit packet)位置1,即將報(bào)文發(fā)送。dsp通過(guò)遠(yuǎn)端dma通道將網(wǎng)卡發(fā)送緩沖區(qū)的起始地址和要發(fā)送的字節(jié)數(shù)分別寫(xiě)入rsar[O,1]和 rbcr[0,1],然后啟動(dòng)遠(yuǎn)端dma寫(xiě)命令即可將數(shù)據(jù)包寫(xiě)入網(wǎng)卡內(nèi)存,此后將字節(jié)數(shù)寫(xiě)入tber[O,1]寄存器,啟動(dòng)發(fā)送命令就可將數(shù)據(jù)包發(fā)送到上。網(wǎng)卡發(fā)送的關(guān)鍵代碼如下:

本文引用地址:http://m.butianyuan.cn/article/202487.htm


4 結(jié)語(yǔ)
在如上所述的底層硬件和軟件設(shè)計(jì)基礎(chǔ)上,完成了UDP和TCP/IP協(xié)議棧的軟件,系統(tǒng)主要使用這2個(gè)協(xié)議進(jìn)行數(shù)據(jù)傳輸。長(zhǎng)期的系統(tǒng)在線驗(yàn)證證明,在TMS320C6722上擴(kuò)展的接口,傳輸可靠,性能穩(wěn)定,在100 Mb/s的速度,負(fù)荷超過(guò)90%的情況下,沒(méi)有丟包和錯(cuò)包出現(xiàn)。可見(jiàn),對(duì)這種只有異步總線,又需要網(wǎng)絡(luò)大數(shù)據(jù)量傳輸?shù)膽?yīng)用,該設(shè)計(jì)是可行的。


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

關(guān)鍵詞: 88796B AX 網(wǎng)絡(luò)

評(píng)論


相關(guān)推薦

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

關(guān)閉