基于ENC28J60的以太网设计--梁 - 图文 联系客服

发布时间 : 星期三 文章基于ENC28J60的以太网设计--梁 - 图文更新完毕开始阅读bd7a3905647d27284a735119

基于ENC28J60的以太网通信设计与实现

? 支持一个带自动极性检测和校正的10BASE-T 端口 ? 支持全双工和半双工模式 ? 可编程在发生冲突时自动重发 ? 可编程填充和CRC生成 ? 可编程自动拒绝错误数据包 (2)缓冲器

? 8 KB 发送/ 接收数据包双端口SRAM ? 可配置发送/ 接收缓冲器大小 ? 硬件管理的循环接收FIFO

? 字节宽度的随机访问和顺序访问(地址自动递增) ? 用于快速数据传送的内部DMA ? 硬件支持的IP 校验和计算 (3)介质访问控制器(MAC)特性 ? 支持单播、组播和广播数据包

? 可编程数据包过滤,并在以下事件的逻辑“与”和“或”结果为真时唤醒主机:

- 单播目标地址 - 组播地址 - 广播地址 - Magic Packet

- 由64位哈希表定义的组目标地址

- 多达64字节的可编程模式匹配(偏移量可由用户定义) ? 环回模式

(4)物理层(PHY)特性 ? 整形输出滤波器 ? 环回模式 (5)工作特性

? 两个用来表示连接、发送、接收、冲突和全/ 半双 工状态的可编程LED 输出

? 使用两个中断引脚的七个中断源 ? 25 MHz 时钟

? 带可编程预分频器的时钟输出引脚 ? 工作电压范围是3.14V 到3.45V ? TTL 电平输入

? 最高速度可达10 Mb/s 的SPI 接口

- 7 -

济源职业技术学院毕业设计(论文)

? 温度范围:-40°C 到+85°C (工业级),0°C 到+70°C (商业级)(仅SSOP 封装)

? 28 引脚SPDIP 、SSOP 、SOIC 和QFN封装封装类型如图2-3所示。

图2-3

封装类型

2.3存储器与寄存器

2.3.1 存储器构成

ENC28J60中所有的存储器都是以静态RAM的方式实现的。ENC28J60中有三种类型的存储器:控制寄存器、以太网缓冲器、PHY寄存器。

控制寄存器类型存储器包含控制寄存器(Control Register,CR)[5]。它们用于进行ENC28J60的配置.控制盒状态获取。可以通过SPI接口直接读写这些控制

- 8 -

基于ENC28J60的以太网通信设计与实现

寄存器。

以太网缓冲器中包含一个供以太网控制器使用的发送和接收存储空间。主控制器可以使用 SPI接口对该存储器空间的容量进行编程。只可以通过读缓冲器和写缓冲器SPI指令来访问以太网缓冲器。

PHY寄存器用于进行PHY模块的配置、控制和状态获取。不可以通过SPI接口直接访问这些寄存器,只可通过MAC中的MLL访问这些寄存器。如图2-4所示,显示了 ENC28J60 的数据存储器构成。

ECON1<1:0>控制寄存器00h=0019h1Ah1Fh00h19h1Ah=101Fh00h19h1Ah1Fh00h19h1Ah1FhBank 0中的缓冲器指针以太网缓冲器0000h=01通用寄存器通用寄存器1FFFh通用寄存器PHY寄存器通用寄存器00h1Fh=11图2-4 ENC28J60 的数据存储器构成

2.3.2 寄存器

寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。

2.4 ENC28J60的寄存器设置和应用

2.4.1 ENC28J60的寄存器设置

ENC28J60内部的静态RAM分为三种类型,控制寄存器,以太网缓冲区和物理层寄存器,控制寄存器用来进行芯片的配置和控制等功能,直接SPI读写;

- 9 -

济源职业技术学院毕业设计(论文)

以太网缓冲区可以由SPI接口配置为接收和发送以太网数据包的RAM区;物理层寄存器用来配置,控制和监测物理层的状态,此寄存器不能直接由SPI接口读写,只能通过媒体独立接口MII访问。

ENC28J60控制寄存器中最基本和重要的5个寄存器是EIE, EIR, ESTAT, ECON2 和ECON1,其功能分别如下,

EIE:以太网中断使能控制寄存器,分为总中断使能和各部分使能控制, EIR:以太网中断标志寄存器,在接收和发送数据包时根据不同的标志位进入不同的执行程序,

ESTAT:以太网状态寄存器,反映以太网当前是否数据碰撞、忙信息、错误信息、时钟状态等信息,

ECON2:以太网辅助控制寄存器,设置数据指针,芯片节能等,

ECON1:以太网主控制寄存器,这个是芯片最常用的寄存器,主要用来设置不同层的寄存器空间,下面将详细论述。

在这5个寄存器中,需要设置的是EIE、ECON2和ECON1,需要判断标志位的是EIR和ESTAT。

在ENC28J60接收和发送数据包之前,需要对相应寄存器进行设置和初始化,一般情况下这部分工作放在系统复位完成后执行,初始化设置工作包括接收和发送缓冲区、接收过滤、晶振启动时间、MAC寄存器、物理层。初始化芯片之前先关闭单片机的中断输入,对RESET引脚给定一个持续的低电平复位信号,然后对相应的寄存器进行设置。设置完成所有需要的寄存器后,判断以太网状态中的时钟启动标志位是否置位,然后开中断,硬件连接的两个中断引脚都对应多种中断条件,EIE和EWOLIE分别使能不同的中断,均指向中断入口处,因此需要在入口处进行判断每次的中断输入什么条件,EIR是中断标志位,包含了7中不同的中断条件,根据不同的标志位进入不同的执行程序。 2.4.2 ENC28J60的应用

由于采用串行SPI接口,ENC28J60可以很方便地和各种微控制器和处理器接口,构成嵌入式以太网模块,使用UDP,TCP进行通信,且采用3.3V供电。通过TCP/IP协议的应用,只需4条连线即可实现与单片机连接,用单片机的P2^0、P2^1、P2^2、P2^3与ENC28J60 的CS、MOSI、MISO、SCK四个引脚相连即可实现。ENC28J60构成的嵌入式以太网模块电路连接简单,功能强大,与目前大多数需要并行数据和地址总线的以太网控制器相比,不需要小封装的微控制器外扩地址和数据总线,有很大优点,根据需要配合不同的微控制器可以将电路板做到最小尺寸,完全符合未来工业以太网控制器的发展趋势。

- 10 -