为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

新型以太网控制器_ENC28J60_及其接口技术

2010-12-22 4页 pdf 146KB 24阅读

用户头像

is_360447

暂无简介

举报
新型以太网控制器_ENC28J60_及其接口技术 新型以太网控制器 ENC28J60 及其接口技术 ENC28J60 是 Microchip Technology(美国微芯科技公司)近期推出的 28 引脚独立以太网控制器。 在此之前,嵌入式系统开发可选的独立以太网控制器都是为个人计算机系统设计的,如 RTL8019、AX88796L、D M9008、 CS8900A、LAN91C111 等。这些器件不仅结构复杂,体积庞大,且比较昂贵。目前市场上大部分以太网控制 器的封装均超过 80 引脚,而符合 IEEE 802.3 协议的 ENC28J60 ...
新型以太网控制器_ENC28J60_及其接口技术
新型以太网控制器 ENC28J60 及其接口技术 ENC28J60 是 Microchip Technology(美国微芯科技公司)近期推出的 28 引脚独立以太网控制器。 在此之前,嵌入式系统开发可选的独立以太网控制器都是为个人计算机系统的,如 RTL8019、AX88796L、D M9008、 CS8900A、LAN91C111 等。这些器件不仅结构复杂,体积庞大,且比较昂贵。目前市场上大部分以太网控制 器的封装均超过 80 引脚,而符合 IEEE 802.3 的 ENC28J60 只有 28 引脚,既能提供相应的功能,又可以大大简 化相关设计,减小空间。 图 1 ENC28J60 的硬件连接 1 结构和功能 采用业界串行外设接口(SPI)的以太网控制器 ENC28J60 具有以下主要特征: ◆ 符合 IEEE 802.3 协议。内置 10 Mbps 以太网物理层器件(PHY)及媒体访问控制器(MAC),可按 业界标准的以太网协议可靠地收发信息包数据。 ◆ 具有可编程过滤功能。特殊的过滤器,包括 Microchip 的可编程模式匹配过滤器,可自动评价、接 收或拒收 Magic Packet,单播(Unicast)、多播(Multicast)或广播(Broadcast)信息包,以减轻主控 单片机的处理负荷。 ◆ 10 Mbps SPI 接口。业界标准的串行通信端口,使得低至 18 引脚的 8位单片机也具有网络连接功能。 ◆ 可编程 8 KB 双端口 SRAM 缓冲器。以高效的方式进行信息包的存储、检索和修改,以减轻主控单片 机的内存负荷。该缓冲存储器提供了灵活可靠的数据管理机制。 2 硬件设计 ENC28J60 的硬件设计需要注意复位电路时钟振荡器,振荡器启动定时器,时钟输出引脚,变压器、终 端和其他外部器件,输入/输出电平等几个方面。(图 1 可供参考) 2.1 复位电路 ENC28J60 有上电复位(Power-on Reset)功能,RESET 引脚上的低电平使 ENC28J60 进入复位模式;RESE T 引脚内部有弱上拉电阻。ENC28J60 的硬件连接如图 1所示。 2.2 时钟振荡器 ENC28J60 需要一个 25 MHz 的晶振,接在 OSC1 和 OSC2 脚上;也可由外部时钟信号来驱动。此时 3.3 V 的外部时钟接在 OSC1 脚上,OSC2 断开或者通过一个电阻接地来降低系统噪声。 2.3 振荡器启动定时器 ENC28J60 内部有一个振荡器启动时钟 OST(Oscillator Start   up Timer),上电 7 500 个时钟周期(3 00 μs),OST 期满后内部的 PHY 方能正常工作。这时不能发送或者接收报文。上位机可通过检测 ENC28J60 内部 ESTAT 寄存器中的 CLKRDY 位的状态来决定是否可设置发送或接收报文。 需要注意的是,当 ENC28J60 上电复位或者从 PowerDown 模式下唤醒时,必须检测 ESTAT 寄存器中的 C LKRDY 是否置位。只有 CLKRDY 置位后才能发送、接收报文,访问相关寄存器。 2.4 时钟输出引脚 CLKOUT 引脚可为系统中的其他设备提供时钟源。上电后 CLKOUT 引脚保持低电平,复位结束后 OST 计数。 OST 期满后,CLKOUT 输出频率为 6.25 MHz 的时钟。 时钟输出功能通过 ECOCON 寄存器禁止、调整和使能。时钟输出可设置为 1、2、3、4、8分频,上电后 默认为 4分频。ECOCON 寄存器配置改变以后,CLKOUT 引脚有 80~320 ns 的延迟(保持低电平),然后按照 设定输出固定频率的时钟信号。 软件或者 RESET 引脚上的复位信号不会影响 ECOCON 寄存器的状态。PowerDown 模式也不会影响时钟的 输出。当禁止时钟输出时,CLKOUT 引脚保持低电平。 2.5 变压器、终端和其他外部器件 为了实现以太网接口 ENC28J60,需要几个标准的外部器件: 脉冲变压器、偏置电阻、储能电容和去耦 电容。 差分输入引脚(TPIN+/TPIN-),需要一个 1∶1变比的脉冲变压器来实现 10BASET。差分输出引脚(TPOU T+/TPOUT -),需要一个变比为 1∶1、带中心抽头的脉冲变压器。变压器需要有 2 kV 或更高的隔离能力, 防静电。对变压器的详细要求请参考芯片第 16 章“电气特性”。每个部分都需要通过 2个 50 Ω、精 度为 1%的电阻和 1个 0.01 μF 的电容串联后接地。 笔者采用的是集成以太网隔离变压器 RJ45 插座 YL1J003A,若采用分离的隔离变压器, 型号为 YL18-1001D。 所有的供电引脚(VDD、VDDOSC、VDDPLL、VDDRX、VDDTX)必须接在外部的同一个 3.3 V 电源上;同理, 所有的地(VSS、VSSOSC、VSSPLL、VSSTX)必须接在同一个外部地上。每个供电引脚和地之间应当接 1个 0. 1 μF 的陶瓷电容去耦(电容要尽可能接近供电引脚)。 驱动双绞线接口需要较大的电流,所以电源线应尽可能宽,与引脚的连接尽可能短,以降低电源线内 阻的消耗。 2.6 输入输出电平 ENC28J60 是一个 3.3 V 的 CMOS 器件,但它设计得非常容易统一到 5 V 系统中去:SPI、CS、 SCK、SI 输入和 RESET 引脚一样,都可承受 5 V 电压。当 SPI 和中断输入与 3.3 V 驱动的 CMOS 输出不兼容时,可能 需要一个单向的电平转换器。74HCT08 (四与门), 74ACT125(四三态缓冲器)和许多具有 TTL 电平输入的 5 V CMOS 缓冲器芯片都可以提供所需的电平转换。 2.7 LED 配置 LEDA 和 LEDB 引脚在复位时支持极性自动检测。既可直接驱动 LED,又可灌电流驱动。复位时 ENC28J6 0 检测 LED 的连接,并按照 PHLCON 寄存器的默认设置来驱动。运行过程中的 LED 极性转换直到下一次系统 复位后才能被检测到。LEDB 的连接比较特殊,在复位过程中检测它的连接,决定如何初始化 PHCON1 寄存器 的 PDPXMD 位。如果 LEDB 直接驱动 LED,则 PHCON1.PDPXMD 位被清零,PHY 工作在半双工模式;如果 LEDB 吸收反向电流点亮 LED,则 PHCON1.PDPXMD 被置位,PHY 工作在全双工模式;如果 LEDB 没有连接,则 PHCO N1.PDPXMD 复位后的值不确定。这时主控制器必须适当设置该位,以使 PHY 工作在所需的状态(半双工或全 双工)。 3 软件接口 3.1 SPI 接口 SPI 接口( Serial Peripheral Interface )是一种同步、全双工串行接口,基于主从配置,是一个 4 线接口——主出/从入(MOSI),主入/从出(MISO),串行时钟(SCK),从机选择(SSEL)。 在同一总线上可以有多个主机或者从机,但同一时刻只能有一个主机和一个从机能够进行通信。在一 次数据传输过程中,数据是同步进行发送和接收的:主机向从机发送 1字节数据,从机也向主机返 1字节 数据。数据传输原则上是全双工的;但实际上,大多数情况下只有一个方向上的数据流包含有意义的数据。 SPI 格式的主要特性是 SCK 信号的无效状态和相位,数据传输的时钟由主机提供。常用的时钟设置基于 时钟极性(CPOL)和时钟相位 (CPHA)两个参数,CPOL 定义 SPI 串行时钟的活动状态,而 CPHA 定义相对于从 机输出数据位的时钟相位。CPOL 和 CPHA 的设置决定了数据取样的时钟沿。 取决于 CPOL 和 CPHA 的设置不同,SPI 共有 4 种模式,如表 1所列。 表 1 SPI 的 4 种模式 3.2 ENC28J60 与单片机的连接 ENC28J60 与微控制器 MCU 的连接是通过 SPI 实现的,支持 10 Mbps。对于没有 SPI 接口的芯片可通过 用 I/O 口模拟 SPI 接口的方式实现。ENC28J60 仅支持 SPI 模式 0,0。 微控制器可通过 SPI 接口发送命令,访问 ENC28J60 的寄存器或读写接收/发送缓冲区,完成相关操作。 复位也可通过 SPI 接口由软件实现,软件复位不影响 RESET 引脚的状态。 ENC28J60 有两个中断输出,分别用于事件中断触发和网络唤醒主机。 CPU 采用 LPC2138 用宏定义实现 SPI 口读写操作。SOSPDR 为 SPI 数据寄存器,该双向寄存器为 SPI 提 供发送和接收的数据,发送数据通过写该寄存器提供,SPI 接收的数据可从该寄存器读出。SOSPSR 为 SPI 状态寄存器。在对 SPI 接口进行操作之前需对其初始化。下面给出读/写 SPI 接口的源代码。 #define READSPI( Val ) { S0SPDR = 0x00; while( 0 == (S0SPSR & 0x80)); Val = S0SPDR; } #define WRITESPI( Val ) { if ( 0 == (S0SPSR & 0x40) ) { S0SPDR = Val; while( 0 == (S0SPSR & 0x80) ); } } 亦可用 LPC2138 的 SSP 来连接 ENC28J60,需将其设置为 SPI 模式。应当注意到 SSP 有 8 帧的收/发 FI FO,如果处理不当将造成读/写错误。因为缓冲区的存在可能破坏读/写 ENC28J60 的时序。 对于没有 SPI 接口的单片机可采用普通 I/O 口模拟的方法实现 SPI 主机。此时须注意静态时时钟的无 效状态和相位,以及输出数据位出现的时间;对 ENC28J60 操作期间片选必须保持有效(低电平),操作结束 后返回低电平。根据 ENC28J60 的读/写波形很容易写出模拟 SPI 主机的程序。笔者曾在 AT89S51 上实现了 模拟 SPI 主机读/写 MCP2515 的操作。 4 结论 笔者在 LPC2138+ENC28J60+YL1J003A(YL18-1001D)平台上实现了以太网通信。相对于其他,该系统 极为精简。对于没有开放总线的单片机,虽然有可能采用模拟并行总线的方式连接其他以太网控制器,但 不管从效率还是性能上,都不如用 SPI 接口或采用通用 I/O 口模拟 SPI 接口连接 ENC28J60 的方案。 可以看出,ENC28J60 是极具特色的独立以太网控制器:SPI 接口使得小型单片机也能具有网络连接功 能;集成 MAC 和 PHY 无需其他外设;具有可编程过滤功能,可自动评价、接收或拒收多种信息包,减轻了 主控单片机的处理负荷;内部继承可编程的 8 KB 双端口 SRAM 缓冲器,操作灵活方便。不足之处为仅支持 1 0BASET
/
本文档为【新型以太网控制器_ENC28J60_及其接口技术】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索