基于CAN总线的监控板输出日志方法、系统、设备及介质与流程

文档序号:29462785发布日期:2022-04-02 02:08阅读:113来源:国知局
基于CAN总线的监控板输出日志方法、系统、设备及介质与流程
基于can总线的监控板输出日志方法、系统、设备及介质
技术领域
1.本发明属于通信领域,涉及一种基于can总线的监控板输出日志方法、系统、设备及介质。


背景技术:

2.日志是用来记录程序运转的一种载体,能够帮助用户查询分析程序的运转信息;在充电桩中嵌入式监控板硬件资源有限,基本所有的串口都被占用,且自身flash比较小不能存储日志。这导致单板在运行过程中处于未知状态,这给软件调试和问题定位增加很大难度。


技术实现要素:

3.本发明的目的在于解决现有技术中的问题,提供一种基于can总线的监控板输出日志方法、系统、设备及介质,通过利用现有的can接口,解决监控板日志传输的问题,提升了整个系统的易用性和稳定性。
4.为达到上述目的,本发明采用以下技术方案予以实现:
5.基于can总线的监控板输出日志方法,包括:
6.基于can总线的通信协议格式,构建日志控制帧;
7.接收日志采集设备所发送的日志控制帧;
8.基于所接收的日志控制帧,对监控板自身日志的等级和日志传输生命周期进行更新,发送日志数据帧给日志采集设备;
9.存储日志数据帧,完成一个周期的日志传输;
10.判断监控板是否超出预定时长未接收到日志控制帧,若是,关闭日志传输功能;若否,重复步骤2、步骤3和步骤4,完成日志的传输。
11.本发明的进一步改进在于:
12.预设时长为两个日志传输生命周期。
13.日志控制帧包括数据域,日志控制帧的数据域用于传输数据;日志控制帧中数据域所传输的数据为1个字节。
14.基于所接收的日志控制帧,对自身日志的等级和日志传输生命周期进行更新,具体为:
15.日志控制帧中数据域所传输的数据包含与监控板自身日志等级不同的日志,基于所接收的日志控制帧中数据域所传输的数据,监控板自身日志的等级和日志传输生命周期进行更新,更新到与日志控制帧所发送的日志等级相同;监控板日志传输生命周期以接收到日志控制帧时开始计算。
16.日志数据帧中的日志内容使用ascii的字符串格式传输。
17.日志数据帧中得每一条日志的结尾需要使用换行符。
18.日志数据帧所传输的每一帧字节不超过8个。
19.基于can总线的监控板输出日志系统,包括:
20.构建模块,所述构建模块基于can总线的通信协议格式,构建日志控制帧;
21.接收模块,所述接收模块用于接收日志采集设备所发送的日志控制帧;
22.更新模块,所述更新模块基于所接收的日志控制帧,对监控板自身日志的等级和日志传输生命周期进行更新,发送日志数据帧给日志采集设备;
23.存储模块,所述存储模块用于存储日志数据帧,完成一个周期的日志传输;
24.判断模块,所述判断模块用于判断监控板是否超出预定时长未接收到日志控制帧,直至完成日志的传输。
25.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
26.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
27.与现有技术相比,本发明具有以下有益效果:
28.本发明通过日志采集设备向监控板传递日志控制帧,监控板更新自身的日志信息并向日志采集设备发送日志数据帧,日志采集设备接收并存储日志数据帧,能够帮助用户查询分析程序的运转信息,使得用户可以快速定位出发生问题的原因,同时监控日志采集设备和监控板传输日志的时长,避免设备长时间的等待,进而影响设备正常通信。
附图说明
29.为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
30.图1为本发明实施例的基于can总线的监控板输出日志方法流程图;
31.图2为整个日志系统工作图;
32.图3为sae j1939-21:2006规定的can帧格式;
33.图4为本发明实施例的基于can总线的监控板输出日志系统结构图。
具体实施方式
34.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
35.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
37.在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
38.此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
39.在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
40.下面结合附图对本发明做进一步详细描述:
41.参见图1和图2,本发明公布了一种基于can总线的监控板输出日志方法,包括:
42.步骤1:基于can总线的通信协议格式,构建日志控制帧。
43.根据can总线的通信协议格式,定义一个专门使用的功能码。定义为:日志采集设备给监控板发送的日志功能码为日志控制帧;监控板给日志采集设备发送的日志功能码为日志数据帧。
44.步骤2:接收日志采集设备所发送的日志控制帧。
45.日志采集设备向监控板传递日志控制帧,其中,日志控制帧包括数据域,日志控制帧的数据域用于传输数据。为了尽量减少can总线传输数据,日志控制帧的数据域只传1个字节。
46.步骤3:基于所接收的日志控制帧,对监控板自身日志的等级和日志传输生命周期进行更新,发送日志数据帧给日志采集设备。
47.日志控制帧中数据域所传输的数据包含与监控板自身日志等级不同的日志,基于所接收的日志控制帧中数据域所传输的数据,监控板自身日志的等级和日志传输生命周期进行更新,更新到与日志控制帧所发送的日志等级相同;监控板日志传输生命周期以接收到日志控制帧时开始计算。
48.步骤4:存储日志数据帧,完成一个周期的日志传输。
49.当日志采集设备接收到监控板发送的日志数据帧时,将所接收到的日志数据帧进行存储,此时完成了一个周期的日志传输动作。
50.步骤5:判断监控板是否超出预定时长未接收到日志控制帧,若是,关闭日志传输功能;若否,重复步骤2、步骤3和步骤4,完成日志的传输。
51.当日志采集设备没有向监控板发送日志控制帧,同时在预定时长内,监控板没有接收到来自日志采集设备所发送的日志控制帧的时候,监控板关闭传输功能,避免设备长时间的等待,进而影响设备正常通信。预定时长可以为连续两个日志传输生命周期;日志控制帧的日志传输生命周期可以设置为1分钟。
52.日志数据帧格式规定:
53.日志内容使用ascii的字符串格式传输。
54.由于can数据每帧的数据最多8个字节,当一条日志的长度超过8字节时,需要多帧传输。最后一帧不足8个字节时,需要根据具体长度传输,这样可以减小can总线的数据量。
55.每一条日志的结尾需要使用换行符“\n”。
56.日志数据帧传输周期,按照一定的时间间隔发送,具体间隔需要根据当前行的总线使用率来确定,日志帧的传输不能影响正常设备通信。
57.当同时存在多条日志待传输时,可将日志拼接到一起传输。即8个字节中可包含上一条日志的最后几个字节和下一条日志的开始几个字节。
58.参见图3,其中can数据格式要求为:
59.p为优先权,可以从最高0设置到最低7。
60.r为保留位,本标准设为0。
61.dp为数据页,可以用来选择参数组描述的辅助页,本标准设为0。
62.pf为pdu格式,可以用来确定pdu的格式以及数据域对应的参数组编号。
63.ps为pdu特定格式,ps值取决于pdu格式。这里采用pdu1格式,ps值为目标地址。
64.sa为源地址:发送此报文的源地址。
65.data为数据域:若给定参数组数据长度不超过8字节,根据实际报文长度进行传输。若给定参数组数据长度为9~1785字节时,数据传输需多个can数据帧,通过传输协议功能的连接管理能力来建立和关闭多包参数组的通信。
66.参见图4,本发明公布了一种基于can总线的监控板输出日志系统,包括:
67.构建模块,所述构建模块基于can总线的通信协议格式,构建日志控制帧;
68.接收模块,所述接收模块用于接收日志采集设备所发送的日志控制帧;
69.更新模块,所述更新模块基于所接收的日志控制帧,对监控板自身日志的等级和日志传输生命周期进行更新,发送日志数据帧给日志采集设备;
70.存储模块,所述存储模块用于存储日志数据帧,完成一个周期的日志传输;
71.判断模块,所述判断模块用于判断监控板是否超出预定时长未接收到日志控制帧,确保完成日志的传输。
72.本发明一实施例提供的终端设备。该实施例的终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
73.所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。
74.所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。
75.所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
76.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。
77.所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
78.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1