Wener, My sense is you are close to a decision that CR2032 will not support anelok operation for a long enough period of elapsed calendar time. I've argued that "elapsed days between battery swap" period should be stipulated as a design objective, but that's just me. I will not revisit that subject. Honest.
Have you considered a case mod that would allow say 2xAAA batteries? ron j --- Ron K. Jeffries 805-567-4670 On Tue, May 19, 2015 at 12:48 PM, Dave Ball <[email protected]> wrote: > Another excellent and enlightening writeup Werner! > > Dave > > > On 18/05/15 19:59, Werner Almesberger wrote: > >> TL;DR: boost converter happy with AAA-type input, after all >> >> A while ago, I tested how Anelok behaved at low batter voltages: >> >> http://lists.en.qi-hardware.com/pipermail/discussion/2015-March/010832.html >> >> The result was that it did reasonably well at anything we could expect >> from a CR2032 cell, but would become unstable at 1.4 V, which is >> uncomfortably close to the best-case voltage an AAA cell would provide. >> >> I couldn't quite explain why this was so, given that the boost >> converter is specified for operation with a battery voltage as low as >> 0.8 V. >> >> While I lay sleepless last night, it finally hit me: it's Q1 again ! >> >> Let's look at >> http://downloads.qi-hardware.com/people/werner/anelok/tmp/power-tree.pdf >> to see what's going on: >> >> The battery voltage is applied before Q1. The purpose of Q1 is to >> disconnect the battery if USB provides power. Q1 is a FET with a gate >> threshold voltage of about 1.0 V. If the battery voltage is at or below >> that gate threshold voltage, the FET will not conduct at all. If the >> battery voltage is only a little higher, it will conduct, but >> reluctantly. >> >> According to the data sheet [1], we need at least 1.2 V before it will >> admit the sort of current the boost converter needs at such a voltage. >> Worse, at that point it still has a resistance of > 1 Ohm, so we will >> need an even higher voltage before things can work. >> >> So I re-ran the experiment, with the current firmware, which may behave >> slightly differently than the March version. Again, I let Anelok boot, >> then turned it on, and entered the login-setup screen. The results are >> pretty much like the previous ones: >> >> Vbat Ibat Pbat Comment >> (V) (mA) (mW) >> ------- ------- ------- ------------------------------------------------- >> 2.4 14.6 35.0 Lab reference condition >> 2.3 15.4 35.4 >> 2.2 16.3 35.9 >> 2.1 17.3 36.3 >> 2.0 18.4 36.8 Boot at 2.1 V, then lower >> 1.9 19.6 37.2 >> 1.8 21.1 38.0 >> 1.7 22.8 38.8 >> 1.6 25.0 40.0 >> 1.5 30 45 >> 1.4 50 70 >> 1.3 33 42.9 display is noticeably dim >> 1.2 - - turns off >> >> At 2.0 V and lower, Anelok would no longer boot. This is the work of >> the battery-guzzling boot loader that doesn't (yet) have the decency >> of at least turning on the boost converter. The fix for this is to boot >> at 2.1 V, proceed to the setup menu (the boost converter is now >> active), then dial the voltage down. >> >> That way, I made it down to 1.4 V without visible issues, but with the >> power consumption already going through the roof - a bad omen. >> >> At 1.3 V the display got quite dim (also, notice the current >> drop - this is the boost converter losing control of the situation). >> I didn't test to what extent the device would be able to do anything >> else but display that list, e.g., decrypt keys, scroll, etc. >> >> So this confirms the old measurements. Then I moved my "battery" past >> Q1, so that it would directly feed the boost converter. Again, the >> same ritual: >> >> Vbat Ibat Pbat Comment >> (V) (mA) (mW) >> ------- ------- ------- ------------------------------------------------- >> 2.1 17.2 36.1 >> 2.0 18.2 36.4 Boot at 2.1 V, then lower >> 1.9 19.4 36.9 >> 1.8 20.7 37.3 >> 1.7 22.2 37.7 >> 1.6 23.9 38.2 >> 1.5 26.0 39.0 >> 1.4 28.3 39.6 >> 1.3 31.3 40.7 >> 1.2 34.9 41.9 >> 1.1 39 43 >> 1.0 46 46 >> 0.9 56 50 >> 0.8 61 49 normal operation, slight flicker when scrolling >> 0.7 58 41 flickers when scrolling account list >> 0.6 45 27 display is noticeably dim; dies in crypto >> 0.5 27 14 display very dim; powers down when interacting >> >> Now, that's much nicer, isn't it ? :-) While performance at higher >> voltages is nearly identical to what we had before, the battery power >> increases only slowly as the voltage decreases, and the problems only >> begin at voltages that would signal the imminent death of a real AAA >> cell anyway. >> >> So this means that the boost converter works as expected for simulated >> AAA-type conditions. Q1 will either have to move to the 3.3 V side of >> the converter in a AAA-based design, or maybe get replaced with a >> dedicated switch chip that has generally nicer properties. >> >> >> One quick note about the points at which the device failed at extremely >> low voltages: while testing the latest power-saving features with a >> CR2032 cell, I found that, while Anelok would turn on nicely also after >> several days, it would only make it past decryption in the first few >> days. The steps are as follows: >> >> 1) in standby, screen is dark >> 2) turn on, logo appears, then the login screen >> 3) enter "PIN" >> 4) generate the shared secret key (this is computationally expensive) >> 5) display the list of accounts. For this, each record is accessed >> multiple times, and decrypted each time >> 6) when scrolling the whole display process is repeated frequently, >> with data transfers to the OLED >> >> The battery was strong enough to make it to 4) but then died while >> calculating the key. I solved this by displaying a progress indicator >> that consists of only a few pixels, so the display consumes much less >> power than if I let it show the last state of the login screen. >> >> This way, I got all the way to 5), I then still had it fail when >> scrolling (6). Scrolling the account list is particularly inefficient >> because many records are decrypted unnecessarily, and the transfer to >> the display is done by bit-banging GPIOs and busy-waiting between >> changes. >> >> Using the SPI hardware in the chip should allow Anelok to take little >> naps during display updates, which will probably be enough to make >> their power consumption quite bearable. This is something further down >> the to do list. >> >> I also tried to improve decryption activity by implementing a kind of >> lazy evaluation, but to my surprise, this only killed the device >> faster :-( Well, in the end, Anelok should probably just decrypt the >> list once and then cache it. Another to do item. >> >> - Werner >> >> [1] http://www.diodes.com/datasheets/ds31784.pdf >> >> _______________________________________________ >> Qi Hardware Discussion List >> Mail to list (members only): [email protected] >> Subscribe or Unsubscribe: >> http://lists.en.qi-hardware.com/mailman/listinfo/discussion >> > > > _______________________________________________ > Qi Hardware Discussion List > Mail to list (members only): [email protected] > Subscribe or Unsubscribe: > http://lists.en.qi-hardware.com/mailman/listinfo/discussion >
_______________________________________________ Qi Hardware Discussion List Mail to list (members only): [email protected] Subscribe or Unsubscribe: http://lists.en.qi-hardware.com/mailman/listinfo/discussion

