cancel
Showing results for 
Search instead for 
Did you mean: 

Maximizing BlueNRG-2 throughput

klillas
Associate

I am trying to maximize throughput from a BlueNRG-2 chip to an android phone.

The example code I have just spits out messages from the device to the phone as quickly as possible. Payload sizes up to 200 bytes (207 byte framesize) works OK, as seen below. The phone keeps receiving until about 2ms is left in the 15ms connection interval. The device begins transmitting immediately in the new interval after the phone transmits the delayed empty PDU frame.

klillas_1-1692008945156.png

 

The behavior changes if I add another byte to the payload, to a total of 208 bytes in the payload frame. The phone ends the interval and waits 1947us before sending an Empty PDU, but the device does not begin transmitting any new frames in the new interval. The device only starts transmitting after a delay of 15ms and another Empty PDU frame being transmitted from the phone to the device.

klillas_2-1692009104712.png

This behavior repeats, and therefore reduced the bandwidth heavily instead of increasing it when I move from 200 to 201 payload bytes. Any idea what may cause this behavior in BlueNRG-2? As you can see, the "More Data" flag is set on frame 152619, which should indicate that the BlueNRG-2 BLE stack still has data to transmit.

Cheerios,

Kim

0 REPLIES 0