本章,我们将向大家介绍ALIENTEK ENC28J60网络模块及其使用。本章,我们将使用ALIENTEK ENC28J60网络模块和uIP 1.0实现:TCP服务器、TCP客服端以及WEB服务器等三个功能。本章分为如下几个部分:
57.1 ENC28J60以及uIP简介
57.2 硬件设计
57.3 软件设计
57.4 下载验证
57.1 ENC28J60以及uIP简介
本章我们需要用到ENC28J60以太网控制器和uIP 1.0以太网协议栈。接下来分别介绍这两个部分。
ENC28J60 是带有行业标准串行外设接口(Serial Peripheral Interface,SPI)的独立以太网控制器。它可作为任何配备有SPI 的控制器的以太网接口。ENC28J60 符合IEEE 802.3 的全部规范,采用了一系列**滤机制以对传入数据包进行限制。 它还提供了一个内部DMA模块,以实现快速数据吞吐和硬件支持的IP校验和计算。 与主控制器的通信通过两个中断引脚和
SPI 实现,数据传输速率高达10 Mb/s。两个专用的引脚用于连接LED,进行网络活动状态指示。
ENC28J60的主要特点如下:
l 兼容IEEE802.3协议的以太网控制器
l 集成MAC和10 BASE-T物理层
l 支持全双工和半双工模式
l 数据冲突时可编程自动重发
l SPI接口速度可达10Mbps
l 8K数据接收和发送双端口RAM
l 提供快速数据移动的内部DMA控制器
l 可配置的接收和发送缓冲区大小
l 两个可编程LED输出
l 带7个中断源的两个中断引脚
l TTL电平输入
l 提供多种封装:SOIC/SSOP/SPDIP/QFN等
ENC28J60的典型应用电路如图57.1.1.1所示:
ENC28J60 由七个主要功能模块组成:
1) SPI 接口,充当主控制器和ENC28J60 之间通信通道。
2) 控制寄存器,用于控制和监视ENC28J60。
3) 双端口RAM缓冲器,用于接收和发送数据包。
4) 判优器,当DMA、发送和接收模块发出请求时对RAM 缓冲器的访问进行控制。
5) 总线接口,对通过SPI 接收的数据和命令进行解析。
6) MAC(Medium Access Control)模块,实现符合IEEE 802.3 标准的MAC 逻辑。
7) PHY(物理层)模块,对双绞线上的模拟数据进行编码和译码。
ENC28J60还包括其他支持模块,诸如振荡器、片内稳压器、电平变换器(提供可以接受5V 电压的I/O 引脚)和系统控制逻辑。
ENC28J60的功能框图如图57.1.1.2所示:
图57.1.1.2 ENC28J60功能框图
ALIENTEK ENC28J60网络模块采用ENC28J60作为主芯片,单芯片即可实现以太网接入,利用该模块,基本上只要是个单片机,就可以实现以太网连接。ALIENTEK ENC28J60网络模块原理图如图57.1.1.3所示:
图57.1.1.3 ALIENTEK ENC28J60网络模块原理图
ALIENTEK ENC28J60网络模块外观图如图57.1.1.4所示:
该模块通过一个8个引脚的排针与外部电路连接,这8个引脚分别是:GND、RST、MISO、SCK、MOSI、INT、CS和V3.3。其中GND和V3.3用于给模块供电,MISO/MOSI/SCK用于SPI通信,CS是片选信号,INT为中断输出引脚,RST为模块复位信号。
用户451780 2015-3-20 11:04