0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【S32K 进阶之旅】 NXP S32K3 以太网 RMII 接口调试(1)

大大通 2024-01-18 08:26 次阅读

前言

大联大世平集团推出了一款基于 NXP 车规级 MCU S32K344 的开发板——花名“Cavalry”,它使用 BGA257 封装的 32 位 Arm®Cortex®-M7 S32K344 作为主控芯片,在69.6*130mm 的小体积开发板上搭载了 SBC 电源管理芯片、CAN 收发器、LIN 收发器、FLASH 存储芯片、RMII 以太网接口等多种功能拓展,是一款适用于通用工业和汽车应用的评估板/开发板。S32K3xx 系列大部分都支持 TSN/AVB 以太网模块,具体型号可查询 S32K3 数据手册,支持 MII/RMII 以太网接口,通信速度 10/100 Mbps,200Mbps(MAC 到 MAC)。

本文使用“Cavalry”开发板作为 MAC,连接到景略的车载以太网模块 JL3101 来搭建以太网开发环境,当然,也可以使用市面上常见的工业以太网模块(如:DP83848)。下面解析 S32K3 以太网 RMII 接口的调试过程,希望能帮助到相关的朋友,如有错误之处,欢迎各路大神指正。



图 1 S32K3 MAC + JL3101/DP83848 PHY


RMII 接口定义

S32K344 开发板通过 J33 接口与 JL3101 以太网模块对插:


图 2 MAC to PHY 接线方式

  • VDD_HV_B:以太网模块的供电电源为 3V,连接到 S32K344 的 VDD_HV_B 电源域
  • SMI:串行管理接口(Serial Management Interface),包括 MDC 和 MDIO 两条信号线。
    • MDIO:是一个半双工双向的串行 PHY 管理接口,用来读写寄存器,达到控制 PHY 行为和监控 PHY 状态的目的。
    • MDC:它为 MDIO 提供时钟,可以实现同步/异步收发时钟。

当 MAC 作为主机,PHY 为从机时,一个 MAC 最多连接 32 个 PHY。在写 PHY 寄存器时,由 MAC 驱动 MDIO 向 PHY 写入数据;当读 PHY 寄存器时,前半段由 MAC 驱动发送寄存器地址,后半段由 PHY 驱动回复寄存器数据。

  • TX_EN:发送使能信号。
  • TXD[1:0]:数据发送信号,该信号是 2-bit 位宽的数据信号。
  • RXD[1:0] :数据接收信号,该信号是 2-bit 位宽的数据信号。RMII 接口通过 TXD[1:0] 和 RXD[1:0] 进行数据交换,发送和接收信号与 REF_CLK(shared reference clock)同步。
  • RX_ER:接收错误信号。该信号必须保持一个或多个周期(RX_CLK),从而向 MAC 子层指示在帧的某处检测到错误。
  • RX_DV:接收数据有效信号。该信号表示 PHY 当前针对 RMII 接收已恢复并解码的半字节。
  • TX_CLK:连续时钟信号,该信号提供进行 TX 数据传输时的参考时序。标称频率为:速率 10Mbit/s 时为 5MHz;速率为 100 Mbit/s 时为 50MHz。目前 S32K344 板上由外部晶振提供 50MHz 时钟源,实现百兆通信。

图 3 S32K3 RMII接口线序



开发环境搭建

1. 开发工具

  • Federation of Flyers
    • JL3101 车载以太网模块
  • NXP S32K344 开发板——Cavalry
  • 调试以太网程序,驱动以太网模块,需要接 12V 电源和 USB 串口线
  • PE-Micro 调试器
    • 烧录程序并调试,也可使用支持 S32K3 的任意调试器,如 J-link
  • 100/1000BASE-T1 信号转接器
  • 千兆车载以太网 T1 转工业网口 RJ45 连接到 PC 端,需要外接 12V 电源

图 4 开发工具连接图



2. 软件开发资源列表

  • 3.4_b201217_win32.x86_64.exe
    • NXP S32 系列的集成开发环境 4 版本
  • 4.3_D2205.zip
    • 适用于 S32DS 的 S32K3 RTD 基础开发包
  • 4_2.0.0_DS_updatesite_D2204.zip
    • 适用于S32DS 的 S32K3 RTD V2.0.0 标准插件包,使用 CT 配置
  • zip
    • FreeRTOS 实时操作系统插件包,TCP/IP 堆栈依赖于 FreeRTOS
  • zip
    • Lwip_S32K344 例程扩展包,附带 TCP/IP 堆栈



3. 例程建立

网上应该有很多关于如何搭建 S32K3 开发环境的教程,没有接触过的小伙伴也可以参考我这篇博文“【S32K 进阶之旅】S32K3 RTD MCAL 开发环境搭建(详细教程)”的第 2.3 和3.3 小节安装软件包。开发环境搭建完成之后,可以在 S32DS 的“File -> New -> S32DS Project from Example”中找到 lwip_s32k344 例程,如下图所示


图 5 S32DS 例程路径


图 6 例程界面

打开例程,进入外设配置页面,可以看到 RTD 模块组件,如下图所示,RTD 模块的序号与上文“软件开发资源列表”序号对应:

图 7 lwip_S32K344 例程的 RTD 组件



4. Notes

  • 上述插件包都是基于 S32K3 RTD 2.0.0 版本,通过插件包的 Release Notes 可以查询各版本对应关系
  • 请按照列表编号依次安装,否则可能会找不到 lwip_s32k344 例程
  • 如果安装了多个版本的 RTD 包,为了避免版本冲突,在“C:\NXP\S32DS.3.4\eclipse\mcu_data\configuration”路径中删除“xml”文件
  • S32K3xx 微控制器的以太网 MAC 模块的所有信号都来自 VDD_HV_B 电源域。由于板上 VDD_HV_B 接到 3V,所以以太网物理层或 MAC 接口不需要再额外做电平转换。


到这一步 S32K3 车载以太网开发环境已经搭建完成,下节开始讲解软件调试步骤,敬请关注本章更新。获取更多资讯,或进一步交流关于 S32K3 的技术问题,欢迎联系世平集团上海应用技术处ATU 。


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

    关注

    60

    文章

    1214

    浏览量

    177242
  • 开发板
    +关注

    关注

    25

    文章

    4429

    浏览量

    93999
收藏 人收藏

    评论

    相关推荐

    STM32以太网进阶培训课件,免费下载

    STM32以太网进阶培训01_STM32以太网外设介绍STM32 Ethernet PHY接口,支持MII、RMII两种标准;MAC层控制实
    发表于 03-22 14:36

    介绍S32K系列MCU的内核和片上资源信息

    S32K144是NXP推出的基于ARM Cortex-M4F内核的汽车级通用MCU系列S32K1xx的第一颗高性能单片机。本文首先简要介绍S32K系列MCU的内核和片上资源信息,然后
    发表于 11-01 08:20

    学习一下S32K3的ADC模块

    小猫爪:S32K3学习笔记05-S32K3之ADC1 前言2 资源简介3 ADC详解3.1 ADC mux-mode channels3.2 ADC内部框架
    发表于 03-01 06:09

    s32k3每次运行到Mcu_DistributePllClock报错怎么解决?

    刚开始接触s32k系列产品。s32k3每次运行到Mcu_DistributePllClock,都会报如下错误。问题是什么?
    发表于 03-14 08:38

    s32k3的MBDT需要autosar?

    我们最近决定为我们的项目使用 S32K3,目前正在从 MPC574 切换到 S32K3 开发套件。一位同事为 s32k3 安装了 MBDT,并报告说他还必须安装一些 autosar 驱动程序
    发表于 03-27 07:25

    启动lpuart_echo_s32k146_debug_flash_pemicro,连接网络时无法调试S32k板是怎么回事?

    :---------------------------------------------- ------------------------------------------ 连接网络时无法调试 S32k 板我该如何处
    发表于 03-28 08:35

    S32K1S32K3是否支持IEC60730?

    S32K1S32K3 是否支持 IEC60730?
    发表于 04-03 08:38

    S32DS和S32K3在软件下载页面中不再可用怎么解决?

    (com.nxp.s32ds.update_3.5.2.20221215192840 ) + S32K3开发包:com.nxp.s32ds.sp1.s32k3xx.update_3.5.0.20221216123831
    发表于 04-03 07:44

    在哪里可以获取S32DS和S32K3软件包下载包?

    (com.nxp.s32ds.update_3.5.2.20221215192840 ) + S32K3开发包:com.nxp.s32ds.sp1.s32k3xx.update_3.5.0.20221216123831
    发表于 04-06 07:06

    S32K3 ADC的外部通道如何使用?

    S32K3 ADC的外部通道使用方法 .
    发表于 04-17 07:28

    如何设置S32K3调试密码?

    1、如何设置S32K3调试密码?阿拉伯数字配置调试密码后如何解锁帐号?1S32K3怎么配置
    发表于 04-18 09:54

    如何唤醒S32K3睡眠模式?

    S32K3睡眠模式如何唤醒
    发表于 04-20 13:12

    有没有关于S32K1S32K3 SDK接口函数区别的文档?

    基于SDK,从S32K1移植到S32K3,有没有S32K1S32K3 SDK接口函数区别的文档,谢谢!
    发表于 05-12 06:52

    S32K3在ESD测试时保持运行,PLL_LOL时cpu时钟可以切换到FIRC吗?

    。 我们试图通过改变GM_SET寄存器来提高晶振强度,但没有任何改善。而我们尝试设置DCMRWP3[9]为1,当PLL_LOL时S32K不会复位,但mcu会停止,只有复位才能恢复。 我们需要
    发表于 05-30 06:49

    S32K344-Q172上的以太网PHY未正确重置怎么处理?

    我有一个 NXP S32K3X4EVB-Q172 (SCH-51972 REV A),我正在尝试使用 NXP ping 示例项目测试以太网功能和 lwIP 堆栈:lwip_
    发表于 06-08 09:41