本发明属于电力电子,尤其涉及一种多协议多端口的数据发送方法、装置及电源模块。
背景技术:
1、无论是充电站的充电桩中使用的电源模块,还是车载电源模块、军品电源模块等,通常都会使用can通信进行协议的交互,对于电源模块而言,应对不同厂商的需求设计不同的发送协议。同时,电源模块可能存在前后级,前后级之间需要进行信息的交互,若多个厂商的发送协议各不相同,即针对不同的厂商,可能需要使用a、b、c、d等多个发送协议,则电源模块前后级的发送协议可能与厂商的发送协议不同。目前缺乏一种能够自动分配、处理发送协议的架构,导致代码需要根据客户的不同需求反复修改,代码可复用性差。
技术实现思路
1、有鉴于此,本发明实施例提供了一种多协议多端口的数据发送方法、装置及电源模块,以处理电源模块中各种类型的发送协议,增强代码的复用性。
2、本发明实施例的第一方面提供了一种多协议多端口的数据发送方法,该方法包括:
3、分别遍历电源模块中的各个注册区域,得到各个发送协议的端口和协议信息;其中,电源模块中预先注册有至少一种类型的发送协议,每种类型的发送协议对应一个注册区域,注册内容包括发送协议的端口和协议信息;
4、根据发送协议的协议信息,判断是否达到发送条件;
5、若达到发送条件,则通过发送协议的端口发送对应的数据。
6、结合第一方面,在第一方面的一种可能的实现方式中,发送协议的类型包括:周期发送协议和触发发送协议。
7、结合第一方面,在第一方面的一种可能的实现方式中,对于周期发送协议,注册内容中的协议信息包括周期发送时间和加载回调函数;
8、相应的,根据发送协议的协议信息,判断是否达到发送条件,若达到发送条件,则通过发送协议的端口发送对应的数据,包括:
9、判断等待时间是否达到周期发送时间;
10、若达到,则根据加载回调函数,将对应的数据和发送协议的端口装载至预设的第一缓存区;其中,第一缓存区包括第一数据缓存区和第一驱动设备缓存区,对应的数据装载至第一数据缓存区,发送协议的端口装载至第一驱动设备缓存区;
11、遍历第一缓存区,通过发送协议的端口发送对应的数据。
12、结合第一方面,在第一方面的一种可能的实现方式中,对于触发发送协议,注册内容中的协议信息包括触发标志和加载回调函数;
13、相应的,根据发送协议的协议信息,判断是否达到发送条件,若达到发送条件,则通过发送协议的端口发送对应的数据,包括:
14、判断触发标志是否置位;
15、若置位,则根据加载回调函数,将对应的数据和发送协议的端口装载至预设的第二缓存区,同时对触发标志进行复位;其中,第二缓存区包括第二数据缓存区和第二驱动设备缓存区,对应的数据装载至第二数据缓存区,发送协议的端口装载至第二驱动设备缓存区;
16、遍历第二缓存区,通过发送协议的端口发送对应的数据。
17、结合第一方面,在第一方面的一种可能的实现方式中,电源模块中还预先注册有多个执行者的执行者信息,执行者信息包括执行者id和执行者端口;执行者id用于实现请求者和执行者的id匹配,匹配完成后将请求者的数据地址拷贝到执行者缓存区;
18、该方法还包括:
19、将执行者缓存区内的请求者的数据地址装载至第二数据缓存区,以及将执行者端口装载至第二驱动设备缓存区,以通过遍历第二缓存区进行数据转发。
20、结合第一方面,在第一方面的一种可能的实现方式中,电源模块发送数据的端口均为can端口,每个端口下的发送邮箱预先设定。
21、本发明实施例的第二方面提供了一种多协议多端口的数据发送装置,该装置包括:
22、遍历模块,用于分别遍历电源模块中的各个注册区域,得到各个发送协议的端口和协议信息;其中,电源模块中预先注册有至少一种类型的发送协议,每种类型的发送协议对应一个注册区域,注册内容包括发送协议的端口和协议信息;
23、装载发送模块,用于根据发送协议的协议信息,判断是否达到发送条件;若达到发送条件,则通过发送协议的端口发送对应的数据。
24、结合第二方面,在第二方面的一种可能的实现方式中,发送协议的类型包括:周期发送协议和触发发送协议。
25、本发明实施例的第三方面提供了一种电源模块,包括电子设备,电子设备包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面以及第一方面的任意一种可能的实现方式中的多协议多端口的数据发送方法的步骤。
26、本发明实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面以及第一方面的任意一种可能的实现方式中的多协议多端口的数据发送方法的步骤。
27、本发明实施例与现有技术相比存在的有益效果是:
28、本发明实施例在电源模块内设置多个注册区域,各个注册区域预先注册不同类型发送协议的端口和协议信息,通过分别遍历电源模块中的各个注册区域,得到各个发送协议的端口和协议信息,进而根据发送协议的协议信息,判断是否达到发送条件,若达到发送条件,则通过发送协议的端口发送对应的数据。本发明实施例使电源模块能够统一处理各种类型的发送协议,不需要反复修改代码,增强了代码的复用性,使得电源模块能够适用于不同的厂商。
1.一种多协议多端口的数据发送方法,其特征在于,包括:
2.如权利要求1所述的多协议多端口的数据发送方法,其特征在于,发送协议的类型包括:周期发送协议和触发发送协议。
3.如权利要求2所述的多协议多端口的数据发送方法,其特征在于,对于周期发送协议,注册内容中的协议信息包括周期发送时间和加载回调函数;
4.如权利要求2所述的多协议多端口的数据发送方法,其特征在于,对于触发发送协议,注册内容中的协议信息包括触发标志和加载回调函数;
5.如权利要求4所述的多协议多端口的数据发送方法,其特征在于,所述电源模块中还预先注册有多个执行者的执行者信息,所述执行者信息包括执行者id和执行者端口;所述执行者id用于实现请求者和执行者的id匹配,匹配完成后将请求者的数据地址拷贝到执行者缓存区;
6.如权利要求1所述的多协议多端口的数据发送方法,其特征在于,电源模块发送数据的端口均为can端口,每个端口下的发送邮箱预先设定。
7.一种多协议多端口的数据发送装置,其特征在于,包括:
8.如权利要求7所述的多协议多端口的数据发送装置,其特征在于,发送协议的类型包括:周期发送协议和触发发送协议。
9.一种电源模块,包括电子设备,电子设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。