This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Multiple packets within one advertising event

Other Parts Discussed in Thread: CC2541

Hello TI experts,


I am going to use the CC2541 Development kit in order to program a  simple broadcaster which is able to transmit a multitude of different advertising PDUs. Therefore the duration between the consecutive packets shall be as small as possible.  I know that the duration of two consecutive advertising events  is in the scale of some milliseconds, which is to much for my application.

Is it possible to transmit  more than one packet within one  advertising event e.g. with a inter frame space of a few hundred micro seconds ?  And if not,  is there any other way to realize a higher  "packet rate" of advertising packets ?

I   really hope you can help me :)

Regards David 

  • Hey David,

    The BLE spec defines a minimum advertising interval of 20ms.

    If you use directed advertisements you can achieve an interval of 3.75ms but you will not be able to send any payload data since the adv. and initiator addrs are sent in the payload.

    -Matt

  • Hi, Thanks for your quick response. Yes, I know thats why I thought about transmitting more than one packet within one event. I mean it seems to be also possible to update the advertising PDU type within one event, like from ADV_IND to ADV_SCAN_RESP by using the function GAP_UpdateAdvertisingData () e.g. in the sample project simpleBleBroadcaster (just say if i am wrong...). Is it possible to update the PDU several times within one event by using the GAP_UpdateAdvertisingData() function? Sorry for all this questions... I would test it by myself but I have to ensure somehow , that there is an option to transmit packets within a very small duration before ordering the cc2541 hardware. Otherwise BLE might be the wrong Standard.
  • For each advertisement event there is only one packet sent out on each advertising channel and that packet is the same for all channels. When you call GAP_UpdateAdvertisingData(), the actual data being advertised will only update in between advertisement events.

    A really rough work around may be to repeatedly disable/enable advertising but I can't guarantee any timings for that and it would be application dependent.

    -Matt

  • Alright, so you mean that by using GAP_UpdateAdvertisingData() the new data will not be transmitted before the next event begins?

    Do you have got a rough idea how fast advertising mode can be switched  (disabled/ enabled) ?

    Regards 

  • Yep, you are correct. The events don't change timing when you update the adv data field. Strictly, the data values change and those data values will only change in between events. Disabling/enabling will change the timing, for better or worse.

    I have no idea how fast you can switch in out of advertising and I don't think it's a very solid production/long-term solution since the timing can't be guaranteed. I would look at some other protocol options which might give you faster broadcast rates first.

    -Matt

  • You mean other protocols than BLE ?

    Well, maybe you know an possible option if I explain the application to you...

    I want to transmit a message by a bluetooth device which can be detected by a simple envelope detection receiver.

    That receiver will only be able to detect the envelope of the transmitted packets. Therefore the message shall be modulated within the packet length (see attachment). That means I need a good discrimination between the different packets (e.g. different payload data).

    I thought about broadcast mode since no pairing is required (Receiver is not able to interact with BLE device ) but maybe there is another mode which could provide me a higher packet rate.

    Best regards,

    David

  • Hey David,

    It seems like you could just use some type of simple transmitter and without need and over head of abiding to a protocol standard.

    There is a section in the user's guide about operating the CC2541 in proprietary mode where you are interacting with the radio HW directly (chprt. 25 http://www.ti.com/lit/ug/swru191f/swru191f.pdf). There should be an example floating around too but I can't seem to find a link that works at the moment.

    -Matt

  • Allright, thanks a lot I think that is exactly what I need .

    Best regards, 

    David