UDS之10服务

     笔者最近接触一个UDS的项目,现针对UDS中遇到的问题进行总结。

    10服务是UDS中的会话切换。由于之前做的BOOTLOADER比较多,现在算是重点放到了UDS诊断这一块。

     BOOT中 10服务分为 1.默认会话;2.刷新会话;3.扩展会话。

     APP  中只有 01.默认会话和扩展会话。当诊断仪发送 02 10 02时回复78等待。重启控制器进入BOOT模式。

   

uds_service_10 (uint8 msg_buf[], uint16 msg_dlc)
{
    uint8 subfunction;
	uint8 rsp_buf[8];

	subfunction = UDS_GET_SUB_FUNCTION (msg_buf[1]);

	rsp_buf[0] = USD_GET_POSITIVE_RSP(SID_10);
	rsp_buf[1] = subfunction;
	rsp_buf[2] = (uint8)(P2_SERVER >> 8);
	rsp_buf[3] = (uint8)(P2_SERVER & 0x00ff);
	rsp_buf[4] = (uint8)(P2X_SERVER >> 8);
	rsp_buf[5] = (uint8)(P2X_SERVER & 0x00ff);
	switch (subfunction)
	{
		case UDS_SESSION_STD:
			curr_sa = UDS_SA_NON;
			uds_session = (uds_session_t)subfunction;
			uds_positive_rsp (rsp_buf, 6);
			break;

        case UDS_SESSION_PROG:
            uds_negative_rsp (SID_10,0x78);
            EEPRM_CLEAR_PROGFlg();
            reset();
            break;

		case UDS_SESSION_EXT:
			curr_sa = UDS_SA_NON;
			uds_session = (uds_session_t)subfunction;
			uds_positive_rsp (rsp_buf, 6);
            uds_timer_start (UDS_TIMER_S3server);
			break;
		default:
			uds_negative_rsp (SID_10,0x12);
			break;
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
UDS(Unified Diagnostic Services,统一诊断服务)是一种用于汽车电子控制单元(ECU)进行诊断和通信的标准化协议。其中的14项服务指的是UDS协议定义的一组标准化服务功能,用于在诊断过程中进行各种操作和通信。 这14项服务功能主要包括: 1. 读取ECU的诊断数据:包括故障码、实时数据、传感器状态等信息,用于诊断问题的起点。 2. 清除故障码:通过发送特定命令,清除ECU中的故障码,复位故障指示灯。 3. 读取电子单元识别码(VIN):获取车辆的唯一识别码,用于确认车辆身份和生产信息。 4. 读取ECU的标定数据:包括诊断参数、校准数据、配置信息等,用于调整ECU的工作参数。 5. 控制ECU的内部状态:通过发送命令,控制ECU的特定功能模块,如激活发动机启停等。 6. 读取和修改ECU的编程数据:用于读取和修改ECU的固件、编程数据,如刷写新的软件版本等。 7. 读取和修改诊断存储器:用于读取和修改ECU中的故障码存储器、历史数据记录等。 8. 编码和配置控制器:用于编码和配置ECU的特定控制单元,如配对新的钥匙等。 9. 控制ECU的通信功能:用于在诊断过程中控制ECU的通信状态,如启动和停止ECU的诊断会话。 10. 读取和配置故障处理策略:用于读取和配置ECU中的故障处理策略,如启用和禁用特定的故障处理模式。 11. 读取和修改ECU存储器的编程条件:用于读取和修改ECU编程存储器的访问条件,如访问权限、访问级别等。 12. 读取和修改ECU的硬件和软件版本信息:用于读取和修改ECU的硬件版本、软件版本等识别信息。 13. 控制ECU的诊断操作:用于控制ECU进行特定的诊断操作,如自适应学习、传感器校准等。 14. 控制ECU进行特殊功能:用于控制ECU进行特殊功能操作,如禁用继电器、激活运动模式等。 这些服务功能组成了UDS诊断的核心部分,在汽车维修和故障诊断中起着重要作用,提供了对ECU的全面访问和控制能力,帮助技师准确定位和解决车辆故障。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_34309267

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值