CN108401038A - 一种控制器can总线地址分配处理方法 - Google Patents

一种控制器can总线地址分配处理方法 Download PDF

Info

Publication number
CN108401038A
CN108401038A CN201810091675.XA CN201810091675A CN108401038A CN 108401038 A CN108401038 A CN 108401038A CN 201810091675 A CN201810091675 A CN 201810091675A CN 108401038 A CN108401038 A CN 108401038A
Authority
CN
China
Prior art keywords
controller
message
control message
configurable
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810091675.XA
Other languages
English (en)
Inventor
赵辛蒙
张君鸿
罗盛
王帅宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Idrive Automobile Co Ltd
Original Assignee
Beijing Idrive Automobile Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Idrive Automobile Co Ltd filed Critical Beijing Idrive Automobile Co Ltd
Priority to CN201810091675.XA priority Critical patent/CN108401038A/zh
Publication of CN108401038A publication Critical patent/CN108401038A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40078Bus configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/627Controller area network [CAN] identifiers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供了一种控制器CAN总线地址分配处理方法,应用于分布式的电池管理系统,所述控制器包括主控制器和多个功能一致的从控制器,其特征在于,包括:A、所述主控制器向所述各个从控制器发送控制报文;B、所述各个从控制器分别将所述控制报文的CAN ID与存储器中的预存的各个从控制器对应的CAN ID进行比对;且各个从控制器分别根据对比结果确定对控制报文的接收。由上,本申请有利于减少CAN ID配置,提高了处理效率。

Description

一种控制器CAN总线地址分配处理方法
技术领域
本发明涉及网络通信技术领域,特别是涉及一种控制器CAN总线地址分配处理方法。
背景技术
随着车辆电气化程度的增加,车辆内部负责各项功能的控制器数量众多,其交互大多是基于CAN(Controller Area Network)总线开发。CAN总线优点是网络内的各节点(控制器)之间能实现自由通信;结构简单,各节点只需要2根线与外部连接;此外因其信号交互实时性好,传输距离远,抗干扰能力强等优点,在其他领域也多有应用。CAN总线规范要求,其中每个节点所使用的网络地址(CAN ID)不能重复,否则CAN将不能正常收发信号。一般情况下,CAN总线中的各节点(各控制器)功能不同,控制器硬件规格不同,软件升级用的引导程序(Bootloader)也不同。进行系统设计时,需要先制定整个CAN网络的总线协议,给每个控制器分配好唯一的网络地址(CAN ID)。控制器独立开发完成后接入到CAN总线中使用,之后只要CAN ID以及其他CAN网络参数设置正确,就可以独立的进行软件升级等工作。
但是在某些应用场景,给控制器固定分配CAN ID地址会对控制器的软件刷写,升级维护增加很多不必要的工作量。例如在分布式的电池管理系统中,会有一个主控制器和若干从控制器(编号为1~3号从控制器)。主控制器负责与整车或外部设备交互,采集总电压,采集总电流等;从控制器负责采集制定的单体电芯的电压和温度等。每个从控制器的功能是一致的,只是对应的单体电芯不同而已。如采用固定CAN ID分配方式,就需要单独为每个编号的从控制器开发Bootloader,开发对应的应用层程序,每次软件发布更新,也都需要同时发布多个子版本。同时更新到从控制器的过程中,也需要根据当前从控制器编号,选择对应程序。在做大批量控制器软件升级时,非常容易出现错误,也严重影响了工作效率。
因此,目前亟需一种控制器CAN总线地址(CAN ID)分配处理方法,有利于减少CANID配置,提高处理效率。
发明内容
有鉴于此,本申请提供一种控制器CAN总线地址(CAN ID)分配处理方法,有利于减少CAN ID序号配置,提高处理效率。
本申请提供一种控制器CAN总线地址分配处理方法,应用于分布式的电池管理系统,所述控制器包括主控制器和多个功能一致的从控制器,其特征在于,包括:
A、所述主控制器向所述各个从控制器发送控制报文;
B、所述各个从控制器分别将所述控制报文的CAN ID与存储器中的预存的各个从控制器对应的CAN ID进行比对;
且各个从控制器分别根据对比结果确定对控制报文的接收。
由上,本申请通过将各个从控制器对应的CAN ID预存至存储器中,各个控制器接收报文时可以将该报文的CAN ID与所述预存的CAN ID进行比对,并根据比对结果确定对控制报文的接收。本申请对于各个功能一致的从控制器只需做一次CAN ID序号配置。更新程序时,也不需要再进行版本的筛选,大大简化了开发过程,提高了处理效率。
优选地,所述步骤A之前还包括:
将所述各个从控制器的可接收的CAN ID的前六位根据CAN总线规范任意设置,并将其最后两位设定为可配置的CAN ID位;
分别为所述各个从控制器的可配置CAN ID位为进行配置;
将配置后的各个从控制器的可配置CAN ID位信息存储到EEPROM存储器中。
优选地,所述步骤B包括:
所述各个从控制器的分别将所述控制报文的CAN ID的后两位提取后与存储器中的预存的各个从控制器的可配置CAN ID位信息进行比对;
且比对结果一致的控制器对所述控制报文进行接收。
优选地,所述步骤A之前还包括:
对于应用层软件可接收的CAN ID的前六位设置为与所述各个从控制器可接受的报文的前六位一致;并将其最后两位设置为默认的固定CAN ID位;
且所述固定CAN ID位与所述各个控制器的可配置CAN ID位的信息不同。
优选地,所述步骤B之后还包括:
C、接收到所述控制报文的从控制器的底层软件将所述控制报文的CAN ID的后两位替换为所述默认的固定CAN ID位;
并将带有替换后的CAN ID的控制报文传递至从控制器的应用层软件;该应用层软件对其识别后完成对所述控制报文的接收。
优选地,所述步骤C之后还包括:
D、接收到的所述控制报文的从控制器的应用层软件根据所述控制报文中的指令,将相关数据通过CAN ID位为默认的固定CAN ID位的报文发送至其底层软件;
E、该底层软件将所述默认的固定CAN ID位替换为该从控制器对应的可配置CANID位;并将带有替换后的CAN ID的报文通过CAN芯片发送给主控制器。
综上所述,本申请提出了一种控制器CAN总线地址分配处理方法,功能一致的多个控制器只需做一次CAN ID序号配置,之后就可以使用统一的Bootloader(引导启动程序)和应用层程序。更新程序时,也不需要再进行版本的筛选,大大简化了开发过程,提高了效率。
附图说明
图1为本申请实施例提供的一种控制器CAN总线地址分配处理方法的流程示意图;
图2为本申请实施例提供典型的通用型控制器系统原理示意图;
图3为本申请实施例提供的控制器CAN总线地址分配处理流程示意图。
具体实施方式
下面将结合本申请实施例中的附图对本申请进行说明。
实施例一
本申请提供一种控制器CAN总线地址分配处理方法,可以有效提高软件开发效率,减少工作量,特别是CAN总线中有多个功能类似的节点(从控制器)时,效果尤为明显。
首先对本申请涉及的控制器系统的结构做一个简单的介绍。如图1所示,硬件部分包括主运算芯片MCU(微处理器),用于进行电源管理的电源管理芯片,用于进行时间显示以及记录各个时间点及其对应的数据的时钟芯片,用于进行数据存储的EEPROM存储器,2路CAN总线CAN1和CAN2,用于采集模拟信号的模拟信号采集电路AI,用于采集数字信号的数字信号采集电路DI,高边驱动电路HSD,低边驱动电路LSD等。软件程序在主运算芯片MCU中执行,又包括底层软件和应用层软件。底层软件中包括驱动程序,Bootloader(引导加载程序)等,应用层软件用于实现控制器需要实现的功能算法。
其中,对于CAN总线CAN1和CAN2;其中,CAN1用来和其他控制器进行信号交互,CAN2用于给控制器自身更新程序、以及为CAN1配置CAN ID(CAN总线地址)。其中,CAN1和CAN2的CAN ID要求使用扩展帧格式,当采用十六进制表示,其形式为0xAABBCCDD,其中0X是标准规范中对16进制数的表示,加此前缀表示其后所描述的数是以16进制表示的。其中CAN1的前6位可根据CAN总线规范任意设置,最后2位0xDD为本方法所述的可配置CAN ID位。CAN2自身的CAN ID为固定ID,不需要配置。
如图1所示,下面将本申请提供一种控制器CAN总线地址分配处理方法具体说明如下。本申请提供的CAN总线地址分配处理方法应用于分布式的电池管理系统,所述控制器包括主控制器和多个功能一致的从控制器,包括如下步骤:
S101,将所述各个从控制器的可接收的CAN ID的前六位根据CAN总线规范任意设置,并将其最后两位设定为可配置的CAN ID位;分别为所述各个从控制器的可配置CAN ID位为进行配置。
对于应用层软件可接收的CAN ID的前六位设置为与所述各个从控制器可接受的报文的前六位一致;并将其最后两位设置为默认的固定CAN ID位;且所述固定CAN ID位与所述各个控制器的可配置CAN ID位的信息不同。
S102,将配置后的各个从控制器的可配置CAN ID位信息存储到EEPROM存储器中。
S103,上述配置完成之后,当主控制器向所述各个从控制器发送控制报文时,各个从控制器分别将所述控制报文的CAN ID的后两位与存储器中的预存的各个从控制器对应的可配置CAN ID进行比对;
当判断比对结果一致时,执行S104,接收报文。
当判断结果不一致时,执行S105,拒收报文。
S106,接收到所述控制报文的从控制器的底层软件将所述控制报文的CAN ID的后两位替换为所述默认的固定CAN ID位;并将带有替换后的CAN ID的控制报文传递至从控制器的应用层软件。
S107,应用层软件对控制报文的CAN ID识别后完成对所述控制报文的接收。并根据所述控制报文中的指令,将相关数据通过CAN ID位为默认的固定CAN ID位的报文发送至其底层软件。
S108,底层软件将所述默认的固定CAN ID位替换为该从控制器对应的可配置CANID位;并将带有替换后的CAN ID的报文通过CAN芯片发送给主控制器。
为了更清楚的说明本申请的技术方案,现举例说明一下:
本发明一种控制器CAN总线地址分配处理方法,可应用在分布式的电池管理系统中。该电池管理系统包括1个主控制器,3个从控制器。从控制器功能完全相同,编号分别为1号,2号,3号。从控制器负责采集电芯单体电压,当收到主控制器的上报请求时,上传一次所采集的单体电压。
规定以下列CAN总线协议进行数据传输:主控制器命令3个从控制器上传数据的控制报文CAN ID分别是,1号从控制器0x18FE01F1,2号从控制器0x18FE01F2,3号从控制器0x18FE01F3;从控制器上传的单体电压信号报文CAN ID分别是,1号从控制器0x08FF11F1,0x08FF12F1;2号从控制器0x08FF11F2,0x08FF12F2;3号从控制器0x08FF11F3,0x08FF12F3;
从控制器应用层软件中,只接收CAN ID为0x18FE01F0的主控制器控制指令,单体电压值以CAN ID为0x08FF11F0,0x08FF12F0传递到底层软件中。CAN ID的最后两位0xF0是其默认CAN ID位,1号~3号从控制器的可配置CAN ID位存储在EEPROM存储器中,分别是0xF1,0xF2,0xF3;
1号从控制器接收主控制器的控制指令过程如下,主控制器发出CAN ID为0x18FE01F1的控制报文,1号从控制器收到该报文后,提取最后两位0xF1,经比较与其EEPROM存储器中的可配置CAN ID位0xF1一致,判断应接收此报文。之后在底层软件中,用默认CAN ID位0xF0替换掉报文中的可配置CAN ID位0xF1。替换后的CAN ID为0x18FE01F0,传递到应用层软件,应用层软件识别后完成接收。
关于2号,3号从控制器接受主控制器的控制指令的过程与上述1号从控制器的过程类似。2号,3号从控制器分别提取主控制器发出CAN ID为0x18FE01F1的控制报文的CANID最后两位,判定与其各自的可配置CAN ID位0xF2,0xF3不符合,判定为无效报文,中止报文接收。
1号从控制器上传单体电压(通过模拟信号采集电路AI及数字信号采集电路DI采集的电压信息)过程如下,1号从控制器在应用层先使用默认CAN ID位发送数据,CAN ID为0x08FF11F0,0x08FF12F0;底层软件中将默认CAN ID位0xF0替换为1号从控制器对应的可配置CAN ID位0xF1;之后通过CAN芯片(用于将通讯信号进行转换使其能够在CAN总线上传输的结构)发送给主控制器,完成数据的发送过程。
2号,3号从控制器上传单体电压的过程与上述1号从控制器相似,在此不再赘述。
综上所述,本申请提出了一种控制器CAN总线地址分配处理方法,功能一致的多个控制器只需做一次CAN ID序号配置,之后就可以使用统一的Bootloader(引导启动程序)和应用层程序。更新程序时,也不需要再进行版本的筛选,大大简化了开发过程,提高了工作效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种控制器CAN总线地址分配处理方法,应用于分布式的电池管理系统,所述控制器包括主控制器和多个功能一致的从控制器,其特征在于,包括:
A、所述主控制器向所述各个从控制器发送控制报文;
B、所述各个从控制器分别将所述控制报文的CAN总线地址CAN ID与存储器中的预存的各个从控制器对应的CAN ID进行比对;
且各个从控制器分别根据对比结果确定对控制报文的接收。
2.根据权利要求1所述的方法,其特征在于,所述步骤A之前还包括:
将所述各个从控制器的可接收的CAN ID的前六位根据CAN总线规范任意设置,并将其最后两位设定为可配置的CAN ID位;
分别为所述各个从控制器的可配置CAN ID位为进行配置;
将配置后的各个从控制器的可配置CAN ID位信息存储到EEPROM存储器中。
3.根据权利要求2所述的方法,其特征在于,所述步骤B包括:
所述各个从控制器的分别将所述控制报文的CAN ID的后两位提取后与存储器中的预存的各个从控制器的可配置CAN ID位信息进行比对;
且比对结果一致的控制器对所述控制报文进行接收。
4.根据权利要求2或3所述的方法,其特征在于,所述步骤A之前还包括:
对于应用层软件可接收的CAN ID的前六位设置为与所述各个从控制器可接受的报文的前六位一致;并将其最后两位设置为默认的固定CAN ID位;
且所述固定CAN ID位与所述各个控制器的可配置CAN ID位的信息不同。
5.根据权利要求4所述的方法,其特征在于,所述步骤B之后还包括:
C、接收到所述控制报文的从控制器的底层软件将所述控制报文的CAN ID的后两位替换为所述默认的固定CAN ID位;
并将带有替换后的CAN ID的控制报文传递至从控制器的应用层软件;该应用层软件对其识别后完成对所述控制报文的接收。
6.根据权利要求5所述的方法,其特征在于,所述步骤C之后还包括:
D、接收到的所述控制报文的从控制器的应用层软件根据所述控制报文中的指令,将相关数据通过CAN ID位为默认的固定CAN ID位的报文发送至其底层软件;
E、该底层软件将所述默认的固定CAN ID位替换为该从控制器对应的可配置CAN ID位;并将带有替换后的CAN ID的报文通过CAN芯片发送给主控制器。
CN201810091675.XA 2018-01-30 2018-01-30 一种控制器can总线地址分配处理方法 Pending CN108401038A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810091675.XA CN108401038A (zh) 2018-01-30 2018-01-30 一种控制器can总线地址分配处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810091675.XA CN108401038A (zh) 2018-01-30 2018-01-30 一种控制器can总线地址分配处理方法

Publications (1)

Publication Number Publication Date
CN108401038A true CN108401038A (zh) 2018-08-14

Family

ID=63095296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810091675.XA Pending CN108401038A (zh) 2018-01-30 2018-01-30 一种控制器can总线地址分配处理方法

Country Status (1)

Country Link
CN (1) CN108401038A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109100978A (zh) * 2018-09-20 2018-12-28 中航锂电技术研究院有限公司 一种电池管理系统地址设置及校验方法
CN111443683A (zh) * 2018-12-29 2020-07-24 北京奇虎科技有限公司 基于车辆can总线结构的电子控制单元测试方法及装置
CN115764941A (zh) * 2022-11-15 2023-03-07 大庆恒驰电气有限公司 智能逆变器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055442A1 (en) * 2009-08-27 2011-03-03 Ward Michael G Linear or rotational motor driver identification
CN102769971A (zh) * 2012-07-02 2012-11-07 上海广茂达光艺科技股份有限公司 用于led智能灯的现场总线控制系统
CN104802539A (zh) * 2014-01-29 2015-07-29 珠海艾派克微电子有限公司 成像设备的供给组件及其芯片、从机地址更新方法
US20150227204A1 (en) * 2014-02-13 2015-08-13 Mide Technology Corporation Bussed haptic actuator system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055442A1 (en) * 2009-08-27 2011-03-03 Ward Michael G Linear or rotational motor driver identification
CN102769971A (zh) * 2012-07-02 2012-11-07 上海广茂达光艺科技股份有限公司 用于led智能灯的现场总线控制系统
CN104802539A (zh) * 2014-01-29 2015-07-29 珠海艾派克微电子有限公司 成像设备的供给组件及其芯片、从机地址更新方法
US20150227204A1 (en) * 2014-02-13 2015-08-13 Mide Technology Corporation Bussed haptic actuator system and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109100978A (zh) * 2018-09-20 2018-12-28 中航锂电技术研究院有限公司 一种电池管理系统地址设置及校验方法
CN111443683A (zh) * 2018-12-29 2020-07-24 北京奇虎科技有限公司 基于车辆can总线结构的电子控制单元测试方法及装置
CN115764941A (zh) * 2022-11-15 2023-03-07 大庆恒驰电气有限公司 智能逆变器
CN115764941B (zh) * 2022-11-15 2023-10-24 大庆恒驰电气有限公司 智能逆变器

Similar Documents

Publication Publication Date Title
CN108401038A (zh) 一种控制器can总线地址分配处理方法
CN106547709B (zh) 灵活配置多通道dma控制器的方法及装置
CN109828935A (zh) 一种基于can fd总线的并行刷写方法
CN102736565B (zh) 一种基于上、下位机结构的自动化控制设备的通信方法
CN105159109B (zh) 一种plc控制器远程升级系统
CN109240966A (zh) 一种基于cpld的加速卡、数据采集方法及装置
CN106789210A (zh) 一种基于can总线的多dsp智能节点软件在线升级方法
CN109104305A (zh) 一种节点增加方法及相关装置
CN107766271A (zh) 电动汽车上的bms地址自分配系统
CN108268383A (zh) 自动寻址与数据分配方法、装置、主控设备、从控设备及计算机可读存储介质
CN113037889A (zh) 一种储能电池管理系统从机地址分配方法
CN103164232B (zh) 更新智能终端操作系统的方法、系统以及计算机
CN205353751U (zh) 列车网络系统
CN105051712A (zh) 两线串行接口及协议
CN107015542B (zh) 一种总线舵机及其控制装置、控制系统和控制方法
CN112261603B (zh) 一种基于电力物联网的边缘物联代理装置
CN111988417B (zh) 物联网终端的通信控制方法
CN115378981B (zh) 一种适配物联网不同传感器的终端及方法
CN114285692B (zh) 通信控制系统、身份确定方法、分配方法及设备
CN207516996U (zh) 一种基于can的单片机多节点下载器
CN100533425C (zh) 一种can总线转换模块
CN104317613A (zh) 广播电视发射台远程监控系统的采集控制器软件升级方法
CN107948747A (zh) 电源管理方法及单元、电视机
CN111123883B (zh) 双驱动无人车仿真方法、装置、设备及计算机可读介质
CN108073412B (zh) 一种基于wifi的fpga无线升级和智能加载的装置及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180814