您现在正在浏览:首页 > 职教文章 > 职教论文 > 带SPI接口的独立以太网控制器

带SPI接口的独立以太网控制器

日期: 2010/4/12 浏览: 52 来源: 学海网收集整理 作者: 佚名

带SPI接口的独立以太网控制器

1.0 概述:

ENC28J60是带有行业标准串行外设接口(Serial Peripheral Interface,SPI)的独立以太网控制器。 它可作为任何配备有SPI的控制器的以太网接口。ENC28J60符合IEEE 802.3的全部规范,采用了一系列包过滤机制以对传入数据包进行限制。 它还提供了一个内部DMA模块,以实现快速数据吞吐和硬件支持的IP校验和计算。 与主控制器的通信通过两个中断引脚和SPI 实现,数据传输速率高达10 Mb/s。两个专用的引脚用于连接LED,进行网络活动状态指示。图1-1所示为ENC28J60的简化框图。 图1-2所示为使用该器件的典型应用电路。 要将单片机连接到速率为10 Mbps的以太网,只需ENC28J60、两个脉冲变压器和一些无源元件即可。

ENC28J60由七个主要功能模块组成:

1.SPI接口——充当主控制器和ENC28J60之间通信通道。

2.控制寄存器——用于控制和监视ENC28J60。

3.双端口RAM缓冲器——用于接收和发送数据包。

4.判优器——当DMA、发送和接收模块发出请求时对RAM缓冲器的访问进行控制。

5.总线接口——对通过SPI 接收的数据和命令进行解析。

6.MAC(Medium Access Control)模块——实现符合IEEE 802.3标准的MAC逻辑。

7. PHY(物理层)模块——对双绞线上的模拟数据进行编码和译码。该器件还包括其他支持模块,诸如振荡器、片内稳压器、电平变换器(提供可以接受5V电压的I/O引脚)和系统控制逻辑。



2.0 外部连接

2.1 振荡器

ENC28J60的工作频率为25MHz,晶振连接在OSC1和OSC2引脚之间。ENC28J60要求使用平行切割的晶体。使用顺序切割的晶体可能会使振荡器产生的频率不在晶体制造厂商所给的参数范围内。 图2-1给出了一个典型的振荡器电路。

ENC28J60也可由连接到OSC1引脚的外部时钟源驱动,如图2-2所示:

2.2 振荡器起振定时器

ENC28J60包含一个振荡器起振定时器(OscillatorStart-up Timer,OST)以确保在使用振荡器和集成PHY之前它们已经稳定。 在发生上电复位或从掉电模式唤醒后, OST 经过7500个OSC1时钟周期(300μs)后超时。在这段延时期间,仍可通过SPI总线对所有的以太网寄存器和缓冲器进行读写操作。然而,在这期间不应试图使用软件发送任何数据包(将ECON1.TXRTS置1)、使能接收数据包(将ECON1.RXEN置1)或访问任何MAC、MII或PHY寄存器。当OST超时后,ESTAT寄存器中的CLKRDY位将置1。应用程序软件可通过查询此位来确定何时开始正常的器件操作。

注: 在上电复位或ENC28J60从掉电模式恢复后.在发送数据包、使能接收数据包或允许访问任何MAC、MII或PHY寄存器之前,必须查询CLKRDY位。

2.3 CLKOUT引脚

系统设计人员可以使用时钟输出引脚作为主控制器或其他器件的时钟源。CLKOUT带有一个内部预分频器,可将时钟输出进行1、2、3、4或8分频。通过ECOCON寄存器(寄存器2-1)使能CLKOUT功能并选择预分频比。

要产生一个干净的时钟信号,当第一次加电时,CLKOUT引脚必须保持一段时间的低电平。当上电复位结束后,OST将开始计数。 当OST超时后,CLKOUT引脚开始输出其默认频率为6.25MHz(主时钟的4分频)的时钟信号。在随后的任意时刻如果ENC28J60通过软件或RESET引脚复位,CLKOUT功能将不会改变(ECOCON的值不变)。器件也可能进入掉电模式且CLKOUT功能保持不变。 当退出掉电模式时,OST将复位,但CLKOUT功能将继续发挥作用。当禁止CLKOUT功能时(ECOCON = 0),CLKOUT引脚被驱动为低电平。CLKOUT功能被设计为,当使能禁止CLKOUT引脚功能或改变预分频比时,确保延迟时间最短。 不会输出超出ECOCON配置规定频率的高或低电平脉冲。然而,当切换频率时,在时钟脉冲产生之前将有2到8个OSC1时钟周期的延时(见图2-3)。在这期间,CLKOUT将保持为低电平。

2.4 磁性元件,端接元件和其他外部元件

要实现以太网接口,ENC28J60需要外部连接几个标准元件。 应按照图2-4来连接这些元件。

在差分接收引脚(TPIN+/TPIN-)上,需要一个专用于10BASE-T操作的1:1脉冲变压器。 在差分发送引脚(TPOUT+/TPOUT-)上,需要外接一个带有中心抽头的1:1脉冲变压器。 变压器应具有2 kV以上的电压隔离性能,以防止静电干扰。变压器特定要求请参见第16.0节“电气特性” 。两个变压器均需要额外的两个50Ω(精度为1%)的电阻和一个0.01μF的电容与特定端相连。

ENC28J60的内部模拟电路需要在RBIAS引脚与地之间外接一个2kΩ(精度为1%)的电阻。

为降低功耗,ENC28J60中的某些数字电路工作在2.5V标称电压下。 其内部包含一个2.5V稳压器以产生所需的电压,要使之工作稳定,仅需在外部连接一个10μF电容。该电容应连接在VCAP引脚与地之间。 内部稳压器无法驱动外部负载。

所有电源引脚都必须与同一个外部3.3V电源相连。 类似的,所有参考地都应在外部连接到相同的接地点。每个VDD和VSS引脚对都应连接一个0.1μF的陶瓷旁路电容,该电容应尽可能靠近引脚。 需要相对高的电流才能驱动双绞线接口,因此所有电缆应尽可能短,并且线径适中以减少电阻损耗。

I/O电平

ENC28J60是一个工作电压为3.3V的器件,它被设计为易于集成到5V的系统中。SPI 的CS,SCK和SI输入以及RESET引脚都可以承受5V的电压。另一方面,如果主控制器运行在5V电压下,当SPI和中断输入由ENC28J60上的3.3V CMOS输出驱动时,它很可能不符合规范要求,此时需要一个单向电平转换器。可以使用一个廉价的74HCT08(四与门)、74ACT125(四三态缓冲器)或其他带有TTL电平输入缓冲器的5VCMOS芯片来提供必要的电平转换。使用三态缓冲器便于系统集成,它可以与其他器件共享SPI总线。图2-5和图2-6给出了转换机制实例。



LED配置

LEDA和LEDB引脚支持复位时的自动极性检测。可以在这两个引脚上,以拉电流或灌电流点亮LED的两种方式连接LED。系统复位时,ENC28J60将检测LED的连接方式,并将LED驱动为PHLCON寄存器配置的默认状态。如果在ENC28J60运行时改变LED的极性,新极性将在下一次系统复位时才能被检测到。复位时会自动读取LEDB上LED的连接状态,并确定如何初始化PHCON1.PDPXMD位。如果引脚采用拉电流的方式点亮LED,则复位时此位清零且PHY默认为在半双工模式下运行。如果引脚采用灌电流的方式点亮LED,则复位时此位置1且PHY默认为在全双工模式下运行。图2-7 显示了这两种备选模式的电路。 如果LEDB引脚上没有连接LED,则PDPXMD位将复位为不确定值。



3.0 存储器构成

ENC28J60中所有的存储器都是以静态RAM的方式实现的。ENC28J60中有三种类型的存储器:

? 控制寄存器

? 以太网缓冲器

? PHY寄存器

控制寄存器类存储器包含控制寄存器(ControlRegister,CR)。它们用于进行ENC28J60的配置、控制和状态获取。可以通过SPI接口直接读写这些控制寄存器。

以太网缓冲器中包含一个供以太网控制器使用的发送和接收存储空间。主控制器可以使用SPI接口对该存储空间的容量进行编程。只可以通过读缓冲器和写缓冲器SPI指令来访问以太网缓冲器(见第4.2.2节“读缓冲存储器命令”和第4.2.4节“写缓冲器命令”)。PHY寄存器用于进行PHY模块的配置、控制和状态获取。不可以通过SPI接口直接访问这些寄存器,只可通过MAC中的MII(Media Independent Interface)访问这些寄存器。

图3-1显示了ENC28J60的数据存储器构成

3.1 控制寄存器

控制寄存器提供主控制器和片内以太网控制器逻辑电路之间的主要接口。 写这些寄存器可控制接口操作,而读这些寄存器则允许主控制器监控这些操作。

控制寄存器存储空间分为四个存储区,可用ECON1寄存器中的存储区选择位BSEL1:BSEL0进行选择。每个存储区都是32字节长,可以用5位地址值进行寻址。所有存储区的最后五个单元(1Bh到1Fh)都指向同一组寄存器:EIE、EIR、ESTAT、ECON2 和ECON1。它们是控制和监视器件工作的关键寄存器,由于被映射到同一存储空间,因此可以在不切换存储区的情况下很方便地访问它们。 本节稍后将讨论ECON1和ECON2寄存器。

有些地址未使用。对这些单元执行写操作将被忽略,而读操作都将返回0。每个存储区中地址为1Ah的寄存器都是保留的;不应对此寄存器进行读写操作。可以读其他保留的寄存器,但是不能更改它们的内容。在读写包含保留位的寄存器时,应遵守寄存器定义中声明的规则。

ENC28J60的控制寄存器通常被分为ETH、MAC和MII三组寄存器。 名称由“E”开头的寄存器属于ETH组。同样,名称由“MA”开头的寄存器属于MAC组,名称由“MI”开头的寄存器属于MII组。



3.1.1 ECON1寄存器

寄存器3-1所示为ECON1寄存器,它用于控制ENC28J60的主要功能。ECON1中包含接收使能、发送请求、DMA控制和存储区选择位。



3.1.2 ECON2寄存器

寄存器3-2所示的ECON2寄存器用于控制ENC28J60的其他主要功能。


带SPI接口的独立以太网控制器.doc

返回顶部