




已阅读5页,还剩82页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CARECAR 凯尔卡科技有限公司编 号执行日期修改次数0发 布研发部审 核批 准撰写人陈德毅版 本V1.00修改日期2015-3-18发 放研发部诊断软件工程师、测试工程师页 数修改说明V1.00 初步编写目 录概述3公司简述3行业介绍3汽车养护4汽车电子4汽车改装4汽车诊断介绍4汽车诊断的定义4汽车诊断的简介5汽车诊断的方法5自诊断5传感器5微机系统5执行器6汽车诊断仪的定义6汽车诊断仪的原理6常用协议解析7OBDII的定义7OBDII诊断接头7诊断座引脚的定义7诊断座的位置7OBDII的协议8ISO91418ISO9141物理层8ISO9141 数据链路层8ISO9141 应用层9ISO9141 常用报文格式9ISO14230(KWP2000)10ISO14230物理层10ISO14230 数据链路层11ISO14230 应用层12ISO14230 常用报文格式12ISO15765(CANBUS)14ISO15765物理层14ISO15765 数据链路层14SAE J1850 PWM16SAE J1850 PWM物理层17SAE J1850 PWM 数据链路层17SAE J1850 VPW19SAE J1850 VPW物理层19SAE J1850 VPW 数据链路层19BOSCH(KWP1281)协议20其他各车系专用协议22底层函数接口解析(常用)22底层显示程序函数接口(DPM)22菜单显示接口22故障码显示接口25数据流显示接口27动作测试显示接口30冻结帧显示接口34消息框交互显示接口35底层通讯函数接口(DCM)37系统初始化所用底层函数37KWP2000底层函数45CANBUS底层函数48ISO9141底层函数50BOSCH底层函数52VPW/PWM底层函数53其他车系专用函数57常用协议初始化示例71KWP2000初始化(快速)71Canbus初始化72地址码初始化74PWM初始化74VPW初始化75底层文件操作接口(FILE)77ARM汇编(反汇编)78车系代码软件框架78各种小工具的编写即应用78实测测试(模拟测试)采数79C68自动采数79借用其他诊断设备联合PC采数79附录82附录A、关键字的可能值如下表所示82附录B、KWP2000 中否定应答代码83附录C、物理地址分配表86概述公司简述凯尔卡科技有限公司是一家从事汽车诊断、检测、养护产品研发、生产和销售的高科技企业,总部位于中国广东省深圳市南山区智谷创业园。凯尔卡的产品以汽车电子检测和诊断为基础,涵盖汽车诊断、检测、养护、机械、电子、工具等产品线,为世界各地经销商,汽车制造厂提供汽车产品、技术和服务行业介绍我们公司所属行业为汽车后市场行业(更精确范围来说,我是属于汽车诊断行业)。所谓汽车后市场是指汽车销售以后,围绕汽车使用过程中的各种服务,它涵盖了消费者买车后所需要的一切服务。也就是说,汽车从售出到报废的过程中,围绕汽车售后使用环节中各种后继需要和服务而产生的一系列交易活动的总称。汽车后市场的最早的分类是以汽车整车销售的前、后顺序进行分类的,汽车后市场行业简称-车后市。汽车后市场大体上可分为七大行业:汽保行业;汽车金融行业;汽车IT行业;汽车精品、用品、美容、快修及改装行业又称汽车养护行业;汽车维修及配件行业;汽车文化及汽车运动行业;二手车及汽车租赁行业。汽车后市场有不同的定义,归纳起来有三种主要定义:定义之一是消费者在使用汽车的过程中所发生的与汽车有关的费用,具体维修、保养、零配件、美容、改装、油品等服务;定义之二是整车落地销售后,车主所需的一切服务;定义之三是汽车产业链的有机组成部分,包括汽车销售领域的金融服务、汽车租赁、保险、广告、装潢、维护、维修与保养;日常运行的油品;驾校、停车场、车友俱乐部、救援系统、交通信息服务、二手车等;国内汽车后市场可以分为四个发展阶段:第一阶段是19901996年,汽车后市场的开始阶段。服务对象:基本是公务车;第二阶段是19972006年,汽车后市场的高速发展阶段服务对象:公务车为主,私车15%;第三阶段是20072010年,汽车后市场的洗牌阶段。服务对象:私车,50%公务车50%;第四阶段是2011年以后,汽车后市场平缓发展阶段服务对象:私家车为主,每个地区有23家区域性的龙头店,品牌快修快保店与4S站并行,国外汽车服务连锁巨头进入中国,其它个体店要选择好自己发展道路。汽车后市场正面临一个历史性的发展机遇汽车后市场是产业链中最稳定的利润来源,占总利润6070%;2005年,国内汽车用品行业产值达到420亿元,维修行业产值410亿元;到2010年,总规模超过1900亿元;预计到2015年,总规模将超过7000亿元。目前国内正式注册的汽车美容装饰维修厂家30余万家,经营汽车美容9000多家(不包括路边店)。并且汽车销售市场每年以30%速度递增;每台车售后服务金额约为车价的2倍,10年报废;加上私家车主的整体汽车售后保养服务意识增强。因此中国的汽车后市场面临一个历史的发展机遇。面对如此的市场良机该如何把握机遇,已经摆在每一个汽车业者的面前。归纳起来汽车业者有两条道路可供选择:一是发展自我品牌,做强做大。二是牵手国际汽车服务知名品牌,携手共同发展。国内汽车后市场渠道模式:在中国,汽车后市场主要有以下五大渠道:一是发展起来的汽车4S站;二是传统大中型维修厂;三是汽车维修路边店;四是汽车专项服务店;五是品牌快修美容装饰连锁店。这五大渠道在面积大小,设备投资,人员素质,地点便利性,服务质量,服务时间和收费标准等方面各有千秋,短期可以共存,但随着市场的发展变化,经过逐步变化的汽车4S站和国际知名的品牌快修保养美容连锁店是两大主要渠道。下面从汽车养护、汽车电子、汽车改装等方面阐述一下:汽车养护汽车养护主要有日常养护,附加保养两大类别。日常养护属于必须进行的项目,而附加保养则是客户自己选择要不要做的项目;日常养护项目主要有换机油、加防冻液、更换三滤、更换雨刮、变速器止漏、清洗更换刹车片、空调检测及加氟利昂、检查电瓶液配比、电瓶维护等;而附加的项目主要有:燃烧系统免拆清洗、润滑系统免拆清洗、冷却系统免拆清洗、电脑检测及解码、发电机维护、发动机维护、尾气达标等等项目。汽车电子汽车电子类主要的产品有:防盗器、倒车雷达、中央门锁、车载电话、GPS、加装电动门窗、更换自动天线、车载冰箱、胎压检测器、电压转换器、各部位车灯、车载应急灯、后视系统等。汽车改装汽车改装主要包括汽车外观改装,汽车性能提高改装,赛车按标准改装三大类别。其中汽车外观改装主要有:改装包围、更换方向盘、增加个性贴纸、更换轮胎、更换轮毂、更换仪表等;汽车性能提高改装主要包括:增加氙气灯、改装进气系统、改装排气系统、改装点火系统、改装供油系统等;赛车按标准改装主要有车内头盔、防滑架、赛车服饰、避震器、悬挂加强赛车安全带等等。汽车诊断介绍汽车诊断的定义在不解体(或仅卸下个别零件)的条件下,确定汽车技术状况,查明故障部位及原因的检查。包括汽车发动机的检测与诊断,汽车底盘的检测与诊断,汽车车身及附件的检测与诊断以及汽车排气污染物与噪声的检测等内容。汽车诊断的简介现代汽车故障自诊断技术 电子控制燃油喷射汽车发动机的控制电脑ECU,设置了故障自诊断系统,该系统主要用来监测电子控制系统各部件的工作状态,并且根据电子控制系统的配置情况,确定诊断故障的数量多少。当电喷汽车自诊断系统监测到一个故障时,一方面它启用故障的保护功能,对控制系统进行必要的保护;另一方面,它将该故障以故障代码的形式存储在随机存储器(RAM)中,并且同时点亮故障指示灯(CHECK ENGING)。汽车维修人员可按照一定的操作程序,读取该故障的故障码,再通过查对有关的技术资料,将代码所示故障了解仔细,便可对汽车电控系统故障进行有目的的维修。汽车诊断的方法汽车诊断的方法有:自诊断、传感器、微机系统、执行器等自诊断汽车正常运行时,电子控制单元ECU的输入、输出信号的电压值都有一定的变化范围。当某一信号的电压值超出了这一范围,并且这一现象在一段时间内不会消失,ECU便判断为这一部分出现故障。ECU把这一故障以代码的形式存入内部随机存储器(RAM),同时点亮故障检查灯(如CHECK ENGINE ,SRS,ABS等指示灯),这就是故障自诊断的基本原理。当某电路产生了故障后,其信号就不能作为发动机的控制参数而使用。传感器由于传感器本身就是产生电信号的,因此,对传感器的故障诊断不需要专门的线路,而只需要在软件中,编制传感器输入信号识别程序即可实现对传感器的故障诊断。微机系统微机系统如果发生故障,控制程序就不可能正常运行,微机处于异常工作状态。这样便会使汽车因发动机控制系统故障而无法行驶。为了保证汽车在微机出现故障时仍能继续运行,在控制系统工程中,设计有后备回路(备用集成电路系统)。当ECU中微机发生故障时,ECU自动调用后备回路完成控制任务,进入简易控制运行状态,用固定的控制信号,使车辆继续行驶。由于该系统只具备维持发动机运转的简单功能而不能代替微机的全部工作,所以此后备回去路的工作又称为“跛行”模式。采用备用系统工作时,故障指示灯亮。微机工作是否正常是由被称为监视回路的电路进行监视的。执行器汽车电子控制系统中,执行器是决定发动机运行和汽车行驶安全的主要器件,当执行器发生故障时,往往会对汽车的行驶造成一定的影响。因此,对于执行器故障的处理方法通常是:当确认为执行器故障时,由ECU根据故障的严重程度采取相应的安全措施的实施,在控制系统中,又专门设计了故障保险系统。汽车诊断仪的定义车辆故障自检终端、汽车故障诊断仪(又称汽车解码器)是用于检测汽车故障的便携式智能汽车故障自检仪 ,用户可以利用它迅速地读取汽车电控系统中的故障,并通过 液晶显示屏显示故障信息,迅速查明发生故障的部位及原因 。汽车诊断仪的原理诊断电子控制系统的传感器、执行器状态以及ECU的工作是否正常。通过判断ECU的输入、输出电压是否在规定的范围内变化时,可以判断电子控制系统工作是否正常。当电子控制系统中的某一电路出现超出规定的信号时,该电路及相关的传感器反映的故障信息以故障代码的形式存储到ECU内部的存储器中,维修人员可利用该诊断仪来读取故障码,使其显示出来。汽车诊断的原理如下图所示:常用协议解析OBDII的定义OBD是英文On-Board Diagnostics的缩写。翻译成中文为“车载排放诊断系统”。OBD系统是监测发动机排放和工作状况的专用装置,如果发动机发生故障、尾气排放超标时,仪表盘上警告指示灯会自动点亮发出报警,提醒驾驶人员及时维修车辆。因OBD系统可以随时监测汽车尾气排放水平,故它是对机动车定期检测的有利补充,也是监控机动车尾气达标排放的有力措施之一。OBDII诊断接头诊断座引脚的定义Pin定义Pin定义1供制造厂使用9供制造厂使用2SAE-J1850资料传输10SAE-J1850资料传输3供制造厂使用11供制造厂使用4车身接地12供制造厂使用5信号回路搭铁13供制造厂使用6供制造厂使用14供制造厂使用7ISO-9141资料传输15ISO-9141资料传输8供制造厂使用16接蓄电池正极诊断座的位置大部分汽车的OBDII诊断座在驾驶室仪表盘或者方向盘附近,但部分汽车的诊断位置比较特殊,要根据车辆而定,比如下面这些车辆的诊断座位置就比较特殊:爱丽舍:OBD诊断头位置驾驶员左护板侧保险盒内福特翼虎吉普:OBD诊断头位置驾驶员左护板 别克君威2.5:OBD诊断头在油门踏板上方 别克君威3.0:OBD诊断头在油门踏板上方 本田雅阁:OBD诊断头在仪表板的下方 北京吉普2500:OBD诊断头在驾驶员左护板侧 北京吉普(外观像帕杰罗):OBD诊断头在引擎室左侧 北京现代索纳塔:OBD诊断头在油门踏板上方 桑塔纳99新秀:OBD诊断头。大众奥迪系统。OBD诊断头位置排挡前方 桑塔纳2000:同上 桑塔纳3000:OBD诊断头位置在驾驶员左侧护板保险盒内 时代超人:同上 帕萨特B4:OBD诊断头,帕萨特系统。诊断头位置仪表盘右下方,装饰板内 帕萨特2.0:OBD诊断头,诊断头位置手刹车右侧 奥迪-V6:2+2诊断头,大众奥迪系统,诊断头位置引擎室保险盒内 奥迪-A6:OBD诊断头。大众奥迪系统,诊断头位置驾驶员左侧板内OBDII的协议OBDII标准使用的通讯协议一般有: ISO 9141-2, ISO 14230-4(KWP2000), SAE J1850PWM, SAE J1850 VPM, ISO15765-4(CAN-BUS)。所有欧洲生产的汽车,以及大多数亚洲进口的汽车都使用ISO 91412通讯协议电路。而美国通用汽车(GM)公司生产的轿车及轻型卡车使用SAE J1850 VPW通讯协议电路,福特(FORD)汽车采用SAE J1850 PWM通讯协议电路。ISO9141ISO9141物理层空闲电平通常为12V;数据位格式为1+8+1,没有校验位;使用的波特率通常为10416BPS和9600BPS两种,采用K线通讯(单线)或者K、L线通讯(双线)。ISO9141 数据链路层ISO协议采用地址码进入方式,先使用5BPS发送地址码,ECU响应55H,KW1,KW2,设备对KW2取反发回给ECU,ECU对地址码取反发回给设备,完成系统初始化交互。其中55H这个字节用来规定后面的通信波特率。参见下图:ISO9141 应用层常用应用层有:进系统、读码、清码、数据流、动作测试、版本信息、特殊功能等。ISO9141 常用报文格式帧结构:帧头(3个字节)+数据(最大为7个字节)+校验(通常为校验和)。数据帧有两种:命令帧和响应帧。命令帧由Tools发出,响应帧是ECU对命令帧的响应。帧头结构如下表(ABS系统):帧头字节1帧头字节2帧头字节3Priority/Type目标地址源地址Request(Tools-ECU)68H6AHF1HResponse(ECU-Tools)48H6BH28H数据区包含传送的数据。对于命令帧,DATA区是命令字节及命令参数;对于响应帧,DATA区是命令响应及响应的数据。校验是校验字节,为前面字节的累加和,包括帧头和数据区。命令交互:命令交互通常情况下为1对1,但也存在1对多或者多对1的情况。下面是一组命令交互举例:(注意:不是简单地交换目标地址和源地址)Tools: 68H 6AH F1H BEH 81H ECU: 48H 6BH 28H FEH 31H 32H 33H 40H 42H 43H 34H 蓝色版本信息在命令中,目标地址是固定的;ECU响应设备的命令字在设备命令字的基础上+0x40。交互时间参数:包括4个时间参数,如下:设备发送命令字节间的时间间隔P1,通常为5ms-20ms,取6ms;ECU返回命令字节间的时间间隔P2,通常为0ms设备发送完一帧命令后等待ECU响应的时间P3,为25ms-50ms,一般取30ms;设备接收到ECU响应后到发送下一帧命令的时间P4,通常为55ms-5000ms,一般取60ms。常用命令字:系统退出:20H读故障码:03H清除故障码:14H读版本信息:BEH读数据流:B1HISO14230(KWP2000)KWP 2000协议是最常用的通信协议之一,是属于OBD II标准协议的一种。KWP系统又称为关键字协议,因为这种协议在系统进入时,会涉及到关键字的校验而得名。下面从物理层特性、系统进入、帧结构、命令交互、交互时间参数、常用命令字等几个方面来介绍这种协议。KWP 2000 代表Keyword Protocol 2000,即关键字协议2000,它是ISO 标准ISO 14230的工作名称。ISO 14230 由三部分组成,第一部分定义物理层,它实际上就是在ISO 9141-2中定义的物理层,但是扩展到可以工作在24V系统中。这意味着凡是满足ISO 9141-2 的车辆、模块或测试设备,只需对软件进行修改,就能满足KWP 2000 接口需求;第二部分定义数据链路层,其中包括信息格式和时序。它们兼容ISO 9141-2,但是也提供了额外选项。其中包括头部是否带有地址信息和长度信息。信息最大可达255 字节长。另外还定义了通讯初始化方法;ISO 14230 的第三部分定义了应用层,兼容了ISO 14229 中描述的诊断维修实施方法。同时对于数据的排放在ISO 15031 中进行了定义。总的来说,对于KWP2000 协议可以理解为ISO 14230 协议的简版,而ISO14230 中涉及到ISO9141、ISO14229、ISO15031 等协议内容。同时KWP2000 新增了一些自己的内容。ISO14230物理层通常采用10416BPS(9600/4800)的波特率;空闲电平通常为12V(5V);数据位格式为1+8+1,没有校验位。K 线是一根双向数据传输线, KWP2000 协议总是以半双工模式进行通信。KWP2000 数据通信网络的结构如下图所示:ISO14230 数据链路层系统进入初始化:有两种初始化方式。第一种由设备先发送25ms的拉低电平,然后是25ms的高电平(空闲电平),然后再发送系统进入数据,系统进入数据通常为5个字节,ECU响应7个字节,完成系统初始化交互。请参见下图:第二种初始化方式为设备发送5BPS或者200BPS的地址码,ECU响应55H,KW1,KW2,设备对KW2取反发回给ECU,ECU对地址码取反发回给设备,完成系统初始化交互。其中55H这个字节用来规定后面的通信波特率。参见下图:两种初始化的建立通信方式如下:ISO14230 应用层常用应用层有:进系统、读码、清码、数据流、动作测试、版本信息、特殊功能等。ISO14230 常用报文格式 帧结构:命令头(1个或多个字节)+命令体(1个或多个字节)+校验(通常为和校验)。在命令头中,包括以下几个部分的内容:格式+目标地址+源地址+长度字节。长度信息有时候在格式字节中体现,则不需要另外的长度字节,长度信息用以表示命令体的内容;目标地址和源地址有时候也会没有。命令体的内容中:命令字+命令内容。命令内容可以没有。举例如下:81H 11H F1H 81H 04H第一个字节81H为格式+长度信息(80+1)第二个字节11H为目标地址第三个字节F1H为源地址第四个字节81H为命令字,表示系统进入最后一个字节04H为前面4个字节的校验和同样,也可能表现如下:(命令字)80H 11H F1H 01H 3EH C1H这种情况下,长度字节放在源地址之后还可能表现为:02H 1AH 9AH B6H 这种情况下,格式字节和目标地址源地址都已经没有了还有一种特殊的情况,在上一种情况的基础上,在帧数据之前,加一个00,例如:00H 02H 1AH 9AH B6H但这种帧结构的情况极少。 命令交互:命令交互通常情况下为1对1,但也存在1对多或者多对1的情况。下面是一组命令交互举例:Tools: 81H 31H F1H 81H 24H ECU: 83 F1 31 7F 81 12 01ECU: 83H F1H 31H C1H E9H 8FH DEH在交互中,因为发送命令的对象不一样,所以目标地址和源地址是进行了互换;同时,ECU响应设备的命令字在设备命令字的基础上+0x40。 交互时间参数:包括4个时间参数,如下:设备发送命令字节间的时间间隔P1,通常为5msECU返回命令字节间的时间间隔P2,通常为0ms设备发送完一帧命令后等待ECU响应的时间P3,通常为75ms90ms设备接收到ECU响应后到发送下一帧命令的时间P4,通常为20ms26ms 常用命令字:系统进入:81H系统退出:82H链路保持:3EH读故障码:18H 19 清除故障码:14H 13读版本信息:1AH读数据流:21H 22ISO15765(CANBUS)CAN BUS(Controller Area Network)即控制器局域网,是国际上应用最广泛的现场总线之一。起先,CAN BUS被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。 CAN BUS是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN BUS仍可提供高达5Kbps的数据传输速率。由于CAN串行通讯总线具有这些特性,它很自然地在汽车电子行业中受到广泛应用。下面从与我们工作相关的物理层特性、帧格式、命令交互等三个方面来介绍CAN BUS协议。ISO15765物理层可分为单线CAN协议和双线CAN协议。单线CAN协议目前主要出现在GM车系里面,1号脚通讯,波特率为33.3K。双线CAN协议常见的波特率有500K(6/14)、250K(6/14)和125K(3/11),括号内为通讯脚位。单、双线CAN协议的命令交互格式基本一致。ISO15765 数据链路层 帧格式:CAN2.0A(重点掌握)标准帧为11个字节,包括信息和数据两部分,前3个字节为信息部分。76543210字节1FFRTRxxDLC 数据长度字节2报文识别码 ID.10-ID.3字节3ID.2-ID.0xxxxx字节4数据1字节5数据2字节6数据3字节7数据4字节8数据5字节9数据6字节10数据7字节11数据8字节1 为帧信息 第7位FF 表示帧格式(在标准帧中FF0,在扩展帧中FF1) 第6位RTR 表示帧的类型(RTR=0表示为数据帧RTR=1表示为远程帧)DLC 表示在数据帧时实际的数据长度 字节2-3 为报文识别码11位有效字节4-11为数据帧的实际数据,远程帧时无效命令帧示例:Tools: 08H FCH 00H 03H 19H 02H FFH 00H 00H 00H 00H (标准数据帧、长度为8)ECU : 08H FDH 00H 10H 0FH 59H 02H FFH 01H 80H 00H我们在工作中使用模拟工装采集的以及模拟通讯时看到的命令是上面的格式,但其中报文识别码FC 00(我们常说的系统过滤ID)是不准确的,应该右移5位,即0x7E0才是真正的报文识别码。通常情况下,标准CAN协议的响应帧报文识别码就是请求帧的报文识别码加上8,即0x7E8,左移5位后就是我们所看到的FD 00。CAN2.0B扩展帧信息为13个字节,包括信息和数据两部分,前5个字节为信息部分。76543210字节1FFRTRxxDLC 数据长度字节2报文识别码 ID.28-ID.21字节3ID.20-ID.13字节4ID.12-ID.5字节5ID.4-ID.0xxx字节6数据1字节7数据2字节8数据3字节9数据4字节10数据5字节11数据6字节12数据7字节13数据8字节1为帧信息 第7位FF表示帧格式(在标准帧中FF0,在扩展帧中FF1) 第6位RTR 表示帧的类型(RTR=0表示为数据帧RTR=1表示为远程帧)DLC 表示在数据帧时实际的数据长度字节25 为报文识别码其高29位有效字节613 为数据帧的实际数据,远程帧时无效命令帧示例:Tools: 88H C6H D0H 87H 88H 03H 19H 02H FFH 00H 00H 00H 00H(扩展数据帧8)ECU : 88H C6H D7H 88H 80H 10H 0FH 59H 02H 01H FFH 01H 00H我们在工作中使用模拟工装采集的以及模拟通讯时看到的命令是上面的格式,但其中报文识别码C6 D0 87 88(我们常说的系统过滤ID)是不准确的,应该右移3位,即18H DAH 10H F1H才是真正的报文识别码,移位后可以清楚地看到后面两个字节就是目标地址(ECU地址)和源地址(设备地址),通常情况下,响应帧的报文识别码只需要把目标地址和源地址交换位置即可,如18H DAH F1H 10H。 命令交互CAN协议的主要命令交互形式有发1帧回1帧、发1帧回多帧、发多帧回1帧及发多帧回多帧,下面分别举例说明。发1帧回1帧:Tools: 08H FCH 00H 03H 19H 02H FFH 00H 00H 00H 00H CAN2.0AECU : 08H FDH 00H 04H 59H 02H FFH 01H 80H 01H 00H第一个字节的低4位表示除报文识别码的两个字节外其他字节的长度,第四个字节03表示后面有效数据的长度。发1帧回多帧:Tools: 08H FCH 00H 03H 19H 02H FFH 00H 00H 00H 00H CAN2.0AECU : 08H FDH 00H 10H 0FH 59H 02H FFH 01H 80H 00H Tools: 08H FCH 00H 30H 00H 00H 00H 00H 00H 00H 00H 流控制帧ECU : 08H FDH 00H 21H FFH 01H 79H F1H E3H 01H 62H 蓝色为有效数据ECU : 08H FDH 00H 22H F1H FFH 00H 00H 00H 00H 00H发出第一条请求帧后,如果响应帧的第四个字节高四位大于0,则表示回多帧。响应帧的有效数据长度为0x100F&0x0FFF=0x0F,表示有15个有效数据的回复帧。设备紧跟着发送流控制帧Tools: 08H FCH 00H 30H 00H 00H 00H 00H 00H 00H 00H来接收下面的有效回复数据,这个流控制帧在不同的车上可能会不一样。发多帧回1帧:Tools: 08H FCH 00H 10H 09H 01H 02H 03H 04H 05H 06H CAN2.0AECU : 08H FDH 00H 30H 00H 00H 00H 00H 00H 00H 00H 流控制帧Tools: 08H FCH 00H 21H 07H 08H 09H 00H 00H 00H 00H ECU : 08H FDH 00H 04H 41H 02H FFH 01H 80H 01H 00H发第一条请求帧的时候,如果请求帧第4个字节高四位大于0,则表示发多帧,发送的命令数据长度有第4,第5个字节一起决定,在这里数据长度为9,这时候ECU响应0x30的流控制帧,Tools继续发送请求帧,蓝色为有效数据,发送完后,ECU响应正确的命令回复。发多帧回多帧:Tools: 08H FCH 00H 10H 09H 01H 02H 03H 04H 05H 06H ECU : 08H FDH 00H 30H 00H 00H 00H 00H 00H 00H 00H 流控制帧Tools: 08H FCH 00H 21H 07H 08H 09H 00H 00H 00H 00H ECU : 08H FDH 00H 10H 0FH 59H 02H FFH 01H 80H 00H Tools: 08H FCH 00H 30H 00H 00H 00H 00H 00H 00H 00H 流控制帧ECU : 08H FDH 00H 21H FFH 01H 79H F1H E3H 01H 62H ECU : 08H FDH 00H 22H F1H FFH 00H 00H 00H 00H 00H在这种情况下的交互,将发1帧回多帧和发多帧回1帧结合就可以了。需要注意的是,对于不同的ECU,由于细微协议的区别,在对于通过流控制帧来发送或接收剩余数据是不一样的,有的时候会通过一条流控制帧将所有数据一次收完,有时候则是采用1对1的方式。注:扩展帧交互规则同标准帧的交互规则一致,既有单帧、多帧、流控制帧,区别在于地址不一样,一个是两个字节表示地址,一个是4个字节表示地址。(在这里淡淡提一下,在J2534标准里面,两种帧格式的地址都是用4个字节来表示,这是后话)SAE J1850 PWMSAEJ1850 PWM协议也是OBD II标准中的一种,通常应用在FORD车系汽车中,已知的还有JAGUAR,MAZDA。PWM英文全称是Pulse Width Modulation,即脉宽调制。SAE J1850 PWM物理层波特率为41.7kbps;线路物理特性:双线,双向,半双工(差分信号)。通信电平通常为12V。数据位描述,位1见图2-3-1,位0见图2-3-2:时间参数定义如下:TP1:常规为8us,取值范围,在发送命令中7=TP1=9,在接收命令时,6=TP1=11TP2:常规为16us,取值范围,在发送命令中15=TP1=17,在接收命令时,14=TP1=19TP3(一个位的时间长度):常规为24us,取值范围,在发送命令中23=TP1=25.5,在接收命令时,22=TP1=27下图是MAZDA原厂设备IDS系统进入命令的一部分波形SAE J1850 PWM 数据链路层 帧结构:命令头(3个字节)+ 数据区(命令) + CRC校验。一帧命令最长为12个字节。在命令头中,包括以下几个部分的内容:格式字节(C4H)+目标地址+源地址。请参见图2-3-4和图2-3-5图2-3-4图2-3-5TP4:SOF(帧起始标志)时间,常规为48us,取值范围,发送时47=TP4=51,接收时46=TP4=63TP5:EOF(帧结束标志)时间,常规为72us,取值范围,发送时70=TP5 ECU INfo ADD 55H Kw1 Kw2 /Kw2 Tool L线 ADD 关闭图2-5-1 帧结构: 长度记数字节命令字数据区结束标志03H长度:1个字节,表示本命令中长度字节后跟随的字节数。记数字节:命令计数器,1个字节,每一条命令都会在上一条命令的命令记数字节基础上加1,作为本次通信数据的命令记数值,以保证接收发送的连续性校验。命令字:1个字节,表明所要做的操作。PID数据区:附加信息,若干字节不定。结束标志:固定以03H为Request命令的结束符。举例如下:04H 01H 29H 01H 03H第一个字节04H为长度信息第二个字节01H为命令计数器第三个字节29H为命令字,表示读取数据流第四个字节01H为附加信息,表示读取通道01的数据 (可省略)最后一个字节03H为结束标志 命令交互:在命令交互过程中,接收方每接到一个byte,就立即取反发回,直到接收到结束标志为止(注:结束标志0x03不取反发回)。一旦接到结束标志,接收方则可以开始下一帧命令的发送。基本交互模型下图: Tools: 03H 01H 09H 03H /03H /02H /09H Ecu: /03H /01H /09H 03H 02H 09H 03H 图 2-5-2实际命令如下:Tools:03H 01H 09H 03H ECU: 03H 02H 09H 03H 交互时间参数:包括4个时间参数,如下:ECU返回keywod2与设备发送/keyword2的时间间隔:40ms设备接收到ECU命令字到发送命令字取反的时间间隔:2ms 设备发送命令字到ECU发送命令字取反的时间间隔:2ms设备发送完一帧命令后等待ECU响应的时间,通常为75ms90ms设备接收到ECU响应后到发送下一帧命令的时间,通常为20ms26ms 常用命令字:链路保持:09H读故障码:07H清除故障码:05H读版本信息:00H读数据流:29H 系统退出:06H其他各车系专用协议拥有自己专用协议的车有:Subaru、Honda、Mitsubishi、Nissan、BMW、Chrysler、Ford等等,总的来说,基本上很多大车系都有自己的专用协议。具体协议在各车系中都有具体的分析(请参照相应车型软件目录下的协议说明文档)底层函数接口解析(常用)底层显示程序函数接口(DPM)菜单显示接口/*功 能:初始化菜单组件参 数:菜单标题在TEXT_?.TXT里面文本所对应的索引(索引第一个字节要异或0x55)返回值:成功返回GD_OK,反之则返回其他参数(非GD_OK)说 明:若菜单初始化时调用该函数,则其对应的各菜单项文本必须是TEXT_?.TXT里面的文本*/W_INT2 InitShowMenuBy
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 园艺主题酒店创新创业项目商业计划书
- 农产品期货交易咨询创新创业项目商业计划书
- 动物皮毛艺术品制作创新创业项目商业计划书
- 农产鲜品乐创新创业项目商业计划书
- 现场急救知识培训包扎课件
- 2025年教育行业数字化教材开发与多语言支持策略研究
- 2025年新能源汽车废旧电池回收利用产业链技术创新与产业竞争力研究报告
- 2025年城市轨道交通智慧运维系统在智慧城市建设中的关键作用报告
- 河南省三门峡市陕州区2022-2023学年大象版五年级上学期科学期中考试试题(含答案)
- 2026届云南省永德县第一中学化学高一第一学期期末学业质量监测模拟试题含解析
- 动物防疫检疫试题(附答案)
- 沙石码头经营方案(3篇)
- 2025年粉笔辅警考试题库
- 2025个人房屋租赁合同范本下载
- 水声传感器技术研究与应用
- 能源环保管理办法
- 锂电行业仓储管理办法
- 2025年新修订治安管理处罚法课件
- caac理论考试题库及答案
- 《校园安全指导》职业院校安全教育全套教学课件
- 电气安全基础知识安全培训
评论
0/150
提交评论