ADC1500模块的硬件标识符平均次数是什么意思

基于MSC1210的多路高精度温度采集系统模块
基于MSC1210的多路高精度温度采集系统模块
在许多传统行业中,多路高精度温度采集系统是不可或缺的。电厂、石化行业、钢铁厂以及制药厂等企业使用了大量的各类测温器件,如热电阻、热电偶等,这些器件需要定期校准;在严格执行GMP规范的制药厂等企业,高温灭菌箱需要定期进行灭菌率的验证;在某些要求进行严格的温度控制的场合,也需要进行多点高精度温度测量。这些工作往往需要一个多路高精度测温系统来完成。
  在被测温度变化缓慢的情况下,可以使用多路扫描开关配
在许多传统行业中,多路高精度温度采集系统是不可或缺的。电厂、石化行业、钢铁厂以及制药厂等企业使用了大量的各类测温器件,如热电阻、热电偶等,这些器件需要定期校准;在严格执行GMP规范的制药厂等企业,高温灭菌箱需要定期进行灭菌率的验证;在某些要求进行严格的温度控制的场合,也需要进行多点高精度温度测量。这些工作往往需要一个多路高精度测温系统来完成。
  在被测温度变化缓慢的情况下,可以使用多路扫描开关配以一个高精度测温表进行多路温度测量以及数据采集。但在温度测量点数目较多、被测温度变化较快的场合,如大量热电阻、热电偶的自动计量检定系统以及高温灭菌箱自动验证系统中,传统的扫描式多路温度测量系统就无法满足要求了。近年来,随着高精度A/D转换器件价格的不断下降以及A/D转换器件功能的不断完善,研制廉价的多路、快速、高精度温度采集系统成为可能。
  美国 德州仪器 公司(TEXAS INSTRUMENTS)新近推出了一种功能很强的带24位A/D转换器的微处理器MSC1210。MSC1210具有一些增强特性,特别适合测量高精度温度、压力传感器等输出的微弱信号。
&&& 本文介绍以MSC1210作为测量、信号处理以及通讯核心的多路高精度温度采集系统模块。该系统测量通道易于扩充,温度测量精度高,可以快速地进行多路高精度温度测量。
1 多路高精度测温系统框架
  系统由主机与多个智能测温模块组成。模块与主机之间通过光电隔离的SPI接口进行通讯,使用带有CRC纠错的自定义指令集控制数据传输,主机带有计算机接口(RS232串口以及USB接口)。系统框架参见图1。
  智能测温模块由MSC1210微转换器构成,模块本身具有完整的信号调理、A/D转换、数据修正计算及变换、内部校准等功能。为了避免外部干扰对A/D转换的影响,SPI接口使用高速光电耦合电路,并采用模块自带的稳压电路供电。由于一个模块只能处理1~4路温度,因此可以同步进行多组模块的温度测量,大大加快了多点温度测量的速度。主机用来控制测温模块,从测温模块中读取温度数据并处理,同时完成人机接口以及其它功能。视应用场合的不同,主机可以使用多种类型的单片机,这里选用ATMEL公司的ATmega128。该款CPU采用Harvard流水线结构以及RISC指令,并具有较大程序容量(128KB)的FLASH,在16MHz主频下可以达到16MIPS的处理速度。
2 MSC1210的增强功能及使用注意事项
  作为智能高精度测温模块的核心,MSC1210完成了微弱信号的多路切换、信号缓冲、PGA编程放大、24位Σ-ΔA/D转换、数字滤波、数据处理、信号校准以及SPI通讯等功能。
  MSC1210集成了一个8通道24位Σ-ΔA/D转换器,采用8051兼容内核。与笔者之前使用的ADuC824相比,其有如下增强的功能:
  (1)CPU工作频率可达33MHz,每条指令只需4个时钟周期,运算速度较快。
  (2)采用非常灵活的FLASH与SRAM存储器配置,可以对片上FLASH进行分区,根据需要设定程序FLASH与数据SRAM所占的比例。读写次数可达一百万次,数据可保存100年。
  (3)片上RAM为1280B,有34个高电流驱动I/O,可以设定外部存储器的存取时间,使用双数据指针提高存取速度,具有完善的节电功能,还有电压监视器、21个中断源、3个16位定时计数器以及内部时间间隔计数器(TIC)。
  (4)自带BOOT ROM,可以调试使用或在程序中调用内置固化程序,完成在线调试、数据采集、UART通讯以及读写FALSH等工作,方便了编程以及调试。
  (5)片上24位Σ-ΔADC具有一些增强特性:8路输入通道可以任意配置为单端或差分输入;有快速、Sinc2、Sinc3 三种数字滤波,同时有自动数字滤波功能,可以加快A/D转换输出;带PGA偏置DAC,可以不引入额外误差而扩大测量范围;自带一个32位累加器,可以对ADC输出数据作快速平均处理。
  (6)自带高精度电压标准,精度为0.2%,漂移为
  5ppm/°C,可以节省空间以及器件成本,也可输出该电压标准或外接电压标准。
  (7)片上16位PWM,可以作为DAC输出来源。
  (8)增强的SPI接口可以使用DMA方式传输数据,在DMA方式下,可以间接寻址RAM,设定多达128B的发送接收FIFO;具有完整的端口驱动以及发送接收中断设定,适合大批量的数据传输,同时占用CPU资源较少。
  MSC1210功能较强且易于使用,但因为是新器件,参考资料较少。笔者在使用过程中发现需要注意如下问题:
  (1)MSC1210片内FLASH分区只能通过对HCR0以及HCR1这两个硬件配置寄存器事先编程来进行,在程序运行过程中无法设定或更改分区比例。在程序运行中读写FLASH时,要注意读写地址与调试时的地址不同,具体应参考存储器分配表;用户程序无法直接读写FLASH,需要调用BOOT ROM中的读写函数来进行;与AVR等芯片的EEPROM不同,写入FLASH之前必须先进行擦除操作,BOOT ROM中有可调用的块擦除子程序,可以在汇编或C程序中调用。
  (2)在做A/D转换时,每次更改PGA放大倍数需要重新校准,在需要频繁切换输入通道的场合,建议设定特殊寄存器ADCON1的SM1~0位为00,即进入自动模式数字滤波。这样当通道切换后,随着A/D采样次数的增加,数字滤波依次为快速转换、Sinc2、Sinc3数字滤波,可以最大限度地提高转换速度和转换精度。
  (3)BOOT ROM中固化的程序对于MSC1210的编程和调试非常关键,其中部分程序可以在用户程序中直接调用,完成数据采集、UART输入输出等重要功能。可以通过串口或并口进行编程。
  (4)使用TI提供的下载工具及调试终端,可以对MSC1210实现在线调试。这种调试会占用UART0资源,同时辅助中断的入口地址也有变化,这在编程时需要注意。也可以利用Windows自带的超级终端进行调试。与TI终端不同,Windows超级终端不能自动初始化MSC1210使之进入调试状态,需要人工进行调试复位。
3 高精度测温模块的硬件描述
  MSC1210最多可以配置4组差分输入通道:对于标准四线热电阻的测量,需要两组通道来分别测量驱动电流及电压;对于标准热电偶的测量,如果采用冰点作为冷端补偿,需要一组差分通道;如果采用自带冷端测量,则往往需要另外两组通道测量冷端热电阻的温度。因此,对于标准热电阻测量,同一个模块最多有两路测温通道;对于标准热电偶测量,如果采用统一的冷端补偿,最多可以有4路测温通道。同一模块的不同测温通道的切换需要时间稳定信号以及重新建立ADC测量输出,在有速度要求或需要进行多值平均的情况下,为了得到较快的测温速度,每个模块的测温路数会相应减少。这里介绍单通道标准热电阻测温模块,其硬件框图如图2所示。
  模块采用独立的模拟供电(5V)和数字供电(3V)。在印制板设计上,数字地与模拟地分离,在MSC1210芯片下相连。同样,为了进一步减少外界和数字电路对模拟电路部分的干扰,SPI接口与外部之间采用高速光电耦合连接。所有的电源以及信号接口采用统一的两边插针形式,便于直接插入主机母板。这里将比较有特色的标准热电阻测量以及信号调理电路绘出,如图3所示。
  在图3中,分压电阻R12与R13为运算放大器U2提供一个参考电压,在R10上产生一个恒定的电流,经Q1输出。为了减少高精度低温漂电阻的使用数量,R10、R12、R13均采用普通电阻。使用高精度低温漂电阻Rr作为电流检测电阻,将输出电压信号经R2、R3送往MSC1210的一组差分输入端,恒定电流通过四线标准铂电阻Rs,将产生电压经R4、R5送入MSC1210的另一组差分输入端,经MSC1210进行四线法测量电阻的计算,以消除铂电阻温度计引线的影响。R2、R3、R4、R5是限流电阻,防止输入电压过高损坏MSC1210;D1、R6、C12提供一个参考电压,使MSC1210有合适的差分电压输入。由于使用MSC1210的内置电压标准输出,电容C9、C10、C11是不可缺少的。MSC1210具有内置PGA(1~128),因此无需放大电路即可直接测量微弱信号。
4 高精度测温模块软件的描述
  在多路高精度测温系统中,测温模块能独立进行数据采集、拟合修正、分度转换、与下位机的数据通讯,并通过SPI接口向上位机(主机)发送测量到的温度数据,接收上位机发来的控制指令,进行参数设置及校准操作。与上位机通讯的指令采用不定长的ASC代码指令,用不同的信令头(SOT)代表不同的控制,并有CRC纠错以保证数据正确传输,信令有统一的结束码(EOT)。
  在测温模块的MSC1210的程序功能中,分度转换是重要的组成部分,也是耗时较多的计算过程,这里简要说明一下。
对于高精度温度测量,需要考虑的一个重要问题是温度传感器的选择。对于热电阻与热电偶,有标准传感器与工业传感器之分,这里选择精度较高的标准传感器,并根据ITS-90国际温标以及中国相关计量检定规程进行分度转换。
  与工业热电阻、热电偶不同,标准热电阻或热电偶的分度计算是一个比较复杂的问题,简单的查表计算或曲线拟合一般很难达到分度转换的精度要求。以标准铂电阻温度计为例,它使用一组规定的定义固定点和参考函数以及相应的差值函数内插,在0~419.527°C温区内,温度t由下列公式确定:
  其中,Wr(t)为参考函数,Ci与Di为系数,ΔW8(t)为差值函数,W(t)为电阻比,a8与b8为具体标准铂电阻温度计的分度系数,可以通过具体温度计校准结果WZn、WSn、W100等参数计算得到。在选择了相应的热电阻之后,将该参数通过SPI接口的通讯控制指令输入测温模块。
  可以看到,MCU只有具有较快的运算速度,才能在每次ADC输出数据后及时将电阻值转换为温度值,分度计算、误差修正、数值处理以及通讯控制等均由MSC1210完成。输出到上位机的是测量得到的温度值,这样上位机即使在配置多个测温模块的情况下也能从容完成处理工作。
  MSC1210是较有特色、功能较强的一种新器件,特别适合于智能变送器、高精度测量仪器仪表等应用领域。这套多路高精度温度采集系统充分利用了MSC1210的新功能、新特性,采用智能测温模块与主机通讯的设计方式,以较少的成本完成了多点快速温度测量。笔者使用这套多路高精度温度采集系统作为基础硬件,配以PC机的控制软件,完成了多套应用于不同场合的自动温度测量及控制系统,实际应用情况良好。
在许多传统行业中,多路高精度温度采集系统是不可或缺的。电厂、石化行业、钢铁厂以及制药厂等企业使用了大量的各类测温器件,如热电阻、热电偶等,这些器件需要定期校准;在严格执行GMP规范的制药厂等企业,高温灭菌箱需要定期进行灭菌率的验证;在某些要求进行严格的温度控制的场合,也需要进行多点高精度温度测量。这些工作往往需要一个多路高精度测温系统来完成。
  在被测温度变化缓慢的情况下,可以使用多路扫描开关配以一个高精度测温表进行多路温度测量以及数据采集。但在温度测量点数目较多、被测温度变化较快的场合,如大量热电阻、热电偶的自动计量检定系统以及高温灭菌箱自动验证系统中,传统的扫描式多路温度测量系统就无法满足要求了。近年来,随着高精度A/D转换器件价格的不断下降以及A/D转换器件功能的不断完善,研制廉价的多路、快速、高精度温度采集系统成为可能。
  美国 德州仪器 公司(TEXAS INSTRUMENTS)新近推出了一种功能很强的带24位A/D转换器的微处理器MSC1210。MSC1210具有一些增强特性,特别适合测量高精度温度、压力传感器等输出的微弱信号。
&&& 本文介绍以MSC1210作为测量、信号处理以及通讯核心的多路高精度温度采集系统模块。该系统测量通道易于扩充,温度测量精度高,可以快速地进行多路高精度温度测量。
1 多路高精度测温系统框架
  系统由主机与多个智能测温模块组成。模块与主机之间通过光电隔离的SPI接口进行通讯,使用带有CRC纠错的自定义指令集控制数据传输,主机带有计算机接口(RS232串口以及USB接口)。系统框架参见图1。
  智能测温模块由MSC1210微转换器构成,模块本身具有完整的信号调理、A/D转换、数据修正计算及变换、内部校准等功能。为了避免外部干扰对A/D转换的影响,SPI接口使用高速光电耦合电路,并采用模块自带的稳压电路供电。由于一个模块只能处理1~4路温度,因此可以同步进行多组模块的温度测量,大大加快了多点温度测量的速度。主机用来控制测温模块,从测温模块中读取温度数据并处理,同时完成人机接口以及其它功能。视应用场合的不同,主机可以使用多种类型的单片机,这里选用ATMEL公司的ATmega128。该款CPU采用Harvard流水线结构以及RISC指令,并具有较大程序容量(128KB)的FLASH,在16MHz主频下可以达到16MIPS的处理速度。
2 MSC1210的增强功能及使用注意事项
  作为智能高精度测温模块的核心,MSC1210完成了微弱信号的多路切换、信号缓冲、PGA编程放大、24位Σ-ΔA/D转换、数字滤波、数据处理、信号校准以及SPI通讯等功能。
  MSC1210集成了一个8通道24位Σ-ΔA/D转换器,采用8051兼容内核。与笔者之前使用的ADuC824相比,其有如下增强的功能:
  (1)CPU工作频率可达33MHz,每条指令只需4个时钟周期,运算速度较快。
  (2)采用非常灵活的FLASH与SRAM存储器配置,可以对片上FLASH进行分区,根据需要设定程序FLASH与数据SRAM所占的比例。读写次数可达一百万次,数据可保存100年。
  (3)片上RAM为1280B,有34个高电流驱动I/O,可以设定外部存储器的存取时间,使用双数据指针提高存取速度,具有完善的节电功能,还有电压监视器、21个中断源、3个16位定时计数器以及内部时间间隔计数器(TIC)。
  (4)自带BOOT ROM,可以调试使用或在程序中调用内置固化程序,完成在线调试、数据采集、UART通讯以及读写FALSH等工作,方便了编程以及调试。
  (5)片上24位Σ-ΔADC具有一些增强特性:8路输入通道可以任意配置为单端或差分输入;有快速、Sinc2、Sinc3 三种数字滤波,同时有自动数字滤波功能,可以加快A/D转换输出;带PGA偏置DAC,可以不引入额外误差而扩大测量范围;自带一个32位累加器,可以对ADC输出数据作快速平均处理。
  (6)自带高精度电压标准,精度为0.2%,漂移为
  5ppm/°C,可以节省空间以及器件成本,也可输出该电压标准或外接电压标准。
  (7)片上16位PWM,可以作为DAC输出来源。
  (8)增强的SPI接口可以使用DMA方式传输数据,在DMA方式下,可以间接寻址RAM,设定多达128B的发送接收FIFO;具有完整的端口驱动以及发送接收中断设定,适合大批量的数据传输,同时占用CPU资源较少。
  MSC1210功能较强且易于使用,但因为是新器件,参考资料较少。笔者在使用过程中发现需要注意如下问题:
  (1)MSC1210片内FLASH分区只能通过对HCR0以及HCR1这两个硬件配置寄存器事先编程来进行,在程序运行过程中无法设定或更改分区比例。在程序运行中读写FLASH时,要注意读写地址与调试时的地址不同,具体应参考存储器分配表;用户程序无法直接读写FLASH,需要调用BOOT ROM中的读写函数来进行;与AVR等芯片的EEPROM不同,写入FLASH之前必须先进行擦除操作,BOOT ROM中有可调用的块擦除子程序,可以在汇编或C程序中调用。
  (2)在做A/D转换时,每次更改PGA放大倍数需要重新校准,在需要频繁切换输入通道的场合,建议设定特殊寄存器ADCON1的SM1~0位为00,即进入自动模式数字滤波。这样当通道切换后,随着A/D采样次数的增加,数字滤波依次为快速转换、Sinc2、Sinc3数字滤波,可以最大限度地提高转换速度和转换精度。
  (3)BOOT ROM中固化的程序对于MSC1210的编程和调试非常关键,其中部分程序可以在用户程序中直接调用,完成数据采集、UART输入输出等重要功能。可以通过串口或并口进行编程。
  (4)使用TI提供的下载工具及调试终端,可以对MSC1210实现在线调试。这种调试会占用UART0资源,同时辅助中断的入口地址也有变化,这在编程时需要注意。也可以利用Windows自带的超级终端进行调试。与TI终端不同,Windows超级终端不能自动初始化MSC1210使之进入调试状态,需要人工进行调试复位。
3 高精度测温模块的硬件描述
  MSC1210最多可以配置4组差分输入通道:对于标准四线热电阻的测量,需要两组通道来分别测量驱动电流及电压;对于标准热电偶的测量,如果采用冰点作为冷端补偿,需要一组差分通道;如果采用自带冷端测量,则往往需要另外两组通道测量冷端热电阻的温度。因此,对于标准热电阻测量,同一个模块最多有两路测温通道;对于标准热电偶测量,如果采用统一的冷端补偿,最多可以有4路测温通道。同一模块的不同测温通道的切换需要时间稳定信号以及重新建立ADC测量输出,在有速度要求或需要进行多值平均的情况下,为了得到较快的测温速度,每个模块的测温路数会相应减少。这里介绍单通道标准热电阻测温模块,其硬件框图如图2所示。
  模块采用独立的模拟供电(5V)和数字供电(3V)。在印制板设计上,数字地与模拟地分离,在MSC1210芯片下相连。同样,为了进一步减少外界和数字电路对模拟电路部分的干扰,SPI接口与外部之间采用高速光电耦合连接。所有的电源以及信号接口采用统一的两边插针形式,便于直接插入主机母板。这里将比较有特色的标准热电阻测量以及信号调理电路绘出,如图3所示。
  在图3中,分压电阻R12与R13为运算放大器U2提供一个参考电压,在R10上产生一个恒定的电流,经Q1输出。为了减少高精度低温漂电阻的使用数量,R10、R12、R13均采用普通电阻。使用高精度低温漂电阻Rr作为电流检测电阻,将输出电压信号经R2、R3送往MSC1210的一组差分输入端,恒定电流通过四线标准铂电阻Rs,将产生电压经R4、R5送入MSC1210的另一组差分输入端,经MSC1210进行四线法测量电阻的计算,以消除铂电阻温度计引线的影响。R2、R3、R4、R5是限流电阻,防止输入电压过高损坏MSC1210;D1、R6、C12提供一个参考电压,使MSC1210有合适的差分电压输入。由于使用MSC1210的内置电压标准输出,电容C9、C10、C11是不可缺少的。MSC1210具有内置PGA(1~128),因此无需放大电路即可直接测量微弱信号。
4 高精度测温模块软件的描述
  在多路高精度测温系统中,测温模块能独立进行数据采集、拟合修正、分度转换、与下位机的数据通讯,并通过SPI接口向上位机(主机)发送测量到的温度数据,接收上位机发来的控制指令,进行参数设置及校准操作。与上位机通讯的指令采用不定长的ASC代码指令,用不同的信令头(SOT)代表不同的控制,并有CRC纠错以保证数据正确传输,信令有统一的结束码(EOT)。
  在测温模块的MSC1210的程序功能中,分度转换是重要的组成部分,也是耗时较多的计算过程,这里简要说明一下。
对于高精度温度测量,需要考虑的一个重要问题是温度传感器的选择。对于热电阻与热电偶,有标准传感器与工业传感器之分,这里选择精度较高的标准传感器,并根据ITS-90国际温标以及中国相关计量检定规程进行分度转换。
  与工业热电阻、热电偶不同,标准热电阻或热电偶的分度计算是一个比较复杂的问题,简单的查表计算或曲线拟合一般很难达到分度转换的精度要求。以标准铂电阻温度计为例,它使用一组规定的定义固定点和参考函数以及相应的差值函数内插,在0~419.527°C温区内,温度t由下列公式确定:
  其中,Wr(t)为参考函数,Ci与Di为系数,ΔW8(t)为差值函数,W(t)为电阻比,a8与b8为具体标准铂电阻温度计的分度系数,可以通过具体温度计校准结果WZn、WSn、W100等参数计算得到。在选择了相应的热电阻之后,将该参数通过SPI接口的通讯控制指令输入测温模块。
  可以看到,MCU只有具有较快的运算速度,才能在每次ADC输出数据后及时将电阻值转换为温度值,分度计算、误差修正、数值处理以及通讯控制等均由MSC1210完成。输出到上位机的是测量得到的温度值,这样上位机即使在配置多个测温模块的情况下也能从容完成处理工作。
  MSC1210是较有特色、功能较强的一种新器件,特别适合于智能变送器、高精度测量仪器仪表等应用领域。这套多路高精度温度采集系统充分利用了MSC1210的新功能、新特性,采用智能测温模块与主机通讯的设计方式,以较少的成本完成了多点快速温度测量。笔者使用这套多路高精度温度采集系统作为基础硬件,配以PC机的控制软件,完成了多套应用于不同场合的自动温度测量及控制系统,实际应用情况良好。
型号/产品名加载中,请稍后...
信诺瑞得慧敏 ADC4500他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)April&2015
&–&December&2015
PRODUCTION DATA.&
机械数据 (封装 | 引脚)
7 详细 说明 <h3 id="SLUSBT 概述 bq76PL455A-Q1 是一款集成式 16 节电池监测、保护和电池均衡器件,专为高可靠性汽车 应用 而设计,带有许多内置自检 功能。 借助高速差分通信接口,最多可将 16 个 bq76PL455A-Q1 器件串联在一起。该特性已通过评估,符合大电流注入(BCI)标准。此电容隔离型通信链路能够有效抑制共模噪声。bq76PL455A-Q1 通过高速通用异步收发器 (UART) 接口与主机通信。bq76PL455A-Q1 提供了多达 6 个通用可编程数字 I/O 端口以及通常用于监测外接温度传感器的 8 个 AUX ADC 输入。可以对数字 I/O 端口的配置进行设置,以根据寄存器 GP_FLT_IN 中设定的条件生成故障信号。通过进一步配置,还可以在 FAULT_N 输出引脚上指示故障。 bq76PL455A-Q1 专为高可靠性汽车 应用而设计,内置有许多功能模块和自诊断测试 功能 ,包括在模拟和数字模块中定义的单故障条件。主机微控制器通过一条单独的通信路径接收故障通知。此器件包含用户可选的自检 功能 ,可以对器件内部的功能模块进行诊断,例如过热自动关断,校准完整性等等。bq76PL455A-Q1 安全手册 () 可通过申请获取,此参考手册可供用户参考并帮助他们评估 bq76PL455A-Q1 内置的测试 功能。
此器件内置有辅助保护模块,可单独感测和报告过压和欠压状态,每个电芯输入配有两个专用的可编程比较器。这两个比较器单独使用另一个可测试的内部带隙基准。 bq76PL455A-Q1 器件提供了用于直接驱动外部 N-FET 的引脚以及功率电阻,从而通过功率电阻实现被动均衡。均衡功能配置可对开关命令做出响应,或者在规定的一段时间内运行。 此器件通过连接的串联电池组供电,并且所需的全部电压均由内部产生。 <h3 id="SLUSBT 功能框图
<h3 id="SLUSBT4 特性 说明
<h4 id="SLUSBT4.1 模块说明
<h4 id="SLUSBT4.1.1 电源 bq76PL455A-Q1 由内部产生的稳定电压供电运行。内部稳压器的输入为用于监视器件的电芯组。电源由串联电芯两端的引脚提供,以便将电芯失衡的可能性降至最低。在大多数 应用中,bq76PL455A-Q1 采用内部电源供电运行。
Figure 13. 电源流向图
Figure 14. 数字芯片电源域
Figure 15. 模拟芯片电源域
<h4 id="SLUSBT4.1.1.1 TOP 引脚连接 bq76PL455A-Q1 通过 TOP 引脚与电芯模块电池组顶端连接,通常外接串联电阻和电容并接地,以构成低通滤波器。低通滤波器设计的时间常数通常与 VSENSE 输入引脚的时间常数近似。最小推荐值为 100&O 和 0.1&F。详细信息,请参见部分。
<h4 id="SLUSBT4.1.1.2 V10VAO V10VAO 是一个仅供内部使用的前置稳压器,由 TOP 引脚供电并且始终开启。此稳压器为 V5VAO 模块、模拟芯片 TSD 模块以及 VP 控制和稳压器电路供电。不供外部使用。
<h4 id="SLUSBT4.1.1.3 V5VAO V5VAO 是一个始终开启的电源,确保持续为差分通信电路 (COMML+/&) 和 WAKEUP 输入供电。这样一来,便可保证 IC 能够一直检测 WAKEUP 信号,并通过差分通信接收到唤醒指令。V5VAO 由内部稳压器和 VDIG 电源组合供电。如果 VDIG 降到正常工作电压以下(启动期间),V5VAO 则由内部稳压器供电。一旦 VDIG 达到稳定电压,V5VAO 就直接由 VDIG 供电。
NOTE V5VAO 的负载能力只够满足内部 IC 需求,不得连接到外部电路。
<h4 id="SLUSBT4.1.1.4 VP 稳压输出 bq76PL455A-Q1 电源直接由连接的电芯提供。电流从 n 节电池组的顶部和底部两端提供,因此流经每节电芯的电流是相同的。集成的线性稳压器利用一个外部 NPN 晶体管(Zetex ZXTN4004K 或类似产品)在引脚 VP 上生成一个标称值为 5.3V 的电源轨。VP 既是电源输入,也是该电源的感测节点。NPNB 引脚控制稳压器的外部 NPN 晶体管。VP 到 GND 之间必须外接电容或电阻电容组合,详细信息请参见。VP 必须外接 VDIG,也可选择连接到 VIO。这两种连接都串联一个 1&O 电阻,并单独进行去耦。在关机模式下,此稳压器处于关闭状态。
Table 1. 推荐的 NPN 晶体管特性 参数说明测试条件典型值单位BVCEO集电极-发射极电压100VBeta &增益5mA& 100CCB集电极&基极电容& 35pFP功率处理有关集电极电阻的详细信息,请参见下文。500mWIC集电极电流额定值& 100mA (1) 根据实际使用的最大电芯电压选择该值,并根据工作条件和温度适当降额。 (2) 根据工作条件和温度适当降额。
在 NPN 集电极和 TOP 引脚之间添加一个集电极电阻,用以降低正常和系统故障状态下的 NPN 功耗。该电阻值的选择取决于电池组最低电压、bq76PL455A-Q1 VP/VDIG 总负载电流以及任一由 VP/VDIG 直接或间接供电的外部 I/O 电路的负载电流。此外,建议在集电极和 AGND 之间直接添加一个 1&F 去耦电容。
<h4 id="SLUSBT4.1.1.5 VDIG 电源输入 VDIG 为数字电压电源输入。该输入始终与 VP 引脚相连,正常情况下由 NPN 供电。VDIG 也可以选择由外部电源驱动,但仍然必须与 VP 相连。这一点在所有工作模式下均适用。VDIG 源由 VP 通过一个 1&O 电阻提供。VDIG 通过引脚上一个单独的电容去耦。
<h4 id="SLUSBT4.1.1.6 VDD18 稳压器 该内部稳压器可生成 1.8V 数字电源,仅供内部器件使用。1.8V 电源不需要外部电容,而且没有引脚和外部连接。如果 VDD18 上出现故障造成电压降至稳定电压以下,则可能导致 UART 通信错误。如果故障因 LDO_TEST 所致,可通过复位或关断/唤醒器件使其恢复正常工作。
<h4 id="SLUSBT4.1.1.7 VIO 电源输入 VIO 是用于为数字 I/O 引脚 TX、RX、FAULT_N 和 GPIOn 供电的电压电源输入。VIO 可连接到外部稳压电源轨,与诸如微控制器的 I/O 器件共用该电源轨。或者,VIO 源也可由 VP 通过一个 1&O 电阻提供。VIO 通过引脚上一个单独的电容去耦。 如果 VIO 未获得供电,器件将保持复位状态并在一段短暂的延迟之后进入关机模式。这为非级联系统提供了一种很好的复位机制。在关机模式下,器件一旦上电,SHDN_STS[GTSD_PD_STAT] 位便会置 1。该标志位是该条件与在芯片过热情况下触发数字芯片热关断的逻辑&或&运算结果。
<h4 id="SLUSBT4.1.1.8 VM 电荷泵 此内部电荷泵用于为模拟前端 (AFE) 及其他模拟电路提供偏置。为了生成一个供内部使用的 -5V 电源轨,需要在 CHP 和 CHM 引脚之间外接飞跨电容,并在 VM 引脚上连接储能电容。该电荷泵 (VM) 在空闲模式下始终开启,在关机模式下始终关闭。VM 需要稳定运行的振荡器,并且直到其他电源电压均超过各自的 POR 阈值时才会启动。VM 电荷泵将在 COMH 上的唤醒指令开始时开始斜升。
<h4 id="SLUSBT4.2 模拟前端 (AFE)/电平转换器 bq76PL455A-Q1 AFE 最多能够监测 16 节电芯。为此,提供了 17 个 VSENSE 输入,分别标记为 VSENSE0 至 VSENSE16。bq76PL455A-Q1 器件经过设置可对串联的全部或部分电芯进行采样。采样总是选择从顶端电芯开始,到底端电芯结束。测量期间,AFE 选择被逻辑模块寻址的电芯,并将被检测的电芯电压(增益为 1)向下转换为以地到基准的 OUT1 引脚。关于 AFE 输出 (OUT1) 的元件选择,请参见本文中的相关部分。 AFE 的模拟输出通过一个内部 1.2k&O 串联电阻连接到 OUT1。OUT1 从外部连接到 OUT2。在 AFE 和 ADC 之间进行此外部连接时,需要放置一个外部滤波电容以构成 RC 滤波器,从而降低噪声带宽。该滤波电容将延长 ADC 输入信号的稳定时间。可以在 ADC 采样时间、滤波和精度之间进行权衡。为实现最佳测量精度,AFE 输出必须稳定在 1/4 ADC LSB 以内。 <h4 id="SLUSBT4.3 ADC bq76PL455A-Q1 器件中的 ADC 是一款 14 位逐次逼近寄存器 (SAR) ADC。该 ADC 具有 3.44&s 的固定转换(保持)时间,采样间隔或转换间隔可由用户选择。采样间隔决定相邻两次转换之间的采样(跟踪)稳定时间,这段时间通常用于使 OUT1 引脚上的输入电容在两次转换之间稳定下来,以及内部稳定用途。 数字芯片上提供有 ADC 输入多路复用器,借此可连接到:
OUT1 上的 AFE(模拟芯片)多路复用器输出,用于测量: 最多 16 条电芯电压通道VMODULE 电压模拟芯片的内部温度REF2 模拟芯片基准模拟芯片上的 VM (-5V) 电荷泵生成的电压源
数字芯片上的测量通道: 8 条 AUX 输入通道数字芯片上的 VDD18 1.8V 电压源数字芯片的内部温度
在两种平均值计算模式下,ADC 可设置为获取单个采样或多个采样。该选择通过 OVERSMPL[CMD_OVS_CYCLE] 设置。 <h4 id="SLUSBT4.3.1 通道选择寄存器 通过设置 CHANNELS 和 NCHAN 寄存器中的位来选择测量的通道。每条通道均可设为单独测量。用户可编程的校正因数可用于电芯和 AUX 通道。对于不同类型输入(即电芯、AUX 和内部测量),转换时间可由用户单独编程。 NCHAN 寄存器设置供器件使用的 VSENSE 通道(电芯输入)数量。未使用通道从通道 16 开始依次往下。该寄存器用于设置使用的电芯数量,例如,14 节电芯编程为 0x0E。该寄存器还可设置屏蔽未使用通道的电芯过压和欠压故障,以及关机与通道关联的 UV 和 OV 比较器。空闲通道(两次采样间隔之间多路复用器所在的通道)设为该寄存器中的值。这使得 OUT1 引脚能够保持住滤波电容电压,从而确保在下个周期首先被采样。
<h4 id="SLUSBT4.3.2 平均值计算 用于 ADC 平均测量的过采样次数可编程为 2、4、8、16 或 32 次。bq76PL455A-Q1 器件对各个采样进行算数平均值计算,然后输出一个 16 位(14 位 + 2 个附加位,附加位由平均值计算产生)平均测量值。无法获取用于计算平均值的各个采样值。
如 所示,ADC 首先对所有选定的电芯电压进行平均值计算,然后对所有选定的 AUX 输入通道进行平均值计算,接着按图中顺序对 CHANNELS 寄存器选定的任意剩余通道进行平均值计算。根据 OVERSMPL 寄存器中 CMD_OVS_CYCLE 位的状态,按照下列程序之一对电压和 AUX 通道进行过采样: 当 CMD_OVS_CYCLE = 1(循环平均值计算)时,每条通道采样一次,依次完成对全部通道的采样后,再执行新一轮过采样当 CMD_OVS_CYCLE = 0(非循环平均值计算)时,每条通道采样多次,依次更换通道,从而完成对全部通道的采样。
的左右两部分分别显示了这两种过采样。 进行过采样时,可参考 给出的首次采样后每条通道的过采样周期设置。首次采样可编程不同的周期(请参见),不同周期时的所有后续采样如 所示。首次采样周期和后续采样周期彼此独立。
Figure 16. 采样/过采样(平均值计算)顺序
Table 2. 通道采样周期设置
通道首次采样其他采样(平均值计算)CMD_OVS_CYCLE=0CMD_OVS_CYCLE=1VSENSEn (n=1..16)ADC_PERIOD_VOLCMD_OVS_HPERADC_PERIOD_VOLAUXn (n=0..7)ADC_PERIOD_AUXnCMD_OVS_GPERADC_PERIOD_AUXnDIGITAL DIE TEMP大约 50&s不可用不可用ANALOG DIE TEMPADC_PERIOD_TEMPCMD_OVS_HPERCMD_OVS_HPERVDD18大约 30&s )CMD_OVS_GPERCMD_OVS_GPERANALOG DIE VREFADC_PERIOD_REFCMD_OVS_HPERCMD_OVS_HPERMODULE MONITORADC_PERIOD_MONCMD_OVS_HPERCMD_OVS_HPERVMADC_PERIOD_VMCMD_OVS_HPERCMD_OVS_HPER (1) 过采样(平均值计算)不适用于该测量。 (2) TSTCONFIG[MODULE_MON_EN] 决定进行 2 次转换还是 1 次转换。
ADC_PERIOD_VOL 位设置指定通道的两次 ADC 采样之间的间隔,不管过采样与否。当 CMD_OVS_CYCLE = 1 时,电芯通道和 AUX 通道的过采样周期保持在固定值,分别为 CELL_SPER[ADC_PERIOD_VOL] 和 AUX_SPER[ADC_PERIOD_AUX] 设定的单采样周期。而当 CMD_OVS_CYCLE = 0 时,电芯通道的过采样周期由 CMD_OVS_HPER 位设置,AUX 通道的过采样周期由 CMD_OVS_GPER 位设置。
在 OVERSMPL 寄存器中,CMD_OVS_HPER 位必须编程为 12.6&s,CMD_OVS_GPER 位可编程为 4.13&s 到 12.6&s 之间的值。
每次采样执行完初始采样周期之后,所有其他通道的过采样周期由 CMD_OVS_GPER 和 CMD_OVS_HPER 位设置,如 所示。
通过写入 CMD 寄存器来启动电压采样程序。这通常通过向 CMD 寄存器发送一个 BROADCAST Write_With_Response_Command 来完成。使用 BROADCAST 版本的同步采样通道命令可使级联中的所有器件同时采样。也就是说,所有器件同时开始对其各自的电芯采样,接着对各自的 AUX 采样,等等。 <h4 id="SLUSBT.3.3 推荐的采样周期 关于推荐的初始设置,请参见。允许采用其他设置;更多信息请参见。
删除了 中的 TSD (DIG) 行和注 4
Table 3. 推荐的 ADC 采样周期和设置 测量参数周期 周期寄存器首次采样第 2-8 次采样名称出厂值VCELL60&s12.6&sCELL_SPER0xBCVAUX12.6&s12.6&sAUX_SPER0xVMODULE1000&s12.6&sTEST_SPER0xF999Die Temp (ANL)100&s12.6&sCELL_SPER0xBCDie Temp (DIG)50&s不可用不可用不可用VM30&s12.6&sTEST_SPER0xF999VDD1830&s12.6&s不可用不可用REF230&s12.6&sTEST_SPER0xF999 (1) 采样周期和平均值计算模式将影响器件精度。中的&电气特性,ADC&下规定了器件精度以及实现规定精度所需的寄存器设置(包括采样周期)。允许采用其他设置。如果不采用电气特性表中规定的设置,器件精度不能得到保证。 (2) 使用的其他寄存器设置:OVERSMPL = 0x7B;PWRCONFIG = 0x80 (3) 该参数不可编程。虽然未进行平均值计算,但设计中存在一段针对 ADC 测量芯片温度的固有延迟。
<h4 id="SLUSBT4.3.4 VSENSE 输入通道 VSENSE 输入通道测量各电芯电压,测量范围为 1V 到 4.95V。每个输入应外接一个低通滤波器 (LPF) 来降低输入噪声,并连接一个齐纳二极管,以便在随机热插拔电芯时保护器件。LPF 典型值范围:电阻 100&O 至 1k&O,电容 0.1&F 至 1&F。由于系统级噪声或串联电阻过多的 IR 损耗,超出该范围取值时会降低测量精度。 把不用的输入短接到顶端电芯。例如,在 14 节电芯系统中,将不用的 VSENSE15 和 VSENSE16 输入连接到 VSENSE14。通道按从低到高的顺序使用,VSENSE0 接到底部电芯的 (&) 引脚。 这些通道 ADC 转换返回的值通过以下公式转换为电压:
Equation 1. VCELL = [(2 & VREF) / 65535] & READ_ADC_VALUE 总的通道测量精度受多种因素影响,包括但不限于 IR 回流引起的变化、板级应力、外部元件的电流泄露以及采样方法等。强烈建议最终用户按照部分所述执行&增益&和&偏移&校准。 <h4 id="SLUSBT4.3.5 AUXn 输入通道 AUXn 输入通道用于测量外部模拟电压,测量范围约为 0V ~ 5V。这些通道的典型用途是使用热敏电阻测量温度。为达到最佳工作性能,AUXn 输入通道需要一个简单的外部低通滤波器来降低高频噪声。其 RC 值取决于用户的应用需求。 这些通道 ADC 转换返回的值通过以下公式转换为电压:
Equation 2. VAUX = [(2 & VREF) / 65535] & READ_ADC_VALUE <h4 id="SLUSBT4.3.6 VMODULE 测量结果转换为电压 VMODULE 是测得的从 TOP 引脚到 GND 的电压。该值由一个内部电阻分压器进行1/25分压。置位 TSTCONFIG[MODULE_MON_EN] 可使能 VMODULE 电压的测量。使能或禁止测量以协助自检。设置为 0 时,通道测量结果应接近 0V。 该通道 ADC 转换返回的值可通过以下公式转换为电压:
Equation 3. VMODULE = ([(2 & VREF) / 65535] & READ_ADC_VALUE) & 25 <h4 id="SLUSBT4.3.7 数字芯片温度测量 将 CHANNELS[CMD_TSEL] 置 1 后,会在执行正常 ADC 测量序列的过程中对数字芯片温度进行测量。报告结果是来自于温度传感器的电压,并非实际温度。 虽然该通道未执行平均值计算,但会按照配置的过采样流程,执行同样的采样时序。 FAULT_SYS[INT_TEMP_FAULT] 会根据当前存储的测量结果和阈值持续进行更新。在正常温度范围内采样温度可以清除故障。
转换公式:
Equation 4. 内部数字芯片温度 &C = (VADC & 2.287) & 131.944 <h4 id="SLUSBT4.3.7.1 自动温度采样 初始化完成后,内部定时器会控制数字芯片温度传感器每秒采样一次。不执行任何过采样。当出现对数字芯片温度传感器进行采样的某个命令或自动检测周期时,定时器会复位。命令会中断自动温度采样,但是如果该命令不对数字芯片温度进行采样,则自动温度采样将在该命令结束时立即进行。这样会导致采样值在没有采样请求的情况下出现变化。
<h4 id="SLUSBT4.3.8 模拟芯片温度测量 将 CHANNELS[CMD_HTSEL] 置 1 后,可将模拟芯片温度测量编程设置为正常 ADC 测量序列的一部分。报告结果是来自于温度传感器的电压,并非实际温度。 不对该测量值执行内部阈值校验。为进行自检,微控制器应将该测量值同转换的数字芯片温度进行比较,并判断它们报告的温度是否相同。模拟芯片温度测量比数字芯片温度测量更加精确。因此,应将数字芯片温度测量值视为是对模拟芯片温度监控器所测温度的大致估算。主机固件必须考虑两种测量值之间存在的偏移。 转换公式:
Equation 5. 内部模拟芯片温度 &C = (VADC & 1.8078) & 147.514where
VADC=[(2 & VREF) / 65535] & READ_ADC_VALUE
<h4 id="SLUSBT4.3.9 VM 测量结果转换为电压 不会对该测量值执行内部阈值校验。期望微控制器检查该测量值是否处于正确范围内。 该通道 ADC 转换返回的值可通过以下公式转换为电压:
Equation 6. VVM = &2 & [(2 & VREF) / 65535] & READ_ADC_VALUE <h4 id="SLUSBT4.3.10 V5VAO、VDIG、VDD18 测量结果转换为电压 这些通道 ADC 转换返回的值可通过以下公式转换为电压:
Equation 7. VADC = [(2 & VREF) / 65535] & READ_ADC_VALUE 这些测量值不会执行内部阈值校验。期望微控制器检查这些测量值是否处于正确范围内。 <h4 id="SLUSBT4.3.11 自动监测 自动监测会对 AM_CHAN 寄存器中的用户自定义通道组进行周期性采样。转换结果不在通信通道上自动传输,但可通过微控制器读取。自动监测会自动检测非屏蔽故障条件,而不需要发送转换命令。当自动监测运行时,部件将完全供电并在空闲状态下保持唤醒。自动监测不影响二级保护比较器运行。 故障检测可完全正常工作,与自动监测模式禁用时一样。
NOTE 在开始请求 ADC 采样、运行校验和测试等任何新操作之前,务必禁用自动监测功能。
启用后,自动监测仅在 ADC 转换期间将 STATUS[AUTO_MON_RUN] 置 1。 通过将 AM_PER[AUTO_MON_PER] 设为非零值可启用自动监测功能。当 AM_PER[AUTO_MON_PER] 非零时,将 STATUS[AUTO_MON_RUN] 置 1 也可重新启动自动监测功能。这可以使自动监测功能测量周期与系统操作保持同步,并且/或者使级联的 IC 之间保持同步。
<h4 id="SLUSBT4.4 热关断 当任一芯片上的两个热关断 (TSD)传感器之一或全部检测到过温条件时,会产生热关断。这两个传感器在无交互的情况下独立运行,并且独立于模拟和数字芯片传感器。每个传感器都拥有一个单独的寄存器状态指示标志。当出现 TSD 故障时,该部件立即进入关断状态。要唤醒该部件,请执行正常的唤醒程序。bq76PL455A-Q1 不会自动退出关断状态。直到温度下降到低于 TSD 阈值时,才可以将其唤醒。一旦唤醒,SHDN_STS[GTSD_PD_STAT] 或 (SHDN_STS[ANALOG_PD_STAT]&& SHDN_STS[HTSD_PD_STAT]) 位将置 1。
7.3.5 电压基准 (ADC) VREF 引脚接收 ADC 的精确内部电压基准。该基准需要在引脚 VREF 和 AGND 之间并联两个 X7R 或性能更好的滤波电容;有关建议值及 PCB 布局注意事项,请参见。
<h4 id="SLUSBT4.6 电压基准 (REF2) 窗口比较器有一个 4.5V 内部电压基准。该基准不接到外部引脚。要检查该基准,请通过 CHANNELS[CMD_REFSEL] 位将其选中。
7.3.7 被动均衡
16 个内部驱动器通过标记为 EQ1...EQ16 的引脚,分别独立控制各电芯的电芯均衡。当器件通过寄存器 CBENBL 发出均衡命令后,bq76PL455A-Q1 将 EQ(N) 输出置为有效,切换到 VSENSE(N) 轨并接通 QBAL。寄存器位置为无效时,EQn 位切换到 VSENSEn&1 轨,关断 QBAL,并将均衡电流降为零。为使均衡操作正常工作,必须设置 TSTCONFIG[EQ_SQUEEZE_EN] = 0 以禁用断线检测 (OWD) 功 能。 若 CBCONFIG[BAL_CONTINUE] 设为&0&,则出现故障时 bq76PL455A-Q1 会禁用均衡功能。相应的 CBENBL 寄存器位会清零以指示这种事件。不过,存在一种例外情况。由 FALUT_DEV[USER_CKSUM_FLT] 位指示的用户校验和故障不会禁用均衡功能。下文描述了相关情形:
BAL_CONTINUE = 0:CBENBL 设为 0 并且禁用均衡功能,直到故障清除,故障状态位清零。将丢失有关均衡对象的信息。CBCONFIG 中的 BAL_TIME 位没有任何变化。于是 CBENBL 必须重新写入所需均衡操作。BAL_CONTINUE = 1:CBENBL 和 CBCONFIG 不受任何影响,并且所有正在进行的均衡继续执行。
更改 CBENBL 寄存器会产生校验和故障并导致 FAULT_DEV[USER_CKSUM_ERR] 置 1。这可能是为启用电芯均衡功能而执行置位的结果,也可能是由于故障或 CBTIME 结束而导致寄存器复位的结果。 仅当 CBENBL 中任一位置 1 时,内部均衡控制电路才会上电。有关选择外部被动均衡组件的详细信息,请参见。
<h4 id="SLUSBT4.8 通用输入/输出 (GPIO) bq76PL455A-Q1 具备 6 个 GPIO 引脚。地址为 0x78&7D 的寄存器 GPIO_xxx 控制 GPIO 行为。每个引脚都可编程为输入或输出引脚。
每个 GPIO 引脚可拥有一个内部上拉或下拉电阻,使引脚在外部电路断电时保持确定状态。上拉或下拉电阻配置处于 GPIO_PU 及 GPIO_PD 寄存器中。上拉/下拉电阻在内部连接到电源 VIO。电阻值可参见部分的电气特性表。 GPIO 引脚也能触发故障条件。经过编程的 GPIO 可通过将寄存器 GPIO_FLT_IN 的相应位置 1 来触发故障指示。 FAULT_GPI 寄存器和 DEVCONFIG[UNLATCHED_FAULT] 位控制器件对已启用 GPIO 引脚触发的故障的响应行为。用于触发故障时,GPIO_DIR 寄存器中的常用引脚配置为输入。
<h4 id="SLUSBT4.9 到主机微控制器的 UART 接口 UART 接口遵循标准串行协议 8-N-1,其发送的信息依次为 1 个起始位、8 个数据位以及 1 个停止位。总共 10 位组成一个字符时间。已接收的数据位将进行16 次过采样,以提高通信可靠性。 UART 通过 TX 引脚发送数据,通过 RX 引脚接收数据。当发送器空闲时(未发送数据),TX = 1。RX 输入引脚处于相同的空闲状态,RX = 1。不用时(即,菊花链中的非底层器件),可使用连接 VIO 的上拉电阻使 RX 线保持高电平。存在 VIO 时,不允许 RX 引脚悬空。
<h4 id="SLUSBT4.9.1 UART 发送器 通过 TX_HOLDOFF 寄存器可将发送器配置为在接收最后一位以及开始传输之前等待指定的时长。TX_HOLDOFF 寄存器指定 bq76PL455A-Q1 将会等待的位周期数,为微控制器在传输结束时切换总线方向留出时间。
<h4 id="SLUSBT4.9.2 UART 接收器 UART 接口设计在半双工模式下工作。因此,器件在 TX 引脚传输数据时将忽略 RX。为避免向菊花链接口发送数据时发生冲突,主机微控制器必须等到器件向微控制器传输的所有字节接收完毕,才能尝试向菊花链接口发送数据或命令。如果微控制器未等到前一事件的响应接收完毕就开始新事件,则通信可能会被挂起且微控制器可能需要发送通信清除(见)或通信复位(见)以恢复正常通信。
<h4 id="SLUSBT4.9.3 波特率选择 到微控制器的通信通道的波特率在 COMCONFIG[BAUD] 寄存器中设置,包括 125k/250k/500k/1M。通信复位之后的默认速率为 250k。POR 之后的默认速率通过 EEPROM 中存储的 COMCONFIG[BAUD] 寄存器的值选定。
当该寄存器中的值改变后,新波特率将在接收完某个包含新设置和 CRC 的有效数据包之后生效。下一数据包将采用新波特率发送,并且器件传输的所有数据包都将以新速率发送。可以随时改变波特率,也可以选择将新波特率存储在 EEPROM 中,作为 POR 后的新默认值。更改波特率之后,在采用新波特率发送第一个数据包之前要等待至少 10&s。 COMCONFIG[BAUD] 寄存器中的值仅影响 TX 和 RX 引脚用于微控制器通信的波特率。菊花链垂直通信总线波特率为一个更高频率的固定值,并且用户不可修改。级联中的所有器件与底层器件的波特率设置必须相同,这样才能从级联器件中读取数据。
<h4 id="SLUSBT4.9.4 通信清除(中断)检测 利用通信清除来复位接收器,以寻找帧起始并重新同步。 接收器不断监视 RX 线是否符合中断 (&BRK&) 条件。如果 RX 线保持低电平的时间不短于 tCOMM_BREAKmin 位周期(大约 1 个字符时间),则检测出中断。若发送超过 tCOMM_BREAKmax 位周期,可能导致识别为通信复位,而不是预期的通信清除。检测出中断后,会将 STATUS[COMM_CLEAR] 标志置 1。
<h4 id="SLUSBT4.9.5 通信复位检测 如果 RX 线保持低电平的时间大约超过 tCOMM_RESETmin,则检测出通信复位。发送通信复位的主要目的是在波特率被误改或未知时恢复器件。波特率无条件复位为 250kb/s 的出厂默认值,与 EEPROM COMCONFIG 寄存器中存储的值无关。这会将波特率设置为已知的固定值(250k 波特)并会将 STATUS[COMM_RESET] 标志置 1。
<h4 id="SLUSBT4.9.6 通信超时 根据来自于 UART 或差分级联通信的有效数据包缺失情况,可以对两个超时值进行编程。这两个时间可在通信超时 (CTO) 寄存器的两位字段中设置。有效数据包的定义为任何包含有效 CRC 的数据包。
<h4 id="SLUSBT4.9.6.1 通信超时故障
寄存器 CTO[COMM_TMOUT_PER] 设置任一通信接口的有效通讯的最大间隔时间,会产生 COMM_TIMEOUT 故障。 为了能够在关断产生之前检测到通信超时故障,务必将 CTO[COMM_TMOUT_PER] 设置得小于 CTO[COMM_PD_PER]。
<h4 id="SLUSBT4.9.6.2 通信超时断电(关断)
当 UART 或差分级联通信接口无有效通信的时间超过此时间后,CTO[COMM_PD_PER] 会强迫器件关断。
<h4 id="SLUSBT4.10 级联菊花链通信 在级联配置中,主微控制器首先使用 UART 通信接口与 bq76PL455A-Q1 器件通信,请参见。然后,通信采用专用差分通信协议通过由 COMMH+/& 和 COMML+/& 引脚互连组成的 AC 耦合差分链路转发到所连从 bq76PL455A-Q1 器件的菊花链。 菊花链中的每个器件可对信号驱动电平起缓冲作用。信号不会被重新同步时钟或滤波;信号通过器件后不会发生变化并且无论目标器件如何,所有级联都可以看见所有数据序列。在向菊花链中下一个器件传送前,不会对数据包进行验证。单独寻址或组寻址器件在接到数据包并验证地址、消息内容及 CRC 正确无误后,将立即执行该命令(例如,开始 ADC 转换)。
Figure 17. 简化的级联通信连接
<h4 id="SLUSBT.10.1 差分通信 bq76PL455A-Q1 采用两个差分通信链路,分别执行不同任务。发送器和接收器使用的硬件相似。COMML+/& 和 COMMH+/& 引脚对上用于数据和命令(垂直总线或 VBUS)的通信链路是双向的,其中 FAULTH+/& 引脚仅作为接收器, FAULTL+/& 引脚仅作为发送器。
NOTE 无法禁用 UART 接收器 (RX)、COMMH+/& 发送器及 COMML+/& 接收器。
底层器件以可变波特率(从 125kb/s 到 1Mb/s)通过 UART 发送和接收数据。VBUS 菊花链采用专用异步协议,以 4Mb/s 的固定标称数据速率工作。每 10 位作为一个字节发送,速率为每位 250ns 或每字节 2.5&s。底层器件采用单端串行接口选择的波特率,在连接主机系统的单端接口上重发与差分串行接口往来的数据。菊花链中所有 bq76PL455A-Q1 器件应设置为相同的波特率,以使器件之间的时序保持一致。 VBUS 接口采用 UART 协议的修改版本,以便与 UART 协议相互转换。传输一位(包括两个半位)需要 250ns。这实际上是一个相移键控 4MHz 信号,因此传输结果有 4MHz 和 2MHz 两个成分。更多信息请参见。
<h4 id="SLUSBT4.10.2 协议 描述 差分 VBUS 采用异步字节传输协议,含有一个起始位、八个数据位和一个可选的帧位。起始位始终为零。数据以LSB形式串数,并且每一位均以周期对称的形式出现,使得发送信号不存在直流分量。零采用先半位周期低、后半位周期高的形式传输。一采用先半位周期高、后半位周期低的形式传输。帧位为一会导致该字节被丢弃并且字节中止标志 (FAULT_COM[ABORT_H 或 ABORT_L]) 置 1。由于在差分口上传递的数据对应于正在从单端UAR口上接收到的数据。 每当 bq76PL455A-Q1 检测到帧位为零的字节,都会将其解释为帧初始化字节。若前一帧未完成,则 FAULT_COM[FRAM_ERR] 置 1。 若检测到起始位,接收器会在第四个时钟沿上对输入进行采样以生成该位。由于位后面总是紧随补码,两者将进行对比,如果它们不对应,则补码错误标志(FAULT_COM[COMP_ERR_H 或 COMP_ERR_L])置 1。当某个帧内第一次发生补码错误时,会假设该位(不是补码)的第一次采样正确。(若该选择是错误的,则应检测到 CRC 故障。)如果某个帧内多次发生补码错误,则补码故障标志(FAULT_COM[COMP_FLT_H 或 COMP_FLT_L])置 1,并忽略该帧。由于器件忽略了帧的其余部分,当下一帧到达时会发生 FRAM_ERR 错误。 接收字节时,接收器会在每个下降沿重新同步。至少每 3 位应出现一个下降沿。若在期望的第四位采样点未检测到下降沿,则沿错误标志(FAULT_COM[EDGE_ERR_H 或 EDGE_ERR_L])置 1,并且接收器将丢弃帧并返回空闲状态。
如果 bq76PL455A-Q1 器件在低侧接口 (COMM_L+/&) 检测到八个连续的边沿错误,而未接收到任何有效字节,则通讯模块将复位,复位方式与 SOFT_RESET 相同。以便允许下方级联芯片发出的唤醒信号能够成功唤醒该器件。
Figure 18. VBUS 数据示例,发送 0x4E
<h4 id="SLUSBT4.11 寄存器及 EEPROM
<h4 id="SLUSBT4.11.1 差错校验和纠正 (ECC) EEPROM 某些选定寄存器的寄存器值永久存储在 EEPROM 中。所有寄存器还以易失性存储单元的形式存在于相同的地址,称为影子寄存器。易失性寄存器用于读取、写入及器件控制。有关 EEPROM 中包含的寄存器列表,请参见。 唤醒时,bq76PL455A-Q1 首先会将中的默认值加载到所有影子寄存器中。随后,bq76PL455A-Q1 将 EEPROM 的差错校验和纠正 (ECC) 评估结果中的相关 EEPROM 内容有条件地加载到这些寄存器中。 EEPROM 以 64 位块的形式加载到影子寄存器中,每个块存储有自己的差错校验和纠正 (ECC) 值。ECC 检查 EEPROM 存储数据中的单位(单错纠正)或双位(双错检测)变更。
每个块的 ECC 单独计算。系统会纠正单位错误,但只检测双位错误,不会纠正。ECC 良好的块被加载。出现错误的块被纠正,FAULT_DEV[USER_ECC_COR] 或 FAULT_DEV[FACT_ECC_COR] 位置位,标志差错纠正事件。该块在纠正单位错误后加载到影子寄存器中。由于逐块进行评估,因此,可能出现多个块存在每块单个可校准错误但仍可正确加载的情况。可存在多位错误并被全部纠正,但前提每个块仅存在一个错误。 但器件不会加载 ECC 对比结果不良(同一块中两个位错误)的块,且 FAULT_DEV[USER_ECC_ERR] 或 FAULT_DEV[FACT_ECC_ERR] 位置位,以标志故障位错误事件。默认值保留在寄存器中。这样可确保正确加载某些块(无故障或单位纠错值),而不加载另一些块。每当出现任一 FAULT_DEV[*_ECC_ERR] 置位但错误条件未通过软复位清除时,表示器件发生故障,不可使用。
<h4 id="SLUSBT4.12 FAULT 检测和信号指示 层叠器件中的每个 bq76PL455A-Q1 通过一个与 UART 链路分离的专用差分 FAULT 链路,将任何监测到的激活/锁存故障条件通知给主微控制器。FAULTH+/& 和 FAULTL+/& 引脚实现的 AC 耦合差分信号机制类似于通信引脚 COMML+/& 和 COMMH+/&,但这种机制只使用简单的心跳信号,分别通过重复脉冲的出现与缺失来指示正常或故障状况。低占空比心跳信号会在检测到故障时停止,此时故障条件会将其中一个 FAULT_* 寄存器中的一个位置位。已屏蔽的故障不影响心跳信号的生成。
<h4 id="SLUSBT4.12.1 故障流原理图
Figure 19. 数字量故障
Figure 20. 模拟量故障
Figure 21. AUX 和 GPIO 引脚故障
Figure 22. 系统故障
Figure 23. 顶层故障结构
<h4 id="SLUSBT4.12.2 FAULT 信号指示 如果系统中不存在已启用但未屏蔽的故障,FAULT 总线会以固定频率传输简单的心跳脉冲信号。屏蔽故障时并不会清除预先存在的故障条件。检测到故障的器件会停止向下行链路中的 IC 传输心跳信号。IC 会在下方通信栈中检测这种故障条件,并将 FAULT_N 引脚置为有效,前提是在 COMCONFIG 中将这些芯片配置为检测心跳信号缺失情况。FAULT_N 只有在 COMCONFIG 中的 UART_EN 位置位时才会置为有效。 IC 间的差分信号线通过一个隔直电容隔离,这种机制类似于差分通信 VBUS 菊花链。电容额定值通常至少是级联电压的两倍,这样可提供足够的均衡裕量来处理系统故障,防止器件受到局部危险电压损伤。一个电容即足以确保器件的正常运行。但系统设计人员可选择使用两个电容,即电缆或 PCB 接线的每端一个,用于增加安全系数。在这种情况下,需使用正常要求两倍的电容值,从而两个串联电容与单个电容有相同的值。 心跳信号来自于器件的主振荡器,并通过级联中的每个器件单独生成这些信号。下层的器件之间不会复制或重新传输超上层器件的信号值。级联中的每个器件单独检测指示存在故障心跳问题的 FAULT_COM[STK_FAULT_ERR],并且在某些故障条件下,只有部分器件能检测到。 FAULT_N 引脚信号可指示源自内部源以及级联内上层的 IC(如果使能)的故障。若在 FO_CTRL 寄存器中使能故障源,FAULT_N 引脚可指示内部故障。若通过 COMCONFIG[FAULT_HIGH_EN 使能,FAULT_N 引脚可指示上层级联器件的故障。在复位或关断条件下,FAULT_N 引脚始终输出低电平信号。
<h4 id="SLUSBT4.12.3 故障检测 可以在寄存器 MASK_COMM、MASK_SYS 和 MASK_DEV 中屏蔽故障源。屏蔽故障可防止标志后来被置位,但不会清除已经置位的故障标志。 每当触发未屏蔽故障条件时,器件就会在地址 0x52&63 的相应 FAULT_* 寄存器中置位一位。 当器件检测到未屏蔽故障,或者使能故障通信后来自上层器件的心跳信号停止时,FAULT_N 引脚下拉为低电平,将故障情况通知给用户电路或微控制器。如果 COMCONFIG 中的 UART_EN 位已置位,级联中检测到任何此类情况每个器件都会将 FAULT_N 引脚拉低。FAULT_N 引脚拉低的同时心跳信号会停止。 通常,在 RESET、POR 或正常唤醒后,用户固件必须清除 FAULT_SYS[SYS_RESET] 才能启动心跳信号。如果存在已使能的级联通信接口,心跳信号将在清除 SYS_RESET 并在北侧接口 FAULTH 引脚上接收到四个周期的心跳信号后启动。这通常需要约 400&s 的时间,并且会导致 STATUS[STACK_FAULT] 标志被清除。 故障通过 FAULTL 引脚向级联下方传输。级联中两个相邻 bq76PL455A-Q1 器件中的下层器件会监视 FAULTH 引脚上是否存在上层器件传播而来的故障。 当 COMCONFIG[FAULT_HIGH_EN] = 1 时,逻辑会监视接收器的下降沿。欠频率条件下,STATUS[STACK_FAULT_DET] 和 STATUS[STACK_FAULT] 标志会被置位。注意,这样就可以在间隔脉冲丢失的情况下不报告错误。 过频条件下,FAULT_COM[STK_FAULT_ERR] 标志被置位。一旦高侧故障引脚恢复正确的信号,随即便可再次清除该故障。 在以下任一条件下,故障心跳信号会停止且 FAULT_N 引脚置位:
故障心跳信号在高侧故障接口 FAULTH 引脚上停止(如果未配置为将其忽略) 器件中的某些自动功能检测到故障;即,二级保护器 VSENSE 比较器、校验和故障、自动内部温度采样等自动监视器采样得到超出范围并导致故障的值采样命令返回超出范围并导致故障的值内部自检失败
NOTE STK_FAULT_ERR 在某些条件下可能无法清除。
如果检测到 STK_FAULT_ERR 且之后高侧故障引脚上未出现任何脉冲边沿(上层芯片发生故障条件时便属于此类情况),则可能无法清除 STK_FAULT_ERR 标志。 已屏蔽的 STK_FAULT_ERR 在初始化期间不会被清除。因此,启动期间会有一个约 4.5&s 的时窗,期间如果高侧故障接收器检测到超过四个下降沿,即使 STK_FAULT_ERR 已屏蔽也会被置位。
<h4 id="SLUSBT.12.3.1 故障输出控制 FO_CTRL 允许成组已启用的故障在相应位置位后驱动引脚。当该寄存器位置位后,出现任何指定类型的故障都会导致已启用的故障输出(FAULTL、FAULT_N)置为有效,即 FAULT_N 驱动为低电平,FAULTL 引脚上的心跳信号停止。 在该寄存器中启用以下故障组(有关位位置的详细信息,请参见 ): 任意 UV 故障(VSENSE 输入)任意 OV 故障(VSENSE 输入)任意 UV 故障(AUX 输入)任意 OV 故障(AUX 输入)任意 UV 故障(窗口比较器)任意 OV 故障(窗口比较器)任意通信故障(请参见 FAULT_COM)任意系统故障(请参见 FAULT_SYS)任意器件故障(请参见 FAULT_DEV)任意 GPIO 故障(请参见 FAULT_GPI)
7.3.12.3.2 故障屏蔽 以下寄存器可单独或成组启用或屏蔽故障源。屏蔽故障可防止其被置位,但不会清除现有故障位。 MASK_COMM - 通信相关故障MASK_SYS - 电源、过热等系统故障MASK_DEV - 内部寄存器校验和故障等GP_FLT_IN - GPIO 输入电平故障NCHAN - 屏蔽未使用通道的故障,关闭未使用通道的窗口比较器
<h4 id="SLUSBT4.12.4 故障锁存 当 UNLATCHED_FAULT 置位时,某些故障寄存器中的位(相关寄存器,请参见以下文本和)将在故障条件解除后自动清零。连续置位故障将在条件解除后清零。通过事件置位的故障将在事件发生后清除(比如采样通道将在完成通道采样后清零)。在此模式下,对所相关故障寄存器执行写操作没有任何作用。检测到未锁存故障并将其清除后,会导致相关标志位 FAULT_N 和 FAULTL 出现瞬态行为。 DEVCONFIG[UNLATCHED_FAULT] 位的变化应该只在没有故障位置位时发生。当 UNLATCHED_FAULT 位发生变化且故障位&=&1 时,故障位的锁存/未锁存状态并不明确。 以下寄存器中的故障位不受 DEVCONFIG[UNLATCHED_FAULT] 位影响且始终被锁存:
FAULT_COM - 所有位 FAULT_SYS - 除 INT_TEMP_FAULT 外的所有位FAULT_DEV - 所有位
DEVCONFIG[UNLATCHED_FAULT] 位置位后可防止以下寄存器中的故障位被锁存:
FAULT_UV - 超出欠压 VSENSE ADC 限值FAULT_OV - 超出过压 VSENSE ADC 限值FAULT_AUX - 超出 AUXn_UV 或 AUXn_OV 中的可编程 AUX 阈值FAULT_2UV - 超出欠压 VSENSE 次级保护比较器限值FAULT_2OV - 超出 VSENSE 次级保护比较器限值FAULT_SYS - 仅限 INT_TEMP_FAULT 位FAULT_GPI - GPIO(可编程)逻辑输入电平触发一个故障
<h4 id="SLUSBT4.12.4.1 未锁存故障模式下的特别注意事项
在未锁存模式下,若 FAULT_2UV 和 FAULT_2OV 寄存器检测到并记录二级保护器(窗口比较器)故障且存在一个或多个其他模拟量芯片故障(VP_FAULT、VDIG_FAULT 或 VM_FAULT),则这些故障在所有故障清除后才能清除,即使故障条件已解除也是如此。也就是说,它们会保持锁存状态,直到这些故障全部清除。 如果这些故障(FAULT_SYS[VP_FAULT、VP_CLAMP、VM_FAULT 或 VDIG_FAULT])存在,可以假设比较器运行不正常/停止报告故障,因为它们会停止运行,而不是故障条件已解除。
<h4 id="SLUSBT4.12.5 故障状态和故障复位 以下寄存器可单独或成组读取或复位故障状态。
STATUS - 所有故障与级联故障条件之和存储在此寄存器中,某些故障信息位在此复位。该寄存器位于故障层级结构顶层。 FAULT_SUM - 故障组按此寄存器中的各个标志分类汇总,并可在此进行读取或复位。该寄存器位于故障层级结构第 2 层。FAULT_UV - 超出欠压 VSENSE ADC 限值。该寄存器位于故障层级结构第 3 层。FAULT_OV - 超出过压 VSENSE ADC 限值。该寄存器位于故障层级结构第 3 层。FAULT_AUX - 超出 AUXn_UV 或 AUXn_OV 中的可编程 AUX 阈值。该寄存器位于故障层级结构第 3 层。FAULT_2UV - 超出欠压 VSENSE 次级保护比较器限值。该寄存器位于故障层级结构第 3 层。FAULT_2OV - 超出过压 VSENSE 次级保护比较器限值。该寄存器位于故障层级结构第 3 层。FAULT_SYS - 系统级故障:电源、过热、通信超时和复位。该寄存器位于故障层级结构第 3 层。FAULT_GPI - GPIO(可编程)逻辑输入电平触发一个故障。该寄存器位于故障层级结构第 3 层。FAULT_COM - 通信故障。该寄存器位于故障层级结构第 3 层。FAULT_DEV - 器件故障。该寄存器位于故障层级结构第 3 层。
<h4 id="SLUSBT4.12.6 校验和故障 为发现寄存器变化,bq76PL455A-Q1 会计算校验和并与存储的值相比,在后台持续检查寄存器内容。bq76PL455A-Q1 检测变化的频率为大约每 2&s 一次。这些变化可能是有意的(即微控制器写入的变化)或者无意的(由于出现意外器件或系统故障),在某些情况下,也可能因自动化操作所致(平衡定时器超时)。将在 TI 空间以及 USER 空间对寄存器执行此检测。这包括大多数因微控制器导致变化的寄存器;如需了解相关位置的准确列表,请参见 CSUM_RSLT 寄存器保存当前计算的校验和值。它将该值与寄存器 CSUM 中存储的校验和值进行比较。为更新存储的值,需读出 CSUM_RSLT 中的当前值并将其写回 CSUM 寄存器,或者按所示计算该值。通过适当设置 MAGIC1 和 MAGIC2,然后设置 DEV_CTRL[WRITE_EEPROM],可将校验和存储到 EEPROM 中的 CSUM。MAGIC1 和 MAGIC2 的相应值在本文档章节 请参见 WRITE_EEPROM 位字段描述中说明。 若 CSUM 和 CSUM_RSLT 不匹配,FAULT_DEV[USER_CKSUM_ERR] 标志将置位,直到相关错误条件得到纠正。该故障标志未锁存,在不匹配条件解除后即可自我清除。 对 TI EEPROM 空间连续监视的方式与同时对 USER 空间监视的方式类似。如果检测到寄存器变化,FAULT_DEV[FACT_CKSUM_ERR] 标志置位。此时,用户固件应执行相关器件的软复位。该故障标志不会自我清除。对该位写 1 可将其清除。如果软复位无法纠正问题,请勿再使用该器件。
<h4 id="SLUSBT.12.6.1 校验和测试 每个校验和(TI 与 USER 空间)的测试模式都会导致校验和计算中的每个输入位(即校验和计算涉及的寄存器位)翻转两次(每个时钟一次),而且 TEST_CSUM 寄存器中包含校验和故障输出的变化次数。这有助于确保之前介绍的后台校验和检测正确发现所有处在错误状态的位。 用户的固件通常作为自检和验证的一部分,可发起测试。TESTCTRL[CKSUM_TEST_RUN] 位置位即可启动对 TI 或 USER 空间寄存器进行测试。有关位设置的详细信息,请参见。 NOTE 其他故障可在运行该步骤的过程中置位,但可将其忽略。
<h4 id="SLUSC.3.12.6.1.1 计算用户校验和 用户校验和是通过用户数据空间中的所有数据值算得的一个 32 位值。计算过程是对寄存器和常量连接的 32 位值进行 32 位加法操作。如下所示,该计算过程包含指定地址的数据或 0:
cust_cksum_calc =\{0, 0, 0, a3\} +\{a4, a5, a6, a7\} +\{0, 0, a10, a11\} +\{0, a13, a14, a15\} +\{a16, a17, a18, a19\} +\{a20, a21, 0, 0\} +\{0, 0, a30, a31\}+\{0, 0, a34, a35\}+ \{a36, a37, 0, 0\} + \{a40, 0, 0, 0\}+ \{0, 0,a50, a51\}+ \{a52, a53, a54, a55\} + \{0, a61, a62, a63\} + \{a64, a65, a66, a67\} +\{a68, 0, 0, 0\}+ \{a104, a105, a106, a107\} + \{a108, 0, a110, a111\} + \{a120, a121, a122, a123\} + \{0, a125, 0, 0\}+ \{a140, a141, a142, a143\} + \{a144, a145, a146, a147\} +\{a148, a149, a150, a151\} + \{a152, a153, a154, a155\} + \{a156, a157, a158, a159\} + \{a160, a161, a162, a163\} + \{a164, a165, a166, a167\} + \{a168, a169, a170, a171\} + \{a172, a173, a174, a175\} + \{a176, a177, 0, 0\} + \{a200, a201, a202, a203\} + \{a204, a205, a206, a207\} + \{0, 0, a210, a211\} + \{a212, a213, a214, a215\} + \{a216, a217, a218, a219\} + \{a220, a221, a222, a223\} + \{a224, a225, a226, a227\};
NOTE 在示例代码中,a_ 是指寄存器地址编号。例如:a3 = 寄存器地址 0x03。
<h4 id="SLUSBT4.12.7 AUXn OV/UV 阈值故障 AUXn 输入引脚可触发故障指示。每个 AUXn 输入的 OV 和 UV 阈值可在 AUXn_OV 和 AUXn_UV 寄存器中单独设置。每个 AUXn 通道转换的结果将与这些设置值进行比较。当超出阈值时(小于 AUXn_UV 或大于 AUXn[OV]),FAULT_N 和 FAULTL 引脚如果已使能,则置为有效。如需终止一个或多个通道中不必要的 FAULT 引脚置为有效(但其他通道需要),请将这些通道的阈值电压设置为其最小值和最大值,或者只转换所需通道。 FAULT_AUX[AUX_UV_FAULT、AUX_OV_FAULT] 将根据当前存储的 ADC 结果和阈值连续置位。这样即可通过更改阈值来检测阈值和故障,而无需对通道进行采样。 示例: 设计需要将 AUX0 和 AUX1 欠压阈值设为 1V,将 AUX0 和 AUX1 过压阈值设为 3V,另外还要求 AUX2...AUX7 发生 AUX UV 或 OV 时不激活任何 FAULT 引脚。设置以下条件:
AUX0_UV = 1V,AUX0_OV = 3VAUX1_UV = 1V,AUX1_OV = 3VAUX2_UV = 0V,AUX2_OV = 5VAUX3_UV = 0V,AUX3_OV = 5VAUX4_UV = 0V,AUX4_OV = 5VAUX5_UV = 0V,AUX5_OV = 5V AUX6_UV = 0V,AUX6_OV = 5V AUX7_UV = 0V,AUX7_OV = 5V
<h4 id="SLUSBT4.12.8 次级保护器:判定电池 UV/OV 的模拟量窗口比较器 共有 32 个模拟量比较器成对连接构成 16 个通道的窗口比较器,可提供电池电压监测功能,与主采集路径分离并与主 ADC 路径并联。通过 NCHAN 寄存器中使能的通道数配置该模拟量窗口检测到的故障数。在 AFE 或 ADC 发生故障时,模拟量比较器仍能够标志(寄存器可选)超出欠压和过压比较器阈值的情况。 为避免不必要的比较器故障,通过两个内部 DAC 分别设置过压 (COMP_OV) 和欠压 (COMP_UV) 阈值。DAC 使用 REF2 (4.5V) 基准电压,其电路与 2.5V (VREF) ADC 基准电压分离。OV 阈值范围可以为 2V 至 5.175V,步长为 25mV。UV 阈值范围可以为 0.7V 至 3.875V,步长为 25mV。
NOTE 当电池电压很接近比较器阈值时,启用或禁用电池均衡可能会导致瞬时比较器故障。
使用 DEVCONFIG[COMP_CONFIG] 寄存器使能 OV 和 UV 故障、仅 OV 故障或者无故障。无法使能仅 UV 故障。 NOTE 如果正常运行期间比较器禁用后重新启用(比如启动后出现这种情况),器件将指示 OV 故障,并且必须手动清除。
<h4 id="SLUSBT4.12.8.1 窗口比较器特别注意事项 如 所示,每个 VSENSE 引脚串联一个大约 100&O 的电阻,从而隔离了 AFE 与次级保护电路(窗口比较器)。这种隔离方式可检测影响 AFE 和次级保护电路的常规故障。 器件中的压榨功能可帮助检测感测线开路(相对被监测电池)条件。压榨功能启用后,可在相邻 VSENSE 输入间形成一个约 5k&O 电阻,并通过约 100&O 的串联电阻形成额外的压降。这样会导致施加到上方窗口比较器块以及下方应用了压榨电阻的输入端的电压明显升高。只有比较器可检测到电压升高,AFE 则检测不到。从而即使外部检测引脚的电压测量值正常,也可能导致触发 OV 比较器故障(取决于 OV 阈值)。 CAUTION 如果在断线条件下使用断线检测功能并且连接外部齐纳二极管的连接断开,则会导致内部器件受损。
强烈建议在纠正开路条件后对 bq76PL455A-Q1 进行全面诊断测试。特别注意,需根据 AFE 的精度验证窗口比较器的精度,确保符合参数化规范。如果出现不合规情况,请立即卸下相关的 bq76PL455A-Q1 器件。 在 的示例中,若启用 VSENSEn-1 至 VSENSEn 之间的 Squeeze 电阻,将导致电池 n&1 和电池 n+1 的比较器检测到电压明显升高。对于电池 n 的电池电压(本例中约为 3.6V),连接窗口比较器块(而不是 AFE)的内部线路上还会出现约 (3.6V / 5K & 100 & 2) = 144mV 的压降。这也会导致被断线检测电池上下的电池表现约 72mV 的电压升高。输入电阻更大(比如 1k&O)时,将凸显该错误源,但可能导致意外触发窗口比较器(具体取决于阈值设置),并且还将更改本例中的计算方式。
Figure 24. 窗口比较器输入配置概述
<h4 id="SLUSBT4.12.9 通信故障 在正常数据通信期间,噪声可能导致位数据流错误。根据 MASK_COMM 和 MASK_SYS 寄存器中的掩码设置,这些错误可能引发故障。
UART 通信故障详情请参见 差分 (VBUS) 通信故障 请参见 属于协议描述 请参见 (请参见)
<h4 id="SLUSBT4.12.10 通信超时计数器 使用 COMM_TIM_CNT 设置并读取超时计数器的 24 位最高有效位,检查通信超时计数器。超时计数器通过一个 4kHz 时钟源驱动。为辅助此项测试,可设置 CCNT_RST_OFF,确保用于计数器置位或监视的通信不会复位计数器。计数器值可使用 COMM_TIM_CNT 设置,以加快时间长时的测试。不可访问的位均可通过写入该寄存器来置位为&1&,以快速测试计数器翻转。
<h4 id="SLUSBT4.13 内置测试功能 为使用内置测试功能,需设置各个寄存器中的位。关于如何确定这些位,在相应寄存器及其位的描述中介绍,请参见。
<h4 id="SLUSBT4.13.1 安全手册和 FMEDA bq76PL455A-Q1 的安全手册
() 可从 ti.com 下载。请联系您的 TI 销售联系人或 应用 工程师以获取 bq76PL455A-Q1 FMEDA ()。
<h3 id="SLUSBT4 器件功能模式 bq76PL455A-Q1 器件有三种电源状态(模式):
关断(休眠) - 最低功耗状态,长时间不活动时使用,以延长电池寿命。空闲 - 。活动 - 通信时的最高功耗状态;即空闲加通信活动。
<h4 id="SLUSBT4.1 关断 关断状态是器件的最低功耗状态。在此状态下,电源关闭,对大多数内部块禁用监视。通常,关断状态适用于长时间不活动场景,此时电池未充电或放电。器件必须在 WAKEUP 引脚接收高电平信号,或者通过纵向通信总线接收唤醒信号来过渡到空闲状态。 要进入关断模式,需移除 VP、VDIG 的外部电压源以及 AUX 引脚和其它 I/O 引脚的所有输入电压源。VIO 可在关断模式下保持,GPIO 则基于 VIO 保持。在关断模式下,VP 和 VDIG 必须保持关闭或禁用,以避免电源通过 ESD 结构回供给 bq76PL455A-Q1。当 VIO 为低电平时,bq76PL455A-Q1 将立即复位。保持 VIO 超过 VIOSD_DLY MAX 会导致器件进入关断模式。 WAKEUP 引脚必须保持低电平状态才能使器件进入并保持关断状态(将引脚设为低电平不会使器件进入关断状态)。如果 WAKEUP 引脚保持高电平状态,器件将循环断电并立即接通。如果 WAKEUP 引脚浮空,则运行难料,因此务必使该引脚保持确定状态。尽管这对器件不会造成损坏,但可能导致系统出现异常行为。
如果未使用 NPN 电路(外部电源),VP 和 VDIG 应在进入关断模式后立即关闭。VP 和 VDIG 下拉为低电平也可以使器件进入关断模式。 发生以下任何情况时,器件将进入关断模式:
用户通过命令将 DEV_CTRL[PWRDN] 置为有效(通常该命令以广播形式发出),请求关断。bq76PL455A-Q1 基板上的 WAKEUP 引脚必须保持低电平状态。出现因寄存器 CTO[COMM_PD_PER] 中的定时器设置导致的通信超时,原因是: 设定时间内未接收到有效数据帧(数据包),或者 无论是否接收到有效数据帧,TSTCONFIG[CCNT_RST_OFF] 都置位并定时器过期,通常这属于 BIST 的一部分。 在最后一次关断且 VDIG 下降到其关断阈值 (DDIEPOR) 以下后的一段时间内,TSTCONFIG[VDIG_TEST] 置位。若置位后再清除 TSTCONFIG[VDIG_TEST],即使该位将读为 0,也不会禁用此控制。在器件进入关断模式前都不会禁用。两个热关断 (TSD) 电路之一检测到过热条件(每个芯片上有一个传感器单独运行,并且使用单独的寄存器标志指示)。VIO 低于其 VIOPOR 阈值的时间超过 VIOSD_DLY。V5VAO 低于 V5VAOSD POR 阈值。内部 VP 稳压器开启并尝试驱动 NPNB 信号,但 VP 保持低于内部 VP POR 阈值的时间超过 VPSD_DLY。
NOTE 一旦进入关断状态,该器件必须重新唤醒才能继续正常运行。请参见。
<h4 id="SLUSBT4.2 唤醒 出现以下任一情况时,bq76PL455A-Q1 器件将唤醒并进入空闲状态:
WAKEUP 引脚为高电平 COMML 引脚接收到唤醒信号
<h4 id="SLUSBT4.3 从关断状态唤醒的行为 WAKEUP 引脚可将器件从关断状态过渡到空闲状态。它在任何层叠位置都可以做到这一点。不过,从微控制器驱动时,通常只有基底器件使用该引脚。该引脚通过电平控制,通常处于低(逻辑零)电平。当该器件处于关断状态且 WAKEUP 引脚变为高电平时,器件会从关断状态过渡到空闲状态。应用高电平信号后,WAKEUP 引脚必须置为无效然后返回低电平状态,才能允许器件再次进入关断状态。在状态变化时,bq76PL455A-Q1 会将其 COMMH+ 和 COMMH& 引脚上的一个差分唤醒信号快速发送到下一个更高的 bq76PL455A-Q1,由该器件的 COMML+ 和 COMML& 引脚进行接收。 NOTE WAKEUP 引脚通常保持置为无效(低电平)状态。如果该引脚置为有效(高电平),在器件接收到进入关断状态的命令时,它将立即重新唤醒并进入空闲状态。为防止意外的状态转换,该引脚不得浮空。如果驱动该引脚的器件没有电源,应确保该引脚没有浮空。
级联底部器件(最南端)从 COMMH 引脚发出唤醒信号以响应 WAKEUP 引脚置为有效。紧邻的上层器件在 COMML 引脚接收 WAKEUP 信号。该器件唤醒,并将 WAKEUP 信号发送到其紧邻的上层器件。WAKEUP 信号在级联中以这种方式向上传播,直到唤醒其中的所有器件。当器件处于关断状态时,COMML 引脚处于接收模式,不再进行传输。
<h4 id="SLUSBT4.4 上电复位 (POR) 或唤醒 IC 的状态机在唤醒时完全复位。唤醒会导致 VP/VDIG 输出使能,从而激活 VDD18,为部分模拟量电路以及全部核心逻辑电路(包括寄存器和 EEPROM)供电。这是有效的器件 POR 操作。所有寄存器将装入存储在 EEPROM 中的值。未从 EEPROM 加载的寄存器复位为 指示的默认值。 NOTE 因故发生复位后,某些故障需要在采样后才有效 (=0)。FAULT_UV、FAULT_OV 和 FAULT_AUX 寄存器中的所有故障位均无效。此外,FAULT_DEV[HREF_FAULT、HREF_GND_FAULT] 位也无效。读取故障寄存器不会导致对这些位进行采样或更新。必须给器件发送对所有通道采样的命令,才能更新上述故障位,使其生效。
注意,对各种复位源如 POR、软复位或从下层器件接收到唤醒信号等,这一顺序都相同。 外部 NPN 稳压电路接通。VP、VDIG(如果连接到 VP,还包括 VIO)开始斜升。如果 VIO 由外部电源(比如微控制器 I/O 电源)供电,则 VIO 必须稳定且大于其 POR 阈值。一旦 VDIG 达到其 POR 阈值,内部 1.8V(内部数字电源 VDD)稳压器即开始斜升。一旦 VDIG 达到 POR 阈值,VREF 和内部 1.8V 电源 (VDD18) 启动。VDD (1.8V) 电源的基准为 VREF,这样它就不会在 VREF 达到其最终电压前达到最终工作电压。一旦 VP、VDIG、VIO 和 VDD 全部达到各自的 POR 阈值,则振荡器启动。振荡器开始运行后,有限状态机 (FSM) 随即启动并开始将唤醒信号从高侧接口 (COMMH&) 发出。FSM 再等待约 10&s 以准备好 EEPROM。从 EEPROM 加载所有系统寄存器。相关信息会传播到模拟芯片寄存器,除非稳压器电源断电。如果 GPIO 寻址已使能 (DEVCONFIG[ADDR_SEL] = 0,则会对 GPIO[4:0] 引脚采样来确定器件的通信地址并将其记录到 ADDR。采样内部数字芯片的温度通道。此操作将预加载温度值,确保基于温度的校准正常运行。初始化期间不会对其他通道采样,对这些通道采样后才能生成相关故障。清除所有可能发生的屏蔽故障。其中包括基于阈值屏蔽的故障。开始监视 UART 通信。 初始化模拟芯片故障。(同时并行执行后续步骤,无须等待以下子序列完成。) 等到模拟芯片不报告任何 VM 故障,或者用户对 STATUS[SYS_INIT] 写&1&。使能所有模拟芯片故障寄存器。设置 STATUS[SYS_INIT] = 0。 如果 AM_PER[AUTO_MON_PER] 不为 0,则立即开始首个采样周期。 等待唤醒信号完成。开始监视差分通信。一旦主机控制器清除 FAULT_SYS[SYS_RESET] 故障,若外部 NPN 稳压器已禁用(即 DEVCONFIG[REG_DISABLE] = 1),即关闭该稳压器的电路。 当上述系统初始化序列正在进行时(SYS_INIT 读为&1&),许多故障无法正确报告,采样命令可能不会正常运作。另外还需注意,中止初始化序列(写&1&到 SYS_INIT)可能导致报告错误故障并在模拟通道采样时报告无效结果,直到 VM 电压增大到稳定为止。 此外,一旦 VM 故障清除(或者用户中止初始化序列),使能 UART 通信以及完成初始化过程都会出现延迟。 <h4 id="SLUSBT4.5 计算唤醒时序 以下序列假定微控制器电源电路提供 VIO 电源。主机控制器发起序列,VIO 上升到稳定状态。(如果 VIO 连接到稳压器,该序列也不会改变。不过,若是某些其它源提供 WAKEUP,但微控制器提供 VIO 电源,则 VIO 电源需要在 WAKEUP 的 VIOSD_DLY 时间内达到 POR 阈值,否则器件将返回关断状态。)
用户将底板底层器件上的 WAKEUP 引脚置为有效。此时,VP 稳压器将开启并且 VP/VDIG 电源斜升。VP/VDIG 达到 POR 阈值所需的时间各不相同,具体取决于设计人员的元件选型。(注意:VP/VDIG/VIO 必须全部达到各自的 POR 阈值。)一旦 VP 达到其 POR 阈值,VREF 也需斜升到其工作电压。从达到 POR 阈值到从高侧接口开始发送唤醒信号的时间即为 tWAKEUP_DLY。从开始传输唤醒信号到允许器件通信的时间为 tWAKEUP_TO_UART。
NOTE 如果该器件没有级联,则此时即可开始与器件通信。如果还与其它器件级联,用户仍可在此时开始与底部器件进行通信。不过,这可能导致上层级联的 bq76PL455A-Q1 器件内的错误标志置位。 从下方器件(第 3 步末尾)的高侧传输唤醒信号到打开当前电路板稳压器的时间即为 (tWAKE_TONE_DLY_DC & tWAKEUP_DLY)。稳压器打开后开始斜升 VP/VDIG/VREF/VIO 电源。与底层器件相同,此时间取决于电路板。从达到 POR 阈值到级联上方相邻级联器件的高侧接口开始发出的唤醒信号所需时间即为 tWAKEUP_DLY。注意,为方便计算,将 #5 和 #7 组合可得 tWAKE_TONE_DLY_DC。从高侧接口发出唤醒信号到允许与该器件通信的时间为 tWAKEUP_TO_DCOMM。 如果级联中还有其他器件,则需相应执行步骤 5&8 。 为计算从 WAKEUP 置为有效到级联准备好通信的总时间,需定义以下内容: tBOT_RAMP,底板电源斜升所需的时间。必须使用上述步骤来确定底板的唤醒时间。tSTACK_RAMP,所有级联板的电源斜升所需的时间。nSTACK_BOARDS,级联板总数(不包括底板) 如果只有一个器件,则在允许通信前所需的 WAKEUP 延时为:
Equation 8. tBOT_RAMP + tWAKEUP_DLY + tWAKEUP_TO_UART 另外,如果有多个器件级联,则在允许通信前的 WAKEUP 延时为:
Equation 9. tBOT_RAMP + tWAKEUP_DLY + nSTACK_BOARDS * (tSTACK_RAMP + tWAKE_TONE_DLY_DC) + tWAKEUP_TO_DCOMM 通常,一旦底部 UART 接口准备好通信,即可开始与上层级联器件与行通信。不过,上层级联器件需在相应延迟时间后才会响应。这样也可能导致上述器件中的通信错误标志置位。如前文所述,准备好级联通信的最快方法(假设所有器件均在 EEPROM 中烧写了其级联位置和配置)可能是连续发送读请求到顶层器件,直到其响应并清除因此产生的所有通信错误。 如果在 UART 接口未就绪前尝试与底部器件通信,则该器件可能发生不同步。为纠正此问题,需发送 comm_clear 命令。差分接口上的器件不需要执行此操作,因为它们发送每个帧时会重新与底部芯片同步。因此,只有底部芯片可能失去同步。 <h4 id="SLUSBT4.6 软复位 将 DEV_CTRL 寄存器中的 SOFT_RESET 位置位不会关断器件电源,但会按中的序列完全复位并重启状态机。复位器件上方的所有级联器件将在关断状态下唤醒,在唤醒状态下复位。
<h4 id="SLUSBT4.7 空闲模式下的唤醒行为 bq76PL455A-Q1 器件在已唤醒状态下接收到 WAKEUP 信号时,会执行复位。该器件需要接收到 WAKEUP 信号音的系列脉冲才能开始复位进程。发送该信号音会将休眠状态下的器件唤醒,将空闲状态下的器件复位。从而在级联中的器件先前若处于关断或空闲状态时,可通过给发送唤醒信号来复位这些器件并使其进入空闲状态。这是另一种复位所有级联器件的状态的方法。 该器件将对器件链北侧的其他器件生成一个唤醒信号音,作为复位序列的一部分。因此,该器件上方接收到唤醒信号的每个器件都会复位。
<h3 id="SLUSBT4 命令和响应协议
该协议支持单个主机(如微控制器)与一个或多个 bq76PL455A-Q1 器件通信。主机可发起主机与一个或多个 bq76PL455A-Q1 器件之间的所有事务。bq76PL455A-Q1 在没有接收到主机发来的命令帧之前,不会向主机发送数据。 NOTE 发起方发送每个命令帧后,必须总是等待所有预期响应返回(出错时会超时),然后再发出新的命令帧。 除非另有说明,否则短语无响应写操作以及写操作是等效同义词。
除非另有说明,否则短语有响应写操作以及读操作是等效同义词。
<h4 id="SLUSBT4.1 事务帧 描述 事务帧格式包括命令帧和响应帧。事务帧中有五个字段类型:
帧初始化 器件地址或组 ID寄存器地址数据循环冗余校验 (CRC)
注意,每个事务帧并非包含全部字节类型。
<h4 id="SLUSBT4.1.1 帧初始化字节 帧初始化字节始终为帧的首字节。在所有情况下,帧长度均可通过该初始字节确定。注意,位 7 标识每个帧为命令帧还是响应帧。对于这两类帧 Init 类型,初始化字节的定义如下:
76543210命令帧 InitFRM_TYPE = 1REQ_TYPEADDR_SIZEDATA_SIZE响应帧 InitFRM_TYPE = 0RESP_BYTES-1
帧初始化字节各个字段的描述如 所示。
Table 4. 帧初始化字节字段 值(二进制)说明FRM_TYPE0响应帧1命令帧REQ_TYPE000有响应的单个器件写操作001无响应的单个器件写操作010有响应的组写操作011无响应的组写操作100保留101保留110有响应的广播写操作111无响应的广播写操作ADDR_SIZE08 位寄存器地址116 位寄存器地址DATA_SIZE0000 字节0011字节0102 字节0113 字节1004 字节1015 字节1106 字节1118 字节RESP_BYTES-1响应帧所含数据字节数 - 1
建议 ADDR_SIZE = 0。所有用户寄存器均可使用 8 位寄存器地址寻址。不支持 7 字节数据大小。
<h4 id="SLUSBT4.1.2 器件地址/组 ID 字节 器件地址或组 ID 字节定义命令指向的器件或器件组。只有在器件地址寄存器(寄存器地址 10)或组 ID 寄存器(寄存器地址 11)中包含匹配值的器件才会响应该命令。命令帧中的 REQ_TYPE 字段决定解析该字节的方法。 NOTE 器件地址/组 ID 字节不存在于广播命令帧中。
76543210器件地址或组 ID接收通信的器件标识符(始终为一个字节)
<h4 id="SLUSBT4.1.3 寄存器地址字节 寄存器地址可以为一个或两个字节长。对于单字节地址 (ADDR_SIZE = 0),不发送 MSB 并假定其为 0。
76543210寄存器地址 (MSB)目标寄存器 寄存器地址 (LSB)
<h4 id="SLUSBT.1.4 数据字节 数据字节的解析基础是所发送命令帧的类型以及命令帧中所指定的目标寄存器。 对于指向命令寄存器(地址 2)的命令帧,数据中包含命令、最高响应器件地址以及外加命令通道选择寄存器(地址 3-6)和平均值寄存器(地址 7)的新数据。
对于指向其他寄存器的命令帧:
如果 REQ_TYPE 为无响应写操作,数据字节包含要写入寄存器的值 如果 REQ_TYPE 为有响应写操作,数据字节包含从寄存器返回的值
76543210Data[0] &
Data[n] 数据字节(字节数应与帧初始化字节中的 DATA_SIZE 字段匹配)
NOTE 不允许包含七个数据字节的事务。
<h4 id="SLUSBT4.1.5 CRC 字节
76543210CRC(MSB)16 位 CRC(CRC-16-IBM - 请参见)CRC(LSB)
<h4 i}

我要回帖

更多关于 手机wifi硬件模块损坏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信