一种识别商用车OBD口CAN通讯针脚波特率的方法与流程

文档序号:17129408发布日期:2019-03-16 00:58阅读:2177来源:国知局
一种识别商用车OBD口CAN通讯针脚波特率的方法与流程
本发明涉及车联网
技术领域
,尤其涉及一种识别商用车obd口can通讯针脚波特率的方法。
背景技术
:商用车是指所有的货车、专用车、军用车、工程车辆、九座以上的所有客车、拖拉机、农用车、矿用车等。简而言之,商用车就是以盈利为目的,一般为货车或大中型客车。现有的汽车都会有obd接口,obd是英文on-boarddiagnostic的缩写,中文翻译为“车载诊断系统”,因此obd接口即车载诊断系统的接口。随着国内整车技术的发展,越来越多的厂家加入到商用车这一领域。不同的厂家也都定义了属于自己品牌特定的obd通讯针脚,如潍柴、重汽、玉柴等品牌。对维修车辆的师傅来说,大多数师傅并不知道在obd针脚方面还有属于厂家自己的特定针脚,这就让许多维修师傅很苦恼,最重要的情况是,目前各个厂家都提倡自主品牌,自主研发的电脑版在这一块的针脚定义也没有特定的规范,就会给使用带来很大的麻烦,在车辆诊断方面增加了一个很大的进入门槛。电脑版的类型很多,市面上最常见的是博世电脑版、康明斯电脑版、德尔福电脑版、电装电脑版及天然气电脑版等。各自厂家自主的电脑版,如康明斯的一般6和14针脚通讯250波特率,博世的不同厂家配的整车通讯针脚各自不同,都为6和14针脚,但是波特率可能是250波特率或者500波特率。目前市面上不存在优先识别针脚波特率、再去与电脑版进行交互的通讯方式,而是通过对特定的电脑版配置默认的针脚方式和默认的波特率,一旦整车厂不规范,不是配置的默认针脚,则无法进入车辆诊断模式,使得无法顺利诊断、维修车辆。因此,需要一种识别商用车obd口can通讯针脚波特率的方法。技术实现要素:为了解决现有技术中的上述问题,本发明提出了一种智能识别can线波特率针对不同的电脑版匹配不同的针脚通讯,旨在解决快速进入系统,帮助维修师傅解决人工通过工具判断再次选择相应针脚通讯,尤其是不规范的整车定义的通讯针脚和市面上资料未公开,无法判断出针脚通讯的车辆,实现智能判断通讯针脚快速进入车辆诊断模式。本发明的一种识别商用车obd口can通讯针脚波特率的方法,所述方法包括以下步骤:步骤1:对所述obd口的各个针脚进行针脚电压采集;步骤2:判断所述各个针脚的电压值是否在canh和canl的有效范围内,在有效范围内的针脚即为can通讯针脚;步骤3:发送一串1bit位波形给所述商用车obd口,所述商用车的ecu电脑板发出回复波形;步骤4:获取所述回复波形中的1bit位的时间间隔;步骤5:通过下述公式计算获得所述can通讯针脚的波特率范围:波特率=(1+smod)*晶振频率/(384*(256-th1)),其中,smod为寄存器pcon的第7位,称为波特率倍增位;th1为所述时间间隔。优选地,步骤1进一步包括下述步骤:步骤11:依次扫描各个针脚,每个针脚每次扫描n次;步骤12:对所述n次的电压经过滤波后,取平均值,作为各个针脚的电压值。优选地,所述canh的有效电压范围为基本上2.5v至基本上3.5v,所述canl的有效电压范围为基本上1.5v至基本上2.5v。优选地,若所述电压值在1.15-1.4v之间,则判定为无效,或者若高低电平相同,判定为无数据。优选地,进一步包括步骤6:将步骤5计算获得的波特率范围转化为所述商用车obd支持的波特率。优选地,步骤6中,步骤5计算获得的波特率范围被划分为四个区间0~188k、189~375k、376~700k、700k以上,分别对应所述商用车obd支持的波特率。优选地,识别can针脚波特率的顺序为针脚6和14,1和9,3和11,11和12,2和10,8和12,12和13这七组can通讯针脚。优选地,对前四组can通讯针脚组合与后三组can通讯针脚组合同时进行识别。本发明具有如下有益效果:1、智能检测非标准车辆obd口的通讯针脚;2、降低维修师傅不能进入诊断模式导致车辆无法修好的失败率;3、避免can通讯过程扰乱其他can模板的交互。附图说明图1是根据本发明的识别商用车obd口can通讯针脚波特率的方法的流程图。具体实施方式下面通过实施例对本发明作进一步说明,其目的仅在于更好地理解本发明的研究内容而非限制本发明的保护范围。波特率(boudrate)就是在串口通信中每秒能够发送的位数(bits/second)。mcs-51串行端口在四种工作模式下有不同的波特率计算方法。其中,模式0和模式2波特率计算很简单;模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。在串行端口工作于模式1时,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。在此模式下波特率计算公式为:波特率=(1+smod)*晶振频率/(384*(256-th1))其中,smod为寄存器pcon的第7位,称为波特率倍增位;th1为定时器的重载值。在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。这要根据系统的运作特点,确定通信的频率范围。然后考虑通信时钟误差,使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。为了通信的稳定,应该尽量选择时钟误差最小的频率进行通信。下面举例说明波特率选择过程:假设系统要求的通信频率在20000bit/s以下,晶振频率为12mhz,设置smod=1(即波特率倍增)。则th1=256-62500/波特率根据波特率取值表,知道可以选取的波特率有:1200,2400,4800,9600,19200。列计数器重载值,通信误差如下表1所示:波特率计数器重载值波特率误差12002040.16%24002300.16%48002430.16%96002496.99%192002538.51%表1根据上表,在误差较小为0.16%的情况下,选择波特率为4800是较为理想的。下面根据图1详细说明本发明。如图1所示,本发明的一种识别商用车obd口can通讯针脚波特率的方法,包括以下步骤:步骤1:对所述obd口的各个针脚进行针脚电压采集。该步骤1进一步包括下述步骤:步骤11:依次扫描各个针脚,每个针脚每次扫描n次;步骤12:对所述n次的电压经过滤波后,取平均值,作为各个针脚的电压值。这里,n例如取30次。步骤2:判断所述各个针脚的电压值是否在canh和canl的有效范围内,在有效范围内的针脚即为can通讯针脚。所述canh的有效电压范围为:2.5v左右到3.5左右;canl的有效电压范围为1.5左右到2.5左右;且应当canh>canl。若canh=canl,则无数据!另外,若所述电压值在1.15-1.4v之间,则判定为无效。例如,下面的实例是采集的obd的各个针脚的电压值:obd_pin1c1=1.235-----floatpinobd_pin2c1=1.203-----floatpinobd_pin3c1=1.218-----floatpinobd_pin6c1=2.865-----canh/canlpinobd_pin7c1=1.213-----floatpinobd_pin8c1=1.217-----floatpinobd_pin9c1=1.208-----floatpinobd_pin10c1=1.201-----floatpinobd_pin11c1=1.240-----floatpinobd_pin12c1=1.216-----floatpinobd_pin13c1=1.192-----floatpinobd_pin14c1=2.281-----canh/canlpinobd_pin15c1=1.227-----floatpin从上述数据可以得知:针脚6和14的电压不在1.15-1.4v之间,都大于1.5v,则为实际针脚,可见针脚6和14为车上的一组can线,且6号针脚的电压大于14号针脚的电压,所以canh为6号针脚,canl为14号针脚。确定can针脚以后就可以进行波特率检测了。步骤3:通过vci硬件发送一串1bit位波形给所述商用车obd口,所述商用车的ecu电脑板发出回复波形。步骤4:通过下位机获取所述回复波形中的1bit位的时间间隔;步骤5:通过下述公式计算获得所述can通讯针脚的波特率范围:波特率=(1+smod)*晶振频率/(384*(256-th1))其中,smod为寄存器pcon的第7位,称为波特率倍增位;th1为所述时间间隔,也即定时器的重载值。本发明进一步包括步骤6:将步骤5计算获得的波特率范围转化为所述商用车obd支持的波特率。因为根据以上的方式,测出来的波特率范围很大,但车上所支持的波特率仅为125k、250k、500k、1000k这四种,需要对测试出来的波特率进行划分,把波特率范围被划分为四个区间0~188k、189~375k、376~700k、700k以上,分别对应所述商用车obd支持的波特率。波特率范围划分表如下表2所示。实际测得波特率的范围转化为车上obd支持的波特率0~188k125k189~375k250k376~700k500k700k以上1000k表2另外,硬件插上优先识别标准obd口,由于can线的组合各不相同,会根据市面上常见的can线组合进行优识别,本发明利用大数据的调查,识别的顺序为针脚6和14,1和9,3和11,11和12,2和10,8和12,12和13这七组can通讯针脚,已经百分百覆盖了市面上所有的can线通讯针脚方式。由于7组的组数太多,本发明会同时进行多组can线同时识别,例如前四组can通讯针脚组合与后三组can通讯针脚组合同时进行识别,将识别前期的耗时减到最低。显然,本
技术领域
中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求书范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1