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.

How to interface SPI to CLA on 28035

Hi all.

I am looking to use an SPI bus to sample a 24-bit, 100+kSPS ADC and make use of the CLA in the 28035 to process the data.  From there I want to save processed data to external Flash as well as output the data to an I2S DAC.

Looking at the block diagram of the 28035 I don't see a direct connection between SPI buffer and the CLA module.  Instead I would have to take the SPI buffer (which I assume is the 16-bit peripheral bus???) then load it into the 32-bit peripheral bus (CLA accessible) and then load it into the CLA module.

Is this the correct process?  Is there a better way to do it?

Is there any code examples of this process?

I am using the experimenters kit and have compiled and debugged through the spi_loopback and ClaAdcFirFlash examples, and have read through the CLA guide (SPRUGE6B).

Thanks in advance.

  • Hi Cam,

    Cam Buskell11 said:

    Instead I would have to take the SPI buffer (which I assume is the 16-bit peripheral bus???) then load it into the 32-bit peripheral bus (CLA accessible) and then load it into the CLA module.

    Is this the correct process?  Is there a better way to do it?

    I'm not sure whether the above is possible as if you look into the CLA Block diagram and its overview - very few peripherals have access to the Main CPU bus.

    There are no examples for the above implementation.

    I would like you to post the same in C2000 forum:

    Regards,

    Gautam

  • Moving this to the C2000 forum.
  • Thanks for moving the post.  I hadn't realized I posted it somewhere other than the C2000 forums.

    What I'm looking for is the feasibility of my application using this chip, and these modules, in the way I have described.

    If you think it can't work, or there is a better way, or there are limitations to this path please let me know.

    Thanks all.

  • Hi Cam,

    The CLA (on 28035) does not have direct access to the SPI peripherals, what you would have to do is setup the SPI to interrupt the main CPU every n (n = 1 to 4 depending on whether you use the FIFO), have the SPI interrupt service routine (ISR) transfer the data from the receive buffer to a variable(s) or array in the memory block called CpuToCla1MsgRam, trigger a CLA task and then have that task read that memory.

    On the 28035 you transfer data between the cpu and cla through 2 message rams, CpuToCla1 and Cla1ToCpuMsgRam.