I recently had the opportunity to test the Nordic nRF51822 Semiconductor System-on-a-Chip (SoC), which contains a Bluetooth Low Energy (BLE) transceiver and an ARM Cortex M0 processor to run the BLE stack.
The Bluetooth Low Energy chip I see most commonly used is a similar chip from TI, CC2540. It is a SoC with an 8051 processor and a radio transceiver. The radio connects directly to the antenna via a balun/filter network. (I show the schematic below because even though radio SoCs have been around for years, I am still amazed at how few components outside the chip are needed.)
There are many modules available that contain just the chip, crystal, balun, matching network, and antenna or antenna port. These allow you to use the chip on the module vendor’s modular approval, saving the developer from having to get the product certified.
TI provides a BLE Stack that works with IAR development tools. The 8051 processor in the CC2540 has several I/O pins broken out. You can design an application to run on that 8051 along with the BLE stack. Task contention issues that typically crop up in any embedded design are a challenge. Shorter connection intervals put more demand on the processor and increase the chance of the BLE task conflicting with the application.
Nordic nRF51822 also has several options for BLE modules with modular approval, and Nordic provides a BLE stack for the ARM. The eval kit (shown to the right) uses a trace antenna. In my experience these work better than chip antennas and don’t take up much more room.
Testing the nRF51822 eval kit indoors gives me a range of 50 meters. Beyond 50m, I occasionally lose packets, probably due to multipath fading. Assuming the trace antennas are 50% efficient on both ends and we transmit with 0dBm, the path loss equation says received signal strength should be -82dBm. nRF51822’s sensitivity is -92dBm. In an indoor environment, we expect some fades as deep as -30dB, so it makes sense that the link is intermittent. The performance in this testing is equal to what I have seen from the CC2540.
When I put a TS1100 current sense amp on it, I see the three pulses of the advertising messages and little current drawn during sleep, except for a few milliamps for the blinking LED. (This is output from 200V/V amp monitoring a 0.5 ohm sense resistor, giving us 1V for every 10mA of current flow. The scope is a Tektronics MDO4013-3.)
Once it connects, you can see the single connection pulses.
There is a rumor that TI is working on its own ARM-based SoC that may feature separate cores for the BLE stack and the application. If this is true, it would eliminate the problem of task contention when using the SoC for BLE and an embedded application. It also may presage an end to the use of the 8051 for BLE in favor of ARM.