《DM9000以太网路晶片控制》.pdf

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chapter 1 DM9000 乙太網路晶片控制 DM9000是一款乙太網控制晶片 ,在網路中它可自動獲得同設定 MAC 位址 一致的 IP 包 ,完成 IP 包的收發 ,再用一個單晶片 來結合完成上層協議 ,就構 成了一個完整的網路終端 。 1-1.DM9000讀取 、寫入暫存器方式 DM9000 控制讀取和寫入暫存器方式 ,十分容易。DM9000 有資料和索引埠 。 而這二個埠由CMD 接腳控制 ,若 CMD 接電位時為控制資料埠 , CMD 接低 電位為控制索引埠 。 要讀寫任何一個暫存器時 ,方式如下 : 1. 將AEN , SA4 ~9 使 DM9000 使能 。 2.設置 CMD 接腳為低電位 。 3. 將要讀寫的暫存器的位置填入索引埠(IOW#) 。 4.設置 CMD 接腳為高電位 。 5. 將要讀寫的暫存器的資料填入或讀出資料埠(IOW# , IOR#) 。 1-2.DM9000記憶體工作原理 DM9000 共有 16K Byte(0000h ~3FFFh) 內存 ,而讀寫內存由 MWCMD , MRCMD 這二個暫存器來 控制 。而MWRL , MWRH 暫存器提供现在寫 入内 存的位置 ,MRRL , MRRH 暫存器提供 现在讀取内存的位置 。而内存每次移 動依工作模式 ,每次移動一個 Byte(8 bit) 或二個 Byte(16 bit) 或四個 Byte (32 bit) 。 1-3.DM9000 封包傳送工作原理 記憶體中預設值有 3K Byte (0000h ~ 0BFFh) 提供給傳送功能使用 。而傳送一個封 包流程如下 : 1. 將要傳送封包的長度 ,填入到TXPLL , TXPLH 暫 存器 。 2. 將要傳送封包的資料由MWCMD 暫存器寫 入記憶體中 。 3. 由 TCR 暫 存器使 DM9000 送出封包資料 。 4. 若記憶體的寫入位置超過 0BFFh 時 ,自動將下 一個位置回復到0000h 。 1-4.DM9000 如何傳送封包 在傳送個封包之前 ,需將其封包資料存放在DM9000 的傳送記憶體 0000h ~0BFFh 。若是寫入位置超過 0BFFh 時 ,DM9000 會自動將位置移到 0000h 的 位置 。將封包資料存放在MWCMD 中 ,DM9000會自動將其資料存向其傳送記 憶體中 。 另外還需將要傳送封包的大小存放在 TXPLL(low_byte) TXPLH(high_byte) 。 之後再將TCR bit 0 設為 1 ,此時開始進行封包的傳送 。而在傳送完成後 ,會 將 傳送是否成功的資訊放在 TSRI , TSRII中 。放的順序為TSRI - TSRII - TSRI -TSRII …所以需要依照。 NSR bit 2 ~ 3 來判斷現在是TSRI 或 TSRII 傳送完成 。 圖 1-1 傳包說明 1-5.DM9000 封包接收工作原理 記憶體中預設值有 13K Byte (0C00h ~ 03FFh) 提供給接收功能使用 。在每一個 封包 ,會有 4 個 Byte 存放一些封包相關資料 。第 1 個 Byte 是封包是否已存放在 接收內存 ,若值為 “01h” 為封包已存放於接收記憶體 ,若為 “00h” 則 RX RAM 尚 未有封包存放 。 在讀取其他 Byte 之前 ,必需要確定第1 個 byte 是否為 “01h” 。第 2 個 Byte 則 為這個封包的一些相關訊息 ,它他的格式像RSR 暫 存

文档评论(0)

ghfa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档