⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 enc28j60_cn.txt

📁 带 SPI接口的独立 以太网控制器 . 2006 Microchip Technology Inc.高级信息 DS39662A_CN
💻 TXT
📖 第 1 页 / 共 5 页
字号:
3-3: 
MICON:MII控制寄存器
R/W-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 
bit 7 bit 0 
bit 7 
bit 6-0RSTMII:MII管理模块复位位 
1 =MII管理模块保持在复位状态 
0 =正常操作 
未用:读为 
0
图注: 
R = 可读位 
W = 可写位 
U = 未用位,读为 
0 
-n = 上电复位时的值 
1 = 置 
1 0 =清零 
x = 未知 
寄存器 
3-4: 
MICMD:MII命令寄存器 
U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0bit 7 bit 0 
bit 7-2bit 1 
bit 0 
未用:读为 
0 
MIISCAN:MII扫描使能位 
1 =连续读 
MIREGADR中的 
PHY寄存器,并把数据写入 
MIRD 
0 =不在进行 
MII管理扫描操作 
MIIRD:MII读使能位 
1 =读 
MIREGADR中的 
PHY寄存器一次,并把数据写入 
MIRD 
0 =不在进行 
MII管理读操作
图注: 
R = 可读位 
W = 可写位 
U = 未用位,读为 
0 
-n = 上电复位时的值 
1 = 置 
1 0 =清零 
x = 未知

RSTMII-------

------MIISCAN MIIRD 

. 2006 Microchip Technology Inc.高级信息 
DS39662A_CN第 
21页 



ENC28J60 


寄存器 
3-5: 
MISTAT:MII状态寄存器 
U-0 U-0 U-0 U-0 R-0 R-0 R-0 R-0bit 7 bit 0 
bit 7-4bit 3bit 1 
bit 1 
bit 0 
未用:读为 
0 
保留:保持为 
0 
NVALID:MII管理读数据无效位 
1 =MIRD内容仍然无效 
0 =MII管理读周期已完成并且 
MIRD已被更新 
SCAN:MII管理扫描操作位 
1=正在进行 
MII管理扫描操作 
0=不在进行 
MII管理扫描操作 
BUSY:MII管理忙位 
1=当前正在读或写 
PHY寄存器 
0 =MII管理接口空闲
图注: 
R = 可读位 
r = 保留位,保持为 
0 
-n = 上电复位时的值 
1 = 置 
1 
U =未用位,读为 
0 
0 =清零 
x = 未知

NVALID SCAN BUSY ----r 

3.3.4 PHSTAT寄存器 
PHSTAT1和 
PHSTAT2寄存器内包含有一些只读位,可
以显示 
PHY模块的当前工作状态,特别是与网络其他
部分通信的状态。 


PHSTAT1寄存器(寄存器 
3-6)包含 
LLSTAT位,在上
一次读寄存器后如果物理层链路出现故障,该位会清零
并保持低电平。主控制器周期性查询该位可确定链路出
现故障的时间。在没有使用链路状态变化中断的情况
下,该方法尤其适用。 


PHSTAT1寄存器还包含一个闲聊( 
Jabber)状态位。
如果以太网控制器连续不断地发送数据,不让其他节点
共享介质,那么就称以太网在“闲聊”。通常闲聊状态
表明本地控制器严重违反了 
IEEE规范定义的最大数据
包长度规定。该位保持高电平表明自上一次读寄存器起
发生了闲聊状态。 


PHSTAT2寄存器(寄存器 
3-7)包含的状态位表明 
PHY
模块是否连接到网络,是否在发送或接收数据。 


3.3.5 PHID1和 
PHID2寄存器 
PHID1和 
PHID2寄存器为只读寄存器。它们保存的常
数可帮助识别以太网控制器,也可以用于调试。这些常
数包括: 


. 
PHY模块的部件编号( 
PPN5:PPN0) 
. 
PHY模块的版本号( 
PREV3:PREV0) 
. 
PHY标识符( 
PID24:PID3),作为 
Microchip 
OUI(Organization Unique Identifier)的一部分 
PHY部件编号和版本号位于 
PHID2内。PHY标识符的
两个高字节位于 
PHID1,余下部分位于 
PHID2。表 
3-3
给出了它们在寄存器内的具体位置。

EREVID内也存储了版本信息。 EREVID是一个只读控
制寄存器,包含一个 
5位标识符,用来标识器件特定硅片
的版本号。欲知该寄存器的详细信息,请参见表 
3-2。 


DS39662A_CN 第 
22页 
高级信息 
. 2006 Microchip Technology Inc.


ENC28J60


寄存器 
3-6: 
PHSTAT1:物理层状态寄存器 
1 

U-0 U-0 U-0 R-1 R-1 U-0 U-0 U-0

---PFDPX PHDPX---

bit 15 bit 8 
U-0 U-0 U-0 U-0 U-0 R/LL-0 R/LH-0 U-0

-----LLSTAT JBRSTAT-

bit 7 
bit 0

bit 15-13 
未用:读为 
0 

bit 12 
PFDPX:PHY全双工能力位 
1 =PHY在全双工模式下能工作在 
10 Mbps频率下(该位始终置 
1) 


bit 11 
PHDPX:PHY半双工能力位 


1 =PHY在半双工模式下能工作在 
10 Mbps频率下(该位始终置 
1) 


bit 10-3 
未用:读为 
0 

bit 2 
LLSTAT:PHY锁存链路状态位 


1 =链路激活,并且自上一次读 
PHSTAT1后链路一直处于激活状态 
0 =链路失效,或自上一次读 
PHSTAT1后失效了一段时间 


bit 1 
JBRSTAT:PHY锁存闲聊状态位 
1 =自上一次读 
PHYSTAT1后, 
PHY检测到某个发送符合闲聊条件 
0 =自上一次读 
PHYSTAT1后, 
PHY未检测到任何闲聊发送 


bit 0 
未用:读为 
0 

图注: 
R = 只读位 
R/L = 只读锁存位 
U = 未用位,读为 
0 
1 =上电复位时置 
1 0 =上电复位时清零 
LL = 保持低电平位 
LH = 保持高电平位

. 2006 Microchip Technology Inc.高级信息 
DS39662A_CN第 
23页 



ENC28J60 


寄存器 
3-7: 
PHSTAT2:物理层状态寄存器 
2 

U-0 U-0 R-0 R-0 R-0 R-0 R-x U-0

--TXSTAT RXSTAT COLSTAT LSTAT DPXSTAT(1)-

bit 15 bit 8 
U-0 U-0 U-0 R-0 U-0 U-0 U-0 U-0

---PLRITY----

bit 7 
bit 0

bit 15-14未用:读为 
0 
bit 13 TXSTAT:PHY发送状态位 
1 =PHY正在发送数据 
0 =PHY未发送数据 
bit 12 RXSTAT:PHY接收状态位 
1 =PHY正在接收数据 
0 =PHY未接收数据 
bit 11 COLSTAT:PHY冲突状态位 
1 =发生冲突 
0 =未发生冲突 
bit 10 LSTAT:PHY链路状态位(不锁存) 
1 =链路激活 
0 =链路失效 
bit 9 DPXSTAT:PHY双工状态位 
(1) 
1 =PHY被配置为全双工工作模式( 
PHCON1.PDPXMD位置 
1) 
0 =PHY被配置为半双工工作模式( 
PHCON1.PDPXMD位清零)
1:双工模式状态位的复位值取决于 
LED同 
LEDB引脚的连接方式(欲知更多信息,请参见第 2.6

节“LED配置”)。 


bit 8-5 
未用:读为 
0 

bit 4 
PLRITY:极性状态位 
1 = TPIN+/TPIN-上信号极性是反向的 
0 = TPIN+/TPIN-上信号极性是正向的 


bit 3-0 
未用:读为 
0 

图注: 
R = 可读位 
W =可写位 
U = 未用位,读为 
0 
-n = 上电复位时的值 
1 = 置 
1 0 =清零 
x = 未知位

DS39662A_CN 第 
24页 
高级信息 
. 2006 Microchip Technology Inc.


ENC28J60 


4.0串行外设接口( 
SPI) 
4.1概述 
ENC28J60可与许多单片机上的串行外设接口( 
Serial 
Peripheral Interface, 
SPI)直接相连。此器件只支持 
SPI的模式 
0,0。另外, 
SPI端口要求 
SCK在空闲状态
时为低电平,并且不支持时钟极性选择。

4-1: 
SPI输入时序

4-2: 
SPI输出时序 


SCK的每个上升沿移入数据,命令和数据通过 
SI引
脚送入器件。 ENC28J60在 
SCK的下降沿从 
SO引脚
输出数据。当执行操作时 
CS引脚必须保持低电平,当
操作完成时返回高电平。

CS 
SCK 
SI 
SO 
MSB输入
高阻态
LSB输入
CS 
SCK 
SO MSB输出LSB输出
忽略
SI 
. 2006 Microchip Technology Inc.高级信息 
DS39662A_CN第 
25页 



ENC28J60 


4.2 SPI指令集 
ENC28J60共有七条指令。表 
4-1显示了所有操作的命
令代码。
ENC28J60所执行的操作完全依据外部主控制器通过 
SPI接口发出的命令。这些命令为一个或多个字节的指
令,用于访问控制存储器和以太网缓冲区。指令至少包
含一个 
3位操作码和一个用于指定寄存器地址或数据常
量的 
5位参数。写和位域指令后还会有一个或多个字节
的数据。 


4-1: 
ENC28J60的 
SPI指令集

指令名称和助记符
字节 
0字节 
1和后面的字节
操作码参数数据
读控制寄存器( 
RCR) 
0 0 0 a a a a a N/A
读缓冲器( 
RBM) 
0 0 1 1 1 0 1 0 N/A
写控制寄存器( 
WCR) 
0 1 0 a a a a a d d d d d d d d
写缓冲器( 
WBM) 
0 1 1 1 1 0 1 0 d d d d d d d d
位域置 
1(BFS) 
1 0 0 a a a a a d d d d d d d d
位域清零( 
BFC) 
1 0 1 a a a a a d d d d d d d d
系统命令(软件复位)( 
SC) 
1 1 1 1 1 1 1 1 N/A

图注: 
a = 控制寄存器地址, 
d = 数据有效负载。

DS39662A_CN 第 
26页高级信息 
. 2006 Microchip Technology Inc. 


ENC28J60 


4.2.1读控制寄存器的命令制寄存器中的哪一个。如果 
5位地址指向的是一个 
ETH
读控制寄存器( 
Read Control Register,RCR)命令允
寄存器,那么选定寄存器中的数据会立即开始从 
SO引
许主控制器随意读取 
ETH、 
MAC和 
MII寄存器。通过
脚移出,最高位在前。图 
4-3显示了这些寄存器的读取
特殊的 
MII寄存器接口可以读取 
PHY寄存器的内容(欲
序列。
知更多信息,请参见第 
3.3.1节“读 
PHY寄存器”)。如果地址指向了一个 
MAC或 
MII寄存器,则首先从 
SO

引脚移出一个无效数据字节,随后从 
SO引脚移出数据,

CS引脚拉为低电平启动 
RCR命令。然后将 
RCR操
最高位在前。通过拉高 
CS引脚的电平可结束 
RCR操
作码和随后的 
5位寄存器地址( 
A4到 
A0)发送给 
ENC28J60。5位地址决定将使用当前存储区中 
32个控
作。图 
4-4给出了读 
MAC和 
MII寄存器的命令序列。

4-3:读控制寄存器的命令序列( 
ETH寄存器)

SO 
SI 
SCK 
CS 
0 2 3 4 5 6 7 8 9 10 11 12 13 14 151 
7 6 5 4 3 2 1 0
数据输出
2 034000 1
操作码地址
高阻态
4-4:读控制寄存器的命令序列( 
MAC和 
MII寄存器) 


SO 
SI 
SCK 
CS 
0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 221 
2 034000 1 
7 6 5 4 3 2 1 0
操作码
无效字节
高阻态
23 
7 6 5 4 3 2 1 0
数据字节输出
地址
. 2006 Microchip Technology Inc.高级信息 
DS39662A_CN第 
27页 



ENC28J60 


4.2.2读缓冲存储器命令
读缓冲存储器( 
Read Buffer Memory,RBM)命令允许
主控制器从 
8 KB发送和接收缓冲存储器中读取字节。

如果 
ECON2寄存器中的 
AUTOINC位置 
1,那么在读
完每个字节的最后一位之后, 
ERDPT指针将会自动地
递增指向下一个地址。正常情况下下一个地址为当前地
址加 
1。然而,如果读取了接收缓冲器中的最后一个字
节(ERDPT = ERXND),则 
ERDPT指针将转而指向
接收缓冲器的起始单元。这样主控制器可以从接收缓冲
器中连续读取数据包,而无须跟踪何时需要折回。当读
取地址 
1FFFh时,如果 
AUTOINC被置 
1,且 
ERXND
没有指向该地址时,则读指针将递增并折回到 
0000h。

CS引脚拉为低电平启动 
RBM命令。然后将 
RBM操
作码及随后的 
5位常量 
1Ah发送给 
ENC28J60。在发送 
RBM命令和常量后,由 
ERDPT指向的存储器中的数据
将从 
SO引脚移出,首先移出最高位。如果主控制器继
续在 
SCK引脚提供时钟信号,而没有拉高 
CS的电平, 
ERDPT指向的字节将再次从 
SO引脚移出,同样首先
移出最高位。当 
AUTOINC被使能时,使用该方式就可
以连续地从缓冲存储器中顺序读取字节而无需多余的 
SPI命令。拉高 
CS引脚电平可以结束 
RBM命令。 


4-5:写控制寄存器的命令序列 


CS 


4.2.3写控制寄存器的命令
写控制寄存器( 
Write Control Register,WCR)命令允
许主控制器以任何次序写入 
ETH、 
MAC和 
MII控制寄
存器。通过特殊的 
MII寄存器接口对 
PHY寄存器执行写
操作(欲知更多信息,请参见第 
3.3.2节“写 
PHY寄
存器”)。

CS引脚拉为低电平启动 
WCR命令。然后将 
WCR
操作码及随后的 
5位地址( 
A4到 
A0)发送给 
ENC28J60。5位地址决定要使用当前存储区中 
32个控
制寄存器中的哪一个。在发送 
WCR命令和地址后,发
送要实际写入的数据

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -