I've been trying to create a new battery pack for an old (and long discontinued) Sony product. Luckily the battery pack in question uses standard smart battery specification. So I've designed a new PCB and instead of using the old fuel gauge/protector combo I've gone and used modern Maxim MAX17320 fuel gauge/protector IC. And here is where I am having some trouble...
Upon connecting a 2 cell RC battery to it (for testing purposes) and shorting the discharge/charge pin to the battery positive terminal (to wake the IC up) the IC starts communicating with the MAX17320 programming software. Problem is that immediately upon doing so it goes into permanent failure. The below two screenshots:
Upon clearing the PermFail flag the FET failure indicators turn green and the pack starts working. My initial thought was that this was due to the parameters being wrong so I went through configuration (hopefully setting up everything correctly) and writing the configuration to RAM. But again upon doing so and rebooting the IC goes into PermFail mode...
Since clearing the fault works - the battery behaves as expected based on a short test in the actual product - I tried to write the working configuration into non volatile memory. But I can't do so because the software complains that I need to fix the permanent failure first. Any ideas on what I am doing wrong? Why is it going into pfail in the first place?
Some additional info: I am not using any permanent protections on the PCB - so I have the PFAIL output connected to ground with 1k resistor as described in the datasheet. When going through the programming wizard I also disabled permanent failure protection and unchecked the option for disabling programming in case of permanent failure. But that doesn't seem to do anything.
EDIT: Schematic for my board is here... it's mostly based on the evaluation board:
Link to datasheet: https://datasheets.maximintegrated.com/en/ds/MAX17320.pdf