【S32K 进阶之旅】 NXP S32K3 以太网 RMII 接口调试(1)_s32k344有usb总线吗-程序员宅基地

技术标签: 大大通  网络  人工智能  控制器  DP  

前言

        大联大世平集团推出了一款基于 NXP 车规级 MCU S32K344 的开发板——花名“Cavalry”,它使用 BGA257 封装的 32 位 ArmCortex-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 接口不需要再额外做电平转换。



小结

        文中使用的开发板“Cavalry”现已上架大大购,链接如下:DVK2305- CAVALRY S32K344产品详情_大大购 (wpgdadago.com)

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



参考文档

[1] Automotive TCP/IP Stack User Manual. Rev. 33.0

[2] lwip_s32k344 demo guide.
 


欢迎前往大大通相关博文下方留言评论,我们会及时回复您的问题。如有更多需求,欢迎联系大联大世平集团 ATU 部门:[email protected]
作者:Jadyn Li /李瑞洁

登录大大通,了解更多详情,解锁1500+完整应用方案,更有大联大700+FAE在线答疑解惑!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wpgddt/article/details/135412808

智能推荐

华为v系列服务器,服务器的v码-程序员宅基地

文章浏览阅读599次。服务器的v码 内容精选换一换给指定的备份策略添加一个标签。URI格式POST /v2/{project_id}/backuppolicy/{policy_id}/tagsPOST /v2/{project_id}/backuppolicy/{policy_id}/tags参数说明参数是否必选描述project_id是项目IDpolicy_id是策略ID参数说明参数是根据给定的裸金属服务器ID列表,..._vjum

汽车标定技术(十)--从CPU角度观察Overlay实现原理_mcu的overlay-程序员宅基地

文章浏览阅读1.8k次,点赞20次,收藏28次。我们从CPU视角分析了主流汽车芯片对于标定测量功能的支持程度,其实很容易发现一些端倪,有背景或者合作方的芯片厂在设计芯片时会充分考虑汽车ECU从开发到量产再到售后所有环节,并且都有不同的硬件适配,只是我们应用人员在使用时没有发现而已。_mcu的overlay

怎么实现EDIUS中白平衡的快速调整-程序员宅基地

文章浏览阅读301次。  拍摄素材的白平衡错掉怎么用EDIUS很 快校正呢?这也许是很多剪辑师苦恼的问题。摄像新手刚开始拍摄时,往往对专业摄像机的滤镜在不同光线环境中所打的档次不同而导致画面偏色,即使老手在光线 比较复杂的环境情况下,有时也把握不好在不同位置的摄像“白平衡”校正,特别是时时来不及校正又没有使用“自动..._eduis自动白平衡

3.利用抽象类编写一个程序实现公交车卡售票管理。当输入为“老年卡”、“学生卡”和“普通卡”时显示不同的卡类,及购票金额(“老年卡”购票金额=原价*50%、“学生卡”购票金额=原价*60%、“普通卡”购...-程序员宅基地

文章浏览阅读382次。下面是一种可能的实现方式:创建一个抽象类 Card,包含以下成员函数:构造函数:用于初始化卡的信息充值函数:用于向卡内充值金额余额查询函数:用于查询卡内的余额刷卡消费函数:用于在刷卡时扣除相应的金额纯虚函数:用于完成刷卡种类显示和设置折扣率的操作创建三个派生类 OldCard、StudentCard 和 NormalCard,分别表示老年卡、学生卡和普通卡。这三个类都从 C..._公交卡售票管理系统

Ubuntu 编译GLIBC_ubuntu glibc编译-程序员宅基地

文章浏览阅读1.5k次。GLIBC版本过低或者重新编译1、下载GLIBC源下载地址2、解压tar -zxvf 文件名3、在解压后的目录中创建build文件夹4、进入build文件夹,执行命令:…/configure中途会提示安装gawk:apt install gawk,安装后再次执行…/configure..._ubuntu glibc编译

CoreTelephony框架的简单使用_definition of 'ctcarrier' must be imported from mo-程序员宅基地

文章浏览阅读1.5w次。本文简单地使用了CoreTelephony这个曾经的私有框架来输出手机的运营商信息和通话信息。_definition of 'ctcarrier' must be imported from module 'coretele

随便推点

让你的python程序开机自启动_python 程度开机启动-程序员宅基地

文章浏览阅读3.1w次。前段时间写的那个python桌面时钟的小程序, 今天突发奇想, 能不能让他开机自动启动呢 开始菜单启动项实现1 创建快捷方式2 直接将快捷方式复制/粘贴到开始菜单启动文件夹开始菜单--> 程序-->启动-->然后单击右键打开, 进入启动(startup)目录将快捷方式复制进去3 重新启动我们的时钟就开始运行 了_python 程度开机启动

31条指令单周期cpu设计(Verilog)-(二)总体设计_31条指令单周期cpu设计与实现-程序员宅基地

文章浏览阅读2.2w次,点赞25次,收藏187次。目录31条指令单周期cpu设计(Verilog)-(一)相关软件31条指令单周期cpu设计(Verilog)-(二)总体设计31条指令单周期cpu设计(Verilog)-(三)指令分析 (重要)31条指令单周期cpu设计(Verilog)-(四)数据输入输出关系表 (重要)31条指令单周期cpu设计(Verilog)-(五)整体..._31条指令单周期cpu设计与实现

Celery 之异步任务、定时任务、周期任务-程序员宅基地

文章浏览阅读114次。什么是Celery?Celery 是芹菜Celery 是基于Python实现的模块, 用于执行异步定时周期任务的其结构的组成是由 1.用户任务 app 2.管道 broker 用于存储任务 官方推荐 redis rabbitMQ / backend 用于存储任务执行结果的 3.员工 worker一 异步任务 1 from celery import Cel..._celery 异步任务 定时任务 周期任务

Jmeter 控制台-启动报错:Could not initialize class org.apache.jmeter.gui.util.MenuFactory-程序员宅基地

文章浏览阅读3k次。1.下载:plugins-manager.jar包2.地址:https://jmeter-plugins.org/install/Install/3.将jar包放到lib/ext4.重启jmeter_could not initialize class org.apache.jmeter.gui.util.menufactory

SQL注入---大小写绕过_大小写注入-程序员宅基地

文章浏览阅读705次。WEB安全篇 SQL注入绕过技术 02 大小写转换 NULL值 N值 双引号 十六进制绕过注入1、大小写转换select * from users where id=1 Union sEleCT 1,2,3,4;在less中测试内容被过滤空格被过滤掉用%0a替换空格,空格未被过滤爆出账号密码http://192.168.50.185:7766/Less-27/?id=9999%27%0AUniOn%0ASelecT%0A1,(SelecT%0Agroup__大小写注入

Autoleaders控制组——51单片机学习笔记(2)-程序员宅基地

文章浏览阅读1.6k次,点赞55次,收藏31次。LCD1602是一块两排的液晶显示屏,可以输出字母,数字或者一些符号,相比数码管,它可以显示的信息更多,但也使它更加难以解释。这是一个原理简单,但驱动操作比较复杂的外设。这是关于驱动液晶显示屏的代码。//引脚配置://函数定义:/*** @brief LCD1602延时函数,可延时1ms* @param 无* @retval 无*/_nop_();_nop_();_nop_();i = 11;j = 190;do/*** @brief LCD1602写命令。

推荐文章

热门文章

相关标签