芯片可级联工作, 当芯片串联使用时, 依据芯片在串联组中的顺序由高至低依次向芯片写入命令,读取数据时, 数据依据芯片在串联组中的顺序由低至高依次被读出。
微控制器可以通过IO 口模拟SPI接口访问时序, 如此可以使应用更加灵活。下面是通过对LTC6802的操作来实现对电压的测量。在电池管理系统应用中采用Freescale S12系列单片机, 通过IO 口模拟SPI来对传感器进行访问。为了说明问题给出了两个主要的操作程序清单:
CCs68002( );
w rcmd_ltc( 0x01) ; 配置命令寄存器
w rcmd_ltc( 0x00) ;
w rcmd_ltc( 0x00) ;
w rcmd_ltc( 0x00) ;
w rcmd_ltc( 0x00) ;
w rcmd_ltc( 0x00) ;
w rcmd_ltc( 0x00) ;
scs68002( ) ;
de lay( 1) ;
ccs68002( ) ;
w rcmd_ltc( 0x10) ; 开始转换电压
scs68002( ) ;
de lay( 1) ;
ccs68002( ) ;
w rcmd_ltc( 0x04) ; 读电压数据
for ( i= 0; i< 19; i+ + )
{
temp= rddata_ltc( );
}
scs68002( ) ;
vo id w rcmd_ltc( uchar cmd)写命令
{
Byte ;i
csclk68002( ) ;
for( i= 0; i< 8; i+ + )
{
if( ( cmd&0x80) = = 0x80)
{
sdo68002( );
}
else
{
cdo68002( ) ;
}
ssclk68002( ) ;
cmd= cmd< < 1;
csclk68002( );
}
}
Byte rddata_ ltc( void) 读命令
{
Byte ,i res= 0;
csclk68002( );
for ( i= 0; i< 8; i+ + )
{
res= res< < 1;
ssc lk68002( );
if( d i68002= = 1)
res= res| 1;
csclk68002( );
}
return res;
}
4 结束语
在实际应用中, 测量全部电池的时间为13m s,电压测量误差值在10mV 以内, 完全满足电池管理系统的精度要求。LTC6802 的高集成度、高测量精度、快速测量时间、低功耗等优点使其在针对电动汽车的电池管理系统中得到了良好的应用。