- 相關推薦
嵌入式系統以太網卡控制器LAN91C96
摘要:以LAN91C96為例,介紹嵌入式以太網控制器基本結構;結合PXA250(XScale),分析嵌入式系統網絡接口卡(NIC)軟硬件設計。引 言
當今社會已經進入數字信息技術和網絡技術高速發展的后PC(Post-PC)時代,嵌入式系統已經廣泛滲透到科學研究、工程設計、軍事技術、各類產業和商業文化藝術、娛樂業以及人們的日常生活等方方面面;而網絡技術的快速發展和互聯網的廣泛應用,使得嵌入式產品有了更廣泛的前景。各種家電設備、PDA、儀器儀表、工業生產中數據的采集與控制等設備正在逐漸走向網絡化,以共享互聯網絡中龐大的信息資源。嵌入式設備的網絡化開發有著廣闊的前景。
本文以SMSC公司的LAN91C96嵌入式以太網控制器為例,介紹嵌入式系統網絡接口卡(NIC)的軟硬件設計。
1 以太網控制器LAN91C96簡介
LAN91C96是SMSC公司生產的專門用于嵌入式產品的10M以太網控制器。其優良的性能、低功耗及小尺寸,使LAN91C96成為嵌入式NIC中的主流產品。
圖1
1.1 主要特點
◆ 支持IEEE802.3(ANSI8802-3)以太網標準
◆ 全雙工收發方式,具有睡眠模式
◆ 6KB的片上RAM
◆ 與處理器接口可采用PCMCIA、ISA或Motorola 68000
◆ 支持先進的傳輸隊列管理
◆ 硬件MMU
◆通過串行EEPROM選擇性配置
◆ 全雙工傳輸模式
◆可連接同軸電纜和雙絞線,支持10Base5、10Base2、10BaseT,并可自動檢測所連介質
◆ 高級的電源管理特性
◆ 支持“Magic Packet”電源管理技術
◆ 低功耗的CMOS設計
1.2 內部框架
圖1是LAN91C96原理框圖。
LAN91C96網卡控制其內部集成了6KB的RAM,用來存放數據包。內部的MMU、判決器和DMA對數據包的傳輸發送進行有效的管理。CSMA/CD(載波監聽多路訪問/沖突避免)模塊集成了IEEE 802.3 MAC層協議,負責監聽網絡情況和地址過濾,若目的地址是LAN91C96的地址、廣播地址或多播地址,則接收此數據包,否則拋棄。內部物理接口(PHY)包含一個ENDEC和10BaseT Transceiver。編解碼器(ENDEC)負責曼徹斯特(Manchester)編解碼,并提供標準6腳連接單元接口(AUI),外接同軸傳輸接收器,應用10Base2/5。傳輸數據時,10BaseT Transceiver負責把主控制器傳過來的反向不歸零碼(NRZ)數據轉換為Manchester數據,并以適當的電平加以驅動;接收時負責連接完整性測試。外接的串行電可擦除只讀ROM(EEPROM)中可存儲網卡的MAC地址,當OS啟動加載網卡時,以太網控制器就從EEPROM的固定地址中讀取MAC地址并存儲在相應的寄存器中。
1.3 工作原理
LAN91C96內部6KB的RAM為數據包的傳輸接收提供緩沖,使全雙工工作模式下數據傳輸率可達10Mbps;MMU把RAM分成256B的頁,并負責為每個數據幀分配一個或多個頁。
當主處理器傳輸數據時,MMU首先根據數據大小為其在RAM中分配若干頁。在數據傳送到RAM時,此數據幀的幀號也在TX FIFO中排隊,然后此數據幀在輪到時傳送到PHY模塊進行Manchester編碼,最后根據CSMA/CD協議把此數據幀傳送到相應的介質上。
在介質上有數據時,LAN91C96將數據幀復制一份并傳送到ENDEC模塊進行Manchester解碼,而CSMA/CD模塊根據該數據幀頭的目的地址是否為本網卡MAC地址、廣播或多播地址來決定此數據幀的取舍。若地址匹配,MMU為其在RAM中開辟相應大小的空間,并以中斷的方式告知主處理器。在數據幀被取走后,MMU釋放此塊內存。
1.4 數據幀的構成
一個IEEE 802.3數據幀由以下幾個部分組成:前導位(preamle)、幀起始位(SFD)、目的地址(destination)、源地址(source)、數據長度(length)、數據(data)、幀校驗字(FCS)。如圖2所示,數據的數量范圍46~1500B,如一組要傳送的數據為46B,就用零補足;超過1500B時,需要拆成多個幀傳送。前導位、幀起始位和幀校驗字僅供控制器本身用,主處理器收到的數據幀的組成依次包括:接收狀態(1B)、下一幀的頁地址指針(1B)、目的地址(6B)、源地址(6B)、數據長度/幀類型(2B)、數據。數據長度/幀類型的值小于或等于1500B時,表示數據場的長度;反之,表示數據幀的類型。如值依次為 0x08、0x00,表示數據為IP包;值依次為0x08、0x06,表示數據為ARP包。
2 以太網卡設計方案
2.1 硬件設計方案
此設計方案采用的嵌入式處理器是Intel公司的PXA250(XScale)。該處理器是Intel為了滿足便攜式和嵌入式應用需求而優化的微處理器。PXA250基于Intel XScale微體系結構,RISC架構,最高可以運行400MHz。 PXA250采用ARM指令、數據高速緩存、內存管理單元(MMU)和讀/寫緩沖器。另外,PXA250提供系統支持邏輯、多串行通信通道、彩色/灰度刻度LCD控制器、支持PCMCIA、通用I/O端口、USB、串口、紅外接口、JTAG、音頻等。
圖3是嵌入式以太網卡的原理圖。LANC91C96內部寄存器可通過對地址線A0、A1、A2、A3……的操作來訪問,LAN91C96內部寄存器寬度是16bit;而PXA250的訪問寬度是32bit,所以LANC91C96的A1、A2、A3……分別與P
【嵌入式系統以太網卡控制器LAN91C96】相關文章:
適應實時多任務的微控制器高效指令支持05-29
前臺mis治理系統06-04
績效治理系統及作用06-05
綜合布線系統概述09-22
項目管理系統開題報告06-30
供給鏈系統的柔性性能06-03