气辅式软件控制策略设计说明.docx
气辅式尿素计量泵软件控制策略设计说明设计人:日期:批准人:日期:审核人:日期:第1章.产品介绍41.l总体介绍41.2 工作条件41.2.1 喷射介质41.2.2 使用电源51.2.3 使用气源51.3 产品工作原理及主要性能参数5第2章.工作流程及状态描述62.1 工作流程62.2 各工作状态概述82.2.1 休眠状态控制概述82.2.2 初始状态概述82.2.3 泵停状态概述82.2.4 建压状态概述92.2.5 喷射状态概述92.2.6 吹扫状态概述92.2.7 诊断状态控制概述92.3 各工作状态控制策略设计说明102.3.1 初始化状态控制策略设计说明102.3.2 泵停状态控制策略设计说明112.3.3 建压状态控制策略设计说明122.3.4 喷射状态控制策略设计说明132.3.5 吹扫状态控制策略设计说明152.3.6 诊断状态控制策略设计说明16第3章.构建开发环境183.1 开发环境183.2 开发语言183.3 单片机18第4章通讯协议184.1 SCR系统通讯协议概述184.3 泵状态通讯控制策略概述194.4 通讯失败或CAN掉线控制策略194.5 通讯方式及协议204.6 CAN中断及初始化控制策略204.7 CAN接受报文定义204.7.1 CAN接受标识符寄存器(0xl8FFDF00)234.7.2 CAN接受标识符寄存器(0xl8FFE03D)254.7.3 CAN接受标识符寄存器(0x0CF00400)254.7.4 CAN接受标识符寄存器(0x7F)264.7.5 CAN接受标识符寄存器(CAN接受标识符+0x03)264.7.6 CAN接受标识符寄存器(CAN接受标识符+0x04)274.7.7 CAN接受标识符寄存器(CAN接受标识符+0x05)274.8 CAN发送报文定义274.8.1 CAN发送标识符寄存器(tQns_。ne)324.8.2 CAN发送标识符寄存器(trans_two)324.8.3 CAN发送标识符寄存器(0×18FFDE3D)334.8.4 CAN发送标识符寄存器(OXI8FFE000)334.8.5 CAN发送标识符寄存器(0×18FF3000)33第5章.定时中断函数335.1 4ms定时中断函数控制策略335.2 加热控制策略345.2.1 上电加热控制策略365.2.1.1 上电检查温度-40-30°C375.2.1.2 上电检查温度-30-20C375.2.1.3 电检查温度-20-10°C375.2.1.4 上电检查温度-10-5°C375.2.2 保温控制策略385.2.2.1 保温阶段上电检查温度-40-30°C385.2.2.2 保温阶段上电检查温度-30-20°C385.2.2.3 温阶段上电检查温度-20-10C385.2.2.4 保温阶段上电检查温度-10-5C395.2.3 停止加热控制策略395.3 200ms中断控制处理函数39第6章.电机控制函数396.1 电机控制函数396.2 电机开(MOtojOn)406.3 电机关(Motor_off)40第7章.计量阀控制函索40第8章.补气函数418.1 补气过程控制428.2 建压过程控制43第9章.补压函数439.1补压自救控制流程43第10章.OBD故障报警4410.1 OBD故障列表4510.2 故障说明47103故隙报警条件4710.3.1 传感器故障(G)4710.3.1.1 尿素压力传感器故障(GI)4810.3.1.2 压力传感器故障(G2)4810.3.1.3 尿素温度传感器故障(G3)4810.3.2 喷嘴或喷射管故障(八)4910.3.2.1 喷嘴或冷水管脱落(Al)4910.3.2.2 喷嘴或喷射管堵塞(A2)49103.3进液管故障(B)501.1.1.1 1进液管堵脱落或低尿素流5010.3.4 回液管堵塞故障(C)5010.3.5 压缩空气故障(D)5010.3.6 空气电磁阀故障(DI)5110.3.7 回液电磁阀故障(CI)5110.3.8 CAN掉线故障(E)5110.3.9 内部加热故隙(F)52第1章.产品介绍1.1 总体介绍气辅式尿素计量喷射泵,利用压缩空气辅助对尿素溶液进行雾化。尿素计量泵用于柴油机尾气后处理SCR系统的尿素溶液计量和喷射,电控整元控制泵内计量阀开启和关断时间的控制,从而实现对喷射出来尿素溶液精确计量。泵喷射量范围0-9000mlh,适应于环境温度-40-85范围内工作。泵内置加热装置,最低工作环境温度为-40,可实现自动加热化冰功能。泵内建有自诊断功能,可对一般故障进行检测及实现泵内OBD功能,发现故障后通过CAN总线把故障状态报给DCU或计量泵诊断系统。泵内置电控单元,控制软件对所有的内部传感器信号进行采集并控制相关执行单元,以及通过CAN总线与外部DCU或计量泵诊断系统进行数据通讯。1.2 工作条件气辅式尿素计量喷射泵使用工作条件,要求有喷射介质、使用电源、使用气源,分别为尿素水溶液、车载电平供电,车载压缩空气供气。1.2.1 喷射介质尿素计量喷射泵所使用喷射介质为尿素水溶液,其成分为32.5%的高纯尿素和67.5%的去离子水组成,其元素含量应符合DI7()070标准要求。尿素水溶液为高纯度透明液体,有淡淡的氨水气味,如果溅出,水分蒸发并形成结晶。车用尿素水溶液与汽车尾气中的氮氧化合物发生反应生成无毒的氮气和水排出,从而降低汽车尾气中的有毒气体的排放,减少污染,达到排放标准。允许尿素水溶液的温度范围5至60,低于Tle以下尿素溶液会结冰,低于-20会完全上冻,因此需加热和保温,在75以上会挥发,因此加热需适度。1.2.2 使用电源尿素计量喷射泵所使用的车载24V电平电源供电,为保障车辆未行驶的状态下不会大量消耗车载电源,静态电流即计量泵处于休眠状态时不大于1毫安。当计量泵工作在喷射状态且未进行加热,最大工作电流50毫安,加热时工作在喷射状态时工作电流为1.5A01.2.3 使用气源尿素计量喷射泵需使用无杂质的压缩空气,如有杂质进入尿素泵内,容易发生泵内堵塞,为保障气源无杂质进入尿素泵内,应配置空气过滤器。考虑到车用气源不稳定压力波动较大,计量泵内配置了稳压调节阀,稳压调节阀对气源压力进入尿素泵后有一个稳定的空气压力,且可调节计量泵内使用的空气压力,一般状况下计量喷射泵的空气消耗量为15-20Lmin,空气消耗量随喷射量增加而逐渐减少。计量喷射泵工作在建压和喷射状态时,一直会有空气消耗。工作在建压状态下,空气辅助清扫气路残留尿素,达到疏通管路的目的,工作在喷射状态下,空气辅助尿素溶液达到雾化的目的。1.3 产品工作原理及主要性能参数尿素计量喷射泵工作原理为通过电控单元控制电机带动膜片往复运动实现尿素抽吸,电机转速越快,膜片往复运动的频率越大,抽吸尿素的流量越大;通过电控单元,软件控制计量阀的打开时间实现加压后尿素溶液的准确计量,根据采集计量阀前后端的压力、DCU命令喷射量进行计算,得出一个周期内要控制的计量阀开启时间;最后在气液混合腔,压缩空气把计量后的尿素溶液吹送到排气管中实现雾化。尿素计量喷射泵主要性能参数如表1所示。技术参数名称数值最大尿素喷射量9000mlh喷射精度±5%工作温度-4085C喷射状态下空气压力1.33.9Bar喷射状态下尿素压力5.36Bar压缩空气消耗量15-20Lmin工作电压24V(DC)喷射泵最大功率20W内部加热器功率38W通讯协议SAEJ1939-2003设计使用寿命5年或10万公里?表1:尿素计量喷射泵主要性能参数第2章.工作流程及状态描述2.1 工作流程如图1工作流程图所示,尿素喷射泵共有7种状态,当控制单元监测到点火钥匙打开信号、泵内控制单元进行对泵内各个模块进行初始化,当完成初始化后,DCU命令以及泵自动达到泵停状态,等待DCU控制命令其他状态。DClJ通过发送命令报文向尿素计量泵下达工作指令,计量泵也会通过固定报文格式向DCU返回其当前状态。DCU每发送一次命令报文,同时计量喷射泵也会间隔200ms发送泵的当前状态给DCU,计量泵如果在一定时间内没有正确接受到命令报文,则按照通讯中断处理,计量泵会报“CAN掉线故障”。图1工作流程图计量喷射泵的一般工作过程如下:点火开关接通后,喷射泵每20OmS发送泵状态和OBD信息;喷射泵上电初始化,上电自检完成后自动从上电初始状态切换到泵停状态;喷射泵在接到DCU建压命令后,计量泵开始建压,为保障喷射泵在建压状态下以最大流量建压抽吸,电机以最高转速运转;成功建压后,切换到预喷射状态,实际喷射量为0;喷射泵在接收到DCU发送的喷射命令信息以后,按照DCU的命令喷射量进行计量喷射。DCU发送命令信息,喷射泵接受并执行命令。根据DCU发送的命令喷射量、计量阀前后端的压差,计算得出反馈的实际喷射量;当喷射泵工作在喷射状态下接收到DCU发送的泵停止命令,计量泵要先进入吹扫状态,吹扫32秒完成后自动进入泵停状态,或计量泵检测到点火信号关闭,先进入吹扫32秒完成后自动进入泵停状态,泵停状态5秒后计量泵进入休眠状态,等待上电唤醒。2.2 各工作状态概述计量泵等待或执行DCU或上位机诊断系统工作状态命令,且计量泵实时发送其自身工作状态报文反馈给DCU或上位机诊断系统。2.2.1 休眠状态控制概述休眠状态也就是功耗最小的状态,控制单元关闭主电路,保持最小的静态电流等待唤醒,以节省蓄电池电力。当点火开关关闭,泵在泵停状态下,计时第4秒时将泵吹扫标志位储存在MCU存储器中,计时5秒后会自动进入休眠状态。在建压状态及喷射状态下,关闭点火开关,泵会自动进入吹扫状态,吹扫完成后进入泵停状态,开启计时第4秒时将泵吹扫标志位储存,第5秒后进入休眠状态,停止发送和接受报文,计量泵和DCU通讯CAN进入休眠状态。当点火开关打开后,泵会自动由休眠状态转入初始状态。2.2.2 初始状态概述计量喷射泵在上电后会自动转入初始状态,读取存储器中数据,如读取到MCU存储器中的吹扫标志为,如吹扫未完成,则执行吹扫,自检完成后,进入泵停状态。2.2.3 泵停状态概述计量喷射泵在上电并完成初始状态检查后自动进入泵停状态,等待DelJ命令。此时点火开关关闭,第4秒记录吹扫标志位,第5秒后进入休眠状态。2.2.4 建压状态概述计量喷射泵在泵停状态下,接收到DCU发送的建压命令即进入建压状态,泵内电机以最大转速工作。建压15秒后,检测尿素溶液压力大于5.3bar,确认建压成功。建压成功后,泵会自动进入喷射状态,喷射量为0。如果建压没有成功,泵会持续进行建压10次之后仍没达到5.3bar,出错报故障。2.2.5 喷射状态概述泵建压完成后进入预喷射状态,此状态下接收到DCU喷射命令后,才会进入喷射状态,预喷射状态下,DCU或上位机诊断系统给命令喷射量计量泵不会进行喷射,只有当接受到DCU或上位机诊断系统的命令喷射状态,且收到命令喷射量时才会进行喷射。2.2.6 吹扫状态概述吹扫状态是清除喷射管路及喷嘴内的残留液体,以防喷嘴堵塞。吹扫32秒后,泵停止吹扫自动进入泵停状态。喷射泵在工作状态下,接受到DCU或上位机诊断系统吹扫命令,喷射泵会执行DCU发送的吹扫命令并且把泵的当前状态设为吹扫状态,如果此时点火开关关闭,则喷射泵继续维持吹扫过程32秒;DCU或上位机诊断系统持续发送吹扫命令,直到接收到喷射泵返回的吹扫过程完成标志位信息,然后发送泵停止命令,要求喷射泵进入泵停止状态。2.2.7 诊断状态控制概述计量喷射泵接收到DCU诊断命令后进入诊断状态,在此状态下可以手动控制电机、空气电磁阀、回液电磁阀、计量阀以及手动控制元器件开关动作,对元器件进行验证调试。DCU可以发送诊断命令,通过对相关元器件的诊断,进行对泵故障排查。当诊断电机,会打开泵电机,进行相关测试;如果诊断位置0,会关闭泵电机或电磁阀,结束测试过程;当诊断操作结束,DCU发送泵停止命令,使喷射泵进入泵停止状态。2.3 各工作状态控制策略设计说明各工作状态交互模式如下图2所示:点火打开U命令喷射(建压完成后)休眠二O初始化1寨停J砒崎令啧时破扫完成鼠3喷射DCU命令诊断图2交互模式其中实线部分为各个状态可以直接切换,虚线部分为间接切换。喷射、建压状态到泵停状态时,电机因转动过,泵内会有尿素残留,长时间残留会导致结晶,故此时不能直接进入泵停状态,必须先进过吹扫状态,将泵内尿素残留,吹扫至泵外避免结晶堵塞。泵停、建压状态到喷射状态,当计量泵工作在泵停或建压状态时,接受到DCU命令为喷射状态,计量泵必须等待建压状态完成才会进入喷射状态。计量泵建压完成的条件为尿素压力大于5.3bar被视为建压成功,当计量泵工作在喷射状态时,泵内电机必须维持尿素压力在5.5bar来执行喷射命令。建压状态下设定5.3bar是由于电机转动的惯性不会让电机立即停止转动,当到达喷射状态时,尿素压力已满足设定的5.5bar的工作压力要求。吹扫状态到泵停状态,当计量泵工作在吹扫状态时,必须等待吹扫完成以后才可进入泵停状态,如不进过吹扫,泵内尿素残留会导致内部结晶堵塞。1.1.1 始化状态控制策略设计说明电源接通后,计量泵将进入初始化状态,初始化系统参数。初始化函数包括:总线时钟初始化、中断初始化、ECT模块初始化、AD采集模块初始化、CAN总线初始化、PWM模块初始化、IO口模块初始化等。总线时钟初始化函数,选择外部晶振作为时钟源,对系统的总线时钟设定为16Mhz,保障整个系统的正常工作。中断采用RTl实时中断函数,计时时钟源使用内部时钟,与总线时钟频率无关,配置实时中断控制寄存器,RTl的益出时钟周期65ms,频率为15Hz。ECT模块初始化函数,计数器系统控制寄存器定时使能,控制定时器的时钟信号源的选择。AD采集模块初始化,配置ATDCTL控制寄存器,CPU发出启动命令,然后经采样,模数转换,最后将结果保存在相应的寄存器中。CAN总线初始化模块,配置CAN4CTL控制寄存器,发生初始化请求,MSCAN切换至初始化模式,初始化模式下对相应寄存器复位为默认值,MSCAN是能相应寄存器配置保文过滤器。PWM初始化模块,对计量阀开度PWM、电机转速PwM进行初始化。IO口模块初始化,对所有输入输出口进行初始化。1.1.2 泵停状态控制策略设计说明电源接通并初始化后,泵自动进入泵停状态,泵内所有的元器件处于待命状态。泵不会改变这个状态除非收到ECM/DCU状态命令或点火开关关闭。在点火开关关闭后,计量泵保存当前吹扫完成标志状态。进入泵停状态的条件,点火开关信号上电,计量泵默认从初始化状态进入泵停状态,或DCIJ发送了“泵停”状态命令,或计量泵出现了故障进入泵停状态。进入泵停状态子函数,首先判断点火开关是否关闭,如果关闭了,需让电机停止工作。判断计量泵是否出现了故障。判断故障码,如“喷嘴或喷射管故障”、“进液管故障”、“压缩空气故障”、“传感器故障”及吹扫状态是否完成,如果吹扫状态没有完成,则进入吹扫状态执行吹扫,直到吹扫结束,再重新进入泵停状态。在泵停状态,将计量泵工作状态位置为“1”设为泵停状态,关闭泵电机、关闭空气电磁阀、关闭计量阀、关闭回液电磁阀、检测点火信号和CAN掉线标志位。泵停状态下,实时监测空气压力、尿素压力、尿素温度,当任意一个传感器发生故障,通过监测的压力和温度值进行判断,且会报相应传感器故障。1.1.3 建压状态控制策略设计说明建压状态是泵准备进入计量喷射状态前的状态,建压约15秒后监测尿素压力,判断泵能否进入计量喷射的状态。如果建压执行成功,泵将自动进入喷射状态,如一次建压不成功则循环10次建压过程,循环排空建压10次是为了排除计量泵自身问题而导致无法建压,无法建压的外界原因有尿素箱内无尿素、进液管路存在空气、进液管路脱落等。当循环10次排空后仍不能成功建压则报“进液管故障”、“进液管脱落或低尿素流”。控制流程见下图3:图3建压状态控制流程计量喷射泵在泵停状态下,接收到DCU发送的建压或喷射命令则进入建压状态,工作在建压时判断计量泵点火开关是否关闭,如果关闭并且没有进行吹扫,则会先进入吹扫状态执行吹扫动作,然后判断计量泵的故障码判断计量泵是否有故障(故障包括:回液管故障、进液管和压缩空气故障、喷嘴故障),如果有故障则进入吹扫,吹扫完成后进入泵停状态。当进入建压状态时,先开启计时5秒,压缩空气电磁阀执行开关动作、回液电磁阀开、计量阀关闭、计量泵电机以最大转速工作,以排除计量泵及管路内空气,计时5秒结束后;再进行计时10秒,回液电磁阀执行开关动作、空气电磁阀开、计量阀关、电机还是以最大转速工作,计时10秒结束后;再进行计时1秒,回液电磁阀开、空气电磁阀开、电机停、计量阀以1Hz50%占空比工作1秒后;关回液电磁阀、空气电磁阀开、关闭计量阀、电机以最大转速工作,然后监测尿素压力,如果尿素压力高于5.3bar电机停,计量泵状态则进入预喷射状态,如果尿素压力低于5.3bar,延时9秒用于建压,再次循环上述步骤循环建压9次,后仍无法建压报“进液管故隙”、“进液管脱落或低尿素流”故障,吹扫完成后泵停。建压状态下,实时监测空气压力、尿素压力、尿素温度,当任意一个传感器发生故障,通过监测的压力和温度值进行判断,且会报相应传感器故障。1.1.4 喷射状态控制策略设计说明在计量喷射状态,实时监测计量阀前后端工作压力,控制计量阀开启和关断的时间,进行精确计量。控制泵内电机,监测到尿素压力低于5.5bar后依据ECM/DCU命令喷射流量对电机转速进行PWM控制,保证补压时候最小的压力波动。泵将根据ECM/DCU命令的喷射量喷射并执行OBD功能。喷射状态下,实时反馈计量泵实际喷射量,反馈回来的喷射量为计算出来理论的实际喷射量,与命令喷射量误差在±0.5%范围。当计量泵进入喷射状态:1、判断一下计量泵是否在喷射状态下连续工作4小时,如果工作4小时并且当前的喷射量小于100OmIh,则进入自动补气的功能。补气函数见(第9章补气函数)。引入补气功能是为了,计量泵在长时间执行喷射的过程中,过滤腔顶部空气消耗,无法稳定过滤腔内部的尿素压力,导致尿素压力波动异常,从而无法保障喷射精度。增加补气后会有一部分空气重新注入至过滤腔顶部,达到稳定尿素压力的目的。2、判断点火开关是否关闭,如果关闭,则进入吹扫状态,判断是否吹扫状态完成,如果完成,则进入泵停状态,然后保存吹扫状态位进入休眠状态。3、判断尿素压力是否小于4.5bar,如果小于4.5bar,则进行5秒判断,如为持续5秒小于4.5bar则进入补压自救函数。补压函数见(第10章补压函数)。引入补压功能是为了,计量泵在唱时间执行喷射的过程中,进液管位置会有空气积累残留,当部分空气被抽吸至泵停位置时,无法进行抽吸动作。当引入补压程序后将进液管位置的空气排出泵头位置,达到电机能够顺利补压填充尿素的目的。4、此状态下,空气电磁阀常开、回液电磁阀常闭、计量阀PWM开度依据命令喷射量与计量阀前后端的压差关系计算得出。当改变的DCU或ECM命令喷射量大于400mlh时,电机以尿素压力的波动情况和DCU或ECM命令喷射量关系,计算出需改变的电机转速,来保障补压时的最小压力波动。5、当计量泵接收到DCU发送的命令喷射量,并且计量泵处在喷射状态或诊断状态,则需要按照命令喷射量,确定计量阀的工作频率和占空比。计量泵喷射量分为两段,大喷射量范围是大于等于400mlh小于等于9000mlh,当命令喷射量超出9000mlh,系统会自动默认喷射9000mlh,小喷射量范围是大于IoomI/h到小于400mlh,当命令喷射量小于100mIh,系统会自动默认喷射100InI/h。计量阀工作在大喷射量的工作频率为5Hz,小喷射量的工作频率为IHz06、由于计量泵的计量阀硬件原因、空气压力和尿素压力的变化导致计量泵的命令喷射量与实际喷射量有一定的误差,这样在计量泵出厂前,我们需要标定计量泵的喷射精度减少喷射误差。首先判断泵的命令喷射量是属于大喷射量还是小喷射量,然后根据前期测得的喷射修正参数修正命令喷射量,然后将采集到的空气压力、尿素压力到的数字量再还原回模拟量。空气压力(bar)二空气压力的A/D值*0.31-125,尿素压力(bar)二尿素压力的A/D值*0.31-125,然后按照计量泵流道体积计算出来的公式进行计算,计算出计量阀工作时的占空比TJiigh(计量阀打开的高电平时间)。T_high=pensheliang70pow(pl-p2),(2.23*(pl-p2)2-13.87*(pl-p2)+69.39).并且计量阀的占空比不能大于96%,使其能够达到DCU发送的命令喷射量与计量泵的实际喷射量相匹配。7、判断CAN线是否掉线,如果掉线判断吹扫是否完成,如果吹扫未完成则进入吹扫状态,吹扫完成后进入泵停状态。8、实时判断DCU发送的状态命令,如果DCU发送的计量泵状态改变,则要跳出喷射状态直接进入新的命令状态执行。喷射状态下,实时监测空气压力、尿素压力、尿素温度,当任意一个传感器发生故障,通过监测的压力和温度值进行判断,且会报相应传感器故障。1.1.5 吹扫状态控制策略设计说明不论是ECM/DCU命令吹扫还是泵自身故障后进入这个状态都开始吹扫32秒以清洁泵内部尿素避免下次计量泵喷射堵塞。当计量泵接收到DCU发送的吹扫状态命令,或计量泵出现故障进入吹扫状态。进入吹扫子函数首先判断计量泵的喷嘴是否堵塞,如果已报喷嘴堵塞故障,则不执行吹扫过程,直接进入泵停状态,等待工作人员处理喷嘴问题,当再次上电可清除该故障。将计量泵的内部工作状态置为4(4代表吹扫),为保障泵内尿素能够吹扫干净,进行32秒吹扫,过程如下:首先开启计时10秒,进行空气电磁阀开、回液电磁阀开、电机停、关闭计量阀,次过程中监测空气压力大于尿素压力时打开计量阀以1Hz50%PWM占空比工作,回液电磁阀开关动作以1秒开1秒关共花费10秒,开关计量阀动作是为了将流道内部残留的尿素,通过气路向吹至问液路;10秒计时结束后再次短暂延时1秒执行回液电磁阀开、关闭计量阀;再次开启计时20秒,计量阀以1Hz50%PWM占空比工作、回液电磁阀开关动作20次以500ms关,500ms开共花费20秒;20秒计时结束后再次延时1秒以确定计量阀关动作,然后进入泵停状态吹扫过程结束,等待DCU发送新的命令状态。无论在那一状态下,只要电机转动过,命令泵停时都要先进行吹扫动作,主要是由于电机转动会有尿素抽吸至泵内,为防止泵内结晶残留必须进行吹扫。当吹扫状态下发生故障,计量泵直接泵停,不在执行吹扫动作。吹扫状态下,实时监测空气压力、尿素压力、尿素温度,当任意一个传感器发生故障,通过监测的压力和温度值进行判断,且会报相应传感器故障。控制流程见图4所示:空气电磁淘开I-I回液电磁画开电机停I-1关闭计里词1.1.6 诊断状态控制策略设计说明泵只有在ECM/DCU请求到手动诊断状态时才会进入这个状态,在这个状态下,手动控制电机、空气电磁阀、回液电磁阀、计量阀动作。当进入这个状态时所有的计量动作将停止而且系统处于待命状态。当计量泵接收到DCU发送的诊断状态命令,则进入诊断状态子函数时进行执行。进入诊断状态,可以单独控制计量泵电机工作、压缩空气电磁阀工作、回液电磁阀工作、计量阀工作以确定单独的某一个器件是否工作正常。在诊断状态下打开回液电磁阀判断回液阀是否正常、打开电机判断进液抽吸是否正常、打开空气电磁阀判断压缩空气是否正常。a)空气电磁阀故障诊断,不断判断DelJ是否命令打开空气电磁阀,如果接收到打开空气电磁阀的命令则打开空气电磁阀,同时要判断空气电磁阀是否有声响。如空气电磁阀开路或短路时,在诊断空气电磁阀时,会报“空气电磁阀故障(短路或开路)”,如空气电磁阀恢复正常,此故隙自动解除。b)回液电磁阀故障诊断,不断判断DCU是否命令打开回液电磁阀,如果接收到打开回液电磁阀的命令则打开回液电磁阀,同时要判断回液电磁阀是否有声响。如回液电磁阀开路或短路时,在诊断回液电磁阀时,会报“回液电磁阀故障(短路或开路)”,如回液电磁阀恢复正常,此故障自动解除。c)泵电机故隙诊断,不断检测DCU是否命令让泵电机工作,如果接收到泵电机工作命令则控制打开泵电机,同时在实时判断计量泵的尿素压力是否大于8bar,如果尿素压力大于8bar,则直接关闭电机,压力过大保护,当再次开电机时,电机是不受控的,需将回液电磁阀打开后泄压,当压力降至8bar以下,再次诊断电机此时电机受控,可以开关启停。d)计量阀故障诊断,如果接收到DCU发送的命令要求计量阀工作,那么控制计量阀的工作频率为1Hz,占空比为50%进行工作。直到接收到DCU发送的关闭计量阀命令才直接关闭计量阀。e)空气电磁阀工作同时泵电机工作且命令喷射量为非零流量时,如果接收到DCU发送的命令要求打开空气电磁阀和泵电机,则控制空气电磁阀和泵电机工作,同时也会根据DCU发送的命令喷射量控制计量泵进行喷射工作,然后再向DCU反馈计量泵的实际喷射量,待接收到DCU发送的关闭泵电机或关闭空气电磁阀命令,则执行相应的命令同时也将计量阀关闭。D诊断状态下,实时监测空气压力、尿素压力、尿素温度,当任意一个传感器发生故障,通过监测的压力和温度值进行判断,且会报相应传感器故障。g)诊断状态下,如同时给命令喷射量、打开空气电磁阀、打开电机,系统会模拟喷射状态,进行喷射动作。第3章.构建开发环境3.1 开发环境:CodewarriorIDEversion5.9.03.2 开发语言:C语言、汇编语言3.3 单片机:Freescale单片机MC9S12XET256,ST单片机STM8S903K3第4章通讯协议计量喷射泵通讯协议符合CANBUSJI939标准。喷射泵的默认地址是0x3D,或者是由客户自定义的地址。喷射泵会屏蔽其他不是由DCU发送的源地址信息,DCU默认源地址为OXOO。计量泵通过对DCU发生的保文命令解析,执行DCIJ命令,同时计量泵自身的工作状态也会实时以200亳秒频率的发生给DCUo4.1SCR系统通讯协议概述SCR系统主要包含ECM/DCU和计量泵两部分,通过CANBUS通讯。SCR系统ECM/DCU请求需要的添蓝喷射量(mlh),计量泵处理ECM/DCU需要的喷射量并控制泵内部元器件输出模块:1 .空气电磁阀工作;2 .回液电磁阀工作;3 .电机模块工作;4 .计量阀模块工作;5 .内部加热器工作;6 .OBD故障报警;7 .反馈实际喷射量。尿素泵控制单元的输入模块:1 .尿素压力传感器;2 .空气压力传感器;3 .尿素温度传感器;4 .DCU/ECM命令状态;5 .DCU/ECM命令喷射量;6 .发动机转速信号。计量泵控制单元的输入输出模块的通讯是通过CAN总线来完成,计量泵来执行DeU/ECM命令状态。7 .3泵状态通讯控制策略概述当计量泵从ECM/DCU收到指令后会改变状态,并在某些情况下探测自身的条件。如在低温环境下,且满足低温加热条件的情况下,计量泵第一次加热不响应DCU命令,执行加热功能,当完成加热后继续响应DClJ命令。其目的是为了在低温环境下,不会损坏泵内元器件。ECM/DCU发送指令给计量泵控制器,在计量命令报文中设定“计量泵状态”字段。计量泵控制器在“计量泵和OBD状态报文”中的“当前泵状态”字段显示当前的状态。ECM/DCU必须每20OmS发送一次“计量命令二计量泵必须每200ms发送一次“计量状态二8 .4通讯失败或CAN掉线控制策略通讯失败需满足以下需求:1 .如果ECM/DCU没有收到SCRU计量泵状态”报文超过5个周期(也就是1s),它标识为通讯失败并采取适当的修正动作。2 .如果SCR“计量泵状态”报文短时间丢失(小于5个周期),ECM/DCU继续按最近收到的SCR“计量泵状态”报文工作,不报故障。3 .当泵在“建压”和“喷射”状态时,如果没有收到SCR”计量泵状态”超过5个周期(也就是1s),检测吹扫标志,如果未吹扫完成,它应进入吹扫状态32秒,然后转换到“泵停”状态。当它达到“泵停”状态,泵应继续等待接受来自ECM/DCU的命令报文。9 .5通讯方式及协议计量喷射泵通讯协议符合CANBUSJ1939标准。喷射泵的信息传送使用工厂定义的地址。喷射泵的默认地址是0x3D,或者是由用户自定义的地址。喷射泵会屏蔽其他不是由DCU发送的源地址信息,DCU默认源地址为OXO0。没有进入喷射状态时,喷射泵不会发送实际喷射量。没有进入诊断状态时,喷射泵不会发送相应诊断信息。10 6CAN中断及初始化控制策略飞思卡尔控制器局域网(MSCAN)是一种通信控制器,是现场总线的一种,是Bosch公司为了解决现代汽车总多控制与测试仪器之间数据交换而开发的串行数据通信协议。计量喷射泵控制单元使用的Freescale公司的MS9S12XET256单片机也是采用CAN通信方式。MSCAN网络采用的时钟源是总线时钟,波特率为250KB,标识符接收模式设置为2个32位接收滤波器,CAN接收中断使能,中断时间为200MS/次。只有当报文通过了标识符接收和标识符掩码寄存器中的滤波,CPU才被告知读取报文(接受),一旦接受中断,每条报文将写入后台接收缓冲器,否则报文会被下一条报文覆盖(丢弃MSCAN的接收寄存器采用逐位方式应用于IDRO-IDR3寄存器,扩展标识符要应用所有四个接收和掩码寄存器。CAN接收的每一条报文都由16个字节组成:IbyteYbyte存储标识符、5byte-12byte存储8个字节的数据、13byte存储字节长度、Mbyte存储当前报文的优先级、15byteT6byte存储时间标签寄存器的高字节和低字节。CAN接收中断主要是接收DCU发给计量泵的报文,200MS中断一次用于接收CAN线上的报文并将报文解析出来。11 7CAN接受报文定义报文从ECM/DCU发到计量泵,默认值为3D(0x3D)可自定义。计量泵接受保温ID及数据帧定义总表2如下:UDS接受保文属性值标识符18FFDF00/CAN_RECEIVE_0NEPGNFFDF发送周期200ms数据长度8bytesJ1939优先级6目标地址全局发送地址ECM(OxOO)接受地址UDS(0x3D)字段名字节八J米描述命令喷射量0-30mlh范围:100-9000nd/h空气电磁状态4.0-4.1n/a0-空气电磁阀关1-空气电磁阀开2-没用3-没用回液电磁阀状态7.0-7.1n/a0-回液电磁阀关回液电磁阀开2-没用3-没用电机启停状态4.6-4.7n/a0-电机关n/a1-电机开2-没用3-没用返回泵实际状态5.0-5.3n/a0-初始化状态泵停状态2-建压状态3-喷射状态4-吹扫状态5-诊断状态没有用计量阀状态6.0-6.1n/a0-计量阀关计量阀开2-没有用3-没有用属性值标识符0xl8FFE03DPGNFFEO发送周期200ms数据长度8bytesJ1939优先级6目标地址全局发送地址PC(adr0x00)接受地址UDS(adr0x3D)字段名字节分辨率描述没有用0-70所有位都没有用接受:18ffe03d发送:18ffe000属性标识符0x0CF00400PGNF004发送周期200ms数据长度8bytesJ1939优先级3目标地址全局发送地址ECM/DCU(OxOO)接受地址UDS(adr0x3D)字段名字节分辨率描述发动机转速3.0-4.00Ldata*1.25/10属性值标识符0x7FPGN0发送周期200ms数据长度8bytesJ1939优先级6目标地址全局发送地址PC(OxOO)接受地址UDS(adr0x3D)字段名字节分辨率描述没有用0.0-0.77EBOOTprogramData=7F表2UDS接受保文11.1.1 CAN接受标识符寄存器(0xl8FFDF00)报文标识符ID:0xl8FFDF00应有以下属性如下表3:标识符PGN传输速率数据长度J1939优先级发送接收18FFDF00FFDF200ms8bytes6ECMDCU(地址0x00)计量泵地址表3(0xl8FFDE00)报文标识符ID数据段DSRO-DSR7定义如下表4:字段名字节位置分辨率描述命令喷射量0-3lmlh有效范围Ioo-9000ml/(如果小于75mlh按Oml/h处理,大于7500mlh按7500ml/h处理)空气电磁阀控制状态4.0-4.1n/a0-电磁阀关闭I-电磁阀开启2-未使用3-未使用保留位4.2-4.5n/a所有位设为0电机诊断状态4.6-4.7n/a0-电机关闭1-电机开启2-未使用3-未使用计量泵状态5.0-5.3n/a0-初始状态泵停状态2-建压状态3-喷射状态4-吹扫状态5-诊断状态计量阀状态6.0-6.1n/a0-计量阀关闭1-计量阀开启2-未使用3-未使用同液电磁阀控制状态6.4-6.5n/aO-电磁阀关闭1-电磁阀开启2-未使用3-未使用保留位5.4-7.7n/a所有位设为0表4