NCN2601010Base-T1S器件的基本使用和配置,保姆级攻略来了

原创 安森美 2024-09-09 18:59

点击蓝字 关注我们



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


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


工作模式

NCN26010 提供 IEEE 802.3cg 标准规定的强制和可选工作模式,并提供扩展功能:

➤CSMA/CD 作为基本工作和后备协议

➤物理层冲突避免机制 (PLCA)

  • 突发模式

  • 优先级模式

➤增强噪声抗扰度 (ENI)


作为一款MAC-PHY(物理层-数据链路层)器件,NCN26010在一个单一芯片中集成了10Base-T1S物理层器件(Physical Layer Device)和符合IEEE802.3第4款的媒体访问控制器(Media Access Controller)。这种组合为低成本 MCU 提供了以太网通信功能,具备至少运行在15MHz且可软件实现TCP/IP协议栈(例如,FreeRTOS+)的SPI接口。


我们将重点介绍OPEN联盟 MACPHY SPI 协议的基本功能。有关详细信息,建议用户查阅的OPEN联盟 TC6 文档1.0 版。


为了说明该部分的基本用途,本应用笔记首先讨论了如何读写配置寄存器,以及如何通过 SPI 接口发送实际以太网帧数据。


接下来将介绍一组基本配置以及 MAC 内部地址过滤器(Address Filter)和过滤器掩码(Filter Mask)的使用。


图 1. 简化框图


应用信息

👉SPI 接口

NCN26010 实现了 OPEN联盟 TC6 SPI 协议的所有必备功能。该协议使用 SPI 接口接收和发送以太网帧,并通过所谓的控制命令事务交换配置数据。

通过查看32位长通信报头(Header)的最高有效位(MSB),可以区分控制事务和数据事务。


控制命令报头

当第31位(DNC = 数据 – 非命令)被置为0时,表示这是一个控制命令。控制命令的格式如下:

图 2. 控制命令格式


数据报头

为了传输以太网数据(双向),上位机需要发送有效的数据传输报头,随后紧跟实际的以太网数据。数据传输报头的特征是第31位被置1。以下是与NCN26010器件使用相关的数据报头字段。

图 3. 数据报头字段


需要注意的是,在NCN26010的应用中,只使用 NORX、DV、SV、SWO、EV、EBO 和强制(奇数)校验 P 字段。所有其他位建议始终发送0。


👉读写配置和状态寄存器

要写入或读取单个寄存器,总共需要向 NCN26010 10Base-T1S MACPHY 发送 12 个字节。


控制命令以命令控制报头开头,随后是:

  • 对于寄存器写入控制事务(寄存器写入),包含32位寄存器内容和32位占位数据(dummy data)

  • 对于读取控制事务(寄存器读取),包含64位占位数据


SPI作为一种双向全双工通信方式,每传输/接收一位数据就需要一个SCK(串行时钟)跳变。为了在寄存器读写事务中接收适当数量的字节,MCU上位机需要通过MOSI线路向NCN26010器件发送占位字节(dummy bytes)。


连接的MCU必须能够在不断开MACPHY的SPI芯片选择的情况下完成整个事务。


为寄存器读写准备两个 12 字节长的数组似乎最为简单。在数组中填入正确的数据(报头和写入数据),然后通过 SPI 以 12 字节的批量传输方式发送,同时将结果接收到 12 字节的接收缓冲区中。


寄存器读取示例:

应用程序希望读取位于 MMS0 地址 0x0001 的 MACPHY 的 SPI 识别寄存器。


首先,我们需要生成一个适当的报头:按照此主题确定报头:


图4


确定报头后,在数组中填入零字节进行读取操作。

这将提供一个通过 MOSI 发送、通过 MISO 接收的字节数组,其内容如下:

图5


读取该寄存器的程序例程必须查看数据流的最后两个 32 位字。倒数第二个 32 位字(回显报头,字节 4 至 7)应等于通过 MOSI 线发送到 MACPHY 的命令报头,而最后一个 32 位字则包含寄存器的实际数据。请注意,寄存器读取总是返回32位字的寄存器内容,即使基础寄存器仅包含16位可用内容。


当由于使用无效的奇偶校验位计算方式导致报头格式错误,或SPI传输错误造成报头出现奇偶校验错误时,回显的控制报头及所有后续的32位字都将变为0x40000000,这表明存在“报头错误,HEADER BAD”状况。因此,MACPHY将忽略该命令。连接的上位机可以利用该信息来检测控制命令(Control Command)错误,并触发重新传输正确的控制命令。


寄存器写入示例:

假设您想要向NCN26010内部的MAC Control 0寄存器写入数据,以便在集成的MAC与PHY之间启用TX(发送)和RX(接收)传输,同时让MACPHY计算以太网帧的帧校验序列(FCS),以减轻 MCU 的计算负担。

请查阅NCN26010的数据手册以找到MAC CONTROL0寄存器。它位于 MMS 1(内存映射选择组 1)中,地址为 0x0000。


要启用TX和RX,并且让MAC计算并自动附加FCS(帧校验序列)到它将发送的每个以太网帧上,需要在寄存器中设置第 8 位(FCSA)、第 1 位(TXEN)和第 0 位(RXEN)。这将产生一个包含 0x00000103 值的待写入的数据字。


与上述寄存器读取示例类似,我们首先需要确定单个寄存器写入的正确控制命令报头。按照上述方案,我们可以得到:

图6


确定报头后,我们就可以在数组中填入要写入寄存器的数据。这样我们就得到了一个字节数组,通过MOSI发送,通过MISO接收,内容如下:

图7


请注意,奇偶校验的工作方式与寄存器读取示例相同。如果报头中的奇偶校验位出现错误,则随后的 32 位字将被设置为 0x40000000。在这种情况下,MACPHY 不会改变寄存器的内容。连接的 MCU 必须相应地处理这种情况,使用完整的报头重新发送寄存器写入事务。此外,重要的是要先发送 MSB 数据。


下面的代码片段提供了一个生成命令事务报头的函数实现示例:

图8


上述示例说明了如何生成有效的控制事务,以支持单个寄存器的读写操作。

有关如何在一次 SPI 传输中读取连续寄存器地址的详细信息,建议本应用笔记的读者查阅OPEN联盟 TC6 文档。


发送和接收以太网帧

OA-TC6 协议的设计不仅允许通过 SPI 接口实现器件配置,而且还能利用同一接口以半双工或全双工方式双向传输以太网帧,具体取决于上位机系统上运行软件的功能而定。但请注意,混合数据段上的实际以太网通信始终是半双工的。以太网帧以分块(Chuck)的形式进行双向传输。


数据块(Data Chunks)的概念

NCN26010 执行 OA SPI 协议,通过“数据块”(data chunks)与连接的上位机设备或系统传输以太网数据。


数据块是以太网帧的一部分,或者在较短的帧中,它可以是整个以太网帧。在发送数据时,数据块包含一个数据报头,其后是预定义数量的有效(pay load)数据。NCN26010可以配置每个数据块的pay load数据为8、16、32或64字节,默认设置为64字节。当上位机从NCN26010 MACPHY接收数据时,首先发送pay load数据,之后跟随一个32位的数据报尾,报尾向上位机指示:

  • 发送的数据中是否包含有效的以太网帧数据。

  • 在上一次传输中是否发现了错误。

  • NCN26010接收缓冲区中准备读取的数据块的可用数量。

  • 当前可用于TX数据传输的空数据块的数量。


如果整个以太网帧的长度超过了单个数据块所能传输的数据量,则需要将其切割成适合数据块的片段。只要 NCN26010 设备内部的 4 k byte 发送和接收缓冲区有足够的空间,这一概念就支持在 NCN26010 和上位机设备之间中断以太网帧交换而不丢失数据。


以太网帧数据可能包含也可能不包含 4 字节 FCS(帧校验序列),具体取决于如何配置。当配置为计算并自动附加 FCS 时,由上位机设备向 NCN26010 发送数据时预计不会附加 FCS。同样,当启用NCN26010内部的FCS检查时,输入帧无需提供FCS,因为无效帧(FCS校验错误的帧)将不会存储在RX缓冲区(即被丢弃)。


NCN26010 可配置为存储转发(Store and Forward)模式或直通(Cut Though)工作模式。


在“存储转发”模式下,完整的数据帧会在被发送到单对绞线以太网数据段或从以太网媒介接收之前,全部存储在器件的缓冲区内。


直通模式对上位机上运行的软件的延迟和吞吐量性能有更严格的要求,因为上位机必须始终跟上以太网数据的输入和输出速度。在使用多任务操作系统时,长时间的中断服务例程或不适宜的任务切换会导致通信速度减慢,从而因TX缓冲区欠载(underruns)或RX缓冲区超限(overruns)而导致数据丢失。


本应用笔记将不涉及使用NCN26010的“直通”模式进行数据交换的内容,而是主要聚焦于“存储转发”模式的操作。


在 "存储转发 "模式下运行时,上位机需要时刻关注缓冲区的填充水平,尤其是 RX 端或下行(downstream)数据流。对于 TX 上行(upstream)数据流,上位机上运行的软件可以轻松地延缓数据发送,直到所需的足够数据块数量(即,与当前计划传输的以太网帧大小相匹配的数量)由于上位机无法直接控制RXdownstream)数据流,若设备以半双工方式交换数据,应优先处理RX数据流


除其他配置选项外,数据块大小(chunk size)的选择会对将NCN26010连接到上位机MCU或系统的SPI接口施加最低速度要求。


在使用简单配置时,只允许新的以太网帧从数据块的开头开始,所需的SPI速度取决于以太网帧的长度以及数据块的大小:以下图表说明了这种关系。


图9


从这张图表中,这种方法的局限性变得显而易见。当应用主要使用短帧时,根据NCN26010的配置方式,较小的数据块大小可能会带来更高的吞吐量。在这种简单的配置中,极端情况是使用长度为65字节的帧和64字节大小的数据块。这将需要21 MHz的SPI速度。


NCN26010设计支持串行时钟(SCLK)上的SPI速度高达25 MHz。因此即使在这种情况下,MACPHY 的速度也足以传输所需的数据;然而,应用程序或驱动程序必须同时处理 RX 和 TX。随着以太网帧大小的增大,默认的 64 字节数据块大小需要降低 SPI 接口的时钟频率,以保证数据传输。


在多点(multi−drop)传输环境中,我们可以假设大部分数据流都在 RX 方向。由于 10Base-T1S 的半双工特性,即使以半双工方式处理 SPITX 和 RX 数据流,25 MHz SCLK 也能在大多数情况下提供稳定的数据流而不会丢失数据。


当 NCN26010 需要在单对以太网数据段上传输数据时,上位机需要发送一系列包含完整以太网帧数据的有效数据块。


新的以太网帧将从数据报头的 SV 标志(起始有效)置 1 开始。在简单情况下,帧只允许在CS(片选)信号被置位后的数据块起始处开始,起始字偏移量(Start Word Offset)将始终为0。如果以太网帧能够容纳在一个单独的数据块内,那么有效数据(payload)最后一个字节的EV(End Valid,结束有效)标志也需要被设置。请注意,当要传输的以太网帧数据短于以太网帧长度(包括源地址/目的地址、长度、字段/其他类型和 FCS)的最小要求 64 字节时,则NCN26010内的MAC会自动添加填充字节,以将帧扩展到其最小所需长度。当NCN26010被配置为不自动添加FCS时,填充字节以及FCS才需要由上位机提供。


与控制事务报头的计算类似,数据事务报头也可按下面的示例代码生成:

图10


发送以太网帧

在这里,我们仅描述了被称为 "TX 帧在数据块边界结束 "和 "每个 TX 帧都匹配数据块 "的 TX 帧发送情况。详见 [2]"图 8:发送数据块案例"。

我们需要区分以三种不同方式处理的帧数据情况:

1.帧完全匹配一个数据块   

2.以太网帧匹配两个数据块

3.以太网帧需要两个以上的数据块


在第一种情况下,用户需要发送一个数据报头,紧随其后的是实际的帧数据。该数据报头需要设置以下这些位:

. SV = 1

. DV = 1

. EV = 1


EBO(End Byte Offset,结束字节偏移)指向有效数据的最后一个字节。需要注意的是,即使以太网数据没有占满整个数据块(例如,ARP广播帧长度为46字节,所以默认的64字节数据块并不会被完全利用),应用程序仍然需要始终发送全长数据块。


在使用64字节数据块且需要发送一个长度为46字节的ARP广播帧的情况下,EBO将指向第45个字节,因为在数据块中的第一个字节索引为0。


在第二种情况下,需要两个数据块来容纳payload数据,那么第一个数据报头需要设置:

. SV = 1

. DV = 1

. EV = 0

. EBO = 0

. SWO = 0


而帧中的第二个也是最后一个数据报头需要设置:

. SV = 0

. DV = 1

. EV = 1

. EBO = position of last valid pay load byte (最后一个有效payload字节的位置 )

. SWO = 0


如果向 NCN26010 MACPHY 传输payload数据时需要两个以上的数据块,则第一个报头与前一种情况相似:

. SV = 1

. DV = 1

. EV = 0

. EBO = 0

. SWO = 0


在第一个数据块之后和最后一个数据块之前的所有报头都需要:

. SV = 0

. DV = 1

. EV = 0

. EBO = 0

. SWO = 0

Or 0xA0200000.


最后一个报头需要设置:

. SV = 0

. DV = 1

. EV = 1

. EBO = position of last valid pay load byte (最后一个有效payload字节的位置 )

. SWO = 0


由于在数据传输前要先传输报头,因此向 MACPHY 发送数据块的应用程序总是要比数据块的payload数据多发送 4 个字节。


由此,8 字节的数据块需要 12 字节,16 字节的数据块需要 20 字节,32 字节的数据块需要 36 字节,64 字节的数据块需要 68 字节。


请注意,即使数据块未全部使用,这些长度也是固定的。在 EV=1 数据块的 EBO 之后发送的数据为 "不关心 "数据,可以是任何随机数据。为方便使用,建议在数据块中填入全为 0 的字节。


与发送控制事务一样,数据事务也是双向同时进行的。通过 SPI 接口向 NCN26010 发送数据时,上位机将通过 NCN26010 的 MISO(主入从出,Master In Slave Out)引脚接收 MACPHY 返回的相同字节数。通常情况下,数据从一个足够大的缓冲区发送和接收,该缓冲区可容纳发送帧数据所需的所有数据块。输入的数据将进入第二个(即接收)缓冲区。



接收以太网数据

发送到 MACPHY 的数据在每个数据块之前带有 32 位报头信息,MACPHY 发送出的数据块在实际数据之后有一个 32 位报尾信息。


报尾包含了上位机用来引导进一步通信的信息,无论其是发送还是接收更多数据。报尾的各字段在文献[2]的第7.3.7节中有详细解释。NCN26010器件不提供OPEN联盟定义的可选时间戳功能,因此RTSA(位7)和RTSP(位6)字段将不使用,始终为0。


NCN26010 器件的数据报尾结构如下:

图11


这些字段可概括为以下功能:



以太网数据交换最简单但也最慢的方式是半双工方式。在发送帧时,如果在数据报头中设置了 NORX 标志,NCN26010 就会被指示在接收上位机发送的 TX 帧数据时,不向上位机发送以太网数据。


同样,当数据报头的 DV 标志设置为零时,上位机可在不提供 TX 数据的情况下接收帧数据。


在这种工作模式下,连接的上位机应该优先读取帧而非发送帧,或者以“公平共享”的方式交替进行发送和接收。建议是尽量快速地清空接收缓冲区。


未完待续,请持续关注我们。


⭐点个星标,茫茫人海也能一眼看到我⭐


别着急走,记得点赞在看


安森美 安森美(onsemi, 纳斯达克股票代码:ON)专注于汽车和工业终端市场,包括汽车功能电子化和安全、可持续能源网、工业自动化以及5G和云基础设施等。以高度差异化的创新产品组合,创造智能电源和感知技术,解决最复杂的挑战,帮助建设更美好的未来。
评论 (0)
  • 2024年10月09日 调研机构Global Info Research出版了《全球自动化微孔板热封仪行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告主要分析全球自动化微孔板热封仪总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。规模分析包括收入和市场份额等。深入分析了全球范围内主要企业竞争态势,收入和市场份额等,同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预
    GIRtina 2024-10-09 10:22 75浏览
  • 探针台(Probe Station)是一种用于对半导体器件进行电性能测试的重要设备。它通常由精密的机械结构、高性能的探针针头和电性能测试仪器组成。探针台可以对半导体芯片、集成电路和其他微电子器件进行直接的电性能测试,从而为研究和生产提供有价值的信息。探针台在半导体行业的研究和生产中发挥着重要作用。主要应用领域包括:半导体器件开发:在新型半导体器件的研发过程中,需要对其电性能进行多次测试,以优化器件结构和工艺参数。探针台提供了快速、准确的电性能测试手段,有助于研究人员了解器件性能并进行改进。生产过
    锦正茂科技 2024-10-09 10:33 12浏览
  • 2024年10月09日  Global Info Research行业调研机构发布的《全球钻孔探地雷达行业总体规模、主要厂商及IPO上市调研报告,2024-2030》分析了全球钻孔探地雷达总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预测数
    GIRtina 2024-10-09 10:33 55浏览
  • 2024年10月09日  Global Info Research行业调研机构发布的《全球冲击型加速度传感器行业总体规模、主要厂商及IPO上市调研报告,2024-2030》分析了全球冲击型加速度传感器总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至202
    GIRtina 2024-10-09 10:29 65浏览
  • 1.引言 汽车进入智能化时代,自动泊车功能已成为标配。在研发测试阶段,实车测试面临测试场景覆盖度不足、效率低下和成本高昂等挑战。为解决这些问题,本文提出一种自动泊车HiL仿真测试系统方案,可大幅度提升测试效率及测试场景覆盖度、缩短测试周期、加速产品迭代升级。 2.自动泊车系统简介 多传感器融合的自动泊车技术结合了超声波雷达和摄像头来实现车位探测和环境感知。超声波雷达通过实时探测周围障碍物的距离,结合车辆自身的长宽,判断是否存在可泊入的空间车位,而摄像头则通过实时图像
    北汇信息 2024-10-09 13:43 20浏览
  • 本文适用于触觉智能的SigmaStar、瑞芯微、全志等所有芯片方案产品,搭载Linux系统(Ubuntu / Debian /Buildroot)均可。本次使用到的是触觉智能的Purple Pi R1双网口开发板,搭载了SigmaStar SSD201/SSD202D芯片,类树莓派设计,双核A7,带WiFi功能,是嵌入式新人入门学习的高性价比开发板!1、什么是源?软件源就相当于软件库,需要安装什么软件,只需要使用简单的命令,系统就会从源中获取相应的软件。系统会从一个叫做源列表的文件去读取软件源的
    Industio_触觉智能 2024-10-09 14:48 2浏览
  • 本文介绍Android7.1修改网络优先级方法,基于触觉智能SBC3968主板,搭载瑞芯微RK3399芯片,这块主板的网络优先级默认是网口>WiFi>4G,下面就手把手教大家怎么修改。1、查看当前网络优先级数值源码根目录下执行以下命令查看网口命令(复制后删除换行)cat frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetNetworkFactory.javagrep NETWORK_SCORE由结果priva
    Industio_触觉智能 2024-10-09 12:15 31浏览
  • 2024年10月08日 Global Info Research调研机构发布了《全球电池绝缘纸粘贴机行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告研究全球电池绝缘纸粘贴机总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预测数据
    GIRtina 2024-10-08 14:27 77浏览
  • 2024年10月09日 Global Info Research调研机构发布了《全球多通道数字局部放电检测仪行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告研究全球多通道数字局部放电检测仪总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至20
    GIRtina 2024-10-09 09:48 41浏览
  • 随着电子技术的不断发展,越来越多的精密细小器件逐步开放和增长,作为对细小器件检测的bi备仪器—探针台也显得越来越重要。探针台可以将待测器件进行放大几十到上千倍,可将微观层面的东西搬到宏观上来进行研究,连接测试仪器仪表进行测量。那么如何选择一款适合的探针台显得尤为重要。第一,我们需要选择合适尺寸的样品座,会有2英寸、4英寸、6英寸、8英寸和12英寸之分,如果我们测试的样品是大的晶圆或器件,我们还需要注意的是,探针是否能满足扎到样品的任意位置。第二,我们选用探针臂的数量和类型,可以zui多同时搭载6
    锦正茂科技 2024-10-09 13:07 28浏览
  • 2024年10月09日 Global Info Research调研机构发布了《全球脉冲函数任意噪声发生器行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告研究全球脉冲函数任意噪声发生器总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023
    GIRtina 2024-10-09 10:24 57浏览
  • 2024年10月08日  Global Info Research行业调研机构发布的《全球袖套制造机行业总体规模、主要厂商及IPO上市调研报告,2024-2030》分析了全球袖套制造机总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预测数据为
    GIRtina 2024-10-08 14:16 84浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦