基于以太网的嵌入式系统网络接口卡的设计
华中师范大学电信系 何轩,夏应清 ,湖北经济学院计科系 李祥
摘要: 介绍了以10M/100M自适应以太网控制器和DSP为基础的嵌入式系统以太网网络接口卡(NIC) 的接口电路及软硬件实现方法。
关键词: 嵌入式系统 NIC; 网络接口卡;LAN91C111
引言
当今社会己经进入数字信息技术和网络技术高速发展的后PC时代,嵌入式系统己经广泛渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术、娱乐业以及人们的日常生活等方方面面。随着网络技术的快速发展和互联网的广泛应用,各种家电设备、PDA、仪器仪表、工业生产中数据的采集与控制等设备正在逐渐走向网络化,以共享互联网络中庞大的信息资源。嵌入式设备的网络化开发有着广阔的前景。
本文以SMSC公司的LAN91C111嵌入式以太网控制器为基础,介绍嵌入式系统网络接口卡(NIC)的软硬件设计。
LAN91C111芯片介绍
LAN91C111是SMSC公司生产的专门用于嵌入式产品的10M/100M第三代快速以太网控制器。其优良的性能、低功耗及小尺寸,使LAN91C111逐渐成为嵌入式NIC中的主流产品,其主要性能为:
·支持IEEE 802.3(ANSI8802-3)以太网标准
·自适应地选择传输速率,支持10M/100Mbps
·充分支持全双工交换式以太网,具有睡眠模式
·8KB内部存储器用作接受发送的FIFO缓存
·提前发送和接受功能
·硬件MMU
·通过串行EEPROM选择性配置□
·全双工传输模式
·可连接同轴电缆和双绞线,支持100Base-Tx/10Base-T,并可自动检测所连介质
·低功耗的CMOS设计。
一个IEEE 802.3数据帧由以下几部分组成: 前导位(Preamle)、帧起始位(SFD)、目的地址(destination)、源地址(source)、数据长度(1ength)、数据((data)、帧校验字(FCS)。如图1所示,数据的数量范围46B ~1500B。如一组要传送的数据为46B,就用零补足;超过1500B时,需要拆成多个帧传送。前导位、帧起始位和帧校验字仅供控制器本身用,主处理器收到的数据帧的组成依次包括:接收状态((1 B)、下一帧的页地址指针 (1 B)、目的地址(6B),源地址(6B)、数据长度/帧类型(2B)、数据。数据长度/帧类型的值小于或等于1500B时,表示数据帧的长度;反之,表示数据帧的类型。如值依次为x08, 0x00,表示数据为IP包;值依次为0x08, 0x06,表示数据为ARP包。