新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 以太网控制器ENC28J60及其SPI 接口技术

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

作者:时间:2012-02-11来源:网络收藏


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

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

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

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


3 软件
3.1
  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与微控制器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。

双绞线传输器相关文章:双绞线传输器原理

上一页 1 2 下一页

关键词: Ethernet ENC28J60 SPI 接口

评论


相关推荐

技术专区

关闭