NCN26010 10Base-T1S器件配置指南(2)

描述

NCN26010 10Base-T1S器件符合IEEE 802.3cg规范以及OPEN联盟技术委员会6(Open  Alliance,TC6)的SPI(串行外设接口)协议,并具有各种可选附加功能。

为了正确可靠地运行,在配置NCN26010时有一些注意事项,特别是因为该器件在没有正确配置的情况下无法参与多点数据段(multi−drop segment)通信。此外,如果配置不当,还有可能长期干扰整个数据段。本应用笔记旨在为用户提供针对其特定应用的 NCN26010 配置指南。这里仅描述了所需的基本设置,并通过配置示例对这些设置进行了讨论。本文为第二部分,将介绍基本配置等。

基本配置

本节讨论了使用NCN26010所需的最低配置设置,以及一些可选特性。内容首先从无地址过滤的 CSMA/CD 简单情况开始,随后讨论如何启用其他附加功能:

✦地址过滤

✦PLCA

领导者(Leader)模式

跟随者(Follower)模式

突发(Burst)模式

✦FCS 帧校验

✦FCS 计算卸载

✦增强噪声抗扰度(Enhanced Noise Immunity,ENI)

将 NCN26010 配置为最简单的操作形式,意味着将其设置为严格工作于 CSMA/CD(载波侦听多路访问/冲突检测)模式,且不激活任何地址过滤选项。

首先,我们需要将 SPI 协议格式设置为所需的形式。在本应用笔记中,我们选择了以下 SPI 协议传输选项:

接收的帧将与接收数据块的payload起始位置对齐(即字节0),紧跟上位机对片选CSn有效信号。

存储转发 "模式下的发送和接收

控制数据读/写保护禁用(详见 [2] 第 7.4 节)

每个数据块的默认payload大小为 64 字节。

1. 器件重置

可通过三种不同方式强制器件复位

a) 供电循环(上电复位);

b) 使有效器件上的物理 RSTn 引脚;

c) 写入配置寄存器。

由于有时错误处理需要器件复位,我们选择了后一种通过写入寄存器来复位器件的方法。

NCN26010 有一个允许软复位的专用寄存器。在位于MMS 0、地址0x0003的RESET寄存器中设置位0将会触发一次软复位。假设您有用来写入配置寄存器的例程,名为T1SRegWrite (MMS、ADDR、DATA)。要发出器件复位指令,您需要调用T1SRegWrite(0,0x0003,0x00000001).

2. PHY(物理层器件)相关配置

a.) PLCA

b.) ENI

在这种简单的 CSMA/CD 配置中,除了通过将 PHYCRTL 寄存器(MMS0,地址 0xFF00)中的第 12 位设置为 1 来 "激活链路 "外,不需要任何操作:T1SRegWrite(0, 0xFF00, 0x00001000)

3.  MAC (媒体访问控制器)相关配置:

a.) FSC 过滤和计算

b.) 地址过滤

c.) 广播和组播过滤

对于基本操作,我们选择让设备自动添加FCS(帧校验序列),支持广播和组播消息,并且不过滤任何 MAC 地址。这实际上使器件运行在混杂模式下。为了实现这一点,我们在MACCTRL0(MMS 1,地址:0x0000)中设置位8(FCS添加)、位1(TX使能)和位0(RX使能):T1SRegWrite(1, 0x0000, 0x00000103)

4. SPI (串行外设接口)配置

a.) 数据对齐

b.) 直通转发或存储转发

c.) 数据块payload大小

d.) TXC阈值

e.) 最后设置 SYNC 位以启用通信

我们希望器件将所有新帧与片选有效信号(CS)对齐,从新的数据块的字节0开始。该器件应在 TX 和 RX 的 "存储转发,S&F "模式下工作,并将 TXC 阈值设为 16。

所有设置均在 SPICFG0 寄存器中完成 (MMS 0,地址 0x0004)。我们需要设置 SYNC(位 15)、CSARFE(位 13)、TXCTRHESH = 0x3(位 11 和 10)、CPS = 0x6(位 2:0)。由此产生的寄存器内容为:0x0000AC06。

总之,按照下表所示的顺序写入寄存器(我们称之为配置卡 "card"),即可实现基本操作。

最小 CSMA/CD 配置

SPI

请注意,上述列表显示的是复位后需要发送到器件的最基本信息,以便MACPHY能够通过单对以太网介质与上位计算机或MCU通信。

增加 PLCA(物理层冲突避免)

当我们希望器件成为支持 PLCA 的网络的一部分时,我们需要配置并启用NCN26010 MAC PHY内部的PLCA调和子层(RS)的功能。有关物理层冲突避免(PLCA)的详细说明,请查阅 [1] 第 148 条。在启用 PLCA 的冲突域中,需要有一个所谓的 "领导者"。这通常是被分配PLCA ID=0的器件。领导者是通过在线路上发送BEACON信号来启动PLCA周期的站点。

领导者还需要配置一个最大节点数,该数必须等于或高于分配给本地冲突域中所有站点的最高ID。

当我们希望器件成为跟随者节点时,必须为其分配一个本地 ID 并启用 PLCA。

具体方法是在 PLCACTRL1 寄存器中设置相应的节点 ID(位 7:0),并在 PLCACTRL0 寄存器中启用 PLCA(位 15)。

例如,假设我们配置的节点选择了 ID=7。那么基于前一个示例的配置命令就需要扩展,现在将显示如下内容(红色线条表示增加的配置项):

最小 PLCA 跟随者模式节点配置

SPI

当我们要将节点配置为 PLCA 领导者模式时,本地 ID 需要设为 0,最大节点数需要设为一个合理的数字(8 或更大)。

假设我们想设置一个领导者,以支持冲突域中的8个节点(多点传送序列)。配置卡将更改为下图所示:

最小 PLCA 头节点(节点数 8)

SPI

我们可以根据这一原则增加更多的配置选项。例如,PLCA还提供了额外的功能,可用于处理应用中不同站点发送数据量不均的特定情况。例如,如果某个特定站点需要发送的数据量是其他所有站点的两倍,则可以允许它在每个PLCA传输机会中发送两帧或多于两帧,而不仅仅是一帧。这可以通过启用 PLCA 突发模式来实现(见 [1] 第 148.4.4.2 条)。要启用突发模式,需将最大突发计数(在单个传输机会期间可能额外传输的以太网帧数)的15:8位设置为站点在每个传输机会中可发送的额外帧数。当希望站点在每个TO(传输机会)发送两帧时,我们需要将PLCABURST寄存器中的MAXBC设置为1。

配置PLCA头节点(节点数 8)并启用突发模式

SPI

增强噪声抗扰度模式

在那些单对以太网(Single Pair Ethernet,SPE)线路受到较高噪声水平影响的应用场景中(例如,靠近电机或交流线路,或是在单一多股双绞线内捆绑了多条SPE连接),NCN26010通过提供一个非标准特性——增强噪声抗扰度(Enhanced Noise Immunity,ENI)——来展现出卓越的性能。ENI在启用PLCA的数据段中工作时不会产生副作用。当在CSMA/CD工作模式中激活ENI时,站点冲突检测的能力会略微下降,但ENI并不会中断网络通信。

启用ENI可以通过简单地设置PHYCFG1寄存器(MMS 4,地址0x8001)的第7位(bit 7)来完成。将此设置添加到之前的示例中,配置卡将如下所示:

配置PLCA头节点(节点数 8),启用突发模式,并开启增强噪声抗扰度(ENI)

SPI

地址过滤

接下来,我们可以探讨如何启用地址过滤功能。NCN26010具备四个可配置的MAC地址过滤器,可以通过设置通配符,来匹配各种目标MAC地址或单个特定地址。

要启用地址过滤,首先要设置 MAC Control0 寄存器(MMS 1,地址 0x0000)中的 ADRF 字段(第 16 位)。然后在 ADDRFLT 寄存器中设置过滤规则,并在 ADDRMASK 寄存器中定义相应的过滤掩码。

如果器件要过滤特定地址,则相应ADDRMASK中的所有位都必须设置为1。ADDRFLT 和 ADDRMASK 的长度均为 48 位,与标准以太网 MAC 地址的长度一致。只有当MASK位设置为 1 时,这些位才会被考虑用于过滤。

例如:地址过滤器只能存储与 MAC 地址 60bf02:03 匹配的输入帧。

我们使用 ADDRFLT0H/L 将该地址输入过滤器:

ADDRFILT0H=0x800060c0

ADDRFILT0L=0xbf010203

请注意,ADDRFILT0H 中的第 31 位设置为 1 时将启用过滤规则。

由于我们希望过滤器查看整个 MAC 地址,因此需要相应地设置 ADDRMASK0H/L。

ADDRMAKS0H = 0x0000FFFF

ADDRMASK0L = 0xFFFFFFFF

要正确设置过滤器和掩码,使用此功能的用户必须了解其工作原理:

过滤器会在以下情况下生效:如果输入以太网数据包的目标地址与过滤器寄存器的内容进行按位与(bitwise AND)运算后结果相等。

因此,

目标MAC地址 & ADDRMASK = 过滤器内容

这个等式必须成立,帧才能通过过滤器。

这样,如果我们希望过滤器只匹配 OUI(60BF 是 onsemi 的 OUI)

我们可以设置过滤器掩码为

ADDRMAKS0H = 0x0000FFFF

ADDRMASK0L = 0xFF000000

并将过滤器设置为

ADDRFLT0H = 0x00060C0

ADDRFLT0L = 0xBF000000

如果我们对输入的目标地址 60BF01:15(此处使用二进制符号)进行测试

SPI

我们可以看到,MAC 地址过滤器接受所有目标地址以 60BF 开头的帧。

如果我们要在现有的配置基础上增加这个MAC地址过滤功能,配置如下:

配置PLCA头节点(节点数 8),启用突发模式,并开启增强噪声抗扰度(ENI)、MAC地址过滤功能

SPI

篇幅有限,更多内容请扫码下载NCN26010 白皮书完整版。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分