【技术实现步骤摘要】
提高手机与车机之间数据传输的方法
[0001]本专利技术涉及数据传输
,尤其涉及一种提高手机与车机之间数据传输的方法。
技术介绍
[0002]汽车维修人员在执行维修任务时,需要针对汽车某些ECU参数进行读取并且实时显示出来,通过观察参数的变化规律找到故障可能存在的点,根据这些故障点来排查故障进而实施维修工作。
[0003]传统读取方式是单I D传输,就是开发人员将ECU的参数一个个配置到软件内部,读取数据时,将已配置好的数据结构(含数据I D)通过蓝牙发送到VC I(维修诊断设备),VC I对数据结构进行解析,然后下发指令到车机CAN网络,当CAN网络有响应就会把数据给VC I,VC I再返回到手机,如此单个I D数据读取完毕(见方法流程框图
‑
图1),接着再发下一个I D,如此循环发送,当把所有I D发送接收完毕后会统一渲染到页面,这时候维修人员就可以看到ECU参数了。这仅仅是ECU完成一次完整数据流读取的工作,由于需要不断的实时响应,我们在手机开启了循环调度任务,让整个流程循环执行。如果在 ...
【技术保护点】
【技术特征摘要】
1.提高手机与车机之间数据传输的方法,其特征在于,具体包括以下步骤:1)对已存在的ECU进行取别名,别名具有唯一性,同时也是ECU类型的特征值;2)诊断不同ECU进行数据ID配置,数据结构如下:{nLid数据ID,每个ID代表一种参数nSubSigCnt子信号个数,代表每个ID下是否有子信号IDsName参数名称sUnit参数单位nBitOffset位偏移值nBitLength该ID响应数据位长度dbLinearFactor物理系数dbLinearOffset物理偏移值nDataType数据类型}3)根据第二步中的数据结构将ECU参数进行组装,组装完成后将单个结构数据存入队列;4)将第三步的数据结构队列进行循环,取出其中的nLid,将nLid进行单独队列存放;5)重新定义新的数据读取指令,开始批量读取CAN诊断数据流指令0x20,变量标识SID_LID_StartReadCanDiagData;获取批量读取CAN诊断数据流结果指令0x21,变量标识SID_LID_GetReadCanDiagDataResult;停止批量读取CAN诊断数据流指令0x22,变量标识SID_LID_StopReadCanDiagData;6)定义SID_LID_StartReadCanDiagData:0x20批量读的数据负响应码如下,正响应码为0x60,其他负响应码为:0x33代表VCI忙或者上一个批量读取没有结束;0x12代表VCI不支持此服务;0x22代表CAN诊断服务没有打开;不同负响应码解决办法如下:A>如果负响应码是:0x33,则需要先停止上一个批量读取才能开始新的读取服务;B>如果负响应码是:0x12,则需要更新VCI程序;C>如果负响应码是:0x22,则需要初始化CAN总线并开始诊断服务;7)定义SID_LID_GetReadCanDiagDataResult:0x21获取诊断数据流结果负响应码如下,正响应码为0x61,其他负响应码为:0x33代表VCI批量读取没有结束;0x12代表VCI不支持此服务;0x22代表批量读取服务没有打开,不同负响应码解决办法如下:A>如果负响应码是:0x33,则需要等待批量读取完成才能返回读取的值;B>如果负响应码是:0x12,则需要更新VCI程序;C>如果负响应码是:0x22,则需要开始批量读取服务;8)定义SID_LID_StopReadCanDiagData:0x22获取诊断数据流结果负响应码如下,正响应码为0x62,其他负响应码为:0x12代表VCI不支持此服务;0x22代表批量读取服务没有开始或者已经结束,不同负响应码解决办法如下:A>如果负响应码是:0x12,则需要更新VCI程序;B>如果负响应码是:0x22,则无需任何操作;9)定义开始批量读数据服务(0x20)的数据结构,定义如...
【专利技术属性】
技术研发人员:陈飞虎,李祖元,徐雄,
申请(专利权)人:武汉锐科控制系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。