基于DSP的以太網(wǎng)卡的接口技術(shù)研究
(1)數(shù)據(jù)線、地址線可以直接相連。網(wǎng)卡僅使用F206的A0~A9這10根地址線。
(2)/IOR、/IOW信號線可通過/IS、/STRB、/RD、/WE這4根信號線譯碼得到,下式給出了生成/IOW、/IOR的譯碼邏輯關(guān)系:
/IOR=/IS+/STRB+/RD
/IOW=/IS+/STRB+WE
另外,XF引腳信號經(jīng)驅(qū)動可直接連至RESETDRV,READY引腳經(jīng)上拉電阻連接IOCHRDY,/INT2反向后與IRQ5相連。圖4給出了F206與網(wǎng)卡連接時的硬件框圖,GAL16V8來完成譯碼及驅(qū)動的工作。
3 DSP對NE2000網(wǎng)卡的編程
DSP對NE2000網(wǎng)卡的編程就是DSP對網(wǎng)絡(luò)接口控制器(NIC)DP8390中各種寄存器進(jìn)行編程控制,完成數(shù)據(jù)分組的正確發(fā)送和接收。網(wǎng)絡(luò)通信過程可分為網(wǎng)卡初始化、接收控制和發(fā)送控制等三部分。限于篇幅,有關(guān)DP8390頁面寄存器的詳細(xì)說明和微機(jī)環(huán)境下的編程技術(shù)請參閱文獻(xiàn)5,DSP的完整匯編程序請有興趣的讀者和作者聯(lián)系。下面只給出DSP讀取NE2000網(wǎng)卡物理地址的一段程序,實(shí)際中是用來驗(yàn)證上述硬件連接是否正確而編制的。我們購買的網(wǎng)卡物理地址為0040056388E7,在PC機(jī)上已經(jīng)得到驗(yàn)證。實(shí)驗(yàn)證明,通過下面的程序運(yùn)行讀到了正確的物理地址,從而表明我們所做的設(shè)想和實(shí)際結(jié)果是完全一致的。
SPLK #0021H,60H ;選擇0頁寄存器,后續(xù)操作
為復(fù)位操作
OUT 60H,CR
SPLK #0049H,60H ;選擇16位傳輸方式
OUT 60H,DCR
SPLK #0000H,60H ;清DMA遠(yuǎn)程字節(jié)寄存器
OUT 60H,RBCR0
OUT 60H,RBCR1
SPLK #001FH,60H ;初始化接收狀態(tài)配置寄存器
OUT 60H,RCR
SPLK #0002H,60H ;初始化發(fā)送狀態(tài)配置寄存器
OUT 60H,TCR
SPLK #004CH,60H ;設(shè)置接收緩沖環(huán)起始頁面
地址寄存器
OUT 60H,PSTART
SPLK #0080H,60H ;設(shè)置接收緩沖環(huán)終止頁面地
址寄存器
OUT 60H,PSTOP
SPLK #004CH,60H ;設(shè)置邊界指針寄存器
OUT 60H,BNRY
SPLK #00FFH,60H ;清網(wǎng)卡中斷狀態(tài)
OUT 60H,ISR
SPLK #00FFH,60H ;設(shè)置中斷屏蔽寄存器
OUT 60H,IMR
SPLK #0000H,60H ;設(shè)置遠(yuǎn)程DMA起始地址為
0000H
OUT 60H,RSAR0
OUT 60H,RSAR1
OUT 60H,RBCR1
SPLK #0006H,60H ;網(wǎng)卡地址長度為6個字節(jié)
OUT 60H,RBCR0
SPLK #000AH,60H ;啟動遠(yuǎn)程DMA讀
OUT 60H,CR
NOP
IN 61H,DATA_PORT ;61H中存放網(wǎng)卡首字節(jié)地址00H
IN 62H,DATA_PORT ;62H存放網(wǎng)卡第二字節(jié)地址40H
IN 63H,DATA_PORT ;63H中存放網(wǎng)卡第三字節(jié)
地址05H
IN 64H,DATA_PORT ;64H中存放網(wǎng)卡第四字節(jié)
地址63H
IN 65H,DATA_PORT ;65H中存放網(wǎng)卡第五字
節(jié)地址88H
IN 66H,DATA_PORT ;66H中存放網(wǎng)卡第六字
節(jié)地址E7H
網(wǎng)卡在DSP中的應(yīng)用解決了DSP與DSP之間、DSP與PC之間的準(zhǔn)確、高速地通信問題。由于網(wǎng)卡中包含了OSI七層模型中物理層和數(shù)據(jù)鏈路層的全部內(nèi)容,用戶不必再為這兩層的具體連接和實(shí)現(xiàn)操心,可把精力和時間用在要解決的實(shí)際問題中去,這必將給用戶帶來極大的方便。
評論