ENC28J60学习
ENC28J60符合IEEE802.3的全部规范,采用了一系列包过滤机制以对传入数据包进行限制,内部有一个NMA模块,与主控制器通过两个中断脚和SPI实现通信。
寄存器:
共有三种不同形式的寄存器——控制寄存器,以太网寄存器 和PHY寄存器。主控制器通过SPI口对ENC芯片控制寄存器进行读写。以太网寄存器包含一个供以太网控制器发送和接收存储空间,主控制器使用SPI接口对该存储的空间的容量进行编程。只能通过读缓冲器和写缓冲器的SPI指令来访问以太网缓冲器。PHY寄存器用于对PHY模块配置、控制和状态获取,不能通过SPI接口直接访问,只可通过MAC中的MII访问。
控制寄存器:
控制寄存器一共分配在四个bank中,所以有些寄存器地址相同但是分区不同,使用时要先选择分区。
所有bank的最后五个单元1Bh-1Fh都指向同一组寄存器:EIE、EIR、ESTAT、ECON2、ECON1。它们是控制和监事器件工作的关键寄存器,所以可以不切换bank的情况下访问它们。
寄存器被定义成8位长度,而这8位长度包含了三个部分,地址bit7(最高位)用以区分PHY和MAC寄存器,PHY寄存器的操作最为特殊;地址bit6和bit5用以区分BANK,2位空间正好区分4个BANK;地址的最后5位才是寄存器的地址。通过这种方式就可以区分所有的寄存器了。ENC28J60的控制寄存器通常被分为ETH(E开头),MAC(MA),MII(MI)三种.
比较特殊的5个寄存器器:
ECON1:控制ENC的主要功能,包含接收使能,发送请求DMA控制和存储区选择。
BSEL1和BSEL0是对bank的选择。
ECON2:也是控制ENC28J60的其他主要功能
AUTOINC:自动缓冲器指针递增使能:1=自动递增ERDPT和EWPRT。PKTDEC:数据包递减位:1=EPKTCNT寄存器减1.
PWRSV:节能使能位,VRPS:稳压器节能使能位。
以太网缓冲器:
PHY寄存器:
SPI操作指令集:
以太网数据包发送操作:
ENC28J60学习相关推荐
- ENC28J60学习笔记——第1部分
0.相关资料 相关资料中包括其他精彩博文和代码仓库 [嵌入式 TCP IP 资料汇总] [ENC28J60学习笔记--索引] [第1部分][第2部分][第3部分][第4部分] ...
- ENC28J60学习笔记——第4部分
0.相关资料 相关资料中包括其他精彩博文和代码仓库 [嵌入式 TCP IP 资料汇总] [ENC28J60学习笔记--索引] [第1部分][第2部分][第3部分][第4部分] ...
- ENC28J60学习笔记——第2部分
0.相关资料 相关资料中包括其他精彩博文和代码仓库 [嵌入式 TCP IP 资料汇总] [ENC28J60学习笔记--索引] [第1部分][第2部分][第3部分][第4部分] ...
- ENC28J60学习笔记——第3部分
0.相关资料 相关资料中包括其他精彩博文和代码仓库 [嵌入式 TCP IP 资料汇总] [ENC28J60学习笔记--索引] [第1部分][第2部分][第3部分][第4部分] ...
- LwIP学习笔记——STM32 ENC28J60移植与入门
0.前言 去年(2013年)的整理了LwIP相关代码,并在STM32上"裸奔"成功.一直没有时间深入整理,在这里借博文整理总结.LwIP的移植过程细节很多,博文也不可能一一详解个别 ...
- 基于enc28j60的学习心得
1.概述 enc28j60是带SPI接口的独立以太网控制器,兼容IEEE 802.3,集成MAC和10 BASE-T PHY,最高速度可达10Mb/s.基于enc28j60控制器的理解可阅读文章:EN ...
- 几种物联网实现方式之间的比较+转载
这么长时间,自己项目没有一点的进步,而又来研究物联网,好累的说 http://www.open-open.com/lib/view/open1423887376154.html http://www. ...
- 以太网控制器学习(ENC28J60为例)
一.以太网控制器 以太网控制器也叫以太网适配器,就是俗称的网卡,以太网控制器使用一个特定的物理层和数据链路层标准.文档1使用的是ENC28J60,自己项目中用的是W5200.之前没接触过,用到了也没有 ...
- AD入门学习—元件库(原理图库)的创建
目录 1.1 电阻类.电容类.电感类元件创建 1.2 LED灯.按键类元件创建 1.3 IC芯片类元件创建 学习目录 创建一个PCB工程,原理图库,原理图. 1.1 电阻类.电容类.电感类元件创建 左 ...
最新文章
- 触发器实现两表之间的INSERT,DELETE,UPDATE
- SQL2005EXPRESS查询关键字出现次数的代码(比常规方法快5倍)
- 分别用递归和非递归方式实现二叉树先序、中序和后序遍历(java实现)
- python画日漫_不能错过的Python漫画
- 基于STM32CubeMX创建STM32L496ZGTx的工程
- 网站服务器需要定期重启吗,定期服务器重启的好处和障碍
- 第二轮冲次会议第六次
- Maven之pom.xml常用标签解析及镜像配置
- python 变量类型list_Python基础变量类型——List浅析-阿里云开发者社区
- 【GStreamer开发】GStreamer基础教程05——集成GUI工具
- [转]Flex是什么?flex和flash是什么关系 ?
- mysql native筛选_Navicat远程连接MySQL8,必知防坑策略
- VMware ESXi 7.0 U2 SLIC Unlocker USB 网卡驱动集成镜像
- matlab制作科学计算器,基于MATLAB科学计算器
- spark.reducer.maxReqsInFlight和spark.reducer.maxBlocksInFlightPerAddress
- 读书笔记-项目计划、进度与控制
- WeiRuan DaBing
- [附源码]计算机毕业设计springboot动物保护协会网站
- 平面设计零基础怎么设计出一个完美的名片
- python之pip常用命令