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.

About "TPCC" and CIC

I am working on c6474.

In the datasheet of c6474 and CIC(chip interrupt controller) user's guide,I can't understand TPCC and TPTC.
I found definition about them as:

TPTC:TPDMA Transfer Controller
TPCC:TPDMA Channel Controller

  1. What is the TPDMA?
  2. What's the relationship between bhte TPDMA and EDMA3?
  3. I find the CIC_3 send events to TPCC,and also I find the EDMA3 receive the CIC_3's events;
    the EDMA's channels which are recieving events from CIC are the same as the"TPCC".
    So I guess "TPCC=EDMA".Is that correct?
  4. If the guess in #3 is right,that means a system event can trigger a transfer of EDMA3 derectly without core's consume,Is that right?
  5. If the guess in #4 is right,then I set system event A to trigger an EDMA transfer,and I also set the same event A to trigger an ISR using the INTC(64+'s interrupt controller ),can the two things(transfer and ISR) both hanppen?

By the way,I want to kwon something about CIC
c64+ megamodule's INTC(interrupt controller) do a good job on celecting system events to each core.
I can't understand what's the duty of CIC?
It only  extend the number of events that system is selecting from?
How to use it appropriately?

Thank you for your help.
Best Regards.

  • TP = Third Party

    Originally, Third Party DMA was the name for the EDMA3, because it acts as a Third Party by transferring data from Slave A to Slave B but neither sources nor consumes the data. But internally we were confused because we also use that term Third Party for companies outside TI who create products and provide support for our DSPs and other products.

    So we changed the name to EDMA3 and started updating the documentation. Since there is so much of that documentation, it has not all been changed and probably never will be.

    Your guesses are almost perfect. TPCC=EDMA3CC, the EDMA3 Channel Controller which is a part of the full EDMA3. All the others are completely correct.

    Wang nan said:

    By the way,I want to kwon something about CIC
    c64+ megamodule's INTC(interrupt controller) do a good job on celecting system events to each core.
    I can't understand what's the duty of CIC?
    It only  extend the number of events that system is selecting from?
    How to use it appropriately?

    Again, you are correct that the CIC only extends the number of events that can be selected. The INTC module is part of the C64x+ Megamodule and that does not change from one device to another. But the C6474 has so many Chip-level events that could be needed for interrupts or DMA events, we needed to add additional selection logic outside the C64x+ Megamodule to allow the flexibility system designers and programmers will need.

    If you only need a total of 12 interrupts to any one core, then the INTC and CICs can be used to direct 12 interrupt sources from among the many possible events. If you need more than 12 interrupt sources, then the CIC and the INTC have combiner capabilities to allow you to let several interrupt sources share a one of the 12 direct interrupt lines in a C64x+ core. Registers are made available to allow an ISR to determine which of the several interrupt sources is currently active, to clear those active flags, and to check for more active interrupts when exiting the ISR.

  • Thank you very much, RandyP

    I really appreciat for your help.

    Best Regards.