日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DM9000网卡原理与基地址设置

發布時間:2023/12/10 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DM9000网卡原理与基地址设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


從上面可以看出DM9000的地址總線就一根,它不像CS8900那樣地址總線和數據總線都齊全。而這里只有一根地址線(CMD),16跟數據線,所以可以確定位寬為16位,而地址線為什么只有一根,這是DM9000決定的,看手冊可以知道CPU總線只訪問它的兩個地址,CMD管腳為0時,數據線送的是DM9000的寄存器地址,CMD管腳為1時,數據線上送的是16位的寄存器數據,所以對DM9000的操作至少需要兩步:先寫地址,再寫(讀)數據。他不像其他類內存總線那樣直接把數據寫到地址傳輸一次就可以了,而他要傳輸兩次,因為他的總線地址就退化成了類似于NAND的ALE信號,就是地址和數據的區分信號了,而不是DM9000里面操作的寄存器地址。

上面的片選信號為:nLAN_CS,鏈接到S3C2440的CS4,對應BANK4,所以基地址為0X20000000,網上很多人討論為什么有的開發板基地址設置為0X20000300,這個是沒有任何作用的,之前分析了,DM9000對于CPU的地址線只認識一根線,只要這根線對應的CPU傳送的地址的對應位匹配就可以了,上面接到LADDR2,也就是說:

傳寄存器地址的時候操作的總線地址滿足:

以基地址起頭(0x20000000),偏移基地址LADDR2為0(低四位:0000),也就是寫的時候總線地址為:0x20000000

傳寄存器數據的時候操作的總線地址滿足:

以基地址起頭,偏移基地址LADDR2為1 (低四位:0100),也就是寫的時候總線地址為:0x20000004

所以首先滿足總線地址在BANK4里面(這樣CS4才能自動選中),其次滿足最后四位為0(傳送寄存器地址)或4(傳送數據)就可以了,滿足這兩個條件地址隨便設。

所以上面0x20000300這個多出的300H沒任何意義,他滿足上面條件,你設置為0x20000400,0x20000320,0x23456780這些地址都沒任何影響。

上面分析知道了基地址,位寬,再簡要說下中斷引腳:

這里的IRQ_LAN接的是S3C2440的ENT7,用的外部中斷7,這個中斷用于接收數據時觸發的,中斷服務函數處理接收數據,向協議層上報接收數據。這個中斷號要和驅動里面的對應起來。

DM9000移植的要點:

1 基地址(看CS接口)

2 CPU的寄存器設置:位寬,時序等設置

3 設置中斷號(看中斷接口)

總結

以上是生活随笔為你收集整理的DM9000网卡原理与基地址设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。