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.

TMS320F28386D: SPI + DMA using SYSCONFIG does not allow changing the trigger source

Part Number: TMS320F28386D
Other Parts Discussed in Thread: SYSCONFIG

Hi, I was trying to configure the SPI with DMA using SYSCONFIG

When I link for example the SPI TX with DMA, the destination address is correctly linked, but the trigger is limited to the SPI TX interrupt.

I have to workaround it by adding a configuration outside the generated board.c, re-configuring the DMA trigger after Board_init().

It would be better to remove that limitation from the trigger selection to allow using other trigger sources, such as PWM SOC.

kind regards

Agustin

  • Hi Agustin,

    Thanks for reaching out to us about this. Could you provide some greater detail on the use-cases of removing this restriction so I can pass along that information to our developers? I will file a bug fix for this and have the SysConfig developers resolve this. They may not have taken these kinds of use cases into consideration when adding the SPI-DMA functionality to the tool

    Regards,

    Peter

  • Hi Peter,

    I start with my use-case.

    I am controlling an ADC  (AD4003) with the SPI port. I use EPWM5 to start the conversion, and when the PWM signal goes low it triggers the DMA to write (mostly) a dummy value 0xffff just to receive the measurement. Then I read directly in the SPI RX ISR. If you find a better aproach, please let me know.

    I don't know other usages but could be any of the triggers, for example XINT, ADC, SYNC, etc.

    Another solution to this issue could be by configuring a DMA independently, i.e., not linked to a peripheral. But here must be allowed  writing to the peripheral without forcing a link to it.

    In this case, I worked around it by manually entering the SPI TX Buffer address, which is not good practice, but shows that the hardware allows it.

    Let me know if you need more information.

    Kind regards

    Agustin

    P/S: here some other issues

    2. DMA: Another improvement could be to inform/remember the user that the source or destination address must be located in a GS-RAM, because I forgot it once and had no clue for some hours.

    3. SPI: it would be nice to allow the High Speed option, allowing to select only the pins that have this feature. Now I have to modify the SPI configuration after Board_init()

  • Hi Agustin,

    Thanks so much for your detailed response. I've filed all of these requests to our SysConfig developers so hopefully they will be resolved in the following releases of the tool


    Regards,

    Peter