你好,
我尝试在 MATLAB 2023a 上运行 PIL S32CT 示例和 MBDT S32K3xx (v1.4.0)。我的配置包括通过板载 OpenSDA 端口连接的 S32K3x4EVB-T172。
尝试 1(OpenSDA COM):
我可以成功刷写生成的目标模型,但是 PIL 执行立即失败,并出现以下错误:
“无法打开通信通道”(请参见附件中的错误信息截图)
尝试 2(外置 USB 转串口转换器)
我保持 OpenSDA 端口连接以进行刷写,但将外部 USB2Sireal 连接器连接到 J44(1 到 TX,2 到 RX)以进行 PIL 通信,并在硬件设置中更新了 COM 端口。模型刷写成功,但执行超时并出现以下错误:
错误:从 rtiostream 接口接收数据的超时时间已超过 10 秒。通信失败可能由多种原因造成。
你应该:
(a)检查目标硬件配置是否正确,例如,检查字节顺序是否正确。
(b)确认目标应用程序正在目标硬件上运行。
(c)考虑应用程序运行时故障的可能性(例如除以零异常、不正确的自定义代码集成等)。
注(c):要确定运行时失败的可能原因,请考虑使用 SIL,它支持信号处理程序和调试。
如果找不到解决方案,请考虑使用 rtw.connectivity.RtIOStreamHostCommunicator 的 setTimeoutRecvSecs 方法来增加超时值。
问题:
1.S32K3x4EVB-T172开发板运行PIL时是否需要外接USB转串口转换器,还是可以通过板载OpenSDA端口运行PIL?
2. 如果需要外部 USB 转串口转换器,所需的硬件 UART 配置具体是什么?
3. 我是否遗漏了什么配置?
非常感谢您的指导!
你好, @PruthviB ,
在进一步调查之前,能否请您说明一下您使用MBDT S32K3xx v1.4.0 的原因?最新版本为v1.8.0 ,其中包含多项修复和改进。我们建议您先升级到 v1.8.0 版本,然后检查问题是否仍然存在。
关于您的设置, S32K3X4EVB-T172上的PIL 通信不需要外部 USB 转串口转换器。板载OpenSDA 接口已经提供了对用于主机-目标通信的目标 UART 的访问,因此同一个 USB 连接可以用于编程和 PIL 通信。
由于 OpenSDA 可以直接访问 UART 引脚,因此通常不需要连接额外的 USB 转串口适配器,如果多个串口处于活动状态,甚至可能会引入配置冲突。
请您尝试一下以下示例:
此致,
德拉戈斯
你好, @dragostoma
感谢您对OpenSDA板载接口的指导。
关于版本,MBDT v1.4.0 是推荐用于电池管理系统的 MBDT 版本。请问能否提供在v1.4.0版本中运行PIL仿真的指导?
顺祝商祺!
普鲁特维
你好, @PruthviB ,
没错,你说得对。The 电池管理系统 Toolbox requires S32K3 Toolbox version 1.4.0. 由于最初的讨论没有提到电池管理系统 工具箱,我假设这个问题与使用过时的 S32K3 工具箱版本有关。
关于 1.4.0 版本中的PIL 模拟,工作流程保持不变。工具箱提供的示例模型配置为使用LPUART 实例,其 RX 和 TX 信号通过 OpenSDA 接口路由。如果您打算使用专用的USB 转串口转换器,则需要配置不同的 LPUART 实例,并将转换器连接的相应 RX 和 TX 引脚分配给该实例。
总结起来:
使用 OpenSDA 接口:工具箱中包含的示例模型无需任何额外修改即可工作。所需的 LPUART 实例和相关的 RX/TX 引脚已配置完毕。
使用专用 USB 转串口转换器:转换器必须连接到目标设备上的特定 RX 和 TX 引脚。因此,必须配置这些引脚并将其映射到可用的 LPUART 实例,这需要对项目配置进行相应的更新。
使用 USB2Serial 变流器时,请确保使用正确的 COM 端口,并配置 J44 的 RX 和 TX 引脚。
与我们联系,
德拉戈斯