K线诊断协议驱动器设计.docx

上传人:王** 文档编号:1395821 上传时间:2024-07-05 格式:DOCX 页数:9 大小:70.59KB
下载 相关 举报
K线诊断协议驱动器设计.docx_第1页
第1页 / 共9页
K线诊断协议驱动器设计.docx_第2页
第2页 / 共9页
K线诊断协议驱动器设计.docx_第3页
第3页 / 共9页
K线诊断协议驱动器设计.docx_第4页
第4页 / 共9页
K线诊断协议驱动器设计.docx_第5页
第5页 / 共9页
K线诊断协议驱动器设计.docx_第6页
第6页 / 共9页
K线诊断协议驱动器设计.docx_第7页
第7页 / 共9页
K线诊断协议驱动器设计.docx_第8页
第8页 / 共9页
K线诊断协议驱动器设计.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
资源描述

《K线诊断协议驱动器设计.docx》由会员分享,可在线阅读,更多相关《K线诊断协议驱动器设计.docx(9页珍藏版)》请在优知文库上搜索。

1、casek_DATA1.EN:if(k_REP=k_drvhandle.mode)if(ch=k-curmsg.datalen)k_curmsg.msgdatalen=O;k_curmsg.state=k_SID;k_SendChar(k_curmsg.sid);else(k-curmsg.msgdatalcn=O;k_curmsg.datalen=ch;k_curmsg.data=malloc(k_curmsg.datalen);k_curmsg.statc=k_SID;break;casek_SID:if(k_REP=k_drvhandle.mode)if(ch=k-curmsg.sid)

2、k-curmsg.msgdatalen+;if(k_curmsg.msgdatalcn=k_curmsg.datalen)k_curmsg.statc=k_CS;elsek_curmsg.statc=k_DATA;k_SendChar(k_curmsg.data(O|);clsek_curmsg.sid=ch;k_curmsg.msgdatalen+;if(k_curmsg.datalcn=k_curmsg.msgdatalen)k_curmsg.state=k_CS;elsebreak;casek_DATA:break;casek_CS:k_curmsg.state=k_FMT;if(k_R

3、EP=k_drvhandle.mode)clsek_curmsg.checksum=ch;k-curmsg.done=1;break;if(k_REQ=k_drvhandle.mode)&(k_FMT!=k_curmsg.state)TimerStart(k_REP_P4MS,k_TP4,0,1);2.2初始化在起先诊断服务之前,诊断仪必需对ECU进行初始化,通过ECU的响应获得ECU支持的报文头格式和定时参数,建立诊断通讯,4o初始化过程如图1所示,诊断仪发送一个25ms0、25ms*1*的WuP(WakeUpPattern),然后发送STC(StartCOmmUniCation)Reque

4、st,ECU检测出WuP并接收到正确的STCRequest后返PISTCResponse,该报文的Data字段为由两个字节构成的“关键字(KeyWord)“,指定了ECU所支持的报文头和定时参数信息,如KeyWOrd指定为0x8fea即表示在报文头中采纳附加长度信息1.en表示数据字段长度,同时采纳默认的定时参数。图1初始化过程初始化之前K线处于空闲状态,ECU禁止SCI功能并使能SCI的RXD引脚为IO模式,检测到卜.降沿时通过定时器统计RXD引脚的IO低电平的持续时间,检测到上升沿时起先统计RXD引脚的IO高电平持续时间,推断是否为有效的WuP;也可以设置SCl的波特率为200bps,推断

5、是否能接收到数据OXfo(OXK)在总线匕表现为5个0,5个1),检测出正确的WUP后,使能SCl功能,设置波特率为10400bps,等待诊断仪发送的STCReqUest,接收到恳求后返回STCRCSPonSe确定响应,建立诊断通讯。2.3定时管理ISO14230定义了4个定时参数管理字节间定时和报文间定时,诊断仪和ECU须要共同遵守这些定时约束以保证正常的诊断通讯,表2给出这4个定时参数的含义与取值区间。参数变依描述最小值(ms)最大值(ms)PlECU响应的字节间时间间隔020P2诊断仪恳求和ECU响应之间的时间间隔,或两个ECU响应之间的时间间隔2550P3ECU响应和诊断仪恳求之间的时

6、间间隔555000P4诊断仪恳求的字节间时间间隔020表2定时参数Pl和P4是报文内字节间定时,P2和P3为报文间定时。诊断仪在初始化完成后或接收到诊断响应后须要在P3时间内发送诊断恳求,否则ECU端退出诊断会话,断开诊断通讯,K线协议驱动器重启,等待诊断仪发出卜一个WuP和STCRequestoECU在接收到诊断恳求后,须要在P2时间内返回诊断响应,P2由ECU限制,通常采纳25ms的固定值,当诊断恳求报文中的Fmt字段指定目标地址为“功能地址”时,P2的取值须要用一个随机数发生器来产生,因为对于功能寻址的诊断仪恳求来说,可能多个ECU都会返回响应,假如采纳固定的P2参数的话,可能会因为多个

7、ECU竞争总线而出现总线冲突问题,P2采纳随机数,ECU不会在同一时间返回响应,从而避开了总线竞争问题3协议驱动器测试协议驱动器在Vector公司的CANoe软硬件平台上进行测试,进行基于K线的KWP2000服务测试时,将KWP2000.dll和K1.ineCP1.dll模块加入CANoe仿真环境,CANOe模拟诊断仪节点,并运用一个代理节点来实现CAN网络和K线之间的报文转发,此时CANoe运用计克机的串口,并通过串口/K线转换器与ECU相连,诊断实现框架如图2所示。图2K线诊断框架与CAN总线诊断不同的是,K线诊断须要诊断仪通过初始化过程和ECU建立诊断通讯,诊断通讯的建立如图3所示。建立诊断通讯后便可以像CAN诊断一样进行诊断服务了,这方面论文许多,在此不再赘述。图3建立诊断通讯结语本文实现的K线协议骚动器模块经过严格测试,能够高效完成K线诊断,性能和稳定性达到预期设计要求。驱动器独立于处理器和操作系统,具有应好的通用性和敏捷性,可以便利得集成到应用程序中,具有很高的好用价值和借鉴意义。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 论文 > 毕业论文

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!