OBD系统非常复杂。美国加州空气资源委员会(California Air Resources Board: CARB)的OBDⅡ系统规定包括70多页的详细法规和几百页的详细SAE及ISO标准。OBD系统在功能上由软件和硬件共同实现。OBD的软件包括故障诊断控制策略代码和标定,与发动机控制部分一起构成整个发动机控制系统的软件包。在一个典型的发动机控制系统软件包中,OBD部分的代码占整个软件内容的一半,有超过150个可能的故障代码。典型的EOBD软件包括6万行代码和1.5万个标定。OBD的硬件主要由各传感器、ECU(Electronic Control Unit:电子控制单元)、OBD连接器插口、故障显示灯、执行器及线路等与发动机废气控制相关的子系统组成。OBD的硬件系统如下图1所示。