以太网控制器ENC28J60及其SPI 接口技术

发布者:冰山火影1977最新更新时间:2012-02-11 来源: dzsc关键字:Ethernet  ENC28J60  SPI  接口 手机看文章 扫描二维码
随时随地手机看文章

引 言
  ENC28J60是Microchip Technology(美国微芯科技公司)近期推出的28引脚独立以太网控制器。

  在此之前,嵌入式系统开发可选的独市以太网控制器都是为个人计算机系统设计的,如RTL8019、AX88796L、DM9008、CS8900A、LAN91C11l等。这些器件不仅结构复杂,体积庞大,且比较昂贵,目前市场上大部分以太网控制器的封装均超过80引脚,而符合IEEE 802.3协议的ENC28J60只有28引脚,既能提供相应的功能,又可以大大简化相关设计,减小空间。

1 结构和功能
   采用业界标准串行外设接口(SPI)的以太网控制器ENC28J60具有以下主要特征:
  ◆符合IEEE 802.3协议。内置lOMbps以太网物理层器件(PHY)及媒体访问控制器(MAC),可按业界标准的以太网协议可靠地收发信息包数据。
  ◆具有可编程过滤功能。特殊的过滤器,包括Microchip的可编程模式匹配过滤器,可自动评价、接收或拒收Magic Packet,单播(Unicast)、多播(Multicast)或广播(Broadcast)信息包,以减轻主控单片机的处理负荷。
  ◆lOMbps SPI接口。业界标准的串行通信端口,使得低至18引脚的8位单片机也具有网络连接功能。
  ◆可编程8KB双端口SRAM缓冲器。以高效的方式进行信息包的存储、检索和修改,以减轻主控单片机的内存负荷。该缓冲存储器提供了灵活可靠的数据管理机制。

2 硬件设计
  ENC28J60的硬件设计需要注意复位电路,时钟振荡器,振荡器启动定时器,时钟输出引脚,变压器、终端和其他外部器件,输入/输出电平等几个方面。(图l可供参考)2.1 复位电路ENC28J60有上电复位(Power-on Reset)功能,RESET引脚上的低电平使ENC28J60进入复位模式;RKSlET引脚内部有弱上拉电阻。ENC28J60的硬件连接如图l所示。

2.2 时钟振荡器
  ENC28J60需要一个25MHz的晶振,接在OSCl和OSC2脚上;也可由外部时钟信号来驱动。此时3.3V的外部时钟接在OSCl脚上,OSC2断开或者通过一个电阻接地来降低系统噪声。

2.3 振荡器启动定时器
  ENC28J60内部有一个振荡器启动时钟OST(Oscillator Start-upTimer),上电7500个时钟周期(300μs)。OST期满后内部的PHY方能正常工作。这时不能发送或者接收报文。上位机可通过检测ENC28J60内部ESTAT寄存器中的CLKRDY位的状态来决定是否可设置发送或接收报文。

  需要注意的是,当ENC28J60上电复位或者从Power-Down模式下唤醒时,必须检测ESTAT寄存器中的CLKRDY是否置位。只有CLKRDY置位后才能发送、接收报文,访问相关寄存器。

2.4 时钟输出引脚
  CLKOUT引脚可为系统巾的其他设备提供时钟源。上电后CLKOUT引脚保持低电平,复位结束后OST计数。OST期满后,CLKOUT输出频率为6.25MHz的时钟。

  时钟输出功能通过ECOCON寄存器禁止、调整和使能。时钟输出可设置为1、2、3、4、8分频,上电后默认为4分频。ECOCON寄存器配置改变以后,CLKOUT引脚有80~320ns的延迟(保持低电平),然后按照设定输出固定频率的时钟信号。

  软什或者RESET引脚上的复位信号不会影响ECOCON寄存器的状态。Power-Down模式也不会影响时钟的输出。当禁止时钟输出时,CLKOUT引脚保持低电平。

2.5 变压器、终端和其他外部器件
  为了实现以太网接口ENC28J60,需要几个标准的外部器件:脉冲变压器、偏置电阻、储能电容和去耦电容。

  差分输入引脚(TPIN+/TPTN-),需要一个l:1变比的脉冲变压器来实现10BASE-T。差分输出引脚(TPOUT+/TP0UT-),需要一个变比为l:l、带中心抽头的脉冲变压器。变压器需要有2kV或更高的隔离能力,防静电。对变压器的详细要求请参考芯片手册第16章“电气特性”。每个部分都需要通过2个50Ω、精度为1%的电阻和1个0.01μF的电容串联后接地。

  笔者采用的是中山汉仁公司的集成以太网隔离变压器RJ45插座HR901170A。

  ENC28J60内部的模拟电路需要在RBIAS引脚和地之间跨接1个2kΩ、l%的偏置电阻。部分数字电路工作在2.5V,以降低功耗;ENC28J60内部集成1个2.5V的调节器来产生所需的电压,需在VCAP引脚和地之间接1个10μF的电容保证供电的稳定性(该2.5V调节器不是为外部负载设汁的)。[page]

  所有的供电引脚(VDD、VDDOSC、VDDPLL、VDDRX、VDDTX)必须接在外部的同一个3.3V电源上;同理,所有的地(VSS、VSSOSC、VSSPLL、VSSTX)必须接在同一个外部地上。每个供电引脚和地之问应当接1个O.1μF的陶瓷电容去耦(电容要尽可能接近供电引脚)。

  驱动双绞线接口需要较大的电流,所以电源线应尽可能宽,与引脚的连接尽可能短,以降低电源线内阻的消耗。

2.6 输入输出电平
  ENC28J60是一个3.3 V的CMOs器件,但它设计得非常容易统一到5 V系统中去:SPI、CS、SCK,SI输入和RESET引脚一样,都可承受5V电压。当SPI和中断输入与3.3V驱动的CM0S输出不兼容时,可能需要一个单向的电平转换器。74HCT08(四与门),74ACTl25(四三态缓冲器)和许多具有TTL电平输入的5VCMOS缓冲器芯片都可以提供所需的电平转换。

2.7 LED配置
   LEDA和LEDB引脚在复位时支持极性自动检测。既可直接驱动LED,又可灌电流驱动。复位时ENC28J60检测LED的连接,并按照PHLCON寄存器的默认设置来驱动。运行过程中的LED极性转换直到下一次系统复位后才能被榆测到。LEDB的连接比较特殊,在复位过程中检测它的连接,决定如何初始化PHCONl寄存器的PDPXMD位。如果LEDB直接驱动LED,则PHCON1.PDPXMD位被清零,PHY工作在半双工模式;如果LEDB吸收反向电流点亮LED,则PHCON1.PDPXMD被置位,PHY工作在全双工模式;如果LEDB没有连接,则PHCONl.PDPXME)复位后的值不确定。这时主控制器必须适当设置该位,以使PHY工作在所需的状态(半双工或全双工)。


3 软件接口
3.1 SPI接口
  SPI接口(Serial Penpheral Interface)是一种同步、全双工串行接口,基于主从配置,是一个4线接口 ——主出/从人(MOSI).主人/从出(MISO),串行时钟(SCK),从机选择(SSEL)。

  在同一总线上可以有多个主机或者从机,但同一时刻只能有一个主机和一个从机能够进行通信。在一次数据传输过程中,数据是同步进行发送和接收的:主机向从机发送1字节数据,从机也向主机返1字节数据。数据传输原则上是全双工的;但实际上,大多数情况下只有一个方向上的数据流包含有意义的数据。

  SPI格式的主要特性是SCK信号的无效状态和相位,数据传输的时钟由主机提供。常用的时钟设置基于时钟极性(CPOL)和时钟相位(CPHA)两个参数,CP0L定义SPI串行时钟的活动状态,而CPHA定义相对于从机输出数据位的时钟相位。CPOL和CPHA的设置决定了数据取样的时钟沿。

   取决于CPOL和CPHA的设置不同,SPI共有4种模式,如表l所列。

3.2 ENC28J60与单片机的连接
  ENC28J60与微控制器MCU的连接是通过SPI实现的,支持10 Mbps。对干没有SPI接口的芯片可通过用I/0口模拟SPI接口的方式实现。ENC28J60仅支持SPI模式O,O。

  微控制器可通过SPI接口发送命令,访问ENC28J60的寄存器或读写接收/发送缓冲区,完成相关操作。复位也可通过SPI接口由软件实现,软件复位不影响RESET引脚的状态。

  ENC28J60有两个中断输出,分别用于事件中断触发和网络唤醒主机。

  CPU采用LPC2138用宏定义实现SPI口读写操作。SOSPDR为SPI数据寄存器,该双向寄存器为SPI提供发送和接收的数据,发送数据通过写该寄存器提供,SPI接收的数据可从该寄存器读出。SOSPSR为SPI状态寄存器。在对SPI接口进行操作之前需对其初始化。下面给出读/写SPI接口的源代码。

   
  亦可用LPC2138的SSP来连接ENC28J60,需将其设置为SPI模式。应当注意到SSP有8帧的收/发FIFO,如果处理不当将造成读/写错误。因为缓冲区的存在可能破坏读/写ENC28J60的时序。

  对于没有SPI接口的单片机可采用普通I/O口模拟的方法实现SPI主机。此时须注意静态时时钟的无效状态和相位,以及输出数据位出现的时间;对ENC28J60操作期间片选必须保持有效(低电平),操作结束后返回低电平。根据ENC28J60的读/写波形很容易写出模拟SPI主机的程序。笔者曾在AT89S5l上实现了模拟SPI主机读/写MCP2515的操作。


4 结论
  笔者在LPC2138+ENC28J60+HR901170A平台上实现了以太网通信。相对于其他方案,该系统极为精简。对于没有开放总线的单片机,虽然有可能采用模拟并行总线的方式连接其他以太网控制器,但不管从效率还是性能上,都不如用SPI接口或采用通用I/O口模拟SPI接口连接ENC28J160的方案。

  可以看出,ENC28J60是极具特色的独立以太网控制器:SPI接口使得小型单片机也能具有网络连接功能;集成MAC和PHY无需其他外设;具有可编程过滤功能,可自动评价、接收或拒收多种信息包,减轻了主控单片机的处理负荷;内部继承可编程的8KB双端口SRAM缓冲器,操作灵活方便。不足之处为仅支持10BASE-T。

关键字:Ethernet  ENC28J60  SPI  接口 引用地址:以太网控制器ENC28J60及其SPI 接口技术

上一篇:基于VXI总线的四通道智能化任意波发生器的研制
下一篇:基于接口芯片的PCI总线接口卡的设计

推荐阅读最新更新时间:2024-05-02 21:54

74HC595使用SPI总线连接51单片机的驱动程序
函数名称: HC595SendData //8位串行输入/输出,并行输出 功能描述: 向SPI总线发送数据 这里只说明并行输入的一般情况 管脚描述:请参考相关的芯片资料 void HC595SendData(unsigned int SendVal) { unsigned char i; for(i=0;i 8;i++) { if((SendVal i)&0x80) MOSIO=1; // set dataline high //若输入最高位为1,则令串行输入为1,反之输入0 else MOSIO=0; S_CLK=0; //上升沿输入每一位 NOP(); //datasheet给
[单片机]
RS485接口、电缆、布网、终端电阻
RS485接口               RS485采用差分信号负逻辑,+2V~+6V表示“0”,- 6V~- 2V表示“1”。RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有二个原因:(1)共模干扰问题: RS-485接口采用差分方式传输信号方式,并不需
[嵌入式]
AD7888与S3C2410的SPI接口及Linux下嵌入式驱动的实现
串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口,它允许CPU与TTL移位寄存器、A/D或D/A转换器、实时时钟(RTO)、存储器以及LCD和LED显示驱动器等外围接口器件以串行方式进行通讯。 SPI总线只需3~4根数据线和控制线即可扩展具有SPI接口的各种I/O器件,其硬件功能很强,实现软件相当简单。串行A/D转换器具有电路简单、工作可靠的特点,而ARM芯片被设计用于手持设备以及普通的嵌人式应用的集成系统,将上述两种实用的芯片和SPI总线技术相结合以实现数据采集十分有效。 1 AD7888的功能与使用 AD7888是美国模拟器件公司推出的一款
[嵌入式]
ARM微控制器LPC210X的LCD接口技术
摘要:本文分别以GPI0口直接连接、串行转换连接、CPLD分部连接三种方法阐述了无外部总线的Philips ARM微控制器LPC210X与点阵图形液晶显示器的接口设计,并给出硬件电路框图和主要程序。 关键词:ARM LPC210X LCD接口 串并转换 CPLD 引言 Philips最近推出了其第一款基于ARM内核的控制器LPC210X,但由于LPC210X外部总线不开放,无法扩展内存、驱动液晶显示器等,给它的推广带来了一定的影响。笔者最近在一工控板项目中采用了该系列芯片,项目后斯应客户要求需对几个参量进行显示并扩展键盘,不得已之下,采用了CPLD,并利用了GPIO口模拟总线和液晶时序与点阵图形液日模块HS12864-16建
[嵌入式]
基于MSP430F12x2的SPI数据存储器扩展分析
1 引 言 如今随着信息产业的飞速发展,以微处理器为核心的嵌入式系统正在智能化仪表、实时控制系统等方面发挥着巨大的作用。在许多实际应用中经常面临的问题是需要支持大容量的数据存储功能。 但是采用常规扩展外部数据存储器的方法,需要大量的地址总线和数据总线引脚,因而在访问外部数据存储器时,其容量受到微处理器地址总线和数据总线数量的极大限制。由于单片机的引脚数都相对较少,没有足够多的引脚用作外部数据存储器的地址总线,为了解决这一矛盾,本文以MSP430F12X2 单片机和AT45DB081 芯片为例,介绍了一种利用串行外设接口(SPI)扩展大容量数据存储器的方法。并给出初始化以及数据读写操作子程序 2 硬件简介 M
[单片机]
什么是RS485接口
  典型的串行通讯标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义,区别于RS232, RS485的特性包括:      1. RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL 电路连接。   2. RS-485的数据最高传输速率为10Mbps 。   3. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。     4. RS-485接口的最大传输距离标准值为4000英尺,实际上可达
[嵌入式]
是德科技推出全新汽车测试解决方案 用于移动产业处理器接口
9月12日,先进设计和验证解决方案供应商是德科技(Keysight Technologies)宣布推出新的汽车串行器/解串器(SerDes)接收器(Rx)一致性测试解决方案,用于根据一致性测试规范(CTS)要求验证移动产业处理器接口(MIPI)A-PHY设备。 图片来源:是德科技 该解决方案由是德科技与BitifEye Digital Test Solutions GMBH和Wilder Technologies合作开发,并得到了Valens Semiconductor的支持。
[汽车电子]
是德科技推出全新汽车测试解决方案 用于移动产业处理器<font color='red'>接口</font>
传统充电接口和pogopin磁吸充电接口的优劣势分析
在磁吸充电接口(pogopin)还没有兴起之前传统充电接口(DCUSB插针等)是唯一的选择,近几年随着磁吸充电接口的兴起,传统充电接口皇冠的位置被撼动,改变了人们的充电方式,很多公司的产品区域采用无需插拔的自动吸附pogopin充电的方案。 pogopin磁吸充电接口优点有: 自动吸附,自锁交互 100%自我定位 零力对接 可靠的接触力和连接 能承受振动和冲击 可以传输大电流 受外力分离时,自动断开不损坏连接端口和设备 高寿命,耐久最高可达100万次 接口在设备端的厚度较薄 良好的EMI功能 防水防尘,可达IP68 传统充电接口 优势:成本低 标准接口,互配性强 应用范围广 使用寿命短 不易实现防水
[嵌入式]
传统充电<font color='red'>接口</font>和pogopin磁吸充电<font color='red'>接口</font>的优劣势分析
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved