I'm considering a number of possibilities for rfkill functionality in
the next Anelok version. I already asked about the switch a while ago
and there didn't seem to much enthusiasm either way. Let's do one
more check.


What we had in Anelok version 0: a bulky switch that would add a
resistor to the power supply path, thus ensuring the system can't draw
more than very little current - not enough to do anything "bad".

Problems with the approach include that the MCU must react very quickly
to this change, since it'll just empty the capacitors and stop working
if entering extreme low-power mode takes too long. Also, "stop working"
may be an unstable state, with the MCU oscillating through reset.


What we have in Y-Box: a much smaller switch that shuts down the RF
chip by conecting its positive supply to ground. The MCU is not
affected by this switch (except that it can detect the state of the
switch and react correspondingly.)

One consequence of this design is that, while the MCU remains fully
operational, it no longer receives a crystal-derived clock from the RF
side and therefore - lacking a crystal of its own - can't maintain USB
communication. In the case of Y-Box, this hardly matters because all
the MCU does here is relay things between USB and RF, and process data
related to RF. So - in Y-Box - if RF is dead, the MCU can take a nap,
too.


For the next Anelok board, there are several options;

0) no rfkill functionality at all,

1) "soft" rfkill by just politely asking the RF chip to refrain from
   going on the air. The user would select rfkill via the GUI. For this
   to work, we need to be able to trust MCU and RF.

2) "semi-soft" rfkill by controlling the RF chip through its debug
   interface. Again, the user would select rfkill via the GUI. In this
   case, we need to trust the MCU and the RF hardware.

3) "three quarters hard" rfkill. As above, but there would be a
   mechanical switch that asks the MCU to take down RF. Same trust
   requirements as for 2).

4) "hard as a crowbar" rfkill. The Y-Box approach. Since we'll probably
   want to be able to use USB while rfkill is set, the MCU would need
   its own crystal.

5) like 4, but when detecting that rfkill has been applied, MCU
   voluntarily shuts down, too. The switch would thus act more like an
   on/off switch, but allowing the MCU to still run an oscillator for
   timekeeping. This would be similar to what I tried to do in board 0.
   No extra crystal needed in this case.

Note that options 0 to 4 differ from the dubious contraption in Anelok
board 0 by only disabling RF but allowing the MCU to do whatever else
it wants. Since we have to largely trust the MCU anyway, this doesn't
seem to be a major loss.


Implications for hardware design:

- 0, 1, and 2 don't need any extra hardware.
- 3, 4, and 5 add back a switch, though this time I'd use the small one
  from Y-Box, not the monster from Anelok board 0.
- 4 adds a crystal, too.

The switch occupies about 36 mm^2 of PCB space (including pads and
clearance, not counting traces), a crystal occupies at least 33 mm^2
(crystal, load capacitors, minimum ground ring). BOM cost is USD 0.46
for the switch (Digi-Key, 1000 units), and the crystal is 0.42 @ 1000.
Reel prices are 0.416 @ 2500 for the switch and 0.382 @ 3000 for the
crystal. The cost of the load capacitors tends to be negligible.

Opinions ?

- Werner

_______________________________________________
Qi Hardware Discussion List
Mail to list (members only): [email protected]
Subscribe or Unsubscribe: 
http://lists.en.qi-hardware.com/mailman/listinfo/discussion

Reply via email to