Skip to main content

DSPS speed vs Codeless binary speed

DA14531 SmartBond TINY Module

8 months ago

Posted by vboudjida@capsys.eu 20 points 5 replies
0 upvotes

Hello,

I am using un a DA14531 Tiny module and I want to transfer data with the maximum speed.

For each test I am using the Dialog SmartConsole application.

 

I first used the codeless 531 datapump project (v 6.380.14.22). The uart baud rate to communicate with the module is configured at 921600 baud. After connecting with the device I enter in binary mode. Then I transfer 4096 bytes (from the device to the smartphone with continuous sending on the uart and by using RTS/CTS). It takes about 3s (sometime a little less I don't know why).

 

Then I used the DSPS project (v 6.150.4.50). The uart baud rate is also configured at 921600 baud. To transfer 4096 bytes it takes only 500ms.

When I probe the uart transfer I constat that it takes 135ms between each data block (due to RTS waiting) with the codeless whereas with the DSPS it takes 75ms and the data blocks are bigger.

I need to use the codeless project in my device to configure the DA14531 with the AT command.

Is it possible to have the same data rate with the codeless than with the DSPS ?

Or how can I increase the data rate with the codeless project?

 

Thank you for your help.

8 months ago

PM_Dialog

Hi There,

Thanks for your question online and for your interest in our TINY module BLE solution.

The CodeLess ‘Binary Mode’ is a stripped-down version of the DSPS application and it is commonly used to transfer small chunks of data. For bigger chunks of data ( e.g. 4096 bytes)  and faster transfers, we strongly recommend the usage of the DSPS.

Since ‘Binary Mode’ is as stripped-down version, it’s not possible to achieve same data rates same as DSPS.

Thanks, PM_Dialog

8 months ago

vboudjida@capsys.eu 20 points

Hi PM_Dialog,

Thanks for your answer.

In my application I need to regulary change the contents of my advertising frame. To do that I use the AT command with the codeless project. But I really need a better data rate.

Is it possible to implement the AT command in the DSPS project ?

Or do you know another way to configure the contents of the advertising frame periodically with the DSPS ?

Thanks for your help

8 months ago

PM_Dialog

Hi There,

Thanks for getting back to me. So, do you mean that you would like to change the advertising string periodically? Did I understand correctly ? 

In the DSPS source code, the SPS UUID is placed into the advertising data - please check USER_ADVERTISE_DATA macro in user_config.h header file.

You could place your custom data either into the rest of the advertising data or into the scan response data. 

Take a look at this tutorial : http://lpccs-docs.dialog-semiconductor.com/DA145xx_Advertising_Tutorial…

Thanks, PM_Dialog

8 months ago

vboudjida@capsys.eu 20 points

Hi PM_Dialog,

You understand correctly, I need change the advertisng string. 

More precisely I need my µC to configure the advertising data (manufacturer data) with the serial number of the product (one different number for each product) and with the current status of the product. So I need to communicate with the DA14531 to change the advertising  data.

With the tutorial you gave me (thanks for that) we can only change the advertising data with constants or automatically. Is it possible to transfer new data from my µC (like AT+ADVDATA with codeless) ?

Thank you for your help

8 months ago

PM_Dialog

Hi There,

The DSPS does not support AT Commands as CodeLess. To do so, in order to change the advertising string, you should do on the SW side ( in the DSPS source code).

For example, you can set up a timer and change the advertising string.

In case of the external MCU sends data over UART and need to configure the advertising string depending on the incoming data, you should modify the DSPS source code. This is not a recommended approach, as the DSPS is supported as provided.

Please also take a look at the following SW Example : https://github.com/dialog-semiconductor/BLE_SDK6_examples/tree/main/features/dynamic_L2CAP_Packet_size_Optimization

It demonstrates the following use cases :

  • How to do a peer feature request for determining peer DLE capability
  • How to request DLE and utilize larger packets to enhance throughput
  • Basic principles of L2CAP 100% packet utilization
  • Packet optimization for non DLE devices

It’s a different approach from the CodeLess/DSPS as you will need to build your application on top of SDK6, but it is a very nice project illustrating how to improve the data rate.

Thanks, PM_Dialog