This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640R2F: Looking for input for proposed BLE WiFi Gateway solution

Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2642R, TIDC-01005

Dear All,

We are working on BLE Wi-Fi Gateway with following features

  • AWS connectivity
  • OTA firmware update from AWS cloud
  • BLE 5.0
  • Web server hosting with Webpages for configuring Gateway
  • Accessing Webpage in Soft Access Mode

We have workout above architecture for BLE WiFi Gateway product.

  1. CC2640R2F will use in Simple Network Processor Configuration as shown above
  2. Cortex M3 of CC2640R2F will not use. We are recommended same as during OTA firmware update we want to update CC32XX application firmware only.
  3. CC32xx device will connect over UNPI/HCI interface to CC2640R2F
  4. All profile handling of BLE devices will handle by CC32XX
  5. In OTA update from AWS only CC32XX application will update. CC2640R2F image will not update.
  6. BLE communication sequence
    • CC32XX will initiate connection with Device 1 using HCI/UNPI interface command
    • After successful connection initiate connection with Device N
    • CC2640R2F will return handle to CC32XX
    • Using received handle CC32XX will read/write on Device 1 to N characteristics/attribute using HCI/UNPI interface command
  7. Web server will be hosted on CC32XX and will access webpage in Soft Access point mode

Our queries:

  1. As mentioned in point 1 to 4, does it possible to handle profile of ble devices directly from CC32XX? Please suggest any correction.
  2. Do we get complete support of HCI command interface (default & user defined) or we will get only UNPI interface? What is UNPI interface?
  3. The BLE sequence communication mentioned in point 6 is correct? Please suggest any correction.
  4. Typically, which HCI command need to use for connection and Data read/write from multiple BLE device?
  5. Does it possible to go for BLE implementation with only Network Processor without Host processor? Does TI have BLE CC2640R2F like solution without cortex M3?
  6. As future provision, does it possible to program Cortex M3 of CC2640R2F from AWS cloud using OTA?
  7. Suggest any correction/improvement/issue in proposed architecture.
  8. Does 1MB flash on CC32xx sufficient for OTA, Web server, AWS connectivity feature
  9. With proposed architecture, how many simultaneous BLE salve device we can connect? 
  10. Right now CC32XX and CC2640R2F not available for procurement. Considering market condition, tentatively how much time it will take for these chips available for procurement? 

Regards...

Yogesh

  • HI Yogesh,

    First of all, let me point out that WiFi and Bluetooth LE may operate in the same RF band. As a consequence, you may end up with collisions significantly altering the Bluetooth link. It may make sense to look into using the "Coexistence" feature available on CC2642R. Please review this paper for more details.

    Please allow me a couple of remarks on your architecture

    2. "Cortex M3 of CC2640R2F will not use". Actually, including in a network processor configuration, the main core of the device is used. Among others, the M3 handles the UART communication.
    "we want to update CC32XX application firmware only". If this has been thought through, I am ok. But keep in mind that Bluetooth protocol vulnerabilities are discovered every year and may represent a critical flaw for your system.

    Now, Answering your queries

    1. Yes, GATT database can be maintained off chip.
    2. You can get access to the full set of HCI commands. The uNPI (standing for micro Network Processor Interface) can be seen as the layer under the HCI layer.
    3. You probably need to add some steps. Scanning, connection request, wait for connection established, (optionally) pairing/bonding, GATT table discovery, read data
    4. Each connection should be seen as an independent connection. Bluetooth LE protocol does not allow to "broadcast" to all the connections.
    5. No, this is not possible.
    6. The OAD (name we use for OTA) should be done through Bluetooth LE. So I don't think there is possibility of a  direct link between AWS and the CC26xx device. One solution you may want to consider, is to use the CC32xx to perform the firmware update using the serial bootloader (https://www.ti.com/lit/swra466).
    7. See before
    8. Please open a separate thread to address the question related to WiFi devices, that way the proper experts will answer.
    9. The number of simultaneous connections depends on the available RAM. On CC2640R2F you could get up to 8 connections. On CC2642R, you could get up to 32 connections.
    10. I cannot answer this question here. Please refer to ti.com for this question

    Best regards,

  • Thank you very much for giving detailed answer to all question.

    We understood M3 in CC2640R2F is used Network processor (M0) configuration and to provide UART HCI communication to external off chip in our case cc23xx.

    For your comment "But keep in mind that Bluetooth protocol vulnerabilities are discovered every year and may represent a critical flaw for your system" we have few question.

    • To handle Bluetooth protocol vulnerabilities in CC2640R2F, which part need upgrade from M0 and M3.
    • How developer will come to know about the Bluetooth protocol vulnerabilities? 
    • How developer will get update from TI?

    As you suggested, we went through documentation for CC2642R. we came across below tutorial for coexistence signaling.

    https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/720624/cc2640r2f-ble-wifi-coexistence-signaling

    The TIDC-01005 link in tutorial - http://www.ti.com/lit/ug/tidue59/tidue59.pdf is not working. If possible please provide us this pdf document and also the related code for our study.

    If we have other queries on your reply, we will come back to you inn day or two. 

    Regards...

    Yogesh

  • Hi,

    To handle Bluetooth protocol vulnerabilities in CC2640R2F, which part need upgrade from M0 and M3.

    Generally the M3, but for you there is no difference. No matter if the update is at the radio level (M0) or at the application/stack level (M3), the only requirement is to update the Flash content - the system will then propagate the update.

    • How developer will come to know about the Bluetooth protocol vulnerabilities? 
    • How developer will get update from TI?

    Please refer to the Bluetooth SIG website and to https://www.ti.com/technologies/security/report-product-security-vulnerabilities.html

    The link to the document you are asking for is https://www.ti.com/lit/tidue59, the code is on https://www.ti.com/tool/TIDC-01005 

    As the initial questions are answered, it would be helpful if you could mark this thread as resolved. For additional questions, make sure to open a new thread. Thank you for your cooperation.

    Best regards,