📄 enc28j60_cn.txt
字号:
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 + -