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.

[参考译文] CCS/TMS570LS3137:DMA 中断放大器;测量时间

Guru**** 2478485 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/689017/ccs-tms570ls3137-dma-interrupt-measure-time

器件型号:TMS570LS3137

工具/软件:Code Composer Studio

我有两个问题:

使用 DMA 模式   

我使用 DMA 模式从 SCI 和 SCILIN 端口接收数据。   

使用通道 DMA_CH0的 SCI 和使用通道 DMA_CH1的 SCILIN。   

使用 BTCA 的 DMA 中断模式。   

BTCA Notification()中的数据处理;   

通知的执行方式如下:   

作废通知(通道)  

{   

  if (通道=DMA_CH0)   

   { 进程(SCI);  }   

 if (通道=DMA_CH1)    

   { 进程(SCILIN);     }   

}    

  SCI 和 SCILIN 中的任何一个都能正常工作。

  但是、当它们同时运行时、数据将相互干扰。   我不知道如何建立两个独立的 DMA 通道和中断。

如何测量函数的运行时间?   

 我想知道测量时间的函数、例如:

QueryPerformanceCounter()和 QueryPerformanceFrequency(),  

GetTimestamp()

GetTickCount()

Clock()、time()

时间戳计数器寄存器(TSCL 和 TSCH)   

 

  TMS570的欺骗支持哪个函数?

如果有人知道这些问题的解决办法,我将非常感激。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    SCI RX 的 DAM 请求线路为#30、LIN RX 为#28。 您可以为 SCI 和 LIN 使用不同的 DMA 通道、它们应每3个进行一次干扰。 DMA 通道0具有更高的优先级、因此通道1可能会被临时挂起。
    您可以使用 PMU 来测量周期:SYS_PMU.asm