资源简介

STM32用IIC总线读取BQ76930芯片电压电流温度值,支持20串级联采集
1、6节锂电池电压,电流,温度,SOC测量
2、实现过压,欠压,过流,短路保护,高温保护,低温保护;
3、BQ76930支持芯片内部被动均衡。

资源截图

代码片段和文件信息

#include “BQ76930.h“
#include “SYSTICK.h“ 
#include “i2c.h“
#include “i2c1.h“
#include “i2c2.h“
#include “usart.h“
#include “math.h“
#include “string.h“
#include “IO_CTRL.h“
#include “usart2.h“
/*****************************
file:BQData.c
decription:
   1.采集BQ76930的14位ADC的增益和偏置电压:void get_offset(void)
   2.采集单体电压:void Get_Batteryx(void)其中x取值1-10;
   3.BQ76930初始化 void BQ_config(void)
   4.读取BQ76930寄存器值: void readbqstate(void)
   5.
******************************/
/***********************
fuction:void get_offset(void)
************************/
int ADC_offsetGAIN;
float ADC_GAIN = 0;

void Get_offset(void)
{
 unsigned char gain[2];
 
 gain[0]=IIC1_read_one_byte(ADCGAIN1);//ADC_GAIN1
 gain[1]=IIC1_read_one_byte(ADCGAIN2);//ADC_GAIN2
 ADC_GAIN = ((gain[0]&0x0c)<<1)+((gain[1]&0xe0)>>5);//12uV
 ADC_offset=IIC1_read_one_byte(ADCOFFSET);//45mV
 GAIN = 365+ADC_GAIN;//GAIN=377uV
}
/****************************************
fuction: void Get_Battery1(void)
description:获取第1号单体电池电压
Parameters:batterylval[0]battery1val[1];
******************************************/
void BQ76930_config(void)
{
  WAKE_ALL_DEVICE(); 
    BQ_1_2_config();
  Get_offset();
    OV_UV_1_2_PROTECT();
    OCD_SCD_PROTECT();  
  Open_DSG_CHG();  
 
  IIC1_write_one_byte_CRC(SYS_STAT0xFF);  
}

void BQ_1_2_config(void)
{

    BQ_1_config();//
}

void OV_UV_1_2_PROTECT(void)
{
    OV_UV_1_PROTECT();
  //OV_UV_2_PROTECT();
}

void WAKE_ALL_DEVICE(void)
{
    MCU_D_POWER_ONOFF(1);
  MCU_KZ_QB_POWER_ONOFF(1);
  MCU_WAKE_BQ_ONOFF(1);
  delay_ms(100);
  MCU_WAKE_BQ_ONOFF(0);  
}


void SHIP_ALL_DEVICE(void)
{
IIC1_write_one_byte_CRC(SYS_STAT0xFF);
IIC2_write_one_byte_CRC(SYS_STAT0xFF);
  SHIP_1_BQ769(); 
  SHIP_2_BQ769();
  MCU_KZ_QB_POWER_ONOFF(0);
  //MCU_D_POWER_ONOFF(0);
}



 int Batteryval[50]={0};
unsigned char shang[50]={0xAA0x01};
unsigned char shang1[50]={0xAA0x02};
 void Get_Battery1(void)
{
  unsigned int readbattbuf[2];
  unsigned int battery1val[2];
  short batteryval1;

  readbattbuf[1] = IIC1_read_one_byte(0x0c);
  readbattbuf[0] = IIC1_read_one_byte(0x0d);
 
  batteryval1= readbattbuf[1];
  batteryval1= (batteryval1 << 8) |readbattbuf[0];
  batteryval1=((batteryval1*GAIN)/1000)+ADC_offset;//单体电压计算公式,第1串
  Batteryval[0]=batteryval1;

  battery1val[1]=(char)(batteryval1 >> 8);
  battery1val[0]=(char)(batteryval1 & 0x00FF);

shang[2]=battery1val[1];
shang[3]=battery1val[0];
//printf(“%d\n“batteryval1);
}


/****************************************
fuction: void Get_Battery2(void)
description:获取第2号单体电池电压
Parameters:battery2val[0]battery2val[1];
******************************************/
void Get_Battery2(void)
{
 
  char readbattbuf[2];
  int batteryval2;
  short battery2val[2];

  readbattbuf[1]=IIC1_read_one_byte(0x0e);
  readbattbuf[0]=IIC1_read_one_byte(0x0f);
 
  batteryval2= readbattbuf[1];
  batteryval2= (batteryval2 << 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      36542  2019-12-09 22:46  BMS\BMS——测试程序\BMS_s930\BSP\BQ76930.c

     文件       4532  2020-01-03 21:35  BMS\BMS——测试程序\BMS_s930\BSP\BQ76930.h

     文件       7678  2019-04-02 15:38  BMS\BMS——测试程序\BMS_s930\BSP\i2c.c

     文件       2076  2019-03-28 11:44  BMS\BMS——测试程序\BMS_s930\BSP\i2c.h

     文件       7704  2019-04-08 12:55  BMS\BMS——测试程序\BMS_s930\BSP\i2c1.c

     文件       2004  2020-01-07 20:03  BMS\BMS——测试程序\BMS_s930\BSP\i2c1.h

     文件       7334  2019-04-07 13:14  BMS\BMS——测试程序\BMS_s930\BSP\i2c2.c

     文件       1965  2019-04-07 13:14  BMS\BMS——测试程序\BMS_s930\BSP\i2c2.h

     文件       4371  2019-11-21 23:15  BMS\BMS——测试程序\BMS_s930\BSP\IO_CTRL.c

     文件       2530  2019-11-18 20:57  BMS\BMS——测试程序\BMS_s930\BSP\IO_CTRL.h

     文件       2488  2019-04-17 14:35  BMS\BMS——测试程序\BMS_s930\BSP\led.c

     文件       1142  2019-04-17 09:17  BMS\BMS——测试程序\BMS_s930\BSP\led.h

     文件       3374  2019-04-25 11:58  BMS\BMS——测试程序\BMS_s930\BSP\spi.c

     文件        746  2019-04-25 10:10  BMS\BMS——测试程序\BMS_s930\BSP\spi.h

     文件       1088  2019-04-17 13:14  BMS\BMS——测试程序\BMS_s930\BSP\systick.c

     文件        167  2019-04-16 15:58  BMS\BMS——测试程序\BMS_s930\BSP\systick.h

     文件       6952  2019-04-19 11:40  BMS\BMS——测试程序\BMS_s930\BSP\timer.c

     文件        237  2019-04-17 17:37  BMS\BMS——测试程序\BMS_s930\BSP\timer.h

     文件       9380  2019-07-06 11:55  BMS\BMS——测试程序\BMS_s930\BSP\usart.c

     文件        300  2019-09-24 11:18  BMS\BMS——测试程序\BMS_s930\BSP\usart.h

     文件      15183  2019-09-24 22:26  BMS\BMS——测试程序\BMS_s930\BSP\usart2.c

     文件       2384  2018-08-14 08:42  BMS\BMS——测试程序\BMS_s930\BSP\usart2.h

     文件       9502  2019-04-25 11:19  BMS\BMS——测试程序\BMS_s930\BSP\w25qxx.c

     文件       2579  2019-04-25 10:14  BMS\BMS——测试程序\BMS_s930\BSP\w25qxx.h

     文件       1120  2012-09-13 21:57  BMS\BMS——测试程序\BMS_s930\BSP\wdg.c

     文件        601  2019-04-19 11:33  BMS\BMS——测试程序\BMS_s930\BSP\wdg.h

     文件       1354  2011-04-04 19:03  BMS\BMS——测试程序\BMS_s930\config\stm32f10x_flash.icf

     文件       1422  2011-04-04 19:03  BMS\BMS——测试程序\BMS_s930\config\stm32f10x_flash_extsram.icf

     文件       1355  2011-04-04 19:03  BMS\BMS——测试程序\BMS_s930\config\stm32f10x_nor.icf

     文件       1354  2011-04-04 19:03  BMS\BMS——测试程序\BMS_s930\config\stm32f10x_ram.icf

............此处省略337个文件信息

评论

共有 条评论