车用控制器的从板编号方法及车用控制器
技术领域
本发明涉及汽车技术领域,特别涉及一种车用控制器的从板编号方法及车用控制器。
背景技术
主板与多个从板进行CAN通信时,如果具有ID(identification,身份标识号)自检和学习功能,则会带来很多方便,如从板程序更新方便、换板方便等等。也就是说,可以检测从板ID是否正确,并且当从板ID检测出不正确时,可以具有ID学习功能。其中,ID代表每个从板特定的身份编号。另外,ID自检和学习功能的实现,需要软件、硬件两方面的协同。
相关技术中,多是主板进行ID检测,然后通过并联或串联的硬线与CAN消息配合,并通过较为复杂的主板控制策略协同实现ID学习。然而,由于主板与从板在实际开发中多属不同的厂家,如电池管理系统的主板趋向于整车厂开发,而从板多由提供电池系统的供应商开发,导致二者在协作时往往需要花费较长的时间来开发和调试ID自检和学习功能,增加了开发的成本与复杂性,降低了主板和从板的互换性。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种车用控制器的从板编号方法,该方法可以降低开发的成本和复杂性,简单便捷。
本发明的另一个目的在于提出一种车用控制器。
为达到上述目的,本发明一方面实施例提出了一种车用控制器的从板编号方法,所述车用控制器包括主板和通过CAN总线与所述主板通信的从板0至从板N,所述从板0至从板N通过硬线首尾依次相连,所述从板编号方法包括:S1:所述主板向从板M发送编号指令;S2:所述从板M根据从所述CAN总线上获取的初始编号生成所述从板M的编号,并将所述从板M的编号发送至所述CAN总线;S3:所述从板M向从板(M+1)发送所述编号指令;以及S4:所述从板(M+1)根据从所述CAN总线上获取的所述从板M的编号生成所述从板(M+1)的编号,并将所述从板(M+1)的编号发送至所述CAN总线,并置M=M+1后返回所述S3,直至所述M=N-1。
本发明实施例的车用控制器的从板编号方法,多个从板首尾依次相连,在收到主板发送的编号指令之后,多个从板自行完成编号,不需要主板参与,降低了开发的成本和复杂性,增加了主板和从板的互换性,增强了主板和从板的互换性,简单便捷,更好地保证车用控制器的可靠性。
进一步地,在本发明的一个实施例中,所述编号指令为电平信号,并且在主板向所述从板M发送编号指令之前,还包括:所述主板向所述从板0至从板N广播编号模式启动指令,以使所述从板0至从板N进入编号模式。
进一步地,在本发明的一个实施例中,在所述主板向所述从板0至从板N广播所述编号模式启动指令之前,还包括:S5:所述主板向所述从板0至从板N广播检测模式启动指令,以使所述从板0至从板N进入检测模式;S6:所述主板向所述从板M发送检测指令;S7:所述从板M将所述从板M的编号发送至所述CAN总线;S8:所述从板M向从板(M+1)发送所述检测指令;以及S9:所述从板(M+1)根据从所述CAN总线上获取的所述从板M的编号判断所述从板(M+1)的编号是否正确,如果所述从板(M+1)的编号比所述从板M的编号大预设值,则判定检测正确,将所述从板(M+1)的编号发送至所述CAN总线,并置M=M+1后返回所述S8,直至所述M=N-1。
进一步地,在本发明的一个实施例中,所述检测指令为电平信号,并且在检测完成之后,还包括:所述从板N向所述主板发送检测模式结束指令,以使所述主板控制所述从板0至从板N退出所述检测模式。
进一步地,在本发明的一个实施例中,上述从板编号方法还包括:所述主板根据所述检测模式启动指令的广播时间与所述检测模式结束指令的接收时间得到检测时间;所述主板判断所述检测时间是否超过预设时间值;以及如果所述检测时间超过所述预设时间值,则所述主板提示从板状态错误。
为达到上述目的,本发明另一方面实施例提出了一种车用控制器,包括:主板和通过CAN总线与所述主板通信的从板0至从板N,所述从板0至从板N通过硬线首尾依次相连,其中,所述主板向从板M发送编号指令,所述从板M根据从所述CAN总线上获取的初始编号生成所述从板M的编号,并将所述从板M的编号发送至所述CAN总线,并且所述从板M向从板(M+1)发送所述编号指令,以及所述从板(M+1)根据从所述CAN总线上获取的所述从板M的编号生成所述从板(M+1)的编号,并将所述从板(M+1)的编号发送至所述CAN总线,并置M=M+1后重复进行编号,直至所述M=N-1。
本发明实施例的车用控制器,多个从板首尾依次相连,在收到主板发送的编号指令之后,多个从板自行完成编号,不需要主板参与,降低了开发的成本和复杂性,增加了主板和从板的互换性,增强了主板和从板的互换性,简单可靠,更好地保证车用控制器的可靠性。
进一步地,在本发明的一个实施例中,所述编号指令为电平信号,并且在主板向所述从板M发送编号指令之前,所述主板向所述从板0至从板N广播编号模式启动指令,以使所述从板0至从板N进入编号模式。
进一步地,在本发明的一个实施例中,在所述主板向所述从板0至从板N广播所述编号模式启动指令之前,所述主板向所述从板0至从板N广播检测模式启动指令,以使所述从板0至从板N进入检测模式,所述主板向所述从板M发送检测指令,所述从板M将所述从板M的编号发送至所述CAN总线,并且所述从板M向从板(M+1)发送所述检测指令,以及所述从板(M+1)根据从所述CAN总线上获取的所述从板M的编号判断所述从板(M+1)的编号是否正确,当所述从板(M+1)的编号比所述从板M的编号大预设值时,判定检测正确,将所述从板(M+1)的编号发送至所述CAN总线,并置M=M+1后重复进行检测,直至所述M=N-1。
进一步地,在本发明的一个实施例中,所述检测指令为电平信号,并且在检测完成之后,所述从板N向所述主板发送检测模式结束指令,以使所述主板控制所述从板0至从板N退出所述检测模式。
进一步地,在本发明的一个实施例中,所述主板根据所述检测模式启动指令的广播时间与所述检测模式结束指令的接收时间得到检测时间,所述主板判断所述检测时间是否超过预设时间值,其中,如果所述检测时间超过所述预设时间值,则所述主板提示从板状态错误。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的主板与多个从板的连接示意图;
图2为根据本发明实施例的车用控制器的从板编号方法的流程图;
图3为根据本发明一个实施例的ID学习的流程图;
图4为根据本发明另一个实施例的车用控制器的从板编号方法的流程图;
图5为根据本发明一个实施例的ID自检的流程图;
图6为根据本发明一个实施例的主板控制的流程图;
图7为根据本发明一个实施例的从板ID检测的流程图;
图8为根据本发明一个实施例的从板ID学习的流程图;以及
图9为根据本发明实施例的车用控制器的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面在描述根据本发明实施例提出的车用控制器的从板编号方法及车用控制器之前,先来简单描述一下相关技术中的缺陷。
在器件的主板与多个从板进行CAN总线通信时,需要使从板具有ID学习的功能。如在电池系统中,一个电池包可以由多个电池模块组成,整个电池包有一个主控制器,每个电池模块各有一个从控制器,主板与从板之间通过CAN总线进行通信,从而形成了主板与多个从板间的通信。由于从板的硬件结构和软件代码相同,在CAN总线通信时,为了进行识别,从板需要具有ID检测和学习的功能。
相关技术中,多是并联或串联的硬线与CAN消息配合,并通过较为复杂的主板控制策略协同实现ID的检测与学习。即言,主板命令从板上报自己的ID,并判断多个从板的ID是否正确,如果判断不正确,则进行ID学习。硬线选择需要进行ID学习的从板,CAN消息通过与此被选择的从板进行会话来完成此从板的ID学习,主板控制策略控制整个过程的进行,因此主从板双方需要协商好ID学习过程和CAN协议,不仅增加了开发测试的时间和成本,也影响了主从板厂商的互换性。
本发明正是基于上述问题,而提出了一种车用控制器的从板编号方法及车用控制器。
下面参照附图描述根据本发明实施例提出的车用控制器的从板编号方法及车用控制器,首先将参照附图描述根据本发明实施例提出的车用控制器的从板编号方法。
首先,车用控制器包括主板和通过CAN总线与主板通信的从板0至从板N,从板0至从板N通过硬线首尾依次相连,从而主板可以通过电平信号对从板进行控制。举例而言,如图1所示,主板和从板0至从板N通过CAN总线通信,并且主板的输出引脚B连接从板0的引脚A,从板0的引脚B接从板1的引脚A;从板1的引脚B接从板2的引脚A,依次类推,最后一块从板N的引脚B连接主板的输入引脚A。
需要说明的是,在本发明的以下部分将对如何进行从板编号进行详细介绍,但在该图1中主板和多个从板之间的连接方式仅是示意性的,本发明并不仅限于这一种连接方式。
图2是本发明实施例的车用控制器的从板编号方法的流程图。
如图2所示,该车用控制器的从板编号方法包括:
在步骤S1中,主板向从板M发送编号指令。
其中,在本发明的一个实施例中,编号指令为电平信号,并且在主板向从板M发送编号指令之前,还包括:主板向从板0至从板N广播编号模式启动指令,以使从板0至从板N进入编号模式。
也就是说,在从板更新或者换板之后,多个从板会进入检测模式(下面会进行详细赘述),如果从板编号的检测结果为错误,则主板可以控制多个从板进入编号模式(相当于ID学习模式),从板进行重新编号,相当于从板具有了学习功能。
在步骤S2中,从板M根据从CAN总线上获取的初始编号生成从板M的编号,并将从板M的编号发送至CAN总线。
可以理解的是,如图1所示,在所有从板进入编号模式之后,主板和每个从板的引脚B均置高,在主板给从板上电之后,将主板的输出引脚B置低,即通过电平信号发送编号指令,则从板0可以检测到从板0的输入引脚A置低,则从板0从CAN总线处获取初始编号如0,进而可以将ID编号设置为0,即生成从板0的编号并发送至CAN总线。
在步骤S3中,从板M向从板(M+1)发送所述编号指令。
进一步地,在生成从板0的编号之后,从板0的输出引脚B置低,其次可以通过CAN总线发送ID编号,以便于下一个从板通过CAN总线接收ID编号。
在步骤S4中,从板(M+1)根据从CAN总线上获取的从板M的编号生成从板(M+1)的编号,并将从板(M+1)的编号发送至所述CAN总线,并置M=M+1后返回S3,直至所述M=N-1。
举例而言,从板1可以根据预设规则如比上一从板编号大1将ID编号设置为接收到的从板0的编号加1,即可以将ID编号设置为1,并且将从板1输出引脚B置低,以使从板2继续编号,直至每个从板编号完成。
当主板检测到主板的输入引脚A置低时,表示每个从板编号完成,则可以发送退出命令以令从板0至从板N退出编号模式,进而可以进入正常工作模式。
结合图1与图3所示,下面以一个具体实施例进行详细描述。
如图3所示,本发明实施例的方法具体包括以下步骤:
在S301中,所有从板进入编号模式,并将引脚B置高;
在S302中,第0号从板检测到自己的输入引脚A为低;
在S303中,第0号从板将自己的ID编号设置为0,将引脚B置低,然后通过CAN发送自己的ID编号;
在S304中,第1号从板检测到输入引脚A为低,并且接收到第0号从板的ID编号。
在S305中,第1号从板将自己的ID编号设置为收到ID编号加1;
在S306中,第1号从板将输出引脚B置低,并发送自己的ID编号;
在S307中,第2号从板依次类推…;
在S308中,第N号从板编号完成后将输出引脚B置低,并发送自己的ID编号;
在S309中,主板检测到自己的输入引脚A为低,发送命令以令所有从板进入正常工作模式。
进一步地,在本发明的一个实施例中,如图4所示,在主板向从板0至从板N广播编号模式启动指令之前,还包括:
在步骤S5中,主板向从板0至从板N广播检测模式启动指令,以使从板0至从板N进入检测模式。
也就是说,从板不但具有自学习功能,同时还可以具有自检测功能,ID检测和ID学习流程基本不需要主板参与,有效降低了开发调试时间和成本。
在步骤S6中,主板向从板M发送检测指令。
例如,主板给从板上电后,从板0至从板N进入检测模式,将主板的输入引脚B置低,并将输出引脚A置高。
在步骤S7中,从板M将从板M的编号发送至CAN总线。
可以理解的是,如图1所示,在所有从板进入检测模式之后,从板0检测到从板0的输入引脚A为低,由于从板0为首个从板,因此只需将从板0的输入引脚B置低,其次通过CAN总线发送从板0的ID编。
在步骤S8中,从板M向从板(M+1)发送所述检测指令。
在步骤S9中,从板(M+1)根据从CAN总线上获取的从板M的编号判断从板(M+1)的编号是否正确,如果从板(M+1)的编号比从板M的编号大预设值,则判定检测正确,将从板(M+1)的编号发送至CAN总线,并置M=M+1后返回S8,直至M=N-1。预设值优选为1。
举例而言,从板1可以根据预设规则如比上一从板的编号大1检测编号是否正确,如检测到从板1的ID编号比接收到的从板0的ID编号大1,则判定检测结果为正确,进而将从板1的输出引脚B置低,并发送从板1的ID编号至CAN总线,以便于下一个从板继续检测,直至多个从板检测完成。
当主板检测到主板的输入引脚A为低时,表示每个从板检测完成,则可以发送退出命令以令所有从板退出检测模式,进而可以进入正常工作模式,而且若中间出现任何问题,则从板进入编号模式。
应理解,步骤S5和步骤S9的设置仅为了描述的方便,而不用于限制方法的执行顺序。首先,多个从板进入检测模式,如果发现从板的编号不正确,进而多个从板进入编号模式。
结合图1与图5所示,下面以一个具体实施例进行详细描述。
如图5所示,本发明实施例的方法具体包括以下步骤:
在S501中,主板给从板上电,将主板输出引脚B置低;
在S502中,所有从板进入检测模式,并将引脚B置高;
在S503中,第0号从板检测到自己的输入引脚A为低;
在S504中,第0号从板将引脚B置低,然后通过CAN发送自己的ID编号;
在S505中,第1号从板检测到输入引脚A为低,并且接收到第0号从板的ID编号;
在S506中,第1号从板检测比较自己的ID编号比收到ID编号大1;
在S507中,第1号从板将输出引脚B置低,并发送自己的ID编号;
在S508中,第2号从板依次类推…;
在S509中,第N号从板检测正确后将输出引脚B置低,并发送自己的ID编号;
在S510中,主板检测到自己的输入引脚A为低,发送命令以令所有从板进入正常工作模式。
进一步地,在本发明的一个实施例中,检测指令为电平信号,并且在检测完成之后,本发明实施例的方法还包括:从板N向主板发送检测模式结束指令,以使主板控制从板0至从板N退出所述检测模式。其中,若中间出现任何问题,则从板进入编号模式。
进一步地,在本发明的一个实施例中,本发明实施例的从板编号方法还包括:主板根据检测模式启动指令的广播时间与检测模式结束指令的接收时间得到检测时间;主板判断所述检测时间是否超过预设时间值;如果检测时间超过预设时间值,则主板提示从板状态错误。
举例而言,如图6所示,本发明实施例的方法还包括:
在S601中,主板给从板上电,将主板输出引脚B置低;
在S602中,检测输入引脚A是否为低,如果是,则进入步骤S603;如果否,则进入步骤S604;
在S603中,主板发送CAN命令以令从板进入正常工作模式;
在S604中,执行步骤S602,继续检测引脚A,如果检测时间超时,则进入步骤S605;
在S605中,从板状态错误,进行相应处理。
为了便于本领域的技术人员理解,下面分别举例对ID检测和ID学习进行详细赘述。
图7为根据本发明一个实施例的从板ID检测的流程图。如图7所示,其包括以下步骤:
在S701中,上电后,从板进入检测模式,并将引脚B置高;
在S702中,从板检测输入引脚A是否为低,如果否,则继续检测;如果是,则进入步骤S703;
在S703中,从板等待一段时间是否收到其他从板报告ID编号的CAN消息,如果是,则进入步骤S704;如果否,则进入步骤S706;
在S704中,比较自己的ID是否比收到的ID大1,如果是,则进入步骤S707;如果否,则进入步骤S605;
在S705中,发送CAN命令以令所有从板进入编号模式;
在S706中,判断自己的ID编号是否为0,如果是,则进入步骤S707;如果否,则进入步骤S705;
在S707中,将输入引脚B置低,并通过CAN消息发送自己的ID编号,并进入步骤S708;
在S708中,等待模式设置命令。
图8为根据本发明一个实施例的从板ID学习的流程图。如图8所示,其包括以下步骤:
在S801中,从板收到ID学习命令;
在S802中,从板检测输入引脚A是否为低,如果否,则继续检测;如果是,则进入步骤S803;
在S803中,从板等待一段时间是否收到其他从板报告ID的CAN消息,如果是,则进入步骤S804;如果否,则进入步骤S805;
在S804中,将收到的ID编号加1,设为自己的ID编号;
在S805中,将自己的ID编号设置为0;
在S806中,将输入引脚B置低,并通过CAN消息发送自己的ID编号;
在S807中,等待模式设置命令。
在本发明的实施例中,本发明实施例可以使从板ID自己检测和学习,并且从板ID自己检测和学习结合的方式方法相配合的硬件实现电路,更好地保证车用控制器的可靠性。
根据本发明实施例的车用控制器的从板编号方法,多个从板首尾依次相连,在收到主板发送的编号指令之后,多个从板自行完成编号,不需要主板参与,降低了开发的成本和复杂性,增加了主板和从板的互换性,增强了主板和从板的互换性,简单便捷,更好地保证车用控制器的可靠性。
其次参照附图描述根据本发明实施例提出的车用控制器。
图9是本发明实施例的车用控制器的结构示意图。
如图9所示,该车用控制器10包括:主板100和通过CAN总线与主板100通信的从板0至从板N,从板0至从板N通过硬线首尾依次相连,其中,主板100向从板M发送编号指令,从板M根据从CAN总线上获取的初始编号生成从板M的编号,并将从板M的编号发送至CAN总线,并且从板M向从板(M+1)发送编号指令,以及从板(M+1)根据从CAN总线上获取的从板M的编号生成从板(M+1)的编号,并将从板(M+1)的编号发送至CAN总线,并置M=M+1后重复进行编号,直至M=N-1。本发明实施例的车用控制器10在从板编号时,不需要主板100参与,降低了开发的成本和复杂性,增强了主板和从板的互换性,简单易实现。
进一步地,在本发明的一个实施例中,编号指令可以为电平信号,并且在主板100向从板M发送编号指令之前,主板100向从板0至从板N广播编号模式启动指令,以使从板0至从板N进入编号模式。
进一步地,在本发明的一个实施例中,在主板100向从板0至从板N广播编号模式启动指令之前,主板100向从板0至从板N广播检测模式启动指令,以使从板0至从板N进入检测模式,主板100向从板M发送检测指令,从板M将从板M的编号发送至CAN总线,并且从板M向从板(M+1)发送检测指令,以及从板(M+1)根据从CAN总线上获取的从板M的编号判断从板(M+1)的编号是否正确,当从板(M+1)的编号比从板M的编号大预设值时,判定检测正确,将从板(M+1)的编号发送至CAN总线,并置M=M+1后重复进行检测,直至M=N-1。
进一步地,在本发明的一个实施例中,检测指令可以为电平信号,并且在检测完成之后,从板N向主板100发送检测模式结束指令,以使主板100控制从板0至从板N退出检测模式。
进一步地,在本发明的一个实施例中,主板100根据检测模式启动指令的广播时间与检测模式结束指令的接收时间得到检测时间,主板100判断检测时间是否超过预设时间值,其中,如果检测时间超过预设时间值,则主板100提示从板状态错误。其中,预设时间值可以根据实际情况进行设置。
需要说明的是,前述对车用控制器的从板编号方法实施例的解释说明也适用于该实施例的车用控制器,此处不再赘述。
根据本发明实施例的车用控制器,多个从板首尾依次相连,在收到主板发送的编号指令之后,多个从板自行完成编号,不需要主板参与,降低了开发的成本和复杂性,增加了主板和从板的互换性,增强了主板和从板的互换性,简单易实现,更好地保证车用控制器的可靠性。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。