MPC5748G安全以太网网关参考设计快速入门

开箱即用

1.1 MPC5748G参考设计板介绍

1.2 连接器信号介绍

连接器 说明
MATEnet
部件编号9-2305390-9
5端口100BASE-T1以太网连接器。
RDB使用4个端口作为100BASE-T1以太网端口
部件编号2311621-1 DoIP端口,100BASE-TX,有4个引脚用于TX/RX
部件编号2311622-1 8个CAN/CAN FD通道:CAN0-CAN7
8 x 2引脚
部件编号2329531-1 用于电源、LIN、UART、ADC、PWM、IO等。
10 x 2引脚

获取软件

2.2 下载MPC5748G-GW-RDB参考设计 - 软件包

您可以使用该参考设计中的示例项目。

2.2 获取集成开发环境(IDE)

如使用S32 Design Studio for Power Architecture®,则MPC5748G-GW-RDB性能更佳。

:查看S32 Design Studio页面获取最新版本。

2.3 获取软件开发套件(SDK)

如使用S32 Software Development Kit for Power Architecture,则MPC5748G-GW-RDB性能更佳。

:查看S32 Design Studio页面获取最新版本。

连接!

要设置参考设计板,观看视频或遵循下面的分步指南进行操作。

让我们开始试用它。

3.1 设置S32K144EVB评估板中的跳线

跳线 设置 说明
J3 保持开放。 启动SBC配置。
J4 1-2 为跳线通电,启用SBC,重置MPC5748G。参见原理图,了解详情。
J5 1-2 为跳线通电,将SBC置于DEBUG模式。
在这种模式下,SBC将作为通用电源。
查看电源管理集成电路和系统基础芯片,了解详细信息。
J12 1-2 为跳线通电,启用User开关,重置MPC5748G
J13 保持开放。 该跳线可启用User开关,重置S32K。让其保持打开,不使用此跳线。

3.2 连接线缆和调试器

将MPC5748G-GW-CBL连接至MPC5748G-GW-RDB。

也将调试器(如PE Multilink)连接至板载JTAG端口和计算机。

:保留J4J5板载跳线,并拆除J3 J12J13跳线。

3.3 连接12 V电源

将电源线连接至DC电源。将电压设为12 V,电流限值> 600 mA。

  • 板BATT+引脚连接至DC电源12 V+
  • 板GND引脚连接至DC电源GND

:查看MPC5748G-GW-RDB原理图和线缆原理图了解详情。

构建并加载

4.1 在IDE中创建新项目

观看视频,了解如何在S32 Design Studio IDE中创建新项目,并加载示例代码,
也可以遵从下面的分步指南进行操作。


启动S32 Design for Power Architecture,选择一个默认工作区或指定一个新工作区。然后点击OK (确定)。
:取消勾选“默认使用,不再询问”框。

选择File > New > Project,创建新项目。

选择项目名称,然后选择项目类型,再点击Next (下一步)。建议使用Elf S32DS Project

选择内核和参数,然后点击Finish (完成)。
选择FLASHRAM SizeLanguageLibraryDebugger
建议现在使用默认设置。

为MPC5748G的3个内核创建3个项目。

4.2 在IDE中创建新项目。

通过以下路径之一构建新项目:

  1. Project > Build Project
  2. 点击构建项目。
  3. 然后点击构建所有项目。

成功构建项目后,控制台上将显示下面的消息:

4.3 在IDE中调试项目

将PE micro调试器连接至板和PC。

在top菜单中打开Debug Configuration (调试配置)选项。

选择Project (项目)进行调试。
选择 接口USB Multilink、USB Multilink FX…
选择端口USB1-Multilink Universal Rev C…
,然后点击Debug (调试)开始。

4.4 从RAM调试项目

要配置项目从RAM进行调试,通过以下路径之一执行:

  • 前往Project>Build Configurations>Set Active>Debug_RAM
  • 点击 “gear” (齿轮)图标旁的箭头,选择Debug_RAM

:按照4.2 在IDE中构建新项目所述步骤操作。

最后,调试时选择RAM相关会话。

:按照4.3 在IDE中调试项目所述步骤操作。

在“项目和教程”部分了解调试基础知识的详情。

4.5 使用内置示例制造项目

启动S32 Design Studio for Power Architecture,打开新文件:

  1. 前往File > New > New S32DS Project from Example
  2. 选择您选择的内置项目,然后点击Finish (完成)。

选定的项目将复制到活动工作区。

4.6 将项目导入IDE

  1. 前往File > Import,点击Existing Projects into Workspace (现有项目进入工作区)选项,然后点击Next (下一步)。
  2. 然后点击Browse (浏览),选择示例文件夹。

选择项目,点击Finish (完成),将其导入工作区。

安装S32 Design Studio IDE (S32DS) for Power Architecture

下载最新版S32 Design Studio IDE for Power Architecture

  1. 前往下载文件夹。运行安装文件,将出现Preparing to install (准备安装)对话框。

  2. 出现安装向导窗口后,点击Next (下一步)

  3. 选择S32 Design Studio,只安装该软件。要安装更多软件,请选择Additionally install (安装更多)选项。

  4. 建议阅读整个“许可协议”

    阅读完毕,选择“接受协议条款”单选按钮,点击Next (下一步)继续操作

  5. 选择默认或新安装位置,然后点击Next (下一步)。

    :安装位置路径不得有空格

  6. 选择路径,生成首选快捷键,点击Next (下一步)。

  7. 验证Pre-installation Summary (预安装摘要)选项卡中的所有设置

  8. 如果一切都准确无误,则点击Install (安装)。

    在安装过程中的某个点,将提示软件激活码

    要获取激活码,前往Product Download (产品下载)页面,选择License Keys (许可秘钥)选项卡。

    将激活码复制粘贴到激活窗口,然后选择Online (在线)。

    安装过程中,需要下载P&E设备驱动程序。阅读“许可协议”,点击I agree (同意)。

    然后选择目标文件夹,点击Install (安装)。安装完成后,点击Close (关闭)。

安装完S32 Design Studio for Power Architecture后,安装向导窗口将出现Install Complete - Congratulations! (安装完毕 - 恭喜)消息。

使用SDK (RTM)更新S32DS IDE for Power Architecture

从“S32DS IDE for Power Architecture”页面获取SDK RTM 1.0.0更新

:如果已拥有SDK RTM 1.0.0,可跳过这一步。

1. 启动S32DS,前往Help > Install New Software

2. 在安装向导窗口点击Add… (添加),寻找已下载的SDK。

3. 点击Local (本地),在Add Repository (添加存储库)窗口添加存储库。然后点击OK (确定)。

4. 勾选S32 Design Studio for Power Updates,然后点击Next (下一步)。

5. 阅读所有许可条款,点击Finish (完成)。

建议读完全部许可条款,点击Finish (完成),继续操作。

SDK (RTM)安装程序将立即启动。

6. 在是否信任这些证书?勾选复选框,点击OK (确定)。

成功

安装完毕后,重启S32DS IDE。

S32SDK概述

S32软件开发套件(SDK)

  • 内置非AUTOSAR软件量产级软件
  • 汽车级:符合SPICE/CMMI,MISRA 2012
  • 基于图形的配置和分层软件架构
  • 内置了S32 Design Studio及FreeRTOS
  • 兼容Eclipse及其他IDE
  • 支持MPC574x系列,还支持多个工具链
  • 记录的源代码,包括示例和演示

S32 SDK – 架构

S32 SDK – 文件结构

调试基础知识

步进,运行,暂停,恢复和终止

进入子函数(F5)

越过子函数(F6)

运行

暂停

恢复(F8)

终止(Ctrl + F2)

要查看变量:
打开Variables (变量)选项卡。
点击某个值,允许输入一个不同的值。

要查看和更改寄存器:
要查看CPU寄存器,选择Registers (寄存器)选项卡。
点击某个值,允许输入一个不同的值。

要查看EmbSysReg选项卡中的外设寄存器。

要查看和添加存储器:
要添加存储器监测仪,点击+图标,选择Base Address (示例:0x0000fff8)
这样可查看存储器。

要添加断点:
选择并双击。
:蓝点表示调试器断点。

代码示例:Hands-on – CAN

相关资源:

  • 完全实现CAN FD和CAN 2.0 B:数据字段比特率高达8 Mbps
  • 灵活的邮箱(0/8/16/32/64字节数据长度)
  • 支持“只听”模式
  • 支持自测试操作的环回模式可设置
  • 可编程传输优先级方案
  • CAN协议接口的可编程时钟源,总线时钟或晶体振荡器
  • 与传输介质无关
  • 被传输消息的CRC状态
  • 功能完备的Rx FIFO,存储容量适用于6帧
  • DMA对Rx FIFO的要求
  • 完全向后兼容以前的FlexCAN版本
  • 8个FlexCAN实例

1. CAN:导入现有项目

前往File > New > New S32DS Project from Example,创建新的S32 Design Studio项目。

然后从MPC57xxRTM SDK v1.0.0 Example Projects文件夹选择flexcan_mpc5748g文件。

2. CAN:修改

flexcan_mpc5748g示例项目适用于DEVKIT。

2.1 要修改外设电源:启用外设电源

打开Component Inspector中的pin_mux组件,配置引脚路由:

SIUL2选项卡 > GPIO 60GPIO 61,然后选择引脚(1个选项) + 定向输出。

2.2 要修改CAN Phy支持:配置CAN4~7 Phy (TJA1043T) GPIO

2.3 要修改CAN端口,前往pin_mux 组件中的Routing (collapsed),然后选择CAN。根据原理图对端口进行配置。

2.4 要修改CAN配置:

Components Library (组件库)选项卡视图下,双击flexcan组件,将其添加到项目。

无需更改CAN的默认配置:标准CAN (无FD),最小有效载荷,500 kbps

完成所有CAN配置后,点击Generate code (生成代码)。

3. CAN:应用代码

在文件编辑器视图中打开main.c文件。

:参见can_mpc5748g样本项目,修改main.c文件。也可以直接替换。

该项目的发送和接收功能是分别实现的,需要用宏来控制。

外设电源:

CAN4~CAN7 `S Phy (TJA1043T)启用:

通过CAN发送数据

注::连接需要进行测试的CAN端口。否则,将等待发送结束。

通过CAN接收数据:
:与CAN发送不同,可在任意端口测试接收。

4. CAN:构建和调试

确保没有编译错误,然后点击build project (构建项目)

选择正确的调试配置和接口,对应用进行调试

测试:通过CAN发送数据

  • 打开宏CAN_SEND,注释掉CAN_RECEIVE
  • 通过线将发送端口与PEAK (我们使用的测试工具)连接。
  • 调试应用。

测试:通过CAN接收数据

  • 打开宏CAN_RECEIVE,注释掉CAN_SEND
  • 通过线将接收端口与PEAK (我们使用的测试工具)连接。
  • 调试应用

代码示例:Hands-on – CAN FD

CAN FD的配置与CAN类似。

查看Projects and Tutorials > Hands-on – CAN,了解如何修改CAN配置和main.c的应用代码

1. CAN FD:修改配置

要更改CAN FD的默认配置:

标准CAN_FD,最大有效载荷裁定阶段:500 kbps,数据阶段:2000 kbps

2. CAN FD:修改 - 应用代码

通过CAN发送数据:

通过CAN接收数据:

3. CAN FD:构建和调试

测试:通过CAN FD发送数据

  • 打开宏CAN_SEND,注释掉CAN_RECEIVE
  • 通过线将发送端口与PEAK (我们使用的测试工具)连接
  • 调试应用

测试:通过CAN接收数据

  • 打开宏CAN_RECEIVE,注释掉CAN_SEND
  • 通过线将接收端口与PEAK (我们使用的测试工具)连接。
  • 调试应用

代码示例:Hands-On – ENET0+SPI

相关资源:

  • 内核采用双速10/100 Mbit/s以太网MAC,符合IEEE802.3-2002标准。MAC层兼容半双工或全双工10/100 Mbit/s以太网LAN。
  • MAC操作是完全可编程的,可用于网卡(NIC)、桥接或交换应用。内核根据 IETF RFC 2819实现远程网络监测(RMON)计数器。
  • 带有IEEE 1588的可编程以太网MAC将标准IEEE 802.3以太网MAC与时间戳模块相集成。IEEE 1588标准为工业自动化应用的分布式控制节点提供了准确的时钟同步。
  • 全双工、3 线同步传输
  • 主模式
  • 从模式
  • 具有连续从设备选择的从模式下的数据流操作
  • 使用传输先进先出(TX FIFO)的缓冲传输操作,深度为4个条目
  • 支持对推送TX FIFO寄存器数据字段的8/16位访问
  • 使用接收FIFO (RX FIFO)进行缓冲接收操作,深度为4个条目
  • 寄存器和协议接口的异步时钟机制
  • TX和RX FIFO可单独禁用,对SPI队列进行低延迟更新
  • TX和RX FIFO可视化有助于简化调试
  • 6个外围芯片选择(PCSe),可通过外部解复用器扩展到64个
  • 支持使用外部解复用器对多达32个外围芯片选择(PCSes)进行干扰

ENET0:实验室预览

1. ENET0:导入现有项目

前往File > New > New S32DS Project from Example,创建新的S32 Design Studio项目。

然后从MPC57xxRTM SDK v1.0.0 Example Projects文件夹选择lwip_mpc5748g文件。

2. ENET0:修改

flexcan_mpc5748g示例项目适用于DEVKIT。

2.1 要修改和启用外设电源:

打开Component Inspector中的pin_mux组件,配置引脚路由:

SIUL2选项卡 > GPIO 60GPIO 61,然后选择引脚(1个选项) + 定向输出。

3. ENET0:开关配置

spi_pal组件添加到Components Library (组件库)选项卡,然后双击该组件,将其添加到项目。

对于SPI配置端口,前往pin_mux组件中的Routing (Collapsed),然后选择SPI。

根据原理图对端口进行配置。

SPI组件配置:

用于配置SWITCH数据结构的工具是:sja1105_tools

勾选示例演示(ENET0_MPC5748G项目),将SwitchConfigure.c文件复制到项目,无需任何修改。

:联系FAE获取最新版sja1105_tools。

4. ENET0:ENET配置

前往pin_mux 组件中的Routing (collapsed),然后选择ENET

根据原理图对端口进行配置。

ENET0:lwip中间件配置

5. ENET0:应用代码

外设电源:[Project Name] > Source > main.c

要修改SPI的配置,适配SJA1105,前往[Project Name] > SDK > platform > pal > spi > src > spi_pal.c

调用send函数( SPI_MasterTransferBlocking() )时,在传输完成之前,无法保持SPI的CS引脚的默认配置。

为了匹配SWITCH,配置dspiConfig.continuousPCS = true

:如果在更新SDK后有修补程序,请忽略此修改。

要添加SWITCH初始化,前往[Project Name] > SDK > middleware > tcpip > tcpip_stack > demo > test.c

为lwip_tcp添加客户端应用。

勾选示例演示(ENET0_MPC5748G项目),将tcpiptest.c文件复制到项目,无需任何修改。

将客户端应用调用函数添加到[Project Name] > SDK > middleware > tcpip > tcpip_stack > demo > test.c

6. ENET0:构建和调试

确保没有编译错误,然后点击build project (构建项目)按钮

选择正确的调试配置和接口,对应用进行调试

测试:从PC Ping板:

测试:LWIP_tcp Client:

代码示例:Hands-On – ENET1

ENET1的配置与ENET0类似。

与前面的部分不同, MCA1的Phy (DP83848)是直连的。

查看Projects and Tutorials > Hands-on – ENET0+SPI。

相关资源:

1. ENET1:修改

要修改和启用外设电源:

打开Component Inspector中的pin_mux组件,配置引脚路由:

SIUL2选项卡 > GPIO 60GPIO 61,然后选择引脚(1个选项) + 定向输出。

2. ENET1:DP83848配置

初始化DoIP-Reset引脚 - 初始化到高层级:

启用DoIP Phy的电源。

3. ENET1:ENET配置

前往pin_mux 组件中的Routing (collapsed),然后选择ENET

根据原理图对端口进行配置:

ENET1:lwip中间件配置:

4. ENET1:应用代码

对于外设电源,前往[Project Name] > Source > main.c

要修复SDK中的问题,前往[Project Name] > SDK > middleware > tcpip > tcpip_stack > ports > netif > enetif > enetif.h

SDK只实现了MAC0的配置,需要添加显示的代码来支持MAC1。

:如果在更新SDK后有修补程序,请忽略此修改。

如果为ENET1 GPIO配置生成的代码有问题:

勾选示例演示(ENET1_MPC5748G项目),将Enet1IOConfigure.c文件复制到项目,无需任何修改。

为lwip_tcp添加客户端应用。

勾选示例演示(ENET0_MPC5748G项目),将tcpiptest.c文件复制到项目,无需任何修改。

将客户端应用调用函数添加到[Project Name] > SDK > middleware > tcpip > tcpip_stack > demo > test.c

5. ENET1:构建和调试

确保没有编译错误,然后点击build project (构建项目)按钮。

选择正确的调试配置和接口,对应用进行调试

测试:从PC Ping板:

测试:LWIP_tcp Client:

代码示例:Hands-On – UART

  • 全双工通信
  • 用于波特率计算的独立时钟
  • 应保持“(2/3)* LIN_CLK > PBRIDGEx_CLK > 1/3*LIN_CLK”关系。
  • 15/16/7/8比特数据,奇偶校验
  • 1/2/3停止位
  • 12位 + 奇偶校验接收,用于超时管理的12位计数器
  • 接收用4字节缓冲器,发送用4字节缓冲器
  • 可实现的最大波特率为LIN_CLK/4 Mbit/s。
  • 对于比特率≤ LIN_CLK/16 Mbit/s
  • 16倍过采样
  • 3:1多数票支持LIN_CLK/16 Mbit/s < 比特率 < LIN_CLK/8 Mbit/s
  • 用户可设置减少过采样

1. UART:导入示例项目

前往File > New > New S32DS Project from Example,创建新的S32 Design Studio项目。

然后从MPC57xxRTM SDK v1.0.0 Example Projects文件夹选择uart_pal_mpc5748g文件。

2. UART:修改

要修改和启用外设电源:

打开Component Inspector中的pin_mux组件,配置引脚路由:

SIUL2选项卡 > GPIO 60GPIO 61,然后选择引脚(1个选项) + 定向输出。

3. UART:配置

配置UART端口:

配置UART属性:

移植printf library函数:

勾选UART_MPC5748G项目,将printf.c文件复制到项目,无需任何修改。

4. UART:构建和调试

确保没有编译错误,然后点击build project (构建项目)按钮。

选择正确的调试配置和接口,对应用进行调试

测试:UART发送和接收。

代码示例:Hands-On – LIN

  • 支持LIN协议版本1.3, 2.0, 2.1和2.2
  • 比特率高达20 Kbit/s (LIN协议)
  • 主/从模式
  • 传统和增强的校验和计算与校验
  • 用于发送/接收的单个8字节缓冲器或FIFO
  • 超时管理
  • 标识符过滤器
  • DMA接口
  • 最多支持16个标识符
  • 具有自动信息处理功能的主模式
  • 主位检测唤醒事件
  • 真LIN字段状态机
  • 先进的LIN错误检测
  • 头、响应和帧超时
  • 从模式
  • 自动头处理
  • 自动发送/接收数据处理
  • 从模式下自动消息处理的标识符过滤器
  • 用于波特率计算的独立时钟
  • 应保持“(2/3)* LIN_CLK > PBRIDGEx_CLK > 1/3*LIN_CLK”关系。

相关资源:板载用户LIN端口(硬线连接GPIO)

1. LIN:导入示例项目

前往File > New > New S32DS Project from Example,创建新的S32 Design Studio项目。

然后从MPC57xxRTM SDK v1.0.0 Example Projects文件夹选择LIN_5748g文件。

2. LIN:应用代码

3. LIN:构建和调试

代码示例:Hands-On – eMMC+Fatfs

:此演示只在SDK版本RTM2.0.0中可用。

确保您的SDK已升级到RTM2.0.0。

1. eMMC+Fatfs:导入示例项目

File > New > New S32DS Project from Example导入SDK中的示例代码。

然后从MPC57xxRTM SDK v2.0.0 Example Projects选择sdhc_fatfs_mpc5748g文件。

2. eMMC+Fatfs:修改

要修改外设电源,先启用它。

打开Component Inspector中的pin_mux组件,配置引脚路由:

SIUL2选项卡 > GPIO 60GPIO 61,然后选择引脚(1个选项) + 定向输出。

3. eMMC+Fatfs:配置

要配置UART端口:

要配置uSDHC:

4. eMMC+Fatfs:应用代码

要修复SDK中的问题,前往:[Project Name] > SDK > middleware > sdhc > sd > sd.c

5. eMMC+Fatfs:构建和调试

获取帮助

论坛

在恩智浦的一个社区网站上,可与其他工程师交流,获取专家建议,了解如何使用MPC5748G进行产品设计。