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.

Is UART Flow Control Necessary for TI Bluetooth?

Other Parts Discussed in Thread: CC2560

Hello,

Is UART flow control for HCI a requirement for TI Bluetooth?  If not, what is the system impact of not using FC on the HCI UART?

Thank you,

Gary

  • Hi Gary:

    The HCI uses UART H4 protocol (hardware flow control).  This is mandatory.

    Arild

  • Hi Arild,

    Thank you for the quick response.  We are using the CC2560 and we do not have a UART port with FC available.  I was told previously that reducing the baud rate and/or the packet size could be used in place of FC.  Do you agree?  Simply, we don't have FC but would like to use the TI BT solution.  Appreciate any suggestions you may have.

    Regards,

    Gary

  • Hi Gary:

    Unfortunately, the 4-wire UART is needed to both synchronize the transmissions as well as sleep control (HCILL).

    Arild

  • Hi Gray,

    There are 2 parts to my answer:

    • HW FC - This is not needed. TX/RX connection is enough. It will also work on high-baud rate (3mbps). Remember that the BT starts with 115200 and during the init-script (Commands/ROM pacthes) one of the first commands is "switch" to high baudrate
    • HCILL - The HCILL is TI extension to HCI protocol which add 4 channels: 30,31,32 and 33. Using these channels the BT core and the driver exchange information regarding sleep/wake requests and can shut-down the UART power in order to increase battery life-time. The HCILL is activated using the init-script. So if you are using other FC driver, you can disable this feature by using scriptpad and remove HCILL enable command(s)

    - Elad

  • Hi Gray,

    I'm correcting my mistake in the previous thread. After a chat of one of the engineers, HW FC (RTS & CTS lines) must be connected.

    I'm apologies for the wrong information I provided. The RTS and CTS are important for keeping data flowing. 

    - Elad

     

  • Hi Gary,

    As written in previous replies, flow control is a must for HCI UART.

    The HCI specification does not allow any loss of sync over the transport layer and HW flow control is used to ensures that the UART buffers are never overrun. Reducing the UART buad rate and/or the packet size is not enough to prevent overrun.

    In addition, the CTS and RTS lines are required for supporting Bluetooth FW low power mode (HCILL). This mode is essential for battery powered devices.

    Regards,

    Alon

  • Hi ,

    I am using sensortag for UART , Normally I got output ( No problem with Receiving and Transmitting) but when it comes to Hardware flow control enabled I am not seeing any data on Serial Terminal ( Putty ).

    I connected sensortag RTS pin(P1_3) -> Serial cable CTS
    sensortag CTS pin (P1_4) -> Serial cable RTS

    Below are my port configurations

    PERCFG = 0x01;
    P1SEL = 0x3C;
    P1 = 0x3C;
    P1DIR = 0x3C;
    P2SEL = 0x20;

    Baud rate = 9600