系统配置(DoIP)
示例配置 » 以太网 » 系统配置(DoIP)
点击蓝色链接可在 CANoe 中加载示例配置。
系统配置(DoIP)– DoIPSystem.cfg
本示例展示了基于 IP 诊断(DoIP)测试系统的搭建,包括 DoIP 测试仪、DoIP ECU 以及通过模拟 DHCP 服务器实现的动态 IP 地址分配。
一、简介
本示例配置通过 DoIP 协议展示以下用例和功能:
- 交互式 DoIP 测试:使用诊断控制台、故障内存窗口及各类面板。
- 自动化 DoIP 测试:通过 vTESTstudio 创建的测试单元和 CAPL 测试模块实现。
- ECU 仿真:基于 DoIP 的 CAPL 回调接口(CCI)参考实现。
- 加密通信仿真:结合内置诊断通道与 TLS 加密通信。
核心组成元素
- DoIP_ECU 节点:实现复杂诊断功能的仿真 ECU。
- DoIP_TLS_ECU 节点:通过 TLS 加密连接与诊断测试仪通信的仿真 ECU。
- DoIP_Tester 节点:通过面板交互发送诊断请求的仿真测试仪。
- CAPL 测试模块(DoIP_Testmodule):执行基础诊断测试和软件下载仿真。
- DHCP 服务器:动态分配 IP 地址至各节点。
- 测试单元(DoIP_TestConfiguration):执行综合测试用例。
ECU 仿真行为
DoIP_ECU 和 DoIP_TLS_ECU 仿真实现了诊断描述文件(CDD)中定义的会话状态切换(默认会话、扩展会话、编程会话)及安全访问阻塞机制。关键行为包括:
- 变体编码数据访问:仅在扩展会话中允许。
- 默认会话限制:无法解锁 ECU。
- 阻塞条件:会话切换、发送否定响应或超时后,ECU 阻塞后续有效请求。
- 硬件复位:终止 TCP 连接并重新建立通信,复位后发送车辆宣告消息。
- 复位响应:硬件复位比软件复位耗时更长,期间 ECU 先返回否定响应码 0x78(请求已接收 - 响应待发),待 TCP 连接重建后发送肯定响应。
注意:本示例中使用的 SeednKey.dll 代码位于 UDSSystem 示例配置的 SecurityAccess 文件夹中(通过“打开文件夹”访问)。更多安全访问信息请参见《Seed & Key DLL / 安全访问》。
二、面板与窗口
本示例配置的多个桌面包含以下面板和窗口:
1. DHCP_Server 面板
控制模拟 DHCP 服务器的配置与状态:
- 启用状态(Enabled LED):指示服务器是否激活(可通过仿真设置中的 DhcpServer 节点启停)。
- 地址范围:设置 IP 地址分配区间(AddressRangeStart/End)。
- 子网掩码(SubnetMask):分配 IP 的子网掩码。
- 默认网关(DefaultGateway):DHCP 传播的网关地址。
- 租约时长(LeaseDuration [sec]):IP 地址有效期(超时前客户端自动续约)。
说明:分配的 IP 地址会显示在 DoIP_ECU_Application 和 DoIP_Tester_Application 面板中。若禁用 DHCP,需在“仿真 | TCP/IP 栈”对话框中为节点手动配置有效 IP。
2. DoIP_Tester_Application 面板
发起诊断请求序列并发送至 ECU:
- 通信状态(Communication Tester – ECU):显示详细通信状态,通过“Toggle”按钮切换激活线路。
- 窗口位置(Window Pos.):设置窗口开度(0%=全开,50%=半开,100%=关闭)。
- 循环读取(Read cyclically):
- Internals:请求 ECU 循环发送数据(类似 CAN 的 UUDT 无确认传输)。
- Position/Voltage:循环查询当前窗口位置和 ECU 内部电压值,结果显示在图形窗口中。
- Read contacts + Serial:查询 ECU 序列号和车门触点状态(触点值受硬件状态和诊断服务覆盖影响)。
3. DoIP_ECU_Application 面板
显示 ECU 内部状态及控制 TCP 连接:
- 状态(Status):显示会话(Session)、锁定级别(Lock Level)等内部状态。ECU 若在 P3 时间内未收到请求或发生否定响应,将返回锁定的默认会话。
- 可重写数据(Rewritable data):显示 ECU 序列号和变体编码数据。
- 通信(Communication):显示当前分配的 IP 地址,支持通过按钮关闭 TCP 连接。
4. DoIP_TLS_ECU_Application 面板
功能与 DoIP_ECU_Application 一致,但无 TCP 连接关闭按钮(TLS 连接由系统自动管理)。
5. DoIP_ECU_FaultMemory 面板
显示 ECU 故障内存当前内容,支持手动添加最多 6 个 DTC(通过设置每个 DTC 的状态字节)。保存 DTC 时,当前里程和输入电压会作为环境数据与快照存储。
6. ExternalSignals 面板
手动修改外部信号以激励 ECU,包括:
- 里程表值、输入电压、四车门硬件触点状态。
7. VariantCoding 面板
执行带安全访问序列的诊断请求:
- 读取/写入变体编码:向 ECU 内存写入选定编码(结果显示为 OK/Not OK)。
- 安全访问:仿真 ECU 随机生成种子(Seed),需通过密钥(Key)解锁,若车门锁定速度超过 50 km/h,编码将失败。
8. DoIP_Trace 窗口
仅显示与 DoIP 相关的以太网帧,解析 DoIP PDU 及诊断交互内容。
三、桌面布局
配置包含以下桌面,支持分类测试与监控:
1. Console 桌面
- 核心组件:DoIP_ECU 诊断控制台、DoIP_ECU_Application 面板、DHCP_Server 面板、DoIP_Trace 窗口。
- 功能:通过诊断控制台发送服务,监控 DHCP 分配的 IP 地址及通信状态。
2. Fault Memory 桌面
- 核心组件:DoIP_ECU 故障内存窗口、DoIP_ECU_FaultMemory 面板、ExternalSignals 面板。
- 功能:更新故障内存列表并查看 DTC 快照数据(需启用“Show DTC Details”)。
3. Automated Test 桌面
- 核心组件:DoIP_TestConfiguration 测试配置、DoIP_ECU_Application 面板、DoIP_Trace 窗口。
- 功能:启动测试单元执行自动化诊断测试用例。
4. Manual Test 桌面
- 核心组件:图形窗口(Graphics Window)、DoIP_Tester_Application 面板、VariantCoding 面板。
- 功能:循环查询 ECU 内部参数(位置、电压)并在图形窗口中实时显示。
5. DoIP via TLS 桌面
- 核心组件:DoIP_TLS_ECU 诊断控制台、DoIP_TLS_ECU_Application 面板、DoIP_Testmodule 测试模块。
- 功能:通过加密通道发送诊断请求,CANoe 支持解密 TLS 通信并在跟踪窗口中显示明文 DoIP PDU。
6. Setup 桌面
- 核心组件:仿真设置(Simulation Setup)、测量设置(Measurement Setup)、基础诊断编辑器(Basic Diagnostic Editor)。
- 功能:配置节点 IP 地址(若禁用 DHCP)、定义自定义诊断服务。
四、基础诊断编辑器
若 ECU 无诊断描述文件,可通过基础诊断编辑器定义简单服务,并通过“Diagnostic Console DoIP_ECU.Additional”发送。支持在测量中断后修改服务定义并重新应用配置。
821

被折叠的 条评论
为什么被折叠?



