ZHCAAB0A April 2021 – December 2021 TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
实时基准测试需要测量信号链不同阶段的性能。如图 2-4 所示,此过程大致可以分为三部分:硬件响应、编译器生成的上下文保存以及中断服务例程 (ISR) 内的用户代码。
衡量 ISR 内部的执行情况是一项简单的任务。通过在代码块前后插入用于读取定时计数器的代码段并计算差值,可使定时器外设对 ISR 内部的代码进行基准测试。应用程序使用这种方法测量控制代码以及 ADC 读取和 PWM 写入。然而,这种方法无法保存编译器生成的上下文和测量硬件响应。
在此特定应用程序中,当 PWM 计数器达到某个值(时基周期)时使用 PWM 来触发 ADC 采样,并在采样完成时, ADC反过来产生中断。虽然无法单独测量硬件响应和保存编译器生成的上下文,但可以通过在 ISR 代码首次运行时读取 PWM 计数器并计算读取的 PWM 值与触发 ADC 采样时的 PWM 值之间的差值,来一起测量这两者。这就是应用程序测量 INT 响应(硬件响应 + 编译器上下文保存)的方法。