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.

Can use CC2544 for transmitting SPI data from a external device, by RF?

Other Parts Discussed in Thread: CC2544, CC1010

Hello.

I am working in my thesis degree in engineering.

I have the need to transmit SPI data from a external device, by RF, and then receive it in another external device (like using a cable). I am planning to use the "CC2544" for this purpose. The baud rate of SPI is not greater than 1 Mbps, so i think CC2544 will work fine (it´s support a 2 Mbps RF baud rate).

I´m using CC1010 in a similar way, but transmiting UART data, as shown in the image:

(It´s a example from example library of CC1010). With it example, i can transmit data in a "transparent" way between two UARTS from two external devices. Fortunately, this works very well.

I need to do the same thing, but using SPI DATA in a 1 Mbps Baud Rate. For that reason, i thinking in use a CC2544. 

The question: Is this possible? Would there be a problem? Sorry if it seems a simple question, i ask here to not spend in a evaluation board not sure that will work. If not work, i will find another solution.

If it is possible, i will buy tomorrow the EM and EB from Texas.

Thanks in advance for your help.

Darío.

  • What kind of SPI device are you communicating with? Remember that for every packet you send over the air, there's some overhead in the packet itself (preamble, sync word and possibly also a CRC field). So the length of your packets will determine the effective datarate you'll get. Also keep in mind how the SPI protocol works: The master provides the clock and you'll get data bits from the slave for each clock pulse. In a wireless setup, using a packet oriented device like the CC2544 (or any similar device) you'll have to send the clock pulses (train of clock pulses or just the number of pulses, together with any data coming from the master) as a packet to the remote node (slave), which in turn toggles the clock line (and slave-in line) to the SPI device, buffers the incoming data and transmits back to the master. So you won't be able to get a transparent SPI implementation. However, it is possible to make it work, as long as you adopt the way the master communicates with the SPI device. You might want to add some intelligence to the remote node that handles the direct communication with the SPI device.

  • Thanks for your response. 

    Yes, i was think in the baud rate, but i considered it does not mean a problem, because my SPI device work in 1 Mbps, and CC2544 in 2 Mbps (and the preamble, sync byte and CRC in the packet will not be the half of the packet)

    The device is a OBC (onboard computer) of a quadricopter, which transmiting a photo from a camera at 1 Mbps by SPI, every thirty seconds.. The cable link is "Simplex" (directional, not bidirectional):

    OBC Flying (Spi slave) ----> OBC(in earth) (Spi master)

    I would like to make a RF link like this:

    1) OBC Flying -----> CC2544 ----------------------------------RF------------------------------->CC2544 ------> OBC in earth 

    Or another possibilty:

    2) OBC Flying -----> CC2544 ----------------------------------RF------------------------------->CC2544 ------> PC (by usb)

    I chose CC2544 for the USB feature, if i choose the option 2.

    Of course, i know it will be a hard work of programming. I know the RF communication will not "SPI transparent", because the SPI is a synchronous protocol, and the RF link of CC2544 is based in packets, but i think it will do if i add some intelligence to the system and i "rebuild" the data from each packet in the receptor, and then send it by its own SPI port, in order both OBC will work "thinking" they are connected by a cable. 

    I just wanted to be sure I was not going overlook any other question. 

    Thanks a lot for your help and your time.

    Best regards.

    Darío.

  • What's the size of the images you want to transmit?

    And do you really need the full 2 Mbps? Remember that range drops with higher data rates. However, with a quadricopter that doesn't fly too far off and line-of-sight to the receiver, I guess you should be fine.

    Anyway, I believe what you're trying to do is feasible. Seems like you have a lot of fun programming ahead of you.

  • With respect to power and range, i have pre-amplifiers to raise the power level to a 20 dBm or more, built and tested, it´s work very well.

    This will be a hard work of programming mostly.

    I appreciate so much your help and your good vibes.

    Regards,

    Darío.