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.

CC2480: Unclear about the documentation regarding the UART RTS and CTS pins

Other Parts Discussed in Thread: CC2430, CC2480A1

I am a little confused by the CTS and RTS pins in the CC2480.

The interface documentation[1] states that:

1) UART Clear to send, CTS (pin 15) is an output.

2) UART Ready to send, RTS (pin 16) is an input.

The CC2430 (the basis for cc2480???) can also use P0_4 (pin 15) and P0_5 (pin 16) for UART0 hardware flow control. It seems to me that the input/output roles are reversed in the CC2430 section 13.14.1.3 "UART Hardware Flow Control" [2] as compared to the CC2480:

1) Quoting: "Transmission of a byte will not occur before the CTS input go low"

2) Quoting: "The RTS output will then be driven low when the receive register is empty and reception is enabled"

 

The documentation for the CC2480 (as opposed to the CC2430) does not spell out what CTS low or high and RTS low or high exactly does: Can someone clarify this given my observations above?

 

References:

[1] swra175a.pdf, http://focus.ti.com/docs/prod/folders/print/cc2480a1.html

[2] cc2430.pdf, http://focus.ti.com/docs/prod/folders/print/cc2430.html

  • Hello -

    It looks like there are some typos on the CC2480 pin direction. Please remember that the CC2480 is a slave device in SPI mode and a DCE in UART mode (so a pin direction is opposite the intuitive direction implied by the name.) So, it is correct to realize that the CC2480 pin directions in UART mode are the same as the CC2430, namely this:
    P13 P0.2 RX Output
    P14 P0.3 TX Input
    P15 P0.4 CTS Input
    P16 P0.5 RTS Output

  • Hello,

    I've a problem with the UART communication. We have set the following values durnig a RST low pulse (18ms) :

    CTS = 0

    MRDY = 0

    CFG1 = 0

    CFG0 = 1

    Unfortunately we have no response from the CC2480 after the RST pulse.

     

    Can someone tell me if this configuration is correct or why I can't get any response ?

  • You are attempting UART Transport, so MRDY is a don't care (as well as SRDY). So what do you mean no response from CC2480 - you don't see the slave Tx activity on P13?

  • Hello,

    Please see my presentation on the CC2480 UART interface connection attached to this thread.

    Enjoy,

    LPRF Rocks The World

    CC2480UART.pdf
  • Hello,

    The UART transport IF connection to CC2480 in the pdf document attached to the thread is according to the CC2480 Interface specification and not the CC2480 datasheet.

    The interface specification states the correct direction of the handshake pins RTS and CTS in the table on page 7 & 8.

    LPRF Rocks the World

  • Hello,

    Thanks for your support, it's working well now.

    There was just a little confusion between the datasheet and the blog messages about

    the pin direction of RTS/CTS and RX/TX.

    Fabrice

  • Hello

    I am having difficulty using the uart interface. I usually work with just the RX and TX lines so I am not sure how to implement the CTS/RTS hardware flow control. I think my problem lies with the CTS/RTS implementation. CTS is connected to an input pin on my MCU and RTS is connected to an output pin on my MCU, as shown in the attachment. So when RTS goes high, CTS must also go high when the MCU is ready to receive data. If I want to send information to the cc2480, must CTS go high and then I wait for RTS to also go high? Is this the correct way of implementing it? Can I connect the CTS and RTS lines together on the cc2480 if my MCU is always ready to receive data?

    Thank you

  • Hello Christo,

    I haven't try it but normally you can put the RTS output to the active level '0' all time. This goes only if you can allways receive data.

    Best regards,

    Fabrice