嵌入式系统以太网卡控制器LAN91C96

时间:2023-01-08 00:21:44 理工毕业论文 我要投稿
  • 相关推荐

嵌入式系统以太网卡控制器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】相关文章:

一个嵌入式系统的Petri网模型与CPLD实现05-29

适应实时多任务的微控制器高效指令支持05-29

基于Gene8310的嵌入式家庭服务机器人05-11

嵌入式实时网络通信技术浅析论文(精选7篇)07-26

前台mis治理系统06-04

绩效治理系统及作用06-05

综合布线系统概述09-22

项目管理系统开题报告06-30

供给链系统的柔性性能06-03