故障诊断系统是汽车上各类控制器的重要组成部分,本文基于ISO 14229(UDS-统一诊断服务)和ISO 15765(DoCAN)两种协议设计了一套基于CAN(Controller Area Network,控制器局域网络)总线的故障诊断系统。主芯片为XC2785的发动机ECU作为试验平台,并开发与之配合使用的上位机,最后进行测试,结果表明,可以实现CAN报文的发送及接收,诊断符合UDS的诊断流程,上位机操作简单,可以快速读取故障码,以及清除故障码,满足设计需求。