BLE module selection

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
jomac_4032611
Level 3
Level 3
First like received

I have been trying to pick the best BLE module for my project. I have read quite a few datasheets, app notes and I bought the cyc8ckit-042-ble-a, which I have tested for a few days. But I'm still quite confused!

I was planing to use cyble-022001 module, but I'm not so sure anymore. I already designed a PCB with it, but haven't ordered that yet.

The first thing I don't quite understand is the I2C specs. I need two I2C buses at 400 kHz and the module would be the only master in both. The datasheet of the chip (but NOT cyble-022001 datasheet!) used in cyble-022001 says "Not recommended for new desings", which sound alarming. There it is said that SBC1 is fully compliant at 400 kHZ I2C at pins P5.0 and P5.1. And SBC0 is only compliant at 100 kHz. AFAIK you can't use deep sleep while sending or receiving data as I2C master. So its quite important, if the time needed for communication takes 275 us or 1100 us per sensors. The sensors are read before every BLE connection interval and the device will be powered from CR2430 280 mAh cell.

So no luck with two 400 kHz buses or even one with swapping SDA to another pin while needing the other bus? Using 100 kHz would make the needed wake up time too long while communicating with sensors, which have the same slave address, thus need separate buses.

The BLE board that came with the kit seems to be PSoC while cyble-022001 seems to be PRoC (although its datasheet says "PSoC 4 BLE chip" and there is a non-working link to its datasheet http://www.cypress.com/documentation/datasheets/psocr-4-psoc-4xx7ble-family-datasheet-programmable-s... ).

So is cyble-022001 PSoC or PRoC and what does that mean regarding usage of I2C?

In PSoC Creator 4.2 I tried to put two I2C at 400 kHz. First with PSoC 4200 BLE CY8C4248LQ*-BL583 in the kit. It seems to be OK, but 381 kHz instead of 400 kHz for both (not tested with actual I2C usage). I used the pins P5.0, P5.1, P0.4 and P0.5, which are dedicated for SDA/SCL in the datasheet. Then I selected cyble-022001 as the device. No warnings and still 381 kHz for both. So does it work? What does the 100 kHz in the datasheet mean?

I can even put a third I2C bus at 400 kHz. But cyble-022001 datasheet says just 2 SCB. Are these software I2C implementations? Any difference in usage regarding CPU time and sleep options? Can two buses be used at the same time?

Does some other module have better properties for this project? I don't need anything else than these two I2C buses and battery level measurement. The module will be 99% advertising at minimum current consumption (probably 10 s interval) and the operate for a few hours at 250 ms interval connection. It will not be possible to replace the battery nor have any switches. So I need to minimize current especially at advertising stage, but also while measuring. The target is ~5 uA and ~100 uA. Sensors will take ~0.4 uA and ~20 uA (for two).

I don't need more features or memory.

0 Likes
1 Solution
LiDo_2439176
Level 5
Level 5
First question asked 50 replies posted 50 sign-ins

Hi,

Definitely CYBLE-022001-00 is PRoC BLE. This is the smallest BLE module from Cypress with two I2C. PSoC BLE has logic blocks called universal digital blocks (UDBs). This module has not. The two serial communication blocks (SCBs) work independently. It is possible to use both at the same time at 400 kHz. For each I2C block consumption is 50uA @ 100kHz and 155uA @ 400kHz. My guess is it should be tested both frequency in real environment. To achieve 400 kHz you must select Manual oversample control and Oversampling factor to 20 on I2C configuration panel.

May be this reference design is a good fit for you.

View solution in original post

0 Likes
3 Replies
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

For CYBLE-022001 you can use both SCB blocks configured as I2C and make them work at 400KHz. There should not be any problem.

You can confirm the above information with PSoC Creator as well as CYBLE-022001 datasheet.

If you select CYBLE-022001 the PSoC Creator will throw errors if you use more than 2 SCB blocks.

let us know, where did you see that the CYBLE-022001 contains the CYBL10x6x family device?

Thanks

Ganesh

0 Likes

Cyble-022001 datasheet from Cyble-022001 page. Page 11 Figure 9 schematic says CYBL10x6x.

0 Likes
LiDo_2439176
Level 5
Level 5
First question asked 50 replies posted 50 sign-ins

Hi,

Definitely CYBLE-022001-00 is PRoC BLE. This is the smallest BLE module from Cypress with two I2C. PSoC BLE has logic blocks called universal digital blocks (UDBs). This module has not. The two serial communication blocks (SCBs) work independently. It is possible to use both at the same time at 400 kHz. For each I2C block consumption is 50uA @ 100kHz and 155uA @ 400kHz. My guess is it should be tested both frequency in real environment. To achieve 400 kHz you must select Manual oversample control and Oversampling factor to 20 on I2C configuration panel.

May be this reference design is a good fit for you.

0 Likes