[USRP-users] What is the battery pack voltage for E310, E312 and is required firmware update already available?

Moritz Fischer moritz.fischer at ettus.com
Wed Oct 7 07:49:48 EDT 2015


Hi Martin,

On Wed, Oct 7, 2015 at 11:55 AM, Martin <usrp-users-list at olifantasia.com> wrote:
> Hi,
> On 05-10-15 09:13, Sylvain Munaut wrote:
>>
>> Any reason you didn't reply to the list ?
>
> No, I just hit the wrong reply button.
>
>>>> Note that if you reflash the fw and use your own battery you might
>>>> also consider changing the divider of the gauge chip.\
>>>
>>>
>>> I was planning on connecting a 20.000 mAH or 40.000 mAh li-ion battery.
>>
>>
>> Wow, that's some huge cell ... it's also going to take a while to
>> charge those. The onboard charger is 2A charge current.
>>
>>
>>> So I will have to increase it by a factor 6 or 12.
>>
>>
>> Well it's limited to power of 2's. So I guess you'd need the max
>> divider of M=128 for the larger pack.
>
> You are right.
>
> from the LTC2942 datasheet:
>
> max capacity battery with charge readout =
> = 0.085mAh * (50mOhm /Rsense_in_mOhm) * (M/128 ) * 65535
>
> Rsense in the E310 = 10 mOhm
>
> So max cap = 217.6 * M mAh
> In the default firmware M = 16
> Max cap (default M=16)= 3482 mAh
>
> M is max 128 so
> Max cap (max M=128)= 27852 mAh
>
> It seems that the 40000 mAh I would like is not an option, if you want
> charge readout.
> The only option would be to replace Rsense

Which is possible, but keep in mind, this kind of mod voids your warranty.

>
>>>
>>> Is this the value set in e300/battery/ltc294x.c
>>>          /* set prescaler to 16 */
>>>          val &= ~LTC294X_PRESCALER_MASK;
>>>          val |= 0x4 << LTC294X_PRESCALER_SHIFT;
>>>
>>> (This actually sets the value to 32, even though the comment says 16)
>>
>>
>> Huh ... no it doesn't ?
>>
>> I'm looking at the datasheet right now and putting 4 into B[5:3]
>> definitely sets a M=16 divider.
>
> I misread the datasheet. It is indeed 16.
>
>>
>>
>>> Or just make it configurable.
>>> It is controlled using I2C on the I2C_power lines.
>>> Can we do a i2c_twi_write16(LTC294X_I2C_ADDR, reg, val) after boot, onder
>>> customer software control ?
>>
>>
>> It's on a physically distinct I2C bus only controlled by the AVR.
>> Also this need to be programmed when the battery pack is plugged (the
>> gauge and AVR are always ON). and not at the zynq boot time.
>>
>> You could make it configurable ( like a variable in the AVR EEPROM ),
>> but you'll need to get it through all the abstraction layers :
>>
>> Zynq -> FPGA -> AVR -> LTC2942 ... that's quite a bit of code to
>> modify and you'll always need custom fpga images.

That's true.
>
>
> An easier solution would be if we could program the LTC2942 in circuit.
> But then Ettus would need to connect the AVR_RESET reset line to the
> zync/FPGA.

I wish that would be possible. But when you assert the AVR's reset one
of the power supplies goes down.
While in theory possible, the current design won't let you do that.

> A workaround could be to connect the reset line (or all program lines from
> the 6pin SPI header) of the LTC2942 to the E310 GPIO pins.

Nope, see comment above.
>
> Cheers,
>
> Martin
>
>>
>>
>> Cheers,
>>
>>     Sylvain
>>
>

Cheers,

Moritz




More information about the USRP-users mailing list