1 low power modes using sniff, Low power modes using sniff – Rainbow Electronics DAB-WLS-C21 (BlueTooth) User Manual
Page 15

www.EZURiO.com
DSH_BTM402_0v9 BISM2 PA Data Sheet.DOC
© 2007 EZURiO Ltd
15
Typical current consumption is given in Section 4.1.
The current drain while waiting for a connection or discoverable mode is about 30 times higher than
in idle mode. This is when the page/inquiry scan duty cycle is 100%. These modes give the quickest
response to a page or inquiry request from a remote peer.
It is possible to reduce the duty cycle down to as low as 0.5% at the expense of response time. The
response time can be specified via S Registers 508 and 510 for page and inquiry respectively, where
the worst case response time can be as high as 2.5 seconds. Then the duty cycle can be varied by
changing the value of S Registers 509 and 511 appropriately.
For example, if S Register 508 and 510 are both set to 1000ms and S Register 509 and 511 are both
set to 11ms then the duty cycle is reduced to 1%, this means that average current drain at 5.0v will
be 2% of 65mA plus the normal idle mode current, that is, it is as low as 2.75mA. However, in this
case, it can take up to 1 second to establish a connection.
The connected state current consumption while a master or slave can be considerably reduced by
enabling Sniff mode, described in detail in the next section.
When a Bluetooth connection has been made, the units in the connection will use internal
measurements of the signal quality to implement power control, reducing the transmit power at each
end of the link to a level sufficient to maintain the connection. For this reason power consumption
will vary with range.
8.1
Low Power Modes using Sniff
Bluetooth connections are master/slave in nature. A master sends packets and a slave has to
acknowledge that packet in the next timeslot. Timeslots in Bluetooth are 625 microseconds wide. This
implies that a master will always know when packets will be sent and received, which further means
it is able to optimise power usage by switching on power hungry circuitry only when needed.
A slave on the other hand does NOT have prior knowledge of when a packet will be received and has
to assume that a packet will be received from a master on every receive slot. This means that it has
to leave its receiving circuitry on for most of the receive slot duration. This problem was identified
very early in the evolution of Bluetooth (especially since headsets spend all their time as a slave in a
Bluetooth connection) and it was solved by having a mode called Sniff, with appropriate lower layer
negotiating protocol.
Sniff mode during connection is basically an agreement between the slave and its master that data
packets will only be exchanged for N timeslots every M slots. The slave can then assume that it will
never be contacted during N-M slots, and so can switch its power hungry circuitry off. The
specification goes further by also specifying a third parameter called ‘timeout’ (T) which specifies
‘extra’ timeslots that the slave will agree to listen for after receiving a valid data packet. Put another
way, if a data packet is received by the slave, then it knows that it MUST carry on listening for at
least T more slots. If within that T slot time period another data packet is received, then the timer is
restarted. This mechanism ensures low power consumption when there is no data transfer – at the
expense of latency. When there is a lot of data to be transferred, it acts as if sniff mode were not
enabled.
It is stated above that during sniff mode, a slave listens for N slots every M slots. The Bluetooth
specification states that a master can have up to 7 slaves attached to it with all slaves having
requested varying sniff parameters. It may therefore be impossible to guarantee that each slave gets
the M parameter it requested. In light of this, the protocol for enabling sniff mode specifies that a
requesting peer specify the M parameter as a minimum and maximum value. This will allow the
master to interleave the sniff modes for all slaves attached.
For this reason, the sniff parameters are specified in the BISM II PA module via four S registers. S
Register 561 is used to specify ‘N’, S Register 562 is used to specify ‘T’ and S Registers 563/564 are
used to specify minimum ‘M’ and maximum ‘M’ respectively. Although the specification defines these
parameters in terms of timeslots, the S register values have to be specified in units of milliseconds
and the firmware does the necessary translation to timeslots.