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

描述

前言

        大联大世平集团推出了一款基于 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 接口的调试过程,希望能帮助到相关的朋友,如有错误之处,欢迎各路大神指正。

NXP



图 1  S32K3 MAC + JL3101/DP83848 PHY


 

 

RMII 接口定义

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

 

NXP


 

图 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 时钟源,实现百兆通信。
NXP

 

图 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 电源
NXP

图 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 例程,如下图所示

 

NXP


图 5  S32DS 例程路径

 

NXP


图 6 例程界面

 

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

 

NXP

图 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 。


 

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

全部0条评论

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

×
20
完善资料,
赚取积分