CN104317688B - 一种电池状态检测方法 - Google Patents

一种电池状态检测方法 Download PDF

Info

Publication number
CN104317688B
CN104317688B CN201410554421.9A CN201410554421A CN104317688B CN 104317688 B CN104317688 B CN 104317688B CN 201410554421 A CN201410554421 A CN 201410554421A CN 104317688 B CN104317688 B CN 104317688B
Authority
CN
China
Prior art keywords
smbus
state
control
registers
battery status
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.)
Active
Application number
CN201410554421.9A
Other languages
English (en)
Other versions
CN104317688A (zh
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.)
CETC 41 Institute
Original Assignee
CETC 41 Institute
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 CETC 41 Institute filed Critical CETC 41 Institute
Priority to CN201410554421.9A priority Critical patent/CN104317688B/zh
Publication of CN104317688A publication Critical patent/CN104317688A/zh
Application granted granted Critical
Publication of CN104317688B publication Critical patent/CN104317688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Power Sources (AREA)

Abstract

本发明提出了一种电池状态检测方法,基于一系统,该系统包括主机、SMBUS控制核和电池状态芯片,SMBUS控制核负责主机和电池状态芯片的交互,所述主机只跟电池状态芯片进行一次交互,交互状态由SMBUS控制核进行控制,读操作和写操作在SMBUS控制核中实现,在SMBUS控制核状态机中执行每一操作步骤的握手;SMBUS控制核包括7个寄存器,分别是PRERLo时钟低位寄存器、PRERHi时钟高位寄存器、CTR控制寄存器、TXR传输寄存器、RXR接收寄存器、CR命令寄存器、SR状态寄存器。本发明的电池状态检测方法,为了消除主机时间片空转,尽可能的提高传输速度。

Description

一种电池状态检测方法
技术领域
本发明涉及电子测量技术领域,特别涉及一种电池状态检测方法。
背景技术
在电子测量领域,手持式的测量和台式测量仪器带有电池,对于电池状态采用SMBUS总线读取电池状态。一般情况下,当读取一个电池参数时,CPU要与电池进行多次交互,造成CPU时间片空转,传输效率低,同时采用传统状态机,状态冗余。
SMBUS(Smart Manegement Bus)总线是智能电池系统中SBS(Smart BatterySystem)中主机、智能电池充电器、智能选择器、智能电池及外设之间的互联接口。SMBUS总线是智能电池系统元件之间的标准总线结构,在I2C总线的基础上发展而来,是一种与I2C总线高度兼容的总线。由SBS-IF(Smart Battery Implementer Forum)定义IC器件之间进行连接的二线制总线,其为双向、两线、串行、多主控接口标准,具有总线仲裁机制,非常适合器件间的近距离传输,由于具有接口线少,控制简单,通信速率高等优点,SMBUS总线的应用非常广泛。
SMBUS总线是由SDA和SCL构成的串行总线,可以发送和接收数据,在CPU与被控IC之间,IC与IC之间都可以进行双向传输。CPU发出的信号包括地址码和命令码两种,地址码用来选址,即找到要通讯的电池状态芯片(slave)。命令码用于告诉电池状态芯片要进行的操作类型。
SMBUS总线在传送过程中,有三种类型信号,包括开始信号、停止信号和应答信号。
开始信号,SCL为高电时,SDA由高电平向低电平跳变,开始传送数据。
结束信号,SCL为高电平时,SDA由低电平向高电平跳变,结束数据传输。
应答信号,接收数据的电池状态芯片在接收到数据后,向发送数据的SMBUS主控单元发出特定的低电平脉冲,表示接收到数据。CPU向受控IC发送一个信号后,等待受控单元发送一个应答信号,CPU收到应答信号后,进行下一步的操作。若未收到应答信号,终止当前传输,从新开始传输。
实现SMBUS总线通讯协议主要有两种方法,其一是利用软件对两根I/O口进行软件编程,实现SMBUS总线的时序,这种方法使本身不具备SMBUS接口功能的器件具有SMBUS功能,常用的器件为单片机。但是这种方法会占用CPU的资源,造成系统执行效率低,适用于传输要求不高的情况下。
另一种方法是使用专用的SMBUS控制核,例如大型的FPGA生产厂商美国美信和Intesil公司都推出了专用的SMBUS总线控制核。专用的SMBUS控制核可以简化设计,缩短开发周期,这种方式的缺点是专用芯片价格高,使用专用的Ip核接口不灵活,不利于扩展,功能修改不够灵活。
传统电池状态检测方法具有以下缺陷:
(1)传统过程中,如果通过SMBUS控制核读取电池的状态参数,CPU按照SMBUS协议产生规定的数据时许,软件需要进行如下操作过程,在通常情况下,每执行一步操作,CPU都需要与电池状态芯片进行一次交互,这样在完成一次读写过程,CPU与SMBUS控制核进行多次的交互,CPU进行一次写操作,要等待电池状态芯片返回一个应答信号,等到应答信号后,进入下一步操作,在等待过程中,会占用CPU资源,造成时间片空转,降低执行效率。
(2)传统方式中CPU为高速设备,而SMBUS为慢速设备,利用软件编程实现SMBUS控制核,当以中断方式处理时,其采用轮询的工作方式,占用CPU时间片,其效率低。
(3)传统方式中CPU为高速设备,而SMBUS为慢速设备,利用软件编程实现SMBUS控制核,其效率低。
发明内容
为解决上述传统电池状态检测方法的缺陷,本发明提出一种优化的电池状态检测方法,构建的系统中包括主机、SMBUS控制核和电池芯片,SMBUS控制核负责CPU和电池芯片的交互,完成电池状态的读和写,电池响应状态的处理由SMBUS控制核判断,减少了与主机之间的交互,提高了工作效率。
本发明的技术方案是这样实现的:
一种电池状态检测方法,基于一系统,该系统包括主机、SMBUS控制核和电池状态芯片,SMBUS控制核负责主机和电池状态芯片的交互,所述主机只跟电池状态芯片进行一次交互,交互状态由SMBUS控制核进行控制,读操作和写操作在SMBUS控制核中实现,在SMBUS控制核状态机中执行每一操作步骤的握手;
SMBUS控制核包括7个寄存器,分别是PRERLo时钟低位寄存器、PRERHi时钟高位寄存器、CTR控制寄存器、TXR传输寄存器、RXR接收寄存器、CR命令寄存器、SR状态寄存器;
系统上电后进入初始状态;
读取CR寄存器中的值,如果启动状态为真,则进入Start状态,产生启动状态时序;
读取CR寄存器读/写状态,如果读状态为真进入读状态,如果写状态为真进入写状态;
在读状态下,连续从RXR接收寄存器中读取收到的电池状态信息,每读取一个字节,SMBUS控制核产生一个ACK响应状态;
在写状态下,连续从TXR发送寄存器中向电池状态芯片发送设置参数,每发送一个字节,电池状态芯片产生一个ACK响应状态;
读或写过程完成进入Stop状态。
可选地,所述状态机的执行步骤具体包括:
状态初始或者复位的时候处于空闲状态,在空闲状态时,使能SMBUS控制核,设置SMBUS控制核工作时钟;
然后进入决定状态,根据状态机的输入决定进行读操作或者写操作。
可选地,所述读操作包括以下步骤:
步骤(1),根据需要设置SMBUS控制核的工作时钟,设置SMBUS控制核的高位设置和低位设置;
步骤(2),使能SMBUS控制核;
步骤(3),控制SMBUS控制核开始;
步骤(4),写SMBUS控制核电池状态芯片地址和写操作位;等待中断或者传输完成状态;
步骤(5),发送电池命令码,控制SMBUS控制核写电池选件操作命令;等待中断或者传输完成状态;
步骤(6),控制SMBUS控制核重新启动;
步骤(7),读SMBUS控制核电池状态芯片地址及读操作位;等待中断或者传输完成状态;
步骤(8),选择接收寄存器,控制SMBUS控制核接收低8位数据;等待中断或者传输完成状态;
步骤(9),选择接收寄存器,控制SMBUS控制核接收高8位数据;等待中断或者传输完成状态;
步骤(10),控制SMBUS控制核结束。
可选地,所述写操作包括以下步骤:
步骤(21),根据需要设置SMBUS控制核的工作时钟,设置SMBUS控制核的高位设置和低位设置;
步骤(22),使能SMBUS控制核;
步骤(23),控制SMBUS控制核开始;
步骤(24),写SMBUS控制核电池状态芯片地址和写操作位;等待中断或者传输完成状态;
步骤(25),发送电池命令码,控制SMBUS控制核写电池选件操作命令;等待中断或者传输完成状态;
步骤(26),控制SMBUS控制核写低8位数据;等待中断或者传输完成状态;
步骤(27),控制SMBUS控制核写高8位数据;等待中断或者传输完成状态;
步骤(28),控制SMBUS控制核结束。
可选地,所述状态机的时序为:
根据状态机读和写的标志位,状态机进入读或写状态,写状态将数据写入SMBUS控制核,在数据读或写状态时,如果没有收到电池状态芯片的应答信号,则一直等待电池状态芯片产生应答信号;如果长时间没有应答信号,则等待系统复位信号,进入空闲状态。
可选地,将读到的数据放到SMBUS控制核公共缓冲区后,当FIFO半满状态后,自动产生中断,通知主机取数。
可选地,主机在中断服务程序中,判断当前的中断状态,并清除中断状态;通知延时中断服务程序,在延时中断服务程序中读取FIFO数据。
可选地,在RXR寄存器和TXR寄存器通过一个串并转换寄存器连接,将SCL和SDA数据线上对应的串行数据转换为并行数据发送到RXR寄存器中,同时将TXR寄存器中并行数据转换为串行数据发送到SDA总线上。
本发明的有益效果是:
(1)本发明将读过程和写过程放在FPGA中实现,在状态机中执行每一操作步骤的握手,主机只需要跟电池状态芯片进行一次交互,即可完成所有状态的获取,大大提高效率;
(2)本发明对数据的存储和读取进行了优化设计,将读到的数据放到公共缓冲区后,通过中断方式直接传给主机,相比于软件轮询的方式查询中断,控制核利用硬件实现集成度高,速度快,节约了大量的电池读取时间。这种方式减少了主机的交互,因此大大提高了效率;
(3)本发明采用可编程逻辑器件实现SMBUS控制核,其接口灵活,利于扩展。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明电池状态检测方法的系统框图;
图2为本发明电池状态检测方法的流程图;
图3为本发明的状态机的工作流程图;
图4为本发明的状态机的时序图;
图5为本发明的数据存放过程原理图;
图6为本发明的读取数据中断流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的电池状态检测方法,每执行一步操作,主机都需要与电池状态芯片进行一次交互,这样在完成一次读写过程,主机与SMBUS控制核进行多次的交互,主机进行一次写操作,要等待电池状态芯片返回一个应答信号,等到应答信号后,进入下一步操作,在等待过程中,会占用主机资源,造成时间片空转,降低执行效率。
本发明将读过程和写过程放在SMBUS控制核中实现,在状态机中执行每一操作步骤的握手,主机只需要跟电池状态芯片进行一次交互,即可完成所有状态的获取,大大提高效率。
如图1所示,本发明构建的系统中包括ETX模块(主机)、SMBUS控制核和电池状态芯片,SMBUS控制核负责主机和电池状态芯片的交互,接收主机的控制信号,对控制信号进行翻译,产生电池状态芯片所能识别的时序,读取电池状态,返回给主机,完成电池状态的读和写。电池响应状态的处理由SMBUS控制核判断,减少了与主机之间的交互,提高了工作效率。例如,本发明的系统,主机为ADLINK(凌华科技公司)ETX模块,SMBUS控制核选用Altera公司FPGA,电池状态芯片选用Ti公司BQ20z75电池状态芯片。
为了便于主机与SMBUS控制核的交互,SMBUS控制核设计了7个寄存器用于管理整个控制核。这些寄存器分别是PRERLo时钟低位寄存器、PRERHi时钟高位寄存器、CTR控制寄存器、TXR传输寄存器、RXR接收寄存器、CR命令寄存器、SR状态寄存器。下面对各个寄存器的功能和设置进行详细介绍。
PRERLo时钟低位寄存器、PRERHi时钟高位寄存器:通常主机为高速设备,而SMBUS控制核一般支持100Kbps、400Kbps和3.5Mbps三种传输模式,相对于主机来说为慢速设备,为了使SMBUS控制核正常工作,通过PRERLo和PRERHi对主机时钟频率进行分频,产生适合于SMBUS控制核工作的时钟频率。
CTR控制寄存器使能SMBUS控制核,使能中断。
TXR传输寄存器由8位组成,第0位为读写状态位,为1表示从电池状态芯片读数据,为0表示向电池状态芯片写数据;高七位为传输的数据。
RXR接收寄存器用于接收电池状态芯片接收的数据,由8位组成。
CR寄存器用于控制SMBUS控制核的工作,产生启动信号或重新启动信号,产生停止信号,产生读信号,产生写信号,产生响应信号。
SR状态寄存器用于反映当前SMBUS控制核的工作状态,主要包括:tip位为1表示正在传输数据,为0表示传输完成;Busy位为总线忙状态位,产生启动信号后,总线状态为忙状态,busy位为1,检测到停止信号后,busy位为0。
可以看出,通过寄存器的设计,简化了控制核的使用,用户只需要对寄存器进行编程设计,就可以产生标准的时序,不用了解复杂的时序图。
如图2所示,本发明的电池状态检测方法包括以下步骤:
系统上电后进入初始状态。
读取CR寄存器中的值,如果启动状态为真,则进入Start状态,产生启动状态时序。
读取CR寄存器读写状态,如果读状态为真进入读状态,如果写状态为真进入写状态。
在读状态下,连续从RXR接收寄存器中读取收到的电池状态信息,每读取一个字节,SMBUS控制核产生一个ACK响应状态,在SCL时钟的第九位。
在写状态下,连续从TXR发送寄存器中向电池状态芯片发送设置参数,每发送一个字节,电池状态芯片产生一个ACK响应状态,在SCL时钟的第九位。
读或写过程完成进入Stop状态。
主机发送给SMBUS控制核的数据为并行数据,而在SMBUS总线上传输的为串行数据,在RXR寄存器和TXR寄存器通过一个串并转换寄存器连接,负责将SCL和SDA数据线上对应的串行数据转换为并行数据发送到RXR寄存器中,同时负责将TXR寄存器中并行数据转换为串行数据发送到SDA总线上。
本发明将交互状态由SMBUS控制核进行控制,采用状态机方式实现,其原理图如图3所示,状态初始或者复位的时候处于空闲(Idle)状态,在空闲状态时,使能SMBUS控制核,设置SMBUS控制核工作时钟。然后进入决定(Decision)状态,根据状态机的输入决定进行读操作或者写操作。
对于读操作,进入如下的操作步骤:
步骤(1),根据需要设置SMBUS控制核的工作时钟,设置SMBUS控制核的高位设置和低位设置;
步骤(2),使能SMBUS控制核;
步骤(3),控制SMBUS控制核开始。
步骤(4),写SMBUS控制核电池状态芯片地址和写操作位。等待中断或者传输完成状态。
步骤(5),发送电池命令码,控制SMBUS控制核写电池选件操作命令。等待中断或者传输完成状态。
步骤(6),控制SMBUS控制核重新启动。
步骤(7),读SMBUS控制核电池状态芯片地址及读操作位。等待中断或者传输完成状态。
步骤(8),选择接收寄存器,控制SMBUS控制核接收低8位数据。等待中断或者传输完成状态。
步骤(9),选择接收寄存器,控制SMBUS控制核接收高8位数据。等待中断或者传输完成状态。
步骤(10),控制SMBUS控制核结束。
对于写操作,进入如下的操作步骤:
步骤(21),根据需要设置SMBUS控制核的工作时钟,设置SMBUS控制核的高位设置和低位设置。
步骤(22),使能SMBUS控制核。
步骤(23),控制SMBUS控制核开始。
步骤(24),写SMBUS控制核电池状态芯片地址和写操作位,等待中断或者传输完成状态。
步骤(25),发送电池命令码,控制SMBUS控制核写电池选件操作命令。等待中断或者传输完成状态。
步骤(26),控制SMBUS控制核写低8位数据。等待中断或者传输完成状态。
步骤(27),控制SMBUS控制核写高8位数据。等待中断或者传输完成状态。
步骤(28),控制SMBUS控制核结束。
SMBUS控制核的信号分为空闲(IDLE)、启动(START)、读(READ)、写(WRITE)、响应(ACK)、和停止(STOP)六种工作模式。在IDLE工作模式时,SCL和SDA都是高电平,在接收到主设备发送的START信号后,主设备进入START状态,并根据READ和WRITE进入READ和WRITE状态,在完成读和写后,进入ACK状态,进入ACK状态后标识一个读或者写的过程结束。当收到Stop信号后进入Stop状态。状态机的时序原理如图4所示。
根据状态机读和写的标志位,状态机进入读或写状态,写状态将数据写入SMBUS控制核,在数据读或写状态时,如果没有收到电池状态芯片的应答信号,则一直等待电池状态芯片产生应答信号。如果长时间没有应答信号,则等待系统重置(复位)信号,进入idle状态。
正常数据传输结束有两种情况,一种是主设备发送或者接收的数据传送完毕,此时状态机正常传输完成进入idle状态,如果传送过程中目标设备并没有准备好接收数据。
Idle状态:当SMBUS上电或者复位后,状态机处于空闲Idle状态,等待进入下一个工作状态。在Idle状态时,SCL和SDA一直处于高电平。
Start状态:在此状态,SMBus控制核根据CR寄存器中Start值状态检测启动信号,当检测到启动信号有效后进入Start状态。
READ状态,WRITE状态:根据命令寄存器的读写状态位,进入读和写状态,由于读和写都是以字节为单位的,所以对应8个时钟周期的SCL信号。
ACK状态:标志一个读或者写字节状态完成,完成后同步更新状态寄存器。
为了消除主机时间片空转,尽可能的提高传输速度,本发明将读过程和写过程放在SMBUS控制核中实现,如图5和图6所示,将读到的数据放到公共缓冲区后,通过中断方式直接传给主机。相比于传统的利用软件模拟产生SCL和SDA信号线的方式,利用软件轮询的方式查询中断,控制核利用硬件实现集成度高,速度快,节约了大量的电池读取时间。这种方式减少了主机的交互,因此大大提高了效率。
同时,为了提高传输效率,本发明没有采用传统的方式数据读取方案,例如按照SMBUS协议规定,在读取一个双子(2个字节)的情况下,先传输低字节,在传输高字节,这样主机与SMBUS控制核之间要交互两次,当连续读取多个字节时,将更加浪费主机资源。
因此,当产生读取的数据时,本发明采用FIFO先将采集到的数据存起来,当FIFO半满状态后,自动产生中断,通知主机取数。
主机在中断服务程序中,判断当前的中断状态,并清除中断状态。通知延时中断服务程序,在延时中断服务程序中读取FIFO数据。
本发明的电池状态检测方法,为了消除主机时间片空转,尽可能的提高传输速度,本发明将读过程和写过程放在FPGA中实现,在状态机中执行每一操作步骤的握手,主机只需要跟电池状态芯片进行一次交互,即可完成所有状态的获取,大大提高效率。
本发明对数据的存储和读取进行了优化设计,将读到的数据放到公共缓冲区后,通过中断方式直接传给主机,相比于软件轮询的方式查询中断,控制核利用硬件实现集成度高,速度快,节约了大量的电池读取时间。这种方式减少了主机的交互,因此大大提高了效率。
而且,本发明采用可编程逻辑器件实现SMBUS控制核,其接口灵活,利于扩展。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种电池状态检测方法,其特征在于,基于一系统,该系统包括主机、SMBUS控制核和电池状态芯片,SMBUS控制核负责主机和电池状态芯片的交互,所述主机只跟电池状态芯片进行一次交互,交互状态由SMBUS控制核进行控制,读操作和写操作在SMBUS控制核中实现,在SMBUS控制核状态机中执行每一操作步骤的握手;
SMBUS控制核包括7个寄存器,分别是PRERLo时钟低位寄存器、PRERHi时钟高位寄存器、CTR控制寄存器、TXR传输寄存器、RXR接收寄存器、CR命令寄存器、SR状态寄存器;PRERLo和PRERHi对主机时钟频率进行分频,产生适合于SMBUS控制核工作的时钟频率;CTR控制寄存器使能SMBUS控制核,使能中断;TXR传输寄存器由8位组成,第0位为读写状态位,为1表示从电池状态芯片读数据,为0表示向电池状态芯片写数据,高七位为传输的数据;RXR接收寄存器用于接收电池状态芯片接收的数据,由8位组成;CR寄存器用于控制SMBUS控制核的工作,产生启动信号或重新启动信号,产生停止信号,产生读信号,产生写信号,产生响应信号;SR状态寄存器用于反映当前SMBUS控制核的工作状态;
系统上电后进入初始状态;
读取CR寄存器中的值,如果启动状态为真,则进入Start状态,产生启动状态时序;
读取CR寄存器读/写状态,如果读状态为真进入读状态,如果写状态为真进入写状态;
在读状态下,连续从RXR接收寄存器中读取收到的电池状态信息,每读取一个字节,SMBUS控制核产生一个ACK响应状态;
在写状态下,连续从TXR发送寄存器中向电池状态芯片发送设置参数,每发送一个字节,电池状态芯片产生一个ACK响应状态;
读或写过程完成进入Stop状态。
2.如权利要求1所述的电池状态检测方法,其特征在于,所述状态机的执行步骤具体包括:
状态初始或者复位的时候处于空闲状态,在空闲状态时,使能SMBUS控制核,设置SMBUS控制核工作时钟;
然后进入决定状态,根据状态机的输入决定进行读操作或者写操作。
3.如权利要求2所述的电池状态检测方法,其特征在于,所述读操作包括以下步骤:
步骤(1),根据需要设置SMBUS控制核的工作时钟,设置SMBUS控制核的高位设置和低位设置;
步骤(2),使能SMBUS控制核;
步骤(3),控制SMBUS控制核开始;
步骤(4),写SMBUS控制核电池状态芯片地址和写操作位;等待中断或者传输完成状态;
步骤(5),发送电池命令码,控制SMBUS控制核写电池选件操作命令;等待中断或者传输完成状态;
步骤(6),控制SMBUS控制核重新启动;
步骤(7),读SMBUS控制核电池状态芯片地址及读操作位;等待中断或者传输完成状态;
步骤(8),选择接收寄存器,控制SMBUS控制核接收低8位数据;等待中断或者传输完成状态;
步骤(9),选择接收寄存器,控制SMBUS控制核接收高8位数据;等待中断或者传输完成状态;
步骤(10),控制SMBUS控制核结束。
4.如权利要求2所述的电池状态检测方法,其特征在于,所述写操作包括以下步骤:
步骤(21),根据需要设置SMBUS控制核的工作时钟,设置SMBUS控制核的高位设置和低位设置;
步骤(22),使能SMBUS控制核;
步骤(23),控制SMBUS控制核开始;
步骤(24),写SMBUS控制核电池状态芯片地址和写操作位;等待中断或者传输完成状态;
步骤(25),发送电池命令码,控制SMBUS控制核写电池选件操作命令;等待中断或者传输完成状态;
步骤(26),控制SMBUS控制核写低8位数据;等待中断或者传输完成状态;
步骤(27),控制SMBUS控制核写高8位数据;等待中断或者传输完成状态;
步骤(28),控制SMBUS控制核结束。
5.如权利要求2所述的电池状态检测方法,其特征在于,所述状态机的时序为:
根据状态机读和写的标志位,状态机进入读或写状态,写状态将数据写入SMBUS控制核,在数据读或写状态时,如果没有收到电池状态芯片的应答信号,则一直等待电池状态芯片产生应答信号;如果长时间没有应答信号,则等待系统复位信号,进入空闲状态。
6.如权利要求1所述的电池状态检测方法,其特征在于,将读到的数据放到SMBUS控制核公共缓冲区后,当FIFO半满状态后,自动产生中断,通知主机取数。
7.如权利要求6所述的电池状态检测方法,其特征在于,主机在中断服务程序中,判断当前的中断状态,并清除中断状态;通知延时中断服务程序,在延时中断服务程序中读取FIFO数据。
8.如权利要求1所述的电池状态检测方法,其特征在于,在RXR寄存器和TXR寄存器通过一个串并转换寄存器连接,将SCL和SDA数据线上对应的串行数据转换为并行数据发送到RXR寄存器中,同时将TXR寄存器中并行数据转换为串行数据发送到SDA总线上。
CN201410554421.9A 2014-10-10 2014-10-10 一种电池状态检测方法 Active CN104317688B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410554421.9A CN104317688B (zh) 2014-10-10 2014-10-10 一种电池状态检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410554421.9A CN104317688B (zh) 2014-10-10 2014-10-10 一种电池状态检测方法

Publications (2)

Publication Number Publication Date
CN104317688A CN104317688A (zh) 2015-01-28
CN104317688B true CN104317688B (zh) 2018-06-19

Family

ID=52372923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410554421.9A Active CN104317688B (zh) 2014-10-10 2014-10-10 一种电池状态检测方法

Country Status (1)

Country Link
CN (1) CN104317688B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061355B (zh) * 2019-11-15 2021-11-02 杭州迪普科技股份有限公司 一种供电数据获取方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173350B1 (en) * 1997-10-17 2001-01-09 Eveready Battery Company Inc. System and method for writing data to a serial bus from a smart battery
CN101034138A (zh) * 2006-03-08 2007-09-12 新德科技股份有限公司 电池容量监测系统
CN201489093U (zh) * 2009-04-10 2010-05-26 昆山正国能源科技有限公司 一种电池检测系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173350B1 (en) * 1997-10-17 2001-01-09 Eveready Battery Company Inc. System and method for writing data to a serial bus from a smart battery
CN101034138A (zh) * 2006-03-08 2007-09-12 新德科技股份有限公司 电池容量监测系统
CN201489093U (zh) * 2009-04-10 2010-05-26 昆山正国能源科技有限公司 一种电池检测系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
便携式智能电池与主机的通信方案;叶柳;《计算机工程》;20080930;第34卷(第S1期);163、164、168页 *
基于嵌入式计算平台的智能电池系统的设计;蒋忠伟 等;《计算机工程与设计》;20110630;第32卷(第6期);正文第1节、第3节,图1-5,表1-2 *

Also Published As

Publication number Publication date
CN104317688A (zh) 2015-01-28

Similar Documents

Publication Publication Date Title
JP5467891B2 (ja) 情報処理装置、デバッグ装置、デバッグ方法
CN1570907B (zh) 多处理器系统
CN101626351A (zh) 多协议数据采集网关
CN201294545Y (zh) 多协议数据采集网关
CN101000597A (zh) 一种基于AMBA总线的嵌入式Java处理器IP核
CN101719110A (zh) 光通信器件中多路i2c器件的实时监控方法
CN101840368B (zh) 多核处理器的jtag实时片上调试方法及其系统
CN107255961B (zh) 一种高效数据交互的无线智能示波器
CN102662835A (zh) 一种针对嵌入式系统的程序调试方法及嵌入式系统
CN103064805A (zh) Spi控制器及通信方法
CN104156333A (zh) 一种基于fpga的uart多接口扩展系统和方法
CN103714190B (zh) 简单高效的在线仿真方法及接口电路
WO2012171304A1 (zh) 移动终端的tty测试方法及系统
CN101183347A (zh) 一种自适应速率匹配总线的桥接电路
CN102253916B (zh) 同异步转换的双端双通道fifo
CN107153412A (zh) 一种具有发送fifo的can总线控制器电路
CN202018576U (zh) 单片机通信模块
CN104317688B (zh) 一种电池状态检测方法
CN114327975A (zh) 片上系统
CN101846726B (zh) 数字接口射频芯片测试方法、装置和系统
CN112256615B (zh) Usb转换接口装置
CN107370651B (zh) 一种spi从机之间的通信方法
CN100462952C (zh) 接口可配置的通用串行总线控制器
CN101739338B (zh) 一种处理器地址数据跟踪的装置及方法
CN204706031U (zh) 串行外设接口spi总线电路以及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant