本发明涉及汽车电子技术,具体涉及一种适配obd接口的多协议诊断模块及其控制方法。
背景技术:
obd是英文on-boarddiagnostic的缩写,即“车载诊断系统”。这个系统可随时监控发动机的运行状况和尾气后处理系统的工作状态,一旦发现有可能引起排放超标的情况,会马上发出警示。当系统出现故障时,故障灯(mil)或检查发动机(checkengine)警告灯亮,同时obd系统会将故障信息存入存储器,通过标准的诊断仪器和诊断接口可以以故障码的形式读取相关信息。根据故障码的提示,维修人员有针对性地去检查有关部位、元件和线路,能迅速准确地确定故障的性质和部位。
obd技术最早起源于80年代的美国,初期的obd技术,是通过恰当的技术方式提醒驾驶员发生的失效或是故障。第一代车载诊断(obdi)系统,由于世界各主要汽车厂的obd系统随其发动机管理系统不同而各不相同,这给售后服务维修造成较大的不便。美国加州空气资源部(carb)于1996年在实施lev排放法规的同时率先导入obdii。欧盟和日本在2000年以后引入obd技术,要求所有新轿车和轻卡车(2.5吨以下)必须装备eobd系统。第二代obd和eobd统一了标准(sae的美国版的obd、iso欧洲版的eobd),完善了监控范畴,还明确了严格的排放针对性。
如图1所示,obdⅱ标准要求所有车型的obd接口诊断座为16pin,形状、尺寸规范统一。obdⅱ统一了各车种相同故障代码及意义,具有数值分析资料传输功能,包括行车记录器、重新显示记忆故障码、可由仪器直接清除故障码等功能,目前市场上车型obd接口基本上都是obdⅱ标准接口。
为了更好的获取obd诊断数据,传统的车载obd信息都是通过obd诊断盒来获取的;比如市面上出现的型号为elm27的obd诊断盒,它支持很多协议,可以自适应,从obd读到数据包后,自动选择支持的协议来解析,然后以rs232串行的方式输出,rs232串口界面与elm327进行交互即可获得诊断信息,但是这样的obd诊断盒体积较大,不利于二次开发或集成,同时obd诊断技术存在一定技术门槛,非专业资深的难以直接通过obd获取车辆信息。
技术实现要素:
本申请首先通过提供一种适配obd接口的多协议诊断模块,该模块通过选择带有can收发器功能的mcu作为主控芯片,自动适配多种obd标准协议,通过can收发器实现与支持can总线obd接口的车通信,通过k/l电平转换芯片或电路可实现3.3v或5v信号与车载电平转换,实现与支持k/l线obd接口的车通信,另外,通过加密保护和封装,以通用ic的方式,可以降低obd技术使用的门槛,使其广泛应用到车联网、物联网等领域。
为了达到上述目的,本申请采用以下技术方案予以实现:
一种适配obd接口的多协议诊断模块,其关键在于包括:mcu模块、can收发器、电平转换模块以及加密芯片,所述mcu模块、can收发器、电平转换模块以及加密芯片分别对应连接并整体封装为集成ic。
进一步地,所述mcu模块向外引出有vcc引脚、tx引脚、rx引脚、mode引脚以及en引脚,其中:
所述vcc引脚用于实现模块的电源供应;
所述tx引脚用于实现串行协议的信号发送;
所述rx引脚用于实现串行协议的信号接收;
所述mode引脚用于实现工作模式的切换;
所述en引脚用于接收使能信号,实现模块的驱动控制。
进一步地,所述mcu模块与can收发器相连,该can收发器向外引出有canh引脚和canl引脚,其中:
canh引脚用于实现can总线协议高电平信号收发;
canl引脚用于实现can总线协议低电平信号收发。
进一步地,所述电平转换模块与所述mcu模块连接,该电平转换模块向外引出有k线引脚、l线引脚、bat+引脚和bat-引脚;
所述k线引脚用于实现k线协议信号传输;
所述l线引脚用于实现l线协议信号传输;
所述bat+引脚用于实现汽车电源正极连接;
所述bat-引脚用于实现汽车电源负极连接。
进一步地,所述加密芯片与所述mcu模块连接,用于实现加密校验,该加密芯片向外引出有gnd引脚,用于实现整个模块电源地线的连接。
进一步地,所述vcc引脚、mode引脚、gnd引脚、en引脚、canh引脚、canl引脚、bat+引脚、bat-引脚、l线引脚、k线引脚、rx引脚以及tx引脚在所述集成ic上依次按照1—12的引脚序列依次封装。
可选地,所述集成ic为28mm×28mm的正方形模块。
可选地,所述电平转换模块采用芯片型号为l9637d。
基于上述电路拓扑结构,本发明还提出了一种适配obd接口的多协议诊断模块的控制方法,具体按照以下步骤进行:
步骤1:上电,系统初始化;
步骤2:检测mcu模块使能引脚的驱动状态,如果使能引脚驱动信号有效,则启动工作模式,否则进入待机模式继续循环检测;
步骤3:启动工作模式后,判断mcu模块模式信号引脚的驱动状态,如果模式信号引脚有效,则进入调试工作模式,返回步骤2重复进行;如果模式信号引脚无效,则进入正常工作模式;
步骤4:进入正常工作模式后,mcu模块通过所述加密芯片校验加密算法,校验成功后,进入步骤5;否则,返回步骤2循环执行;
步骤5:mcu模块按照预设的协议类型,依次扫描对应的协议自动匹配车型,同时记录匹配时间,如果匹配超时,则返回步骤2重新执行;否则进入下一步判断协议匹配是否成功;
步骤6:判断协议匹配是否成功,如果不成功,则返回步骤5更换另一种协议进行匹配;如果匹配成功,则解析用户发出的指令,并根据该指令获取诊断数据;
步骤7:解析返回的诊断数据,并得出obd诊断结果。
进一步地,所述mcu模块中预设的协议类型包括iso15765id11bits500kbps、iso15765id29bits500kbps、iso15765id11bits250kbps、iso15765id29bits250kbps、iso14230fastinit10.4kbps、iso142305baudinit10.4kbps以及iso91415baudinitautobaud。
与现有技术相比,本发明的显著效果是:
通过选择带有can控制器功能的mcu作为主控芯片,该模块可以自动适配多种obd标准协议,通过can收发器实现与支持can总线obd接口的车型通信,通过k/l电平转换芯片或电路可实现3.3v或5v信号与车载电平转换,实现与支持k/l线obd接口的车型通信,根据不同的电压等级,可以封装不同的can控制器,另外,通过加密芯片对系统进行保护,同时采用集成ic形式封装,模块使用非常方便。
附图说明
图1为obd接口模型图;
图2为本发明提出的适配obd接口的多协议诊断模块的管脚分配图;
图3为本发明提出的适配obd接口的多协议诊断模块的内部连接关系图;
图4为本发明的控制流程图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式,对上述技术方案进行详细的说明。
如图2-图3所示,一种适配obd接口的多协议诊断模块,包括mcu模块、can收发器、电平转换模块以及加密芯片,所述mcu模块、can收发器、电平转换模块以及加密芯片分别对应连接并整体封装为集成ic。
从图2和图3可以看出,具体实施过程中,所述mcu模块向外引出有vcc引脚、tx引脚、rx引脚、mode引脚以及en引脚,其中:
所述vcc引脚用于实现模块的电源供应;
所述tx引脚用于实现串行协议的信号发送;
所述rx引脚用于实现串行协议的信号接收;
所述mode引脚用于实现工作模式的切换;
所述en引脚用于接收使能信号,实现模块的驱动控制。
所述mcu模块与can收发器相连,该can收发器向外引出有canh引脚和canl引脚,其中:
canh引脚用于实现can总线协议高电平信号收发;
canl引脚用于实现can总线协议低电平信号收发。
所述电平转换模块与所述mcu模块连接,该电平转换模块采用芯片型号为l9637d,并向外引出有k线引脚、l线引脚、bat+引脚和bat-引脚;
所述k线引脚用于实现k线协议信号传输;
所述l线引脚用于实现l线协议信号传输;
所述bat+引脚用于实现汽车电源正极连接;
所述bat-引脚用于实现汽车电源负极连接。
所述加密芯片与所述mcu模块连接,用于实现加密校验,该加密芯片向外引出有gnd引脚,用于实现整个模块电源地线的连接。
通过图2还可以看出,该模块封装为集成ic后为12引脚正方形模块,大小为28mm×28mm,所述vcc引脚、mode引脚、gnd引脚、en引脚、canh引脚、canl引脚、bat+引脚、bat-引脚、l线引脚、k线引脚、rx引脚以及tx引脚在所述集成ic上依次按照1—12的引脚序列依次封装。
如图4所示,基于上述电路拓扑结构,本发明还提出了一种适配obd接口的多协议诊断模块的控制方法,具体按照以下步骤进行:
步骤1:上电,系统初始化;
步骤2:检测mcu模块使能引脚的驱动状态,通常采用en引脚提供使能信号,如果使能引脚驱动信号有效,则启动工作模式,否则进入待机模式继续循环检测;
步骤3:启动工作模式后,判断mcu模块模式信号引脚的驱动状态,通常采用mode引脚提供模式改变信号,如果模式信号引脚有效,则进入调试工作模式,返回步骤2重复进行;如果模式信号引脚无效,则进入正常工作模式;
步骤4:进入正常工作模式后,mcu模块通过所述加密芯片校验加密算法,校验成功后,进入步骤5;否则,返回步骤2循环执行;
步骤5:mcu模块按照预设的协议类型,依次扫描对应的协议自动匹配车型,同时记录匹配时间,如果匹配超时,则返回步骤2重新执行;否则进入下一步判断协议匹配是否成功;
步骤6:判断协议匹配是否成功,如果不成功,则返回步骤5更换另一种协议进行匹配;如果匹配成功,则解析用户发出的指令,并根据该指令获取诊断数据;
步骤7:解析返回的诊断数据,并得出obd诊断结果,具体实施时,可以对采集的数据进行处理和分析,计算得到驾驶行为、车辆预测数据等,如:车辆急加减速次数统计、剩余油量可行驶里程等。
进一步地,所述mcu模块中预设的协议类型包括iso15765id11bits500kbps、iso15765id29bits500kbps、iso15765id11bits250kbps、iso15765id29bits250kbps、iso14230fastinit10.4kbps、iso142305baudinit10.4kbps以及iso91415baudinitautobaud。
本发明提供的电路模块除了实现与车载can总线、k/l线通信以及系统与加密ic交互保护外,同时设计了电容滤波、mcu使能和工作模式选择等功能,能够适配多种标准诊断协议并通过obd接口获取车辆诊断信息,通过集成封装为ic芯片,使用更加方便,通过预先配置多种标准协议,在建立通信连接时,通过逐个扫描的方式与车载协议进行匹配,直至匹配成功,模块中预先设置加密芯片,在产品使用时,通过提供sdk开发包的形式,实现加密验证,保证安全性能。
应当指出的是,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改性、添加或替换,也应属于本发明的保护范围。