基于LAN91C111的嵌入式以太网接口设计
随着CPU性能的大幅度提升, 嵌入式系统的设计已经进入了更广泛的领域。随着FPGA的不断发展和规模的进一步强大, SOPC的应用也越来越广泛。由于SOPC的可编程特性很受嵌入式系统开发人员的青睐, 因此, 随着信息产业和微电子技术的发展, 可编程嵌入式系统设计已经成为信息产业最热门的技术之一, FPGA正以各种电子产品的形式进入人们日常生活的各个角落。
以太网以其良好的通用性和带宽性能成为新一代工业控制网络的焦点, 目前, 关于嵌入式以太网的设计方案大部分是基于单片机的。由于单片机的速度慢, 而FPGA作为一种特殊的嵌入式微处理器系统, 则具有快速处理数据的能力。因此, 在嵌入式网络设备中引入FPGA技术, 可以使嵌入式以太网的速度更快。为此, 本文介绍基于FPGA 的嵌入式系统与LAN91C111 型自适应10Mb/100Mb嵌入式以太网的接口电路与实现方法。
1 硬件设计
1.1 FPGA的特点
本系统的主控芯片采用ALTERA公司CycloneII系列的EP2C35F484。FPGA内部集成有锁相环,可以把外部时钟倍频, 其核心频率可以到几百兆, 同时具有丰富的IO资源, 可以方便连接外设。FPGA的并行执行程序方式具有处理更复杂功能的能力, 而且内部嵌有SOPC和DSP。可编程SOPC是一种特殊的嵌入式系统, 具有灵活的设计方式, 而且可裁剪、可扩充, 同时软硬件在系统可编程功能。
1.2 嵌入式以太网控制器LAN91C111
以太网控制芯片所选用的SMSC 公司LAN91C111芯片是专门用于嵌入式产品的10M/100M第三代快速以太网控制器。该器件具有可编程、CRC校验、同步或异步工作方式, 且具有低功耗CMOS设计和小尺寸等特点, 是设计嵌入式以太网网络接口的良好选择。LAN91C111的原理框图如图1所示。
图1 LAN91C111的原理框图
LAN91C111集成了CSMA/CD (带碰撞的载波侦听多路接入) 协议的MAC (媒体层) 和PHY (物理层)。其主要特点是支持IEEE802.3/802 U以太网标准、自适应10M/100M, 全双工/半双工收发方式、有8KB的片上FIFO存储器、支持8位或16位或32位总线方式、支持先进的传输队列管理、有串行EEPROM选择性配置口、并支持突发数据传输、支持全双工交换式以太网、增强式能量管理功能和低功耗的CMOS设计。
总线接口模块是由数据总线、地址总线、控制总线以8位、16位、或32位形式与外部数据进行交互。LAN91C111以太网控制器遵循IEEE颁布的802.3 以太网传输协议, 内部集成有8KB 的RAM, 可通过内部的内存管理模块、仲裁模块和DMA共同管理数据包的发送与接收。其仲裁器监视以太网总线的数据交流, 一旦发生阻塞, 仲裁器一方面通过总线接口单元与外部CPU联系; 一方面控制内存控制单元, 实现总线的数据协调。
LAN91C111内部的RAM可以缓存数据, 在全双工工作模式下, 数据传输速率可达到10M/100Mbps。
所有内部寄存器的初始值均放在EEPROM中, 自举时可完成自动初始化。在数据传输过程中, 若以10Mbps速率传输, 则可采用Manchester编码,并以两层曼彻斯特代替三电平, 且没有扰频器和解扰频器; 若以100Mbps速率传输, 则先将发送到RAM中的数据包以包号的形式存放在FIFO的发送队列中, 然后按照规则逐个将数据包发送到PHY模块进行4B-5B编码, 发送数据端可将通过扰频器整理后的4B-5B数据包变换成MLT-3后输出。而在接收时, 则将数据包复制并发送到解扰频器进行整理, 然后再发送到4B-5B解码器进行解码。
1.3 硬件连接
本设计在FPGA芯片EP2C35中嵌入了32位的NIOS II处理器。由于LAN91C111是专为嵌入式系统设计的, 因而其外围电路相对比较简单。图2所示是其硬件连接图, 图中的地址线、数据线、控制线分别与FPGA相连。由于采用的是16位数据传输方式, 因此只用到数据总线的低16位。控制线中的AEN为片选信号, INTR0为外部中断信号, WR为读写信号, BE0-BE1为字节选择端。
LAN91C111 中的ADS、LCLK、CYCLE、W/R、RDYRTN 信号应均加一个1kΩ 的上拉电阻。
TG100-S050N2是以太网的变压滤波器。TX+ 、TX- 、RX+ 、RX- 分别与LAN91C111 的TPO+ 、TPO-、TPI+、YPI-相连。TG100-S050N2的CMT端也应接一个1kΩ的上拉电阻。RJ45 的TD+ 、TD-、RD+、RD-分别与TG100-S050N2的TD+、TD-、RD+、RD-相连。在TG100-S050N2的TCT和RCT亦应分别接一个75Ω的电阻和1nF的滤波电容。这样即可在控制线的作用下完成FPGA与LAN91C111之间的数据通信。
图2 系统硬件连接图
2 软件设计
ALTERA公司提供的硬件抽象层(HAL) 中封装了系统中硬件的相关细节和驱动程序, 用户可在HAL的基础上方便地开发存储等应用程序。
NIOS II IDE环境中集成有μCOS I
- 基于FPGA和LAN91C111的嵌入式以太网接口设计(03-29)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)