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.

TMS320F280039C: LIN in SCI mode linked with DMA in Sysconfig

Part Number: TMS320F280039C
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

Dear Champs,

I am asking this for our customer.

With C2000ware V5.02, we have LIN in SCI mode linked with DMA in Sysconfig.

Questions:

1. If the user only needs to use LIN in SCI mode for TX DMA request, is interrupt Line 0 required?

See below, the user is very confused.

After this code to enable TX_DMA trigger,

LIN_enableSCIInterrupt(myLIN0_BASE, LIN_SCI_INT_TX_DMA);
 
why are the following needed, especially interrupt line is not chosen?
    // Set the LIN SCI interrupt priority Line 0
    //
    LIN_setSCIInterruptLevel0(myLIN0_BASE, LIN_SCI_INT_TX_DMA);
    LIN_enableGlobalInterrupt(myLIN0_BASE, LIN_INTERRUPT_LINE0);
    LIN_clearGlobalInterruptStatus(myLIN0_BASE, LIN_INTERRUPT_LINE0); 

2. Based on the description below, does that mean TX interrupts and TX DMA are mutually exclusive? Only one of them can be used?

3. Why is there a warning below by default?

The user wants to use SCITD of LIN module in SCI mode.

How does the user write SCITD in Sysconfig as TX DMA destination address?

  • Note that this post is different from another post I am asking below. This post is related to LIN in SCI mode using the latest Sysconfig GUI, whereas the post below is related to DMA itself in Sysconfig GUI (not limited to the latest one).

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1355131/tms320f280039c-set-dma-source-destination-address-to-dedicated-registers-in-sysconfig

  • Hi Wayne,

    I apologize for the delay on this. Please expect a response on Monday 5/6.

    Best Regards,

    Delaney

  • Hi Wayne,

    I apologize again for the long delay. Below are the answers to your questions.

    1. No, interrupt line 0 is not required in this case. I wasn't able to replicate what you have shown with those selections alone (see below).

    However, after looking into it, this appears to be a bug in the LIN Sysconfig where if you set up the Line 0 interrupt and then set the interrupt line selection to none, the generated code doesn't get removed. Thank you for pointing this out, I will make sure it is fixed for the next release. For now, please have the customer remove their LIN instance then re-add it with the selections they want. This should fix the issue.

    2. Yes, this condition can only be used to trigger a TX interrupt, or to trigger the DMA, but not both. You could still software trigger the DMA in a TX ISR which would be functionally the same.

    3. The customer can define the myLIN0_TX_DMA _address as the SCITD register in the application code.

    Using the DMA module with LIN can be a little tricky since the LIN buffers aren't all linear addresses in memory. Since the start addresses is more of an application specific setting, Sysconfig doesn't automatically fill in the start of the SCITD buffer like it would for some other communication peripherals when using DMA. We have a C2000ware example called lin_ex3_sci_dma that uses LIN in SCI mode with the DMA which would probably be helpful to look at. Let me know if they have any questions about the settings used in that example.

    Best Regards,

    Delaney