• 大小: 4.5MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-15
  • 语言: 其他
  • 标签:

资源简介

电池管理系统BMS项目,包括电路图设计,PCB板设计和源代码,电路经过验证无需修改,PCB板直接可以打板回贴片生产,源代码无Bug,已经量产出货

资源截图

代码片段和文件信息

#include “LTC6803.h“
//LTC6803初始化
void LTC6803_Init (void) 
{
   byte i=0;
   byte ret=0;
   uint8_t pec=0;
   uint8_t CFGR[6]={0x890x000x000x000x000xff};
   uint8_t CFGR_Buff[14]={0};
   
   SPI_CS12V_PutVal(0); //片选置低
   ret=AD12V_SPI_SendChar(WRCFG);//发送写命令
   delay100(10);
   ret=AD12V_SPI_SendChar(0xC7);//发送校验码
   delay100(10);
   pec=CRC8(CFGR6);           //计算校验  
   for(i=0;i<6;i++) //写入配置
   {
       ret=AD12V_SPI_SendChar(CFGR[i]); 
       delay100(10);
   }    
   ret=AD12V_SPI_SendChar(pec); //发送校验码
   delay100(10);        
   SPI_CS12V_PutVal(1); //片选置高
   delay100(1200); 
   SPI_CS12V_PutVal(0); //片选置低
   ret=AD12V_SPI_SendChar(0x02);      //发送读命令
   delay100(10);
   ret=AD12V_SPI_SendChar(0xce);      //发送校验
   delay100(10);
   for(i=0;i<14;i++)
   {            //读取寄存器
    ret=AD12V_SPI_SendChar(0x00);    //提供时钟信号
    delay100(10);
    ret=AD12V_SPI_RecvChar(&CFGR_Buff[i]); //读取寄存器值放入缓存区
    delay100(10);
   }
   SPI_CS12V_PutVal(1); //片选置高 
   delay100(10); 
}
//计算PEC校验
uint8_t CRC8(uint8_t *buf int8_t len)   
{   
  uint16_t   ij=0;   
  uint8_t  crc = 0x41;   
  
  while(len--!=0)  
{   
    for(i= 0x80;i!=0;i/=2)  
{   
      if ((crc & 0x80)!=0)  
{   
        crc *= 2;   
        crc ^= 0x07;   
      }  
else  crc *= 2;      
      if ((*(buf+j) & i)!=0)   
        crc^=0x07;   
    }    
    j++;
  }   
  return   crc;   
}
//读取电压值
uint8_t ReadCellVoltage(uint16_t cellVol[]) 
{
   uint8_t i=0;
   uint8_t ret=0;
   uint8_t pec_code=0;
  uint8_t CVR[7]={0};
  uint16_t SPI_Data[8];
  SPI_CS12V_PutVal(0);                 //片选置低
  ret=AD12V_SPI_SendChar(CLRV);        //清空命令
  delay100(10);
ret=AD12V_SPI_SendChar(0x93);          //清空命令PEC校验码
  delay100(1200);                       //延时20ms
  SPI_CS12V_PutVal(1);                 //片选置高
  delay100(10); 
  SPI_CS12V_PutVal(0);                 //片选置低
  ret=AD12V_SPI_SendChar(STCVAD);        //启动全部电压转换
  ret=AD12V_SPI_SendChar(RDCVA);
  delay100(10); 
  ret=AD12V_SPI_SendChar(0xB0);          //启动电压转换命令PEC校验码
  delay100(3600);                       //延时20ms
  SPI_CS12V_PutVal(1);                 //片选置高
  delay100(10);  
  SPI_CS12V_PutVal(0);                 //片选置低
ret=AD12V_SPI_SendChar(RDCVA);
delay100(10); 
ret=AD12V_SPI_SendChar(0xD2);          //启动电压转换命令PEC校验码
delay100(10); 
for(i=0;i<7;i++)      //将读出的数值赋给电池电压寄存器组10节电池+校验码
{
ret=AD12V_SPI_SendChar(0x00);
delay100(10);
   ret=AD12V_SPI_RecvChar(&CVR[i]);
delay100(10);
}
    SPI_CS12V_PutVal(1); //片选置高
    //参数校验
    pec_code=CRC8(CVR6);
    if(pec_code!=CVR[6])
    {
       return 0;
    } 
    else 
    {
       //将电池电压寄存器组转化成实际的电池电压值3个寄存器对应两个电池电压值
       AD_Data_process(SPI_DataCVR);   
       for(i=0;i       {
           cellVol[i]=(SPI_Data[i]-512)*3/2; 
       }
       return 1;
    }
}
//电压计算
void AD_Data_process

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

     文件    2461696  2014-12-23 23:10  BMS项目\BMU\21182w-BMUPCB20150126\BMUPCB.PcbDoc

     文件       6951  2015-09-01 14:49  BMS项目\BMU\21182w-BMUPCB20150126\BMUPCB.PCBDOC.htm

     文件       3189  2015-09-01 19:47  BMS项目\BMU\21182w-BMUPCB20150126\BMUPCB.pcbdoc_viewstate

     文件     675760  2015-01-26 11:43  BMS项目\BMU\21182w-BMUPCB20150126.rar

     文件    2340864  2015-08-20 14:00  BMS项目\BMU\BMU PCB板.PCBDOC

     文件       7620  2015-08-04 10:51  BMS项目\BMU\BMUPCB.Dat

     文件       4560  2019-08-21 18:35  BMS项目\BMU\BMUPCB.PcbDoc.htm

     文件       3188  2015-09-01 14:48  BMS项目\BMU\BMUPCB.pcbdoc_viewstate

     文件    2041360  2015-01-30 11:15  BMS项目\BMU\BMU原理图.pdf

     文件     750154  2015-08-20 14:00  BMS项目\BMU\History\BMUPCB.~(1).PCBDOC.Zip

     文件    1818112  2015-01-25 18:32  BMS项目\LECU\21182w-LECU20150126\LECU-CPU.PcbDoc

     文件    1428038  2015-01-29 12:31  BMS项目\LECU\BMS_LECU_N.pdf

     文件       6092  2015-08-04 10:49  BMS项目\LECU\LECU-CPU.Dat

     文件    1818112  2015-01-25 18:32  BMS项目\LECU\LECU-CPU.PcbDoc

     文件       3842  2019-05-10 09:32  BMS项目\LECU\LECU-CPU.PcbDoc.htm

     文件       3179  2015-09-08 14:10  BMS项目\LECU\LECU-CPU.pcbdoc_viewstate

     文件       4445  2018-01-13 14:13  BMS项目\软件\LTC6803.c

     文件        999  2018-01-13 14:13  BMS项目\软件\LTC6803.h

     文件      25119  2017-12-29 09:28  BMS项目\软件\LTC6804.c

     文件       9588  2017-12-27 14:51  BMS项目\软件\LTC6804.h

     目录          0  2019-08-21 18:34  BMS项目\BMU\21182w-BMUPCB20150126

     目录          0  2019-08-21 18:34  BMS项目\BMU\History

     目录          0  2015-09-08 20:37  BMS项目\BMU\ProjectOutputs

     目录          0  2019-08-21 18:34  BMS项目\LECU\21182w-LECU20150126

     目录          0  2019-08-21 18:38  BMS项目\BMU

     目录          0  2019-08-21 18:37  BMS项目\LECU

     目录          0  2019-08-21 18:52  BMS项目\软件

     目录          0  2019-08-21 18:39  BMS项目

----------- ---------  ---------- -----  ----

             13412868                    28

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

评论

共有 条评论

相关资源