原创 【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第五十七章 ENC28J60网络实验

2013-5-3 20:42 2702 21 22 分类: MCU/ 嵌入式 文集: STM32学习

第五十七章 ENC28J60网络实验

 

本章,我们将向大家介绍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以太网协议栈。接下来分别介绍这两个部分。

57.1.1 ENC28J60简介

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所示:

 


图57.1.1.1 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(物理层)模块,对双绞线上的模拟数据进行编码和译码。

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所示:

 

图57.1.1.4 ALIENTEK ENC28J60网络模块外观图

 

       该模块通过一个8个引脚的排针与外部电路连接,这8个引脚分别是:GND、RST、MISO、SCK、MOSI、INT、CS和V3.3。其中GND和V3.3用于给模块供电,MISO/MOSI/SCK用于SPI通信,CS是片选信号,INT为中断输出引脚,RST为模块复位信号。

文章评论1条评论)

登录后参与讨论

用户451780 2015-3-20 11:04

谢谢!参考下
相关推荐阅读
正点原子 2013-05-17 23:47
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第六十一章 战舰STM32开发板综合实验(标准例程终结篇)
   第六十一章 战舰STM32开发板综合实验        前面已经给大家讲了55个实例了,本章将设计一个综合实例,作为本指南的最后一个实验 ,该实验向大家展示了STM...
正点原子 2013-05-03 23:02
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第六十章 UCOSII实验3-消息队列、信号量集和软件定时器
   第六十章 UCOSII实验3-消息队列、信号量集和软件定时器   上一章,我们学习了UCOSII的信号量和邮箱的使用,本章,我们将学习消息队列、信号量集和软件定时器...
正点原子 2013-05-01 23:00
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第五十九章 UCOSII实验2-信号量和邮箱
第五十九章 UCOSII实验2-信号量和邮箱      上一章,我们学习了如何使用UCOSII,学习了UCOSII的任务调度,但是并没有用到任务间的同步与通信,本章我们将学习两个最基本的...
正点原子 2013-04-30 10:55
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第五十八章 UCOSII实验1-任务调度
  第五十八章 UCOSII实验1-任务调度      前面我们所有的例程都是跑的裸机程序(裸奔),从本章开始,我们将分3个章节向大家介绍UCOSII(实时多任务操作系...
正点原子 2013-04-26 23:16
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第五十七章 ENC28J60网络实验
 第五十七章 ENC28J60网络实验  本章,我们将向大家介绍ALIENTEK ENC28J60网络模块及其使用。本章,我们将使用ALIENTEK ENC28J60网络模块和uIP 1...
我要评论
1
21
关闭 站长推荐上一条 /2 下一条