




已閱讀5頁,還剩74頁未讀, 繼續免費閱讀
CS8900A中文數據手冊 中文部分翻譯.pdf.pdf 免費下載
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄 目錄 CS8900A 產品數據手冊中文翻譯部分 1 3 0功能描述 1 3 1概述 1 3 1 1配置 1 3 1 2數據包發送 1 3 1 3數據包接收 2 3 2ISA 總線接口 2 3 2 1內存模式操作 2 3 2 2I O 模式操作 3 3 2 3中斷請求信號 3 3 2 4DMA 信號 4 3 3重置和初始化 4 3 3 1重置 4 3 3 1 1外部重置 或 ISA 重置 4 3 3 1 2加電重置 5 3 3 1 3掉電重置 5 3 3 1 4EEPROM 重置 5 3 3 1 5軟件初始重置 5 3 3 1 6硬件 HW 待命或暫停 5 3 3 1 7軟件 SW 暫停 5 3 3 2允許重置時間操作 5 3 3 3總線重置補償 6 3 3 4初始化 6 4 9內存模式操作 9 4 9 1進入內存模式 9 4 9 2把 CS8900A 配置成內存模式 9 4 9 3基本內存模式發送 10 4 9 4基本內存模式接收 11 4 9 5在內存模式下輪詢 CS8900A 11 4 10I O 空間操作 12 4 10 1接收 發送數據端口 0 和 1 12 4 10 2TxCMD 端口 12 4 10 3TxLength 端口 13 4 10 4中斷狀態隊列端口 13 4 10 5PacketPage 指針端口 13 4 10 6PacketPage 數據端口 0 和 1 13 4 10 7I O 模式操作 14 4 10 8基本 I O 模式發送 14 4 10 9基本 I O 接收 14 4 10 10采取內部寄存器 15 目錄 4 10 11I O 模式下輪詢 CS8900A 15 5 2基本接收操作 17 5 2 0 1概述 17 5 2 1專業術語 數據包 幀 傳送 17 5 2 1 1數據包 17 5 2 1 2幀 17 5 2 1 3傳送 18 5 2 2接收配置 18 5 2 2 1配置物理接口 19 5 2 2 2選擇接收哪個幀類型 19 5 2 2 3選擇哪個事件引發中斷 20 5 2 2 4選擇如何傳送幀 20 5 2 3接收幀預處理 21 5 2 3 1目標地址過濾 21 5 2 3 2早期中斷產生 21 5 2 3 3接受過濾 23 5 2 3 4正常中斷產生 23 5 2 4被持有的和 DMA 方式接收幀的比較 23 5 2 5緩沖被持有的接收幀 23 5 2 6轉發被持有的接收幀 25 5 2 7接收幀的可見性 25 5 2 8內存模式接收操作的例子 26 5 2 9接收幀字節計數器 27 5 7發送操作 27 5 7 1概要 27 5 7 2發送配置 28 5 7 2 1配置物理接口 28 5 7 2 2選擇哪個事件產生中斷 29 5 7 3更改配置 29 5 7 4使能 CRC 生成和添加填充位 30 5 7 5私有數據包發送 30 5 7 6以輪詢模式發送 31 5 7 7以中斷模式發送 33 5 7 8完成發送 34 5 7 9Rdy4TxNOW 和 Rdy4Tx 的比較 34 5 7 10為發送幀提供緩沖空間 35 5 7 11發送幀的長度 35 CS8900AProduct Data Sheet 37 3 0FUNCTIONALDESCRIPTION 37 3 1Overview 37 3 1 1Configuration 37 3 1 2Packet Transmission 37 3 1 3Packet Reception 38 3 2ISABus Interface 39 目錄 3 2 1Memory Mode Operation 39 3 2 2I O Mode Operation 39 3 2 3Interrupt Request Signals 40 3 2 4DMASignals 40 3 3Reset and Initialization 41 3 3 1Reset 41 3 3 1 1External Reset or ISAReset 41 3 3 1 2Power Up Reset 41 3 3 1 3Power Down Reset 42 3 3 1 4EEPROM Reset 42 3 3 1 5Software Initiated Reset 42 3 3 1 6Hardware HW Standby or Suspend 42 3 3 1 7Software SW Suspend 42 3 3 2Allowing Time for Reset Operation 42 3 3 3Bus Reset Considerations 43 3 3 4Initialization 43 4 9Memory Mode Operation 45 4 9 1Accesses in Memory Mode 45 4 9 2Configuring the CS8900Afor Memory Mode 45 4 9 3Basic Memory Mode Transmit 47 4 9 4Basic Memory Mode Receive 47 4 9 5Polling the CS8900Ain Memory Mode 48 4 10I O Space Operation 48 4 10 1Receive Transmit Data Ports 0 and 1 48 4 10 2TxCMD Port 49 4 10 3TxLength Port 49 4 10 4Interrupt Status Queue Port 49 4 10 5PacketPage Pointer Port 49 4 10 6PacketPage Data Ports 0 and 1 50 4 10 7I O Mode Operation 50 4 10 8Basic I O Mode Transmit 50 4 10 9Basic I O Mode Receive 51 4 10 10Accessing Internal Registers 51 4 10 11Polling the CS8900Ain I O Mode 52 5 2Basic Receive Operation 53 5 2 0 1Overview 53 5 2 1Terminology Packet Frame and Transfer 53 5 2 1 1Packet 53 5 2 1 2Frame 54 5 2 1 3Transfer 54 5 2 2Receive Configuration 55 5 2 2 1Configuring the Physical Interface 55 5 2 2 2Choosing which Frame Types toAccept 55 5 2 2 3Selecting which Events Cause Interrupts 56 目錄 5 2 2 4Choosing How to Transfer Frames 57 5 2 3Receive Frame Pre Processing 57 5 2 3 1DestinationAddress Filtering 58 5 2 3 2Early Interrupt Generation 59 5 2 3 3Acceptance Filtering 61 5 2 3 4Normal Interrupt Generation 61 5 2 4Held vs DMAed Receive Frames 61 5 2 5Buffering Held Receive Frames 61 5 2 6Transferring Held Receive Frames 62 5 2 7Receive Frame Visibility 63 5 2 8Example of Memory Mode Receive Operation 63 5 2 9Receive Frame Byte Counter 64 5 7Transmit Operation 65 5 7 1Overview 65 5 7 2Transmit Configuration 66 5 7 2 1Configuring the Physical Interface 66 5 7 2 2Selecting which Events Cause Interrupts 67 5 7 3Changing the Configuration 67 5 7 4Enabling CRC Generation and Padding 68 5 7 5Individual Packet Transmission 68 5 7 6Transmit in Poll Mode 69 5 7 7Transmit in Interrupt Mode 71 5 7 8Completing Transmission 73 5 7 9Rdy4TxNOW vs Rdy4Tx 73 5 7 10Committing Buffer Space to a Transmit Frame 74 5 7 11Transmit Frame Length 75 功能描述1 CS8900A 產品數據手冊中文翻譯部分 3 0功能描述 3 1概述 在正常操作下 CS8900A 表現出兩個基本的功能 以太網數據包發送和接收 在可以發送或接收前 必須配置 CS8900A 3 1 1配配置置 在啟動或重置時 必須配置 CS8900A 來進行數據包發送和接收 許多參數必 須寫進它的配置和控制寄存器例如內存基地址 以太網物理地址 接收什么類型 的幀 和使用哪些媒體接口 配置數據可以由主機 通過 ISA 總線 寫到 CS8900A 或自動從外部 EEPROM 加載 配置完成后就可以進行操作了 請看 18 頁 3 3 節和 20 頁 3 4 節關于配置過程的細節描述 46 頁 4 4 節提供配 置和控制寄存器的比特位的細節描述 3 1 2數數據據包包發發送送 數據包發送發送有兩個階段 在第一階段 主機移動以太網幀到 CS8900A 的 緩沖內存 第一階段以主機提交發送命令為開始 這通知 CS8900A 一個幀將要被 發送和告訴芯片什么時候開始發送 例如 5 381 1021 或所有字節已經傳送到網卡 時 和幀應該怎樣被發送 例如含不含有 CRC 含不含有填充比特 等 主機先 提交發送命令然后填寫發送長度 表明需要多少緩沖空間 當緩沖空間可用 主 機通過內存或 I O 空間操作 寫以太網幀到 CS8900A 內部內存 在發送的第二階段 CS8900A 轉換幀成為以太網數據包 然后發送到網絡 第二階段以當有適當數目的字節已經傳送到它的發送緩沖區時 5 381 1021 或整 個幀 依據配置 CS8900A 進行發送報文頭和幀開始定界符為開始 在報文頭和 幀開始定界符之后是目的地址 源地址 長度域和 LLC 數據 全部由主機提供 2CS8900A 產品數據手冊 如果幀少于 64 字節 包括 CRC 在內 CS8900A 會根據配置來判斷是否添加填充 比特 最后 CS8900A 添加適當的 32 位 CRC 值 98 頁 5 7 節提供關于數據包發送的細節描述 3 1 3數數據據包包接接收收 像數據包發送一樣 數據包接收發送有兩個階段 在第一階段 CS8900A 接 收以太網數據包并儲存它到片上內存 數據包接收的第一階段以接收幀通過模擬 前端和曼徹斯特解碼器 解碼器負責把曼徹斯特數據轉換為不歸零數據 然后 報文頭和幀開始定界符被剝去并且接收幀傳送到地址過濾器 如果幀目的地址符 合地址過濾器的配置標準 數據包就儲存在 CS8900A 的內部內存 CS8900A 然后 檢查 CRC 并根據配置通知處理器有接收幀 在第二階段 主機通過 ISA 總線傳送接收幀到主機內存 接收幀可以通過內 存空間操作 I O 空間操作 或使用主機的 DMA 進行 DMA 操作來傳送 同時 CS8900A 使用自動轉換 DMA 和流發送 提供在內存或 I O 操作和 DMA 操作之間 轉換的能力 78 頁 5 2 節到 95 頁 5 6 節提供對數據包接收的細節描述 3 2ISA 總線接口 CS8900A 提供直接接口和以 8 到 11MHz 的時鐘頻率運行的 ISA 總線連接 它 的片上總線驅動有能力發送 24mA 的驅動電流 允許 CS8900A 直接驅動 ISA 總線 而不用添加額外的 膠連邏輯 CS8900A 優化 16 位操作在內存空間 I O 空間 或作為 DMA 從設備下的數 據傳送 注意 ISA 總線操作在 8MHz 以下時 應該使用 CS8900A 的接收 DMA 模式來 減少幀丟失 請看 89 頁 5 4 節關于接收 DMA 操作的描述 3 2 1內內存存模模式式操操作作 當配置為內存模式操作時 CS8900A 的內部寄存器和幀緩沖映射到連續的 4K 功能描述3 字節的主機內存塊 來使主機直接存取 CS8900A 的內部寄存器和幀緩存 主機通 過使 MEMR 引腳接低電平來初始化讀操作 和使 MEMW 引腳接低電平來初始化 寫操作 請看 73 頁 4 9 節關于內存模式的資料 3 2 2I O 模模式式操操作作 當配置為 I O 模式操作時 通過映射到主機 16 個連續的 I O 位置的 8 個 16 位 I O 端口來存取 CS8900A I O 模式是 CS8900A 一個默認的配置 并且始終使能 進行 I O 讀寫操作時 AEN 引腳必須是低電平 而且 ISA 系統地址總線 SA0 SA15 的 16 位 I O 地址必須符合 CS8900A 的地址空間 進行 I O 讀操作時 IOR 必須是低電平 進行 I O 寫操作時 IOW 必須是低電平 請看 75 頁 4 10 節關于內存模式的資料 3 2 3中中斷斷請請求求信信號號 CS8900A 有 4 個可以直接連接到 ISA 總線上任意 4 個中斷請求信號的中斷請 求輸出引腳 任意時刻只能使用一個中斷輸出 在初始化階段通過向 PacketPage Memory base 0022h 地址寫入中斷號 0 to 3 來選擇中斷引腳 不使用的中斷請求 引腳置為高阻抗狀態 當使能了的中斷被激活 選擇的中斷請求引腳就變為高電 平 不斷讀取中斷狀態隊列 ISQ 寄存器直至其值為 0 時 引腳變為低電平 請看 78 頁 5 1 節關于 ISQ 的描述 表格 1 提供一種使用一般可用中斷且減輕開發板布置的可行方法來把中斷請 求引腳連接到 ISA 總線 CS8900A 中斷請求引腳ISA 總線中斷PacketPage base 0022h INTRQ3 Pin 35 IRQ50003h INTRQ0 Pin 32 IRQ100000h INTRQ1 Pin 31 IRQ110001h INTRQ2 Pin 30 IRQ120002h 表格 1 中斷分配 4CS8900A 產品數據手冊 3 2 4DMA 信信號號 CS8900A 直接和主機的 DMA 控制器連接 從而為來自 CS8900A 內存的接收 幀提供到主機內存的 DMA 傳送 CS8900A 有 3 對 DMA 引腳來直接連接 ISA 總 線的 3 個 16 比特的 DMA 通道 同一時刻只能使用一個 DMA 通道 在初始化期 間通過寫入要使用的通道號碼 0 1 或 2 到 PacketPage Memory base 0024h 來選 擇通道 不使用的 DMA 引腳置為高阻抗狀態 當 CS8900A 接收到幀并通過 DMA 傳送到主機內存時 選擇了的 DMA 請求引腳變為高電平 如果 DMABurst 比特位 寄存器 17 BusCTL Bit B 清 0 DMA 操作完成后引腳就變為低電平 如果 DMABurst 比特位置 1 DMA 傳送開始后引腳維持 32 微秒的低電平 DMA 引腳對排布在 CS8900A 里來減少開發板的布局 連接到總線時 Crystal 公司推薦表格 2 的配置 CS8900ADMA 信號 Pin ISADMA 信號PacketPage base 0024h DMARQ0 Pin 15 DRQ50000h DMACK0 Pin 16 DACK5 DMARQ1 Pin 13 DRQ60001h DMACK1 Pin 14 DACK6 DMARQ2 Pin 11 DRQ70002h DMACK2 Pin 12 DACK7 表格 2 DMA 分配 請看 89 頁 5 4 節關于 DMA 模式的描述 3 3重置和初始化 3 3 1重重置置 7 種不同的情況引起 CS8900A 重置內部寄存器和電路 3 3 1 1外外部部重重置置 或或 ISA 重重置置 當 RESET 引腳持續至少 400ns 的高電平時 發生一個芯片寬重置 在芯片寬 重置期間 所有 CS8900A 的電路和寄存器重置 功能描述5 3 3 1 2加加電電重重置置 當提供電力時 CS8900A 維持重置直到在供電引腳的電壓到達大約 2 5 伏特 一旦 Vcc 大于大約 2 5 伏特并且水晶振蕩器平穩后 CS8900A 重置結束 3 3 1 3掉掉電電重重置置 如果提供電壓跌到大約 2 5 伏特以下 出現芯片寬重置 一旦電力提供回到大 于大約 2 5 伏特并且水晶振蕩器平穩后 CS8900A 重置結束 3 3 1 4EEPROM 重重置置 如果檢測到 EEPROM 校驗和錯誤 出現芯片寬重置 參考 20 頁 3 4 節 3 3 1 5軟軟件件初初始始重重置置 當 RESET 比特位 寄存器 15 SelfCTL Bit 6 置 1 出現芯片寬重置 3 3 1 6硬硬件件 HW 待待命命或或暫暫停停 當 CS8900A 進入或退出 HW 待命模式或 HW 暫停模式 參考 25 頁 3 7 節關 于 HW 待命或暫停的更多資料 時 CS8900A 芯片寬重置結束 3 3 1 7軟軟件件 SW 暫暫停停 當CS8900A進入SW暫停模式時 除了ISA I O基地址寄存器 位于PacketPage base 0020h 和 SelfCTL 寄存器 寄存器 15 外 所有寄存器和電路重置 一旦退 出 出現芯片寬重置 參考 25 頁 3 7 節關于 SW 暫停的更多資料 3 3 2允允許許重重置置時時間間操操作作 重置后 CS8900A 經過一個自配置過程 它包括校準片上模擬邏輯 和讀取 EEPROM 來驗證和配置 重置校準需要的時間一般為 10ms 這時軟件驅動不應該 存取 CS8900A 的內部寄存器 當校準完成后 Self 狀態寄存器 寄存器 16 的 INITD 比特位置 1 這意味著初始化完成 并且同一個寄存器的 SIBUSY 比特位清 0 這 6CS8900A 產品數據手冊 表明 EEPROM 不再被讀取或編程 3 3 3總總線線重重置置補補償償 重置后 CS8900A 從 IO base 0Ah 讀取 3000h 直到軟件寫入一個非零的值到 IO base 0Ah 當系統掃描 CS8900A 時 3000h 這個值可以被看做為 CS8900A 簽 名的一部分 請看 75 頁 4 10 節 重置后 ISA 總線輸出引腳 INTRQx 和 DMARQx 是三態門的 這樣避免 ISA 總線加電時的任何中斷或 DMA 通道沖突 3 3 4初初始始化化 每種重置后 除了 EEPROM 重置 CS8900A 檢查 EEDataIn 引腳的電平 來 看是否有外部EEPROM存在 如果EEDI是高電平 則EEPROM存在并且CS8900A 自動加載儲存在 EEPROM 里的配置數據到它的內部寄存器 參考下一節 如果 EEDI 是低電平 則 EEPROM 不存在并且 CS8900A 重置后的默認配置如表格 3 PacketPage 地址寄存器內容寄存器描述 0020h0300hI O 基地址 0022hXXXX XXXX XXXX X100中段號碼 0024hXXXX XXXX XXXX XX11DMA 通道 0026h0000hDMAStart of Frame Offset 0028hX000hDMA 幀計數 002Ah0000hDMA 字節計數 002ChXXX0 0000h內存基地址 0030hXXX0 0000h啟動 PROM 基地址 0034hXXX0 0000h啟動 PROM 地址掩碼 0102h0003h寄存器 3 RxCFG 0104h0005h寄存器 5 RxCTL 0106h0007h寄存器 7 TxCFG 0108h0009h寄存器 9 TxCMD 010Ah000Bh寄存器 B BufCFG 010ChUndefined保留 010EhUndefined保留 0110hUndefined保留 0112h0013h寄存器 13 LineCTL 0114h0015h寄存器 15 SelfCTL 0116h0017h寄存器 17 BusCTL 功能描述7 0118h0019h寄存器 19 TestCTL I O 基地址是不會受軟件暫停模式影響的 表格 3 默認配置 一個低廉的串行 EEPROM 可以用來儲存配置消息 在每種重置后 除了 EEPROM 重置 用來自動加載到 CS8900A EEPROM 是可選擇使用的 CS8900A 和表格 4 中顯示的 6 個標準 EEPROM 的任意一個一起操作 EEPROM 類型Size 16 比特字 C46 non sequential 64 CS46 sequential 64 C56 non sequential 128 CS56 sequential 128 C66 non sequential 256 CS66 sequential 256 表格 4 提供 EEPROM 類型 PACKETPAGE 體系結構9 4 9內存模式操作 要把 CS8900A 配置成內存模式 PacketPage 內存必須被映射進一個主機內存 的連續的 4 kbyte 空間內 這塊空間必須以 X000h 為開始邊界 即 PacketPage 的基 地址映射到 X000h 當 CS8900A 被重置后 它默認的的配置是 I O 模式 一旦 Memory 模式被選擇后 CS8900A 所有的寄存器可以被直接存取 在內存模式下 CS8900A 支持標準的或者準備好的且沒有引入額外的等待狀 態的總線周期類型 內存寫入可以用 MOVD 命令 雙字傳送 只要 CS8900A 的內存基地址是在 雙字界上 因為 286 處理器不支持 MOVD 指令 字和字節傳送必須使用 286 指令 集 描述符號讀 寫位于 PocketPagebase 接收狀態RxStatus只讀0400h 0401h 接收長度RxLength只讀0402h 0403h 接收幀RxFrame只讀起始于 0404h 發送幀TxFrame只寫起始于 0A00h 表 16 接收 發送內存位置 4 9 1進進入入內內存存模模式式 CS8900A 允許對內部 PacketPage 內存的讀 寫 和可選 Boot PROM 的寫操作 參考 25 頁 3 7 節對可選 Boot PROM 的描述 當下面所有條件都成立時才可以 進行內存存取 ISA 系統地址總線 SA0 SA19 上的地址在 CS8900A 或 Boot PROM 的 內存空間范圍內 CHIPSEL 輸入引腳是低電平 MEMR 引腳或 MEMW 引腳是低電平 4 9 2把把 CS8900A 配配置置成成內內存存模模式式 有兩種不同的方法將 CS8900A 配置成內存模式操作 一種方法允許 CS8900A 的內部內存被映射進主機系統的 24 位內存空間的任意地方 另一種方法限制內存 10CS8900A 產品數據手冊 映射到主機內存空間的第一個 1M 字節空間 一般的內存模式的操作 配置 CS8900A 要使它的內部內存可以映射到主機內 存空間的任意地方需要以下操作 一個簡單電路必須被添加來解碼可鎖存的地址總線 LA20 LA23 和 BALE 引腳信號 主機必須如下把外部邏輯配置成正確地址范圍 1 查看 INITD 位 寄存器 16 SelfST Bit 7 是否設為 1 如果是則表明初 始化是完整的 2 查看 ELpresent 位 寄存器 16 SelfST Bit B 是否設為 1 這一位表明 存在 LA 總線解碼的外部邏輯 3 設置 EEPROM 命令寄存器的 ELSEL 位為 1 來激活 ELCS 引腳來使用外部 解碼電路 4 連續配置外部邏輯 主機必須把內存基地址寫進 Memory BaseAddress 寄存器 PacketPage base 002Ch 主機必須設置 MemoryE 位為 1 寄存器 17 BusCTL BitA 并且主機必須設置 UseSA 位為 1 寄存器 17 BusCTL Bit 9 限制內存模式到主機內存空間第一個 1 Mbyte 里 需要以下條件配置 CS8900A 使內部內存只能映射主機內存空間第一個 1 Mbyte 里 CHIPSEL 引腳必須連接到低電平 ISA bus SMEMR 信號必須被連接到 MEMR 引腳 ISA bus SMEMW 信號必須被連接到 MEMW 引腳 主機必須把內存基地址寫進 Memory BaseAddress 寄存器 PacketPage base 002Ch 主機必須設置 MemoryE 位為 1 寄存器 17 BusCTL BitA 并且主機必須把 UseSA 位清 0 寄存器 17 BusCTL Bit 9 4 9 3基基本本內內存存模模式式發發送送 內存模式發送操作以如下順序發生 使用中斷 PACKETPAGE 體系結構11 1 主機通過向 TxCMD 寄存器 memory base 0144h 寫入發送命令和向 TxLength 寄存器 memorybase 0146h 寫入發送幀的長度來爭取幀的保存 如果 發送長度是錯誤的 命令就會被丟棄并且 TxBidErr 位 寄存器 18 BusST Bit 7 設為 1 2 主機讀取 BusST 寄存器 寄存器 18 memory base 0138h 如果 Rdy4TxNOW 位 Bit 8 設為 1 幀就可以被寫入 如果清零 主機必須等待 CS8900A 緩沖區內存變成可用 如果 Rdy4TxiE 寄存器 B BufCFG Bit 8 設為 1 當 Rdy4Tx 寄存器 C BufEvent Bit 8 設為 1 時主機就會被中斷 3 一旦 CS8900A 準備好接收幀 主機執行重復的內存到內存的 move 指令 REP MOVS 來向 memory base 0A00h 這個地址把整個幀從主機內存傳進 CS8900A 內存 想得到更多的關于發送的細節描述 請看 98 頁的 5 7 節 4 9 4基基本本內內存存模模式式接接收收 內存模式接收操作以如下順序發生 中斷用來通知一個有效的接收幀的存 在 1 一個幀被 CS8900A 接收到后觸發一個激活了的中斷 2 主機讀取中斷狀態隊列 memory base 0120h 并且被通知收到幀 3 主機讀取 RxStatus 寄存器 memory base 0400h 來知道接收到的幀的狀態 4 主機讀取 RxLength 寄存器 memory base 0402h 來知道接收到的幀的長 度 5 主機讀取幀數據時通過執行重復的內存到內存的 move 指令 REP MOVS 向 memory base 0404h 從 CS8900A 內存到主機內存發送整個幀 想得到更多的關于接收的細節描述 請看 78 頁的 5 2 節 4 9 5在內存模式下輪詢 CS8900A 如果中斷不被使用 主機可以輪詢 CS8900A 來檢查是否有接收幀的存在和內 存空間是否可用于發送 但是 這是不在數據手冊的范圍之內 12CS8900A 產品數據手冊 4 10I O 空間操作 再 I O 模式 PacketPage 內存通過映射到主機系統的 I O 空間的 16 個連續 I O 位置的 16 位的 I O 端口來存取 I O 模式是 CS8900A 默認的配置并且總是激活的 當通電之后 I O 基地址的默認值設置為 300h 請注意 300h 通常被分配給局域網 外圍設備 I O 基地址可以被改為任何的可用的 XXX0h 地址位置 或者是通過從 EEPROM 下載配置數據 或者是系統啟動期間 表格 17 展示了 CS8900A 的 I O 模式映射 偏移量類型描述 0000h讀 寫接收 發送數據 端口 0 0002h讀 寫接收 發送數據 端口 1 0004h只寫TxCMD 發送命令 0006h只寫TxLength 發送長度 0008h只讀中斷狀態隊列 000Ah讀 寫PacketPage 指針 000Ch讀 寫PacketPage 數據 端口 0 000Eh讀 寫PacketPage 數據 端口 1 表 17 I O 模式映射 4 10 1接接收收 發發送送數數據據端端口口 0 和和 1 這兩個端口當向 CS8900A 發送發送數據時被使用 端口 0 用于 16 位操作并 且端口 0 和 1 用于 32 位操作 低字位放在端口 0 4 10 2TxCMD 端端口口 主機在每次發送操作開始都把發送命令 TxCMD 寫進這個端口 發送命令告 訴 CS8900A 主機有幀要發送 同時幀應該怎樣被發送 這端口被映射到 PacketPage base 0144h 請看 46 頁 4 4 節寄存器 9 來獲得更多信息 PACKETPAGE 體系結構13 4 10 3TxLength 端端口口 發送幀的長度在發送命令寫入后馬上被寫進這里 這個端口映射到 PacketPage base 0146h 4 10 4中中斷斷狀狀態態隊隊列列端端口口 這端口包含當前中斷狀態隊列的值 ISQ ISQ 在 PacketPage base 0120h 這個 位置 想得到更多關于 ISQ 的描述 請看 78 頁 5 1 節 4 10 5PacketPage 指指針針端端口口 任何時候主機想存取任何的 CS8900A 的內部寄存器 PacketPage 指針端口就 會被寫入 第一個 12 位 bits 0 到 B 提供了在目前操作期間要存取的目標寄存 器的內部地址 后三位 C D 和 E 是只讀的并且讀到的總是 011b 當寫入 PacketPage 指針端口時 任何方便的值可以被寫入這些位 最后一位 Bit F 表明 PacketPage指針是否應該被自動增加來指向下一個字的位置 圖18展示PacketPage 指針的結構 圖 18 PacketPage 指針 4 10 6PacketPage 數數據據端端口口 0 和和 1 PacketPage 數據端口是用來向 CS8900A 內部寄存器交換數據的 端口 0 用于 I O base 000BhI O base 000Ah FEDCBA9876543210 Bit F 0 指針保持不變 1 自動增加到下一個字的位置 PacketPage寄存器地址 011 14CS8900A 產品數據手冊 16 bit 操作并且端口 0 和 1 用于 32 bit 操作 低字位放在端口 0 4 10 7I O 模模式式操操作作 要想 I O 讀或寫操作 AEN 引腳必須是低電平 并且在 ISA 系統地址總線 SA0 SA15 上的 16 位 I O 地址必須符合 CS8900A 的地址空間 讀數據時 IOR 引腳 必須是低電平 和寫數據時 IOW 引腳必須是低電平 注意 ISA 可鎖存地址總線 LA17 LA23 對于只用 I O 模式和接收 DMA 操作 的應用是不需要的 4 10 8基基本本 I O 模模式式發發送送 I O 模式發送操作以以下順序進行 使用中斷 1 主機通過向 TxCMD 端口 I O base 0004h 寫入發送命令并且向 TxLength 端口 I O base 0006h 寫入發送幀的長度來請求存儲幀 2 主機讀 BusST 寄存器 Register 18 來看 Rdy4TxNOW 位 Bit 8 是否置為 1 要讀 BusST 寄存器 主機必須先通過寫入 0138h 到 PacketPage 指針端口 I O base 000Ah 設置 PacketPage 指針到正確的位置 它就能從 PacketPage 數據端口 I O base 000Ch 讀取 BusST 寄存器 如果 Rdy4TxNOW 位設置為 1 這個幀可以被 寫入 如果清為 0 主機必須等待 CS8900A 緩沖內存變為可用為止 如果 Rdy4TxiE 寄存器 B BufCFG Bit 8 設為 1 當 Rdy4Tx 寄存器 C BufEvent Bit 8 置為 1 主機就會被中斷 如果 TxBidErr 位 寄存器 18 BusST Bit 7 置為 1 發 送長度就無效 3 一旦 CS8900A 準備好接收幀 主機向接收 發送數據端口 I O base 0000h 執行重復寫指令 REP OUT 來從主機內存向 CS8900A 內存傳送整個幀 想得到更多發送的細節描述 請看 98 頁 5 7 節 4 10 9基基本本 I O 接接收收 I O 模式接收操作以以下順序進行 在這個例子里 中斷被激活來通知一個有 效接收幀的存在 PACKETPAGE 體系結構15 1 一個被 CS8900A 接收的幀 觸發并使能中斷 2 主機讀中斷狀態隊列端口 I O base 0008h 并被通知有接收幀 3 主機讀取幀數據時通過執行重復的讀指令 REP IN 向接收 發送數據端 口 I O base 0000h 來從 CS8900A 內存向主機內存來傳送數據 在幀數據之前是 RxStatus 寄存器 PacketPage base 0400h 和 RxLength 寄存器 Pack etPage base 0402h 的內容 想得到更多接收的細節描述 請看 78 頁 5 2 節 4 10 10采采取取內內部部寄寄存存器器 要在 I O 模式下存取 CS8900A 任意的內部寄存器 主機必須先建立 PacketPage 指針 它做到這點是通過寫入目標寄存器的 PacketPage 地址到 PacketPage 指針端 口 I O base 000Ah 目標寄存器的內容然后就映射進 PacketPage 數據端口 I O base 000Ch 如果主機需要采取連續的寄存器塊 要存取的第一個字的 PacketPage 地址的 MSB 最高有效位 應該設為 1 PacketPage 指針就會自動移到下一個字的位置 消 除了在連續存取時建立 PacketPage 指針需要 查看圖 18 4 10 11I O 模模式式下下輪輪詢詢 CS8900A 如果不使用中斷 主機可以輪詢 CS8900A 來檢查接收幀是否存在和內存空間 是否可用于發送 操作17 5 2基本接收操作 5 2 0 1概概述述 一旦一個傳入的數據包傳到模擬前端和曼徹斯特解碼器 它會經過以下三個 發送處理步驟 1 預處理 2 臨時緩沖 3 傳送到主機 圖 20 展示幀的接收步驟 如圖所示 不管任何傳送方法 所有接收幀經過相同預處理和臨時緩沖階段 一旦一個幀被預處理和緩沖 它可以在內存或 I O 空間被主機取出 另外 CS8900A 可以通過主機 DMA 傳送接收幀到主機內存 這一節描述接收幀的預處 理和內存和 I O 空間的接收操作 89 頁 5 4 節到 92 頁 5 5 節描述 DMA 操作 5 2 1專專業業術術語語 數數據據包包 幀幀 傳傳送送 詞匯數據包 幀 傳送廣泛在下面的章節中使用 他們的清晰定義在下面 5 2 1 1數數據據包包 詞匯 數據包 是指在以太網發送的整個比特序列串 包括報文頭 幀的開始分 隔符 SFD 目的地址 DA 源地址 SA 長度域 數據域 填充位 如果 有需要 還有幀檢查序列 FCS 也叫做 CRC 圖 9 展示了數據包的格式 5 2 1 2幀幀 詞匯 幀 是指一個數據包從目的地址到幀檢查序列的部分 這包括目的地址 DA 源地址 SA 長度域 數據域 填充位 如果有需要 還有幀檢查序 列 FCS 也叫做 CRC 圖 9 展示了數據包的格式 詞匯 幀數據 是指從目的地 址到幀檢查序列之間將要發送 或已經被接收的所有數據 18CS8900A 產品數據手冊 圖 20 幀接收 5 2 1 3傳傳送送 詞匯 傳送 是指通過 ISA 總線 向 CS8900A 或從他那里移動數據 在接收 操作期間 只有幀數據被從 CS8900A 向主機傳送 報文頭和幀開始分隔符被 CS8900A 的 MAC 引擎去除 幀檢查序列可以也可以不被傳送 這依賴于怎樣配 置 所有向或來自 CS8900A 的傳送是以字節來計算的 但可能被填充為雙字對齊 5 2 2接接收收配配置置 在每次重置后 必須為接收操作配置 CS8900A 可以通過使用連接的 EEPROM 或寫入配置命令到 CS8900A 的內部寄存器 請看 20 頁 3 4 節 做到這點 必需配 置的項目包括 使用哪個物理接口 接收哪種類型的幀 哪個接收事件引起中斷 還有 怎樣傳送接收幀 接收包 移除包頭和幀開始分隔符 幀預處理 幀臨時緩沖 使用 DMA 芯片上的幀 主機從 CS8900A 內 存 幀由DMA傳 到主機內存 主機從主機 內存讀取幀 NoYes 操作19 5 2 2 1配配置置物物理理接接口口 配置物理接口包括決定哪個以太網接口應該被激活 和為連續接收激活接收 邏輯 這可以通過 LineCTL 寄存器 寄存器 13 做到和在表 18 中有描述 寄存器 13 LineCTL 位位名字操作 6SerRxON置 1 后 接收被激活 8AUIonly置 1 后 AUI 被選中 優先于 AutoAUI 10BT 9AutoAUI 10BT置 1 后 激活自動接口選擇 當 8 和 9 位清 0 后 選擇了 10BASE T ELoRx Squelch置 1 后 接收器靜噪水平降低約 6 分貝 表格 18 物理接口配置 5 2 2 2選選擇擇接接收收哪哪個個幀幀類類型型 RxCTL 寄存器 寄存器 5 用來決定 CS8900A 接收哪個幀類型 當接收幀被緩 沖 在芯片或者通過 DMA 在主機內存上 這個幀就認為成功接收 表 19 描述了 這個寄存器的配置位 參考 86 頁 5 3 節來獲得目的地址過濾的細節描述 寄存器 5 RxCTL 位位名字操作 6IAHashA置 1 后 通過哈希過濾器的私有地址幀被接受 7PromiscuousA置 1 后 所有幀被接受 8RxOKA置 1 后 通過 DA 過濾器含有效長度和 CRC 的幀被接受 9MulticastA置 1 后 通過哈希過濾器的組播幀被接受 AIndividualA置 1 后 含有符合 PacketPage base 0158h 的 IA 的 DA 的幀被接受 BBroadcastA置 1 后 所有廣播幀被接受 CCRCerrorA置 1 后 通過 DA 過濾器且含有錯誤 CRC 的幀被接受 DRuntA置 1 后 通過 DA 過濾器且短過 64 字節的幀被接受 EExtradataA置 1 后 通過 DA 過濾器且長過 1518 字節的幀被接受 只有第一個 1518 字節被緩沖 表格 19 幀接收標準 必須符合 bits 8 C D 和 E 的編程標準 20CS8900A 產品數據手冊 5 2 2 3選選擇擇哪哪個個事事件件引引發發中中斷斷 RxCFG寄存器 寄存器3 和BufCFG寄存器 寄存器B 用來決定哪個接收事件 引起主機處理器中斷 表格 21 描述這些寄存器的中斷使能 iE 位 寄存器 3 RxCFG 位位名字操作 8RxOKiE置 1 后 接收到有有效長度和 CRC 的幀后產生中斷 CCRCerroriE置 1 后 接收到含錯誤 CRC 的幀后產生中斷 DRuntiE置 1 后 接收到短過 64 字節的幀后產生中斷 EExtradataiE置 1 后 接收到長過 1518 字節的幀后產生中斷 產生中斷之前必須通過 DA 過濾器 表格 20 寄存器 B RufCFG 位位名字操作 7RxDMAiE置 1 后 如果有一個或多個幀通過 DMA 傳送就產生中斷 ARxMissiE置 1 后 如果幀由于接收緩沖區空間不夠而丟棄就產生中斷 BRx128iE置 1 后 如果接收數據的第一個 128 字節被緩沖就產生中斷 DMissOvfloiE置 1 后 如果 RxMISS 遇到溢出就產生中斷 FRxDestiE置 1 后 如果傳入的幀的 DA 被緩沖就產生中斷 表格 21 寄存器 3 和 B 中斷配置 5 2 2 4選選擇擇如如何何傳傳送送幀幀 RxCFG 寄存器 寄存器 3 和 BusCTL寄存器 寄存器 17 用來決定幀怎樣被傳送 到主機內存 正如表格 22 的描述 寄存器 3 RxCFG 位位名字操作 7StreamE置 1 后 使能流發送器 9RxDMAonly置 1 后 DMA 從操作用于所有接收幀 AAutoRX DMAE置 1 后 使能自動轉換 DMA 操作21 BBufferCRC置 1 后 緩沖接收到的 CRC 寄存器 17 BusCTL 位位名字操作 BDMABurst置 1 后 DMA 操作占用總線約 28 s 清 0 后 DMA 操作持續 DRxDMAsize置 1 后 DMA 緩沖區大小是 64 Kbytes 清 0 后 是 16 Kbytes 表 22 接收幀預處理 5 2 3接接收收幀幀預預處處理理 CS8900A 有四個步驟預處理所有接收幀 1 目的地址過濾 2 早期中斷產生 3 驗收濾波 和 4 正常中斷產生 圖 21 提供幀的預處理圖 5 2 3 1目目標標地地址址過過濾濾 所有進來的幀都通過目標地址過濾器 DA 過濾器 如果幀的 DA 通過 DA 過 濾器 幀就會傳到下一個預處理 如果它通不過 DA 過濾器 幀就被丟棄 請看 86 頁 5 3 節來獲得更多 DA 過濾器的細節描述 5 2 3 2早早期期中中斷斷產產生生 CS8900A 支持以下兩個用來通知主機收到幀的早期中斷 RxDest 當傳入的幀的目的地址 DA 通過 DA 過濾器 RxDest 位 寄存器 C BufEvent Bit F 就置為 1 如果 RxDestiE 位 寄存器 B BufCFG bit F 置為 1 CS8900A 產生相應的中斷 一旦 RxDest 置為 1 主機被允許讀取傳入的幀的 DA 幀的第一個 6 字節 Rx128 當傳入的幀的第一個 128 字節已經被接受 Rx128 位 寄存器 C BufEvent Bit B 就置為 1 如果 Rx128iE 位 寄存器 B BufCFG bit B 置為 1 CS8900A 產生相應的中斷 一旦 Rx128 位置為 1 RxDest 位清 0 并且主機被允許 22CS8900A 產品數據手冊 讀進來的幀的第一個 128 字節 Rx128 位會在主
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年鐵上脫鎳粉項目投資價值分析報告
- 2025年口腔照明燈項目投資風險評估報告
- 科技人才引進貸款擔保合同
- 個人借款抵押土地使用權合同范本
- 工程設計合同聘用協議
- 電力購買合同范本
- 果園經營承包合同模板
- 房地產交易合同范本
- 長期合作標準產品采購合同
- 終止勞動合同補充協議
- 2020年交安A、B、C證(公路)考試題庫1088題(含答案)
- 節后復工檢查表
- 氣象報文日常航空天氣報告電報翻譯
- 航空航天概論-第三章飛行器動力系統
- 一年級下冊數學教案-3.1 估數與數數 |冀教版
- 斯大林格勒保衛戰精選教學課件
- 高處作業審批表
- 人員下班安全檢查記錄表
- 礦山礦石損失與貧化管理規程
- 安全生產晨會管理制度
- 曾奇峰精神分析網絡課程學習筆記第1-6講
評論
0/150
提交評論