DA14531 - How to set up DSPS connection using 2 modules?

Hello,

we're developing a product using DA14531 module. 

In this moment we are capable of transferring data successfully through ATCodeless FW in binary mode: we're not satisfied about the bitrate of the data stream. So now we would like to test the DSPS FW setting up a connection between two DA14531 modules. In the following picture a scheme of the result we want to obtain is shown.

Could you show a simple way to set up the DSPS connection between the 2 modules, exchanging data from the UART port of the 2 chips? In particular we would need:

1) A simple hardware design of the connection of the single DA14531 (pins of the uart used by the module);

2) A start up guide to test the software example and exchange data (documentation and steps of the connection).

Thank you in advance!

Best Regards,

Gabriele Ghetti

Parents
  • Hi Gabriele, 

    Thanks for your inquiry. Please download the DSPS source code from the Renesas website : https://www.renesas.com/us/en/software-tool/serial-port-service-sps#overview

    After that, I would strongly recommend first reading the user guide which explains the ode architecture and the required configurations : https://www.renesas.com/us/en/document/mat/um-b-088-da145x-user-manual-dialog-serial-port-service?language=en&r=1600786

    The DSPS consists of 2 projects : 

    • sps_host, which configures the device as a GAP Central (scanning)
    • sps_device, which configures the device as a GAP Peripheral (advertising)

    One of your DA14531 should run the sps_host and the other the sps_device.

    Both host and device applications are fully configurable with the preprogrammed configuration file in SPI flash. The application on the central device automatically starts to scan and connects to the selected device that is in the configuration file or the first peripheral device that supports the serial port service. The Central device also handles situations of connection loss where the flow of data is stopped and automatically tries to re-establish a connection.

    Both sps_host and sps_device should have the following config :

    DA14531MOD                       Ext. MCU

    P0_5 (URX)          <---------       TX

    P0_6 (UTX)          ---------->       RX

    P0_7 (RTS)          ---------->       CTS

    P0_8 (CTS)         <---------         RTS

    The UART pins assignment can be changed from user_periph_setup.h file

    One important thing about the external MCU - it should be configured with 921K6 baudrate (the maximum one)

    Hope it helps!

    Best regards, 

    PM_Renesas

Reply
  • Hi Gabriele, 

    Thanks for your inquiry. Please download the DSPS source code from the Renesas website : https://www.renesas.com/us/en/software-tool/serial-port-service-sps#overview

    After that, I would strongly recommend first reading the user guide which explains the ode architecture and the required configurations : https://www.renesas.com/us/en/document/mat/um-b-088-da145x-user-manual-dialog-serial-port-service?language=en&r=1600786

    The DSPS consists of 2 projects : 

    • sps_host, which configures the device as a GAP Central (scanning)
    • sps_device, which configures the device as a GAP Peripheral (advertising)

    One of your DA14531 should run the sps_host and the other the sps_device.

    Both host and device applications are fully configurable with the preprogrammed configuration file in SPI flash. The application on the central device automatically starts to scan and connects to the selected device that is in the configuration file or the first peripheral device that supports the serial port service. The Central device also handles situations of connection loss where the flow of data is stopped and automatically tries to re-establish a connection.

    Both sps_host and sps_device should have the following config :

    DA14531MOD                       Ext. MCU

    P0_5 (URX)          <---------       TX

    P0_6 (UTX)          ---------->       RX

    P0_7 (RTS)          ---------->       CTS

    P0_8 (CTS)         <---------         RTS

    The UART pins assignment can be changed from user_periph_setup.h file

    One important thing about the external MCU - it should be configured with 921K6 baudrate (the maximum one)

    Hope it helps!

    Best regards, 

    PM_Renesas

Children
  • Thank you for your complete and exhaustive answer, it was very helpul!

    While we were working on DSPS FW, we tried to disable the sleep mode on DA14531 device. In particular, we made the following modifications:

    •  'device' project (dsps_device.uvprojx): file "user_config.h"

                 ORIGINAL: const static sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON;

                  EDIT: const static sleep_state_t app_default_sleep_mode = ARCH_SLEEP_OFF;

    • 'host' project (dsps_host.uvprojx): file "user_config.h"

                 ORIGINAL: const static sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON;

                  EDIT: const static sleep_state_t app_default_sleep_mode = ARCH_SLEEP_OFF;

    Running up the project in this new condition, we noticed that the FW works good even if we stop to handle the RTS-CTS flow control from MCU side.

    Could you confirm that disable sleep mode means UART flow control is not necessary anymore?

    Thank you for your help.

    Best regards,

    Gabriele Ghetti