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.

CC2564: UART Connection

Part Number: CC2564


Hello

I have started trying to test the CC2564B on my PCB. However, I’m yet to get any signs of life from it! I was wondering if you could clarify the Hardware Flow Control for me?

Looking at §6.4.2.1 of the datasheet, am I correct in my understanding? :

  • To send data from Host to Device:
    • Host waits for its CTS (devices RTS) to go low

    • Host sends data until either complete, or Host CTS (Device RTS) goes high

  • To receive data:
    • Host sets its RTS (Device CTS) low

    • Device sends data

    • Host sets RTS high (Device CTS) when complete (or buffer full)

 

However, this seems different to the UART Transport Layer Spec in Vol 4 of the BlueTooth Specification (referenced in the above section of the devices datasheet) as this seems to be an active high signal. Which is correct in this implementation?

 

I have tried to use the TI Hardware Evaluation software (Java applet) using an FTDI cable to the BT device directly. However, no matter the settings I gave Windows to use the hardware (or software) flow control, it seemed as if the TI program was overwriting this configuration.

I am now trying with my microcontroller, sending a packet to the device and reading a response using the above process but I don’t seem to be receiving any data.

The nSHUTD pin is high and the device has both clocks (26MHz and 32kHz).

 

Have you got any other tips for what I could be doing wrong at all?

 

Best Regards
Bob Bacon

  • Bob,

    Your question has been assigned to the relevant engineer and you should hear back shortly.
  • Bob,

    Bob Bacon said:
    To receive data:
    • Host sets its RTS (Device CTS) low

    • Device sends data

    • Host sets RTS high (Device CTS) when complete (or buffer full)

    This interpretation in wrong. Setting the Host_RTS (HCI_CTS of the CC256x) high will cause the CC256x to not send any data over UART since the flow control is blocking it. So the host should only pull Host_RTS high when its buffer is full and set Host_RTS low as soon as it has enough buffer space to receive more data. This aligns with the H4 protocol requirements defined in the Bluetooth specification.

    Before trying to test the communication on the custom board, have you verified that the controller is initialized properly? If all the power-up timing/sequencing requirements are followed.

    Best regards,

    Vihang