Regarding BLE serialization

Hello Nordic,

As described regarding BLE Serialization in the link https://nordic-prod.zoominsoftware.io/bundle/sdk_nrf5_v12.3.0/page/lib_serialization.html, we want to use nRF52820 as a connectivity chip. But when i look at the documentation of the softdevice https://docs.nordicsemi.com/bundle/ug_gsg_ses/page/UG/gsg/softdevices.html, i don't see any support for the nRF52820.

1. Can we use nRF52820 as a connectivity chip or not?

2. If possible, can we have a possibility to update the softdevice of Connectivity chip from the BLE Application chip?

kind regards

Teja

Parents
  • Hello,

    2. If possible, can we have a possibility to update the softdevice of Connectivity chip from the BLE Application chip?

    This is not possible. The flash on the nRF52820 is too small to support SoftDevice upgrades. 

    Can we use nRF52820 as a connectivity chip or not?

    The link that you refer to is for SDK 12.3.0, which is way older than the nRF52820. Try looking in the one for SDK17.1.0:

    https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/lib_serialization.html

    Out of the box, we don't have a project file for the nRF52820, but you can probably use one of the ones found in SDK17.1.0\examples\connectivity\ble_connectivity, and adjust the target device, and flash and ram sizes.

    What SoftDevice do you intend to use? Do you want full feature support? Or is it e.g. only for peripheral uses?

    Best regards,

    Edvin

  • Actually, I mixed up the devices. The nRF52820 may be able to update the softdevice (the nRF52810/52811 will not work). I will have to check if you find it relevant. But please let me know what softdevice you intend to use. And if you are not sure, please let me know what kind of device you want to develop. BLE peripheral? BLE central? both?

    Best regards,

    Edvin

  • Thanks for the reply.

    But, I could not found the precompiled version of the serialization application using the s112 softdevice in the "nRF Connect SDK /  nRF5_SDK_17.1.0_ddde560 / s112nrf52720 ".

    Could you please tell us, where is the correct place to find this application hex file?

    or If you have any example application, can you provide us?

  • I found it in:

    nRF5_SDK_17.1.0_ddde560\examples\connectivity\ble_connectivity\hex\ble_connectivity_s112_uart_pca10040e.hex

    You can build it yourself using the application project found in:

    nRF5_SDK_17.1.0_ddde560\examples\connectivity\ble_connectivity\pca10040e\ser_s112_uart\ and select your favorite IDE. Again, you need to adapt this to work with the nRF52820, as these application projects are intended for the nRF52810/nRF52811.

    Best regards,

    Edvin

  • Hi Edvin,

    Thanks for the response.

    In case of nRF52820, Can I know how many multiple/parallel connections does the chip support?

  • It depends on the softdevice that you use, and some other things, such as how many characteristics you have, the connection parameters (MTU). So the only way to test is to try, to know for sure, because the memory requirement is a sum of a lot of parameters.

    Also, you have to keep in mind the time spent for each connection. If you have a short (7.5ms) connection interval, you can only manage to fit two connections successfully every connection interval. You can of course rely on the scheduler in the softdevice, giving the connections that are about to time out a higher priority, but then it is better to increase the connection interval. 

    How many are you hoping to support?

    Best regards,

    Edvin

  • Thanks for the information.

    We would like to have a support of minimum five connections.

    Regarding the GATT, is there any limit on the overall size of the GATT profiles defined together ?

    Is there any tool to calculate the size of it?

Reply Children
  • Hello,

    I am not sure exactly how this works when the nRF is a serialization device, because parts of the memory required will be handled by the application MCU.

    If you look in the sdk_config.h file of the ble_connectivity application, there are some configurations that you need to set, that will be used in the softdevice initialization.

    Some relevant are:

    NRF_SDH_BLE_GAP_DATA_LENGTH
    NRF_SDH_BLE_PERIPHERAL_LINK_COUNT
    NRF_SDH_BLE_CENTRAL_LINK_COUNT
    NRF_SDH_BLE_TOTAL_LINK_COUNT
    NRF_SDH_BLE_GAP_EVENT_LENGTH
    NRF_SDH_BLE_GATT_MAX_MTU_SIZE
    NRF_SDH_BLE_VS_UUID_COUNT

    These are the ones that typically set the amount of memory (ram) required by the softdevice. Set these accordingly to how your app should work, and monitor the log when the chip is starting. The log will tell you if you need to adjust the memory settings (in your application project settings). 

    So the tool is a combination of the SDK and the softdevice itself, spitting out the outcome in the log.

    Best regards,

    Edvin

Related