I am using the bqEasy program to test configurations of a 12 cell Lion pack. Some registers I can set easily such as "Over Temp Chg" and "OT Chg Recovery". But other registers won't change like trying to set "Chg Inhibit Temp Low" from -10 to -5 or "Rem Cap Alarm" from 300 to 440, or "FET Fail Time" from 0 to 1. When I try to change them the old value comes back in red letters. My application requires the FET Fail function to work. Can I just use PRO mode to force the bytes or is there a good reason bqEasy won't set things as I want?
Can you verify that the pattern is repeatable, or is it random as far as which locations won't write? Random failures such as this are usually associated with a bad signal line in the SBS communication path. Please check the cable.
Other possibilities are a bad EV2300 or bad device, PCB, etc.
Yes, the pattern of unwritable locations is repeatable from session to session and from PCB to PCB for half a dozen PCBs I have tried. Most locations write fine but a few like those I mentioned will not. I can set "FET Fail Time" on the demo PCB bq20z90evm-001 but I can not set it on my PCB using the bq20z75 chip though both chips should support it.
Very strange indeed! The only thing that seems to make sense is that the SMBus communication is marginal on your boards, but only causes a problem with certain data patterns. Perhaps you have too much capacitance in your ESD protection network. I would recommend scoping both clock and data lines during the failing transaction to identify any differences compared to the EVM.