一 BQ芯片初步认识

包括BQ40Z50在内,BQ系列电池管理芯片看起来是一个芯片,其实芯片里面封装了两个die。一个是MCU部分负责计算和控制,其采用的是bqBMP内核的16位处理器;另外一个die是模拟前端AFE,负责模拟信号处理部分,主要功能是处理电压电流温度信号,包括放大,MUX,MOS驱动和一些硬件保护逻辑。两个芯片的绑定类似下图结构:

二 BQ芯片内部结构

MCU和AFE间主要接口有:电流采样库仑计CC,电压温度采样ADC,GPIO和专用串口通信。类似我们用分立器件MSP430+BQ76925的架构。

主要结构见下图所示:

MCU和AFE封装在一起是不得已而为之,也具有明显的优势:

• MCU主要负责计算和控制逻辑,是低压部分,而AFE主要负责高压部分处理,两个芯片工艺不同,在一个die上实现比较困难;

• 封装在一起,对外呈现的是一个芯片,使用方便,真正做到低耦合高内聚;

• 封装后固件也是由TI提供,稳定性比较好保证;

• 封装也利于电量计算法的实现,提高芯片价值。举例,BQ40Z50比BQ4050就贵不少。

对于BQ40Z50芯片,芯片架构细节如图所示:

TI专用内核bqBMP处理器是哈弗结构,数据总线和程序总线独立,其基本特征有:

  • CPU是16位的
  • 运行速度4.2MHz
  • 三级流水线
  • 指令长度灵活,可以支持8位、16位、24位指令

三 BQ40Z50内部存储器结构

内部存储器包括Flash,Boot ROM Flash, RAM,Data Flash和EEPROM。其中Flash一共有64K大小,RAM 2.5K, Data Flash 8K, EEPROM 0.5K.

Boot ROM是芯片的Bootloader,承担启动加载和固件升级作用,芯片固化好,不可修改和升级。

我们通过BQ Studio读出来的SREC文件,包括Data Flash, Program Flash和EEPROM的数据,也是除了Bootloader外的所有数据。

注意:

  • TI的电池管理芯片内的CPU core有两代,BQ30Z55 BQ3055 BQ34Z100 BQ27541 BQ27542 BQ78350是比较老的一代,已经逐步淘汰;
  • BQ40Z50同平台的有BQ40Z80,BQ78Z100,BQ27Z561等,推荐使用这一个系列。

四 固件升级方案

通过以上对CPU架构和存储结构的了解,我们对实现电量计芯片升级有个思路了。它跟普通MCU升级有相似的地方,只是要对芯片充分了解,可以做到不用bqStudio也能升级固件。

实际工作中,我们可能遇到以下问题:

1 已经校准的电池需要返工,通过bqStudio升级固件会擦除掉校准值和电量计学习的数据

解决方法:我们就可以不用bqStudio,专门编个PC软件,控制EV2400/EV2300,跳过升级data flash部分,只升级Program flash;

2 发现固件Bug,但由于固件已经发布,或者电池是串口的等原因,不能用电脑软件升级。

解决方法:主控来实现升级策略,可以升级电池的固件和配置参数,这个方法我们在无人机上已经实现。

3 已经发给客户的电池需要升级,并且数量很大,用PC软件效率太低。

解决方法:针对这种情况,也可以专门做个小板,内部存储电量计固件,连上电池就自动升级

这个可以50个100个同时工作,也很快能完成电池升级的问题。

事实上,我们也的确遇见这个问题,就做了个带SD卡的小板,将固件放到SD卡里面,一连接电池就会执行自动升级。

以上都是作者多年与BQ电量计打交道,通过研究或与原厂共同开发得到的经验,希望能对做电池的你有所帮助。

博客内都是原创文章,转载请注明出处。

BQ40Z50固件怎么升级?告诉你BQ系列芯片内部结构和升级方法的更多相关文章

  1. LSI系列芯片Raid卡配置方法、管理手册

    说明 本手册适用于LSI芯片Raid卡 包括但不限于Inspur 2008/2108 Raid卡.LSI 9240/9260/9261/ 9271 等Raid卡. 不同型号的Raid卡在某些功能上的支 ...

  2. 全面!总结BQ系列阻抗跟踪电量计化学Chemical ID配置和Golden学习方法

    BQ系列阻抗跟踪电量计SOC最高能达到1%,功能强大,应用起来也比较复杂.不仅要配置好参数,匹配好化学ID,并且进行好Golden学习和相关测试.本文就讲述ID匹配,Golden学习和测试的终极方法流 ...

  3. sharepoint2007就地升级2010系列(五)升级到sharepoint2010

    ---恢复内容结束--- 大家下午好 今天我们来完成最后一步,sharepoint2007升级2010.其实我反倒没有那么紧张了,因为我最担心的数据库升级,已经过了. OK,话不多说,让我们直接开始吧 ...

  4. sharepoint2007就地升级2010系列(三)升级系统

    OK,上两篇我们完成sharepoint2007的预览,以及升级前的补丁准备.今天我们来正式进行升级windows server系统以及SQL数据库 升级之前首先确定 search服务停止而且被禁用, ...

  5. openresty开发系列3--nginx的平滑升级

    openresty开发系列3--nginx的平滑升级 nginx服务器从低版本升级为高版本,如果强行停止服务,会影响正在运行的进程. 平滑升级不会停掉正在运行中的进程,这些进程会继续处理请求.但不会接 ...

  6. [转帖]你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下)

    你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下) https://www.ijiwei.com/html/news/newsdetail?source=pc&news_id=7177 ...

  7. 爱特梅尔ATMEL全系列芯片解密单片机破解

    爱特梅尔ATMEL全系列芯片解密单片机破解 ATMEL芯片介绍: ATMEL公司为全球性的业界领先企业,致力于设计和制造各类微控制器.电容式触摸解决方案.先进逻辑.混合信号.非易失性存储器和射频 (R ...

  8. 在keil 4中添加stc系列芯片的方法--【sky原创】

    在keil 4中添加stc系列芯片的方法: 1.从官网下载uv3.cdb的文件网址是:http://www.stcmcu.com/ 2.下载好后把uv3.cdb文件改成STC.cdb:3. 然后将[S ...

  9. xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)

    xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题) 前两天为了适配 iOS10 的系统 我将xcode 7.3 升级到了 xcode 8.0 但是 ...

随机推荐

  1. C++打字小游戏

    从@小蔡编程 那里获得的灵感,原文地址:https://www.cnblogs.com/xiaocaibiancheng/p/15158997.html 那篇文章是说python写打字游戏的,本文就用 ...

  2. 织梦 arclist调用副栏目内容解决办法

    1 打开include/taglib/arclist.lib.php,找到296行: if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonI ...

  3. Nginx系列(5)- nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)

    启动Windows版本的Nginx时候,cmd报错,报错信息为[emerg] 4276#4280: bind() to 0.0.0.0:80 failed(10013: An attempt was ...

  4. Docker系列(26)- 发布镜像到阿里云容器服务

    1.登录阿里云 2.找到容器镜像服务 3.创建命名空间 4.创建镜像仓库 5.上传镜像

  5. nginx 配置文件(支持thnkphp3.2~5)

    server { listen 8080 ; server_name localhost; set $root /var/www/myweb; #listen 443 ssl; #ssl_certif ...

  6. P6091-[模板]原根

    正题 题目链接:https://www.luogu.com.cn/problem/P6091 题目大意 给出一个数\(p\),求出它的所有在\([0,p]\)的原根. 解题思路 原根的定义,\(\de ...

  7. Android系统编程入门系列之应用级文件在应用程序间的共享

    在上篇文章了解到应用级文件只能被其所创建的应用程序所访问,那么其他应用程序是不是就无论如何都无法访问了呢?肯定不是的,只要文件经过其创建的应用程序授权,还是可以被其他应用程序所访问的.这也就是应用级文 ...

  8. Windows下node-gyp查找VS安装路径简单解析

    node-gyp的作用我已经不想赘述了,这里给一个我之前文章的链接:cnblogs看这里,知乎看这里.本文主要从源码入手,介绍node-gyp查找VisualStudio的过程 为了方便我们研究nod ...

  9. Miller-Rabin学习笔记

    首先给出两个定理: 1.费马小定理 设p是一个素数,a是一个整数,且不是p的倍数,那么 \(a^{p−1} \equiv\ 1 \pmod p\) 2.二次探测定理 若\(p\)是素数,\(x\)是一 ...

  10. HAOI2012高速公路bzoj2752 (线段树,数学)

    题目大意: 给定一个长度为n的链,一共m次操作 对于每次操作 \(C\ l\ r\ x\)表示将第l个点到第r个点之间的所有道路的权值增加v \(Q\ l\ r\)在第l个到第r个点里等概率随机取出两 ...