嵌入式系统以太网卡控制器LAN91C96
关键词:嵌入式系统 NIC 网络接口卡 LAN91C96
引 言
当今社会已经进入数字信息技术和网络技术高速发展的后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地址并存储在相应的寄存器中。
(凹丫丫范文网fanwen.oyaya.net收集整理)
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中开辟相应大小的空间,并以中断的方式告知主处理器。在数据帧被
《嵌入式系统以太网卡控制器LAN91C96》