nRF240x ShockBurst⢠technology - SemiconductorStore.com
nRF240x ShockBurst⢠technology - SemiconductorStore.com
nRF240x ShockBurst⢠technology - SemiconductorStore.com
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
:+,7(3$3(5<br />
<strong>nRF240x</strong> ShockBurst <strong>technology</strong><br />
<br />
'HVFULSWLRQRIWKH6KRFN%XUVWŒWHFKQRORJ\<br />
The <strong>nRF240x</strong> family from Nordic VLSI ASA has two different modes of operation,<br />
direct mode and ShockBurst mode. This document will describe the ShockBurst<br />
mode to clarify how the ShockBurst <strong>technology</strong> works and explain the advantages<br />
of its use.<br />
The whole idea with the ShockBurst <strong>technology</strong> is to put as much low level<br />
protocol handling into the nRF chip as possible without removing any flexibility from<br />
the user.<br />
<br />
6KRFN%XUVWŒDGYDQWDJHV<br />
8VHRIORZFRVWPLFURFRQWUROOHUV<br />
Even if the <strong>nRF240x</strong> devices uses a bit rate of 1Mbit/s on the air, is it possible for a<br />
low cost micro-controller to handle and operate a RF system based on these devices.<br />
A low cost micro-controller can look at the <strong>nRF240x</strong> device as a “advanced register”<br />
where data that shall be transmitted just has to be clocked in at a speed set by the<br />
micro-controller it self.<br />
In receive mode it is even simpler, the micro-controller will be notified by the<br />
nRF2401 when a valid packet has arrived, and can then clock out the data at its own<br />
speed. In both cases there are no need for precise timing or high speed operation. This<br />
will give the user the possibility to utilise a low cost micro-controller with a internal<br />
RC oscillator, removing the need for an external crystal on the micro-controller.<br />
Since the nRF2401 is doing all the low level protocol handling, like bit sampling,<br />
address checking and checksum calculation the micro-controller will not be loaded<br />
with this kind of work. This will again lead to the fact that the micro-controller can<br />
run on a even lower speed to perform its duties, making it possible to choose among<br />
the cheapest micro-controllers there is.<br />
/RZFXUUHQWFRQVXPSWLRQ<br />
Lets imagine that a micro-controller is limited to clock data in and out at a speed of<br />
10kbit/s. Put this micro-controller in a design together with a transparent radio. Lets<br />
also imagine that this radio has a current consumption of 8mA when transmitting.<br />
Lets then calculate the energy per transmitted bit that this system uses:<br />
8mA/10kbit/s=0.8uAs/bit.<br />
Lets then look at the same micro-controller used together with a <strong>nRF240x</strong> device in<br />
ShockBurst mode: The <strong>nRF240x</strong> has a speed of 1Mbit/s on air. Since the <strong>nRF240x</strong><br />
stays in sleep mode when the packet is clocked into its Data Out Register, it will only<br />
Nordic VLSI ASA - Vestre Rosten 81, N-7075 Tiller, Norway - Phone +4772898900 - Fax +4772898989<br />
3DJHÃÃRIÃ February 2003
WHITE PAPER<br />
use current when transmitting the packet. The <strong>nRF240x</strong> device uses 8mA in transmit<br />
mode, but since the bit rate on air is 1Mbit/s it will use only 8mA/1Mbit/s=8nAs/bit,<br />
that is 1/100 times the energy used by the first design. This means that the design with<br />
the <strong>nRF240x</strong> device will be able to use a given battery 100 times longer than the other<br />
design, transmitting the same amount of data.<br />
In addition to the fact that the <strong>nRF240x</strong> will use very little energy per transmitted bit,<br />
current will also be saved due to the fact that the micro-controller can hibernate when<br />
the <strong>nRF240x</strong> is receiving or transmitting data. This is not possible without the<br />
ShockBurst <strong>technology</strong>.<br />
9HU\ORZV\VWHPFRVW<br />
Since the ShockBurst <strong>technology</strong> makes it possible to use a low cost microcontroller<br />
with just a internal RC oscillator, the need for external <strong>com</strong>ponents around<br />
the micro-controller will be kept to a minimum. The <strong>nRF240x</strong> it self has also very few<br />
external <strong>com</strong>ponents, so the total bill of material will be extremely low. The low<br />
energy per transmitted bit will open for use of less expensive battery <strong>technology</strong>.<br />
<br />
3K\VLFDOFRQQHFWLRQ<br />
nRF2401<br />
Chip Enable (CE)<br />
Chip Select (CS)<br />
Data Ready (DR1)<br />
Clock (Clk)<br />
Data<br />
Low-Cost<br />
8-bit uC<br />
Figure 1: Physical connection of a nRF2401 and a low-cost uC.<br />
A micro-controller that is going to operate the nRF2401 in ShockBurst mode has to<br />
use five general I/O pins for interfacing the nRF2401. The five signals it has to<br />
operate are shown in Figure 1. A more detailed description of how to use these signals<br />
can be found in the nRF2401 data sheet.<br />
Before operating the <strong>nRF240x</strong> in ShockBurst mode, it has to be configured. Please<br />
refer to the nRF2401 data sheet for description on how this is done.<br />
Nordic VLSI ASA - Vestre Rosten 81, N-7075 Tiller, Norway - Phone +4772898900 - Fax +4772898989<br />
3DJHÃÃRIÃ February 2003
WHITE PAPER<br />
<br />
7KH6KRFN%XUVWŒWHFKQRORJ\WUDQVPLWPRGH<br />
Inside the nRF2401 we have the ShockBurst Engine (SBE.)<br />
nRF2401/2402 ShockBurst Engine<br />
Chip Enable<br />
CRC<br />
Calculator<br />
7RÃPRGXODWRU<br />
Data Out Register<br />
Clock<br />
Data<br />
Figure 2: The ShockBurst Engine in transmit mode.<br />
In transmit mode the ShockBurst Engine works like this:<br />
1. The external low cost micro-controller will first of all configure the nRF device to<br />
use the right channel, output power and if it is going to use Cyclic Redundant<br />
Check (CRC) or not.<br />
2. The micro-controller decides that it will transmit a packet via the <strong>nRF240x</strong> device,<br />
and pulls the Chip Enable signal high.<br />
3. The micro-controller clocks its packet into the Data Out Register, using the Clock<br />
and Data pin on the <strong>nRF240x</strong>. The packet contains receivers address and the<br />
payload.<br />
4. If CRC is enabled, the SBE will calculate the CRC of the data that is being<br />
clocked in, and the result will be attached to the transmitted packet.<br />
5. Transmission of the packet will start 202us after the Chip Enable signal has been<br />
pulled low by the micro-controller.<br />
Nordic VLSI ASA - Vestre Rosten 81, N-7075 Tiller, Norway - Phone +4772898900 - Fax +4772898989<br />
3DJHÃÃRIÃ February 2003
WHITE PAPER<br />
<br />
7KH6KRFN%XUVWŒWHFKQRORJ\UHFHLYHPRGH<br />
%LWÃUHFRYHU\<br />
FON<br />
)URP<br />
'HPRG<br />
nRF2401 ShockBurst Engine<br />
256 bit FIFO<br />
CRC<br />
Calculator<br />
Own Address<br />
(up to 40 bits)<br />
Data Ready<br />
(DR1)<br />
Clock<br />
Data Out Register<br />
Data<br />
Figure 3: The ShockBurst Engine in receive mode<br />
This is how the ShockBurst Engine works in receive mode:<br />
1. The external low cost micro-controller will before operation configure the<br />
nRF2401. During this configuration the nRF2401 will be told what is its own<br />
address, what packet length it shall receive, what bit rate (250kbit/s or 1Mbit/s) it<br />
shall use on air and if it shall perform CRC or not. In this case we assume that<br />
own address is N bits wide, the packet is P long and it shall perform CRC. After<br />
configuration of the nRF2401, the low cost micro-controller can go into<br />
hibernation.<br />
2. At this moment a transmitter starts to transmit a packet to this receiver.<br />
3. From the nRF2401 demodulator the bits are clocked into a 256 bit wide First In<br />
First Out (FIFO) register at the same bit rate that is used on air.<br />
4. Every time a new bit is clocked into the FIFO register from the demodulator, the<br />
N first bits in the FIFO will be <strong>com</strong>pared with own address.<br />
5. If the bits match the CRC calculator will calculate the checksum of the whole<br />
packet and <strong>com</strong>pare if the result is equal to the CRC bits in the received packet. If<br />
the CRC does not match, the SBE will continue to <strong>com</strong>pare in<strong>com</strong>ing bits with<br />
own address until a new match is found, and then repeat the CRC calculation.<br />
6. If both address and CRC match, the payload part of the packet, that is the whole<br />
packet except the N address bits and the CRC bits, will be copied into the Data<br />
Out Register. At the same time the Data Ready (DR1) signal will be set high.<br />
7. The external low cost micro-controller with the DR1 signal connected to one of its<br />
interrupt I/O pins can now wake up from its hibernating state, knowing that a new<br />
packet of data has arrived.<br />
8. The micro-controller can now generate a clock signal on the clock pin on the<br />
nRF2401, and the received payload will be clocked out from the Data Out<br />
Register. When the whole payload is clocked out, the DR1 signal will go low. The<br />
Nordic VLSI ASA - Vestre Rosten 81, N-7075 Tiller, Norway - Phone +4772898900 - Fax +4772898989<br />
3DJHÃÃRIÃ February 2003
WHITE PAPER<br />
low cost micro-controller can do this clocking at its own speed making it possible<br />
to use a micro-controller with a slow internal RC oscillator.<br />
Nordic VLSI ASA - Vestre Rosten 81, N-7075 Tiller, Norway - Phone +4772898900 - Fax +4772898989<br />
3DJHÃÃRIÃ February 2003
WHITE PAPER<br />
/,$%,/,7
WHITE PAPER<br />
WHITE PAPER<br />
1RUGLF9/6,:RUOG:LGH'LVWULEXWRU<br />
)RU