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.

RM4X MCU 怎么计算CAN中断处理函数所花时间

Expert 1222 points

Other Parts Discussed in Thread: RM48L952

RM4X MCU  怎么计算CAN中断处理函数所花时间

  • 你好。

    关于中断处理时间的计算是通用的。

    一般有两种方法。

    一种是通过进入、退出中断时来翻转一个GIO引脚,通过示波器来观察两次跳变之间的时间。

    另一种是用CCS也计算运行的时钟周期,方法在进入中断的地方开始周期计数(Tools->Clock->Enable),然后让程序运行到函数尾,就可以得到周期计数值了。然后,换算成实际运行时间即可。

  • 你好,

           谢谢你的回复, 能否通过RTI定时器中断来计算这个时间??

  • 你好。

    也可以用RTI定时器来做。在进入中断和退出中断时读一下RTI定时器的计数值即可。

    需要注意的是,默认情况下中断不允许嵌套,所以不要使用RTI中断。

  • 你好,

           如果最好不用中断嵌套的话. 能否用RTI2来计算整个程序运行的总时间, RTI 1来计算除中断外的时间(进入CAN中断后关闭TRI 1, 出CAN中断后 开启TRI 1 计数)..

           这样就可以用RTI2 计数的值 减去 RTI 1计数的值 是否就等于进入中断所消耗的耗时间??

  • Hi Sam,

       方便问一下,你需要计算CAN中断处理函数的具体应用背景吗?你是担心CAN模块中断处理不够及时,还是担心MCU相应中断的性能呢?

    如果说你想很准确的测量这个处理时间的话,你用RT1和RT2的方法,原理上没有问题,但是你还是需要考虑RTI1的开启和关闭操作所占的时钟周期数的,不然测量会有偏差。

  • HI Ken,

    因为需要做的项目(用RM48L952 芯片)主要是CAN BUS通讯, 有大量的数据同时发送和接收, 主要考量CAN模块中断处理的快不快. 每个中断处理函数所用的时间及中断的使用率,会不会占用很大CPU的资源(因为CPU不光是接收CAN数据, 而且也需要处理数据.)

  • Hi Sam,

       MCU核相应中断的速度都不会差,关键要看你在中断函数里面进行了哪些函数的操作。MCU在中断函数里面执行的指令周期和在主程序里面执行指令的周期应该是一样的。如果你的函数比较多的话,建议还是在软件架构上多考虑一下,尽量避免中断嵌套之类的操作。

       

    谢谢