Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

No valid bidirectional (UART) communication between the iMX6 UL-S evk board running the Nordic PC BLE driver and the nRF52 DK running the Nordic connectivity 132 uart software

Hallo,

Currently I'm investigating different Low Energy Bluetooth solutions for our healtcare products that we build in Televic Healthcare.

So  here is the setup I have build to verify how fast and easy we can integrate the Nordic products into our healthcare products:

As we want still  to have our own board running the application software the Exceet IMX6 UL-S 2 evk board is used (see : https://docs.exceet-electronics.de/board-imxceet-ul-2-s/) in combination with the Nordic nRF52 DK board.

Both boards are linked together via a UART connection for bidirectional communication. 

As proposed by Nordic to handle this kind of use case I have been investigating the serialize concept as described in the Nordic v15 SDK documentation.

So the Exceet board will operate as application board and the Nordic nRF52 DK board shall operate as connectivity board 

However for fast proof of concept and evaluation I found the wonderful and powerful BLE driver SW provided by Nordic distributed via GIT.

So I managed to build (cross compiling for Cortex 7A processor) and run the BLE driver SW on the Exceet IMX6 board.

As mentioned both boards are connected via a UART link. 

On the Nordic board that operates as connectivity board I flashed the connectivity_2.0.1_115k2_with_s132_5.0.hex (downloaded from GIT)

Unfortunately the BLE driver application on the application board exits after trying to send 6 times the LINK CTRL packet or better the SYNC message : 01 7e

The UART message as it was trapped by a logical analyzer. 

Debug output:

Any ideas how to proceed further, what  further debug information can be interesting for Nordic?

I also tried to use the HR connectivity SW as provided by the latest Nordic SDK v15 for debugging via the SEGGER IDE debugger.

In that case I flashed the latest SoftDevice SW and flased the HR connectivity applic SW after it was build in the SEGGER IDE. 

BTW I have also posted some comments on the github site for the BLE driver project:

https://github.com/NordicSemiconductor/pc-ble-driver/issues/143

Thanks in advance,

Best regards,

Frank Vieren

Parents
  • Hi all, Nordic Support,

    After walking through the SDK's v15 Connectivity applic sources and the PC BLE driver sources things started the clear out for me why the mixing of both applics will not work out of the box. 

    For the PC BLE driver applic the UART communication is based on the H5 transport layer (encoding/decoding via SLIP protocol including also a CRC of the UART messaging) supporting the 3 wire UART solution for improving reliable UART communication in case of failures (bursts,...). 

    The SDK's v15 connectivity applic is based on 4 wires UART communication including CTS/RTS next to RX and TX, which means no h5 encoding/decoding at least when using standard UART and NOT UART HCI

    Thus messages sent between both boards can't be corretly interpreted as the boards don't speak the same protocol. 

    So possible solutions to me are:

    1. Adapt the connectivity applic to also support the GPIO uart pins P23/24/25/02.

    Can Nordic provide the sources of the Connectivity applic that is compatible with the PC BLE driver applic?

    2. Adapting myself the Connectivity sources UART HCI from the SDK v15. 

    3. Implement a uart driver for the custom board cfr. the nrf_drv_uart as proposed in the SDK when implementing the serialize concept for a custom board. 

    4. Connect physically the standard UART pins from the connectivity board with the custom board UART TX ,RX and ground pins. However is this harmless for both boards when the micro usb is connected to the Nordic Connectivity board. 

    My preferred solution is number ONE.

    Any thoughts, ideas Nordic support?

    Thanks in advance,

    Frank Vieren

Reply
  • Hi all, Nordic Support,

    After walking through the SDK's v15 Connectivity applic sources and the PC BLE driver sources things started the clear out for me why the mixing of both applics will not work out of the box. 

    For the PC BLE driver applic the UART communication is based on the H5 transport layer (encoding/decoding via SLIP protocol including also a CRC of the UART messaging) supporting the 3 wire UART solution for improving reliable UART communication in case of failures (bursts,...). 

    The SDK's v15 connectivity applic is based on 4 wires UART communication including CTS/RTS next to RX and TX, which means no h5 encoding/decoding at least when using standard UART and NOT UART HCI

    Thus messages sent between both boards can't be corretly interpreted as the boards don't speak the same protocol. 

    So possible solutions to me are:

    1. Adapt the connectivity applic to also support the GPIO uart pins P23/24/25/02.

    Can Nordic provide the sources of the Connectivity applic that is compatible with the PC BLE driver applic?

    2. Adapting myself the Connectivity sources UART HCI from the SDK v15. 

    3. Implement a uart driver for the custom board cfr. the nrf_drv_uart as proposed in the SDK when implementing the serialize concept for a custom board. 

    4. Connect physically the standard UART pins from the connectivity board with the custom board UART TX ,RX and ground pins. However is this harmless for both boards when the micro usb is connected to the Nordic Connectivity board. 

    My preferred solution is number ONE.

    Any thoughts, ideas Nordic support?

    Thanks in advance,

    Frank Vieren

Children
Related