第一次调试此类芯片,使用菊花链方式,不能与ltc6812通讯,读取数据,请帮忙看下是不是四线spi发送数据是否有问题。
如果我读取第一个6812电池通过读电压寄存器A,使用0x80 0x04来读取电池电压,当我读取第二个6812的寄存器A时,使用的寄存器地址是多少。刚接触很多东西不是很了解,麻烦您帮忙解答一下 谢谢
第一次调试此类芯片,使用菊花链方式,不能与ltc6812通讯,读取数据,请帮忙看下是不是四线spi发送数据是否有问题。
如果我读取第一个6812电池通过读电压寄存器A,使用0x80 0x04来读取电池电压,当我读取第二个6812的寄存器A时,使用的寄存器地址是多少。刚接触很多东西不是很了解,麻烦您帮忙解答一下 谢谢
问题可能首先出在,你是每发一个byte CS就拉高拉低一次,这样不行,应该是指令发送完成,发送完指令的2byte cmd +2 byte pec 等于是4个byte才cs是一个周期。
具体是时序呢,如果是刚接触这块,可能确实需要一定时间和精力去理解。如果有官方评估板,跑一遍官方评估板能更快理解它的通讯逻辑。
如果手头没有评估板的话,我发个ADCV和RDCV的逻辑时序给你,不过图中是基于菊花链中有3片ltc6813时的通讯逻辑。
感谢,按照您给的时序不接入电池的时候有读取到pec校验部分,
但是当我写寄存器01数据的时候,不能通过02读出来,现在没有接入电池是不是需要接入电池才行,
采用菊花链的方式进行读取的时候,例如4片ltc6812,我读取A组电池数据是不是意味着我需要连续读取4*8byte
接不接电池,主要看你是否通过电池来供电,你现在bms板子的供电是怎么样的。“采用菊花链的方式进行读取的时候,例如4片ltc6812,我读取A组电池数据是不是意味着我需要连续读取4*8byte ”你的理解是对的。
目前你在读取数据时候有没什么新问题和新进展?
现在放在电池包读取数据的时候,有正常读取到电池数据,bms供电是单独供电,验证多次的时候有时会出现如图数据为0xff
正常读取到的数据波形为,是不是这个部分丢失数据的是ad未转换完成,读取数据时序为,CLRCELL -》 ADCV -》RDCVA -RDCVB -RDCVC-RDCVD-RDCVD
补充:未采用电池供电不接电池的话,正常数据是不是0x00或者0xff ?
补充:未采用电池供电不接电池的话,正常数据是不是0x00或者0xff ?
未采用电池供电和不接电池?不知道是怎么样的操作,一般异常的读取值都是1,也就是0xff.
CLRCELL -》 ADCV -》RDCVA -RDCVB -RDCVC-RDCVD-RDCVD
adcv后建议用polling ADC 指令。这样就能精确捕捉到所有bms ic都转换结束的时间点,否则未转换结束完成的bms回读的是上一次的转换数据(未更新的转换数据)而你clrcell,那就是回读的oxff, clear cell后,寄存器就是被更新未oxff,了。总之,polling 指令很好用,你可以用来来。
CLRCELL -》 ADCV -》PLADC》RDCVA -RDCVB -RDCVC-RDCVD-RDCVD