基于XCP协议的软件示波器标定方法技术

技术编号:39176187 阅读:14 留言:0更新日期:2023-10-27 08:24
本发明专利技术公开了一种基于XCP协议的软件示波器标定方法,本方法在软件示波器的工程应用程序中声明一个总的缓存环形数组长度,根据观测信号的数量自动计算每个信号的小数组长度,通过XCP上位机在线标定观测量的地址、变量类型、采样时间、触发条件、数据对齐参数等标定量,避免每次调整参数需重新编译刷写程序的繁琐性,能够监测电机控制器软件内部每个周期内us级的关键数据,数据对齐功能可有效识别CAN通讯丢帧导致的问题,提高了调试效率;在利用软件示波器排查故障时,根据排查故障需要灵活调整缓存环形数组记录的故障前、后的数据量,并通过pCAN

【技术实现步骤摘要】
基于XCP协议的软件示波器标定方法


[0001]本专利技术涉及电动汽车控制器软件监测
,尤其涉及一种基于XCP协议的软件示波器标定方法。

技术介绍

[0002]在电机控制器搭载电机的实时控制系统中,为调试电机控制算法或排查故障分析问题,需监测软件内部观测量,如监测反馈转速、三相反馈电流等随着载波频率更新的关键数据,常采用软件示波器将观测量的数据存储在缓存数组中,然后通过CAN通讯10ms一帧的报文将数据发送出来。
[0003]现有的软件示波器在监控多个通道的过程数据时,常采用在应用程序中声明多个相同长度环形缓存数组,受限于每个通道小数组的长度在创建时必须指定为一个常数,芯片的内存空间要求所有小数组长度的总和不能超过限制,为尽可能每个通道记录更多的数据量,小数组长度需随着待观测的信号通道数的增减而调整。每个通道可选择记录的信号、数据类型固定。监控多个通道的过程数据时,所有通道的采样周期相同。在排查不一定触发故障的问题时,根据需求在指定的条件下触发软件示波器,如反馈转速稳态偏差大于2%时,记录关键的过程数据,触发条件的设置需修改代码来实现。同时,在分析传输出来的波形图数据时,无法区分是由于CAN通讯丢帧导致的数据异常,还是真实存在的故障,增加了分析问题的复杂度。
[0004]除此之外,在利用软件示波器排查故障时,现有的软件示波器通常记录的故障前与故障后的数据量相等,无法满足有些工况需观测故障前/后数据量多一些的情形,造成排查问题的灵活性受到影响。

技术实现思路

[0005]本专利技术所要解决的技术问题是提供一种基于XCP协议的软件示波器标定方法,本方法用于监测电机控制器软件内部的观测量,解决每个通道小数组长度、观测量、变量类型、采样时间、触发条件等参数调整时需重新编译刷写程序,难以识别CAN通讯丢帧或真实存在故障导致的数据异常,以及故障前、后记录的数据量不能灵活调整的技术问题,避免了每次调整参数需重新编译刷写程序的繁琐性,提高了调试效率。
[0006]为解决上述技术问题,本专利技术基于XCP协议的软件示波器标定方法包括如下步骤:步骤一、配置软件示波器的工程应用程序,连接上位机与设备,建立通信;将软件示波器功能文件以及XCP协议标定量数据文件集成到工程应用程序中,软件示波器功能的主调函数添加到工程应用程序的主中断中调用,根据芯片资源定义一个总的缓存环形数组DATA[Num_Total];配置XCP协议标定所需的NI工具、XCP上位机、A2L文件、接收CAN报文的PCAN工具、上位机pCAN

Explorer、dbc文件,在低压直流电源打开时,CAN通讯正常;步骤二、利用XCP协议标定软件示波器观测量的信号通道数、观测量地址、采样时间、变量类型、运行模式、触发条件、数据对齐参数;
步骤三、所有信号通道记录的观测量数据写入总的缓存环形数组,当触发条件标志位置1时,记录触发故障的当前计数值为LogFaultCnt,根据需求计算故障后还需记录的数据量为N
ꢀ‑ꢀ
cIndex_Fault,当写入数据累加计数值大于N
ꢀ‑ꢀ
cIndex_Fault时,缓存数组记录数据完成;步骤四、对故障前后数据进行数据拼接,通过CAN通讯10ms周期的报文将缓存环形数组的数据发送出来;进行故障数据拼接时,计算缓存环形数组进行数据拼接后的数组索引值的起始位置StartReadIdx,当触发故障时计数值大于要求的故障前数据量时,发送数据初始的索引值为StartReadIdx = LogFaultCnt
ꢀ‑ꢀ
cIndex_Fault;否则,发送数据初始的索引值为StartReadIdx = LogFaultCnt
ꢀ‑ꢀ
cIndex_Fault + N,数据拼接的终止位置为从发送数据拼接后初始位置开始计数,直到计数值满足大于等于N时,发送数据完成;步骤五、通过上位机pCAN

Explorer将录取的CAN报文转化成图形化的波形图,用于分析、定位故障原因。
[0007]进一步,所述软件示波器在工程应用程序中声明一个总的缓存环形数组,其长度为Num_Total,通过XCP协议选择监控的信号通道数Channel为≤10,根据选择的信号通道数占总通道数的比例进行等数组长度分割,分割后的每个小数组长度为N = Num_Total /Channel,并对N进行取整处理。
[0008]进一步,所述观测量地址包括在工程应用程序编译后生成的.map文件中搜索观测量的地址,软件示波器通过XCP协议标定地址以选择每个信号通道记录的物理量,记录的物理量包括但不限于反馈转速、指令扭矩、dq轴电流指令值、dq轴电流反馈值、dq轴电压指令值、旋变解码后的实时角度、U、V、W三相反馈电流、U、V、W三相占空比、母线电压采样物理值、旋变sin、cos信号的包络值。
[0009]进一步,所述采样时间由软件示波器记录数据的采样间隔根据变量的更新周期进行调整,记录多个示波通道过程数据时,信号包含全部来源于中断周期中更新的物理量,或全部来源于任务周期中更新的物理量,或部分信号来源于中断周期和部分信号来源于任务周期中更新的物理量。
[0010]进一步,所述变量类型由软件示波器每个信号通道记录的数据类型通过XCP协议进行选择,数据类型包括但不限于float32、uint8、int8、uint16、int16、uint32和int32。
[0011]进一步,所述运行模式包括滚动模式和触发模式,滚动模式无需任何条件开始写入数据到缓存环形数组中,并循环记录、发送数据;触发模式时缓存环形数组一直写入数据,在满足触发条件时,将故障前、后的数据发送出来;根据需求调整故障前后的数据量,根据分析故障的需要标定故障前需记录数据量为cIndex_Fault。
[0012]进一步,所述触发条件包括但不限于变量A>固定值,变量A<固定值,变量A

变量B>固定值,变量A

变量B<固定值,变量A前后两拍的变化量>固定值,变量A前后两拍的变化量<固定值,其中变量A、B和固定值通过XCP上位机进行标定。
[0013]进一步,所述数据对齐参数为标志位Y,缓存环形数组在写入数据时,每记录M个数据,插入一个数据对齐标志位Y,标志位Y根据观测量数据范围给定。由于本专利技术基于XCP协议的软件示波器标定方法采用了上述技术方案,即本方法在软件示波器的工程应用程序中声明一个总的缓存环形数组长度,根据观测信号的数量自动计算每个信号的小数组长度,通过XCP上位机在线标定观测量的地址、变量类型、采样时
间、触发条件、数据对齐参数等标定量,避免每次调整参数需重新编译刷写程序的繁琐性,能够监测电机控制器软件内部每个周期内us级的关键数据,数据对齐功能可有效识别CAN通讯丢帧导致的问题,提高了调试效率;在利用软件示波器排查故障时,根据排查故障需要灵活调整缓本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于XCP协议的软件示波器标定方法,其特征在于本方法包括如下步骤:步骤一、配置软件示波器的工程应用程序,连接上位机与设备,建立通信;将软件示波器功能文件以及XCP协议标定量数据文件集成到工程应用程序中,软件示波器功能的主调函数添加到工程应用程序的主中断中调用,根据芯片资源定义一个总的缓存环形数组DATA[Num_Total];配置XCP协议标定所需的NI工具、XCP上位机、A2L文件、接收CAN报文的PCAN工具、上位机pCAN

Explorer、dbc文件,在低压直流电源打开时,CAN通讯正常;步骤二、利用XCP协议标定软件示波器观测量的信号通道数、观测量地址、采样时间、变量类型、运行模式、触发条件、数据对齐参数;步骤三、所有信号通道记录的观测量数据写入总的缓存环形数组,当触发条件标志位置1时,记录触发故障的当前计数值为LogFaultCnt,根据需求计算故障后还需记录的数据量为N
ꢀ‑ꢀ
cIndex_Fault,当写入数据累加计数值大于N
ꢀ‑ꢀ
cIndex_Fault时,缓存数组记录数据完成;步骤四、对故障前后数据进行数据拼接,通过CAN通讯10ms周期的报文将缓存环形数组的数据发送出来;进行故障数据拼接时,计算缓存环形数组进行数据拼接后的数组索引值的起始位置StartReadIdx,当触发故障时计数值大于要求的故障前数据量时,发送数据初始的索引值为StartReadIdx = LogFaultCnt
ꢀ‑ꢀ
cIndex_Fault;否则,发送数据初始的索引值为StartReadIdx = LogFaultCnt
ꢀ‑ꢀ
cIndex_Fault + N,数据拼接的终止位置为从发送数据拼接后初始位置开始计数,直到计数值满足大于等于N时,发送数据完成;步骤五、通过上位机pCAN

Explorer将录取的CAN报文转化成图形化的波形图,用于分析、定位故障原因。2.根据权利要求1所述的基于XCP协议的软件示波器标定方法,其特征在于:所述软件示波器在工程应用程序中声明一个总的缓存环形数组,其长度为Num_Total,通过XCP协议选择监控的信号通道数Channel为≤10,根据选择的信号通道数占总通道数的比例进行等数组长度分割,分割后的每个小数组长度为N = Num_...

【专利技术属性】
技术研发人员:杜涛刘松波唐定
申请(专利权)人:上海大郡动力控制技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1