This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

pca10059 usb serial throughput is too slow. possible to increase?

Hi. 

I need PC app communicate with my development board though BLE.

so I'm testing pca10059 with ble-pc-driver sdk.

I tested ble_app_att_mtu_throughput example with my development board(nrf52832) and pca10059 dongle. 

first I tested 

  pca10059 with ble_app_att_mtu_throughput dummy firmware and my board with tester setting firmware. 

  mtu:247

  data length : 251 

  phy : 2M 

  test result : about 900 kbps 

the result was reasonable so I tested pc-ble-driver

  pca10059 with connectivity hex firmware in pc-ble-driver source ( branch release/4.1-compiled-connectivity)

  used softdevice is s132 6.1.1 

  and using pc-ble-driver sdk, I implemented dummy role software that working same as ble_app_att_mtu_throughput  examle.

  and my board with tester setting firmware. 

  with these setting I got result about 500 kbps 

I checked PHY setting 2M and data length 251

this is log from tester board 

[00:00:00.000,091] <info> app: Preparing the test.

[00:00:00.000,152] <info> app: Starting advertising.

[00:00:00.000,274] <info> app: Starting advertising error 0 .

[00:00:00.049,285] <info> app: Connected as a peripheral.

[00:00:00.049,285] <info> app: Sending PHY Update, 2 Mbps.

[00:00:00.072,937] <info> app: ATT MTU exchange completed. MTU set to 247 bytes.

[00:00:00.080,718] <info> app: Data length updated to 251 bytes.

[00:00:00.045,623] <info> app: PHY update accepted. PHY set to 2 Mbps.

[00:00:00.006,561] <info> app: Notifications enabled.

[00:00:00.006,622] <info> app: Test started

[00:00:00.085,021] <info> app: Done.

[00:00:00.085,021] <info> app: =============================

[00:00:00.085,021] <info> app: Time: 16.757 seconds elapsed.

[00:00:00.085,052] <info> app: Throughput: 500.66 Kbps.

[00:00:00.085,052] <info> app: =============================

  

I think USB speed is bottleneck . 

Is any possibility that increase throughput ? 

Parents
  • Hi Choi, 

    We had some test on the CDC USB through put here

    As you can see the throughput on Windows can get to 1720kb/s

    Terje already mentioned that when you do serialization, you loose a lot for over head. In addition the protocol wasn't optimized for high throughput application. 

    In your case, I assume you just need to transmit data between PC and NRF52, why not access UART/USB directly and modify ble_app_att_mtu_throughput example to exchange data with PC. This way you have full control over how UART/USB data is sent to/ receive from PC ? 

Reply
  • Hi Choi, 

    We had some test on the CDC USB through put here

    As you can see the throughput on Windows can get to 1720kb/s

    Terje already mentioned that when you do serialization, you loose a lot for over head. In addition the protocol wasn't optimized for high throughput application. 

    In your case, I assume you just need to transmit data between PC and NRF52, why not access UART/USB directly and modify ble_app_att_mtu_throughput example to exchange data with PC. This way you have full control over how UART/USB data is sent to/ receive from PC ? 

Children
No Data
Related