页码:7-2
类型:注释
重画图7-1,以前和同事共同探讨的结果,高手请指教对错:

看不到图片的点击这个链接:
http://ylem.i.cn.yahoo.com/ylem/get?version=1.0&enc=30G1SOnjiG7gTPVMIcy8uyry69cHDkqkzpTY1zoSHWE15SezeKR3wNHmMndCYx1EtOQFS.49fDxQ分析:
t0时刻:CPU初始化完成开始执行任务,按照优先级和执行顺序,首先执行指定为T2时隙处理的功能块;
t1时刻:T2时隙功能块处理完毕,此时实际时间轴还没有到T0,CPU按照优先级和执行顺序开始执行指定为T3时隙处理的功能块。举例来说的话,如果T0指定为1.2ms,那么执行完所有T2时隙功能块可能仅需要0.6ms,在0-T0时间段剩下的0.6ms时间里执行T3时隙功能块。
t2时刻:时间轴到达T0时间,按照循环处理的原则,将未执行完的T3任务中断,开始重新执行T2时隙的功能块。
t3时刻:指定为T2时隙的功能块执行完毕,CPU从中断处开始执行未执行完毕的T3时隙功能块。
t4时刻:指定为T3时隙的功能块执行完毕,此时实际时间轴还没有到2T0,CPU按照优先级和执行顺序开始执行指定为T4时隙处理的功能块。
t5时刻:时间轴到达2T0时间,按照循环处理的原则,将未执行完的T4任务中断,开始重新执行T2时隙的功能块。
t6时刻:指定为T2时隙的功能块执行完毕,T3时隙的优先级高于在t5时刻被中断的T4时隙任务,因此CPU开始执行T3时隙功能块。
t7时刻:时间轴到达3T0时间,按照循环处理的原则,CPU将T3时隙任务中断,开始重新执行T2时隙的功能块。
t8时刻:指定为T2时隙的功能块执行完毕,此时有两处中断,即t5时刻的T4任务中断和t7时刻的T3任务中断,按照优先级,CPU从t7时刻的T3任务中断处继续执行T3时隙功能块。
t9时刻:指定为T3时隙的功能块执行完毕,此时实际时间轴还没有到4T0,CPU按照优先级和执行顺序提取t5时刻的T4任务中断开始执行剩余的T4任务。
t10时刻:指定为T4时隙的功能块执行完毕,此时实际时间轴依旧没有到4T0,CPU按照优先级和执行顺序开始执行T5时隙的功能块。
t11时刻:时间轴到达4T0时间,按照循环处理的原则,CPU将T5时隙任务中断,开始重新执行T2时隙的功能块。
结论:
(1)CPU以堆栈方式处理中断。
(2)在0-4T0的时间间隔内,T2时隙任务被执行4次,T3任务被执行两次,T4任务被执行一次,或者说T2时隙功能块的输入进行4次采样,输出被刷新4次,T3时隙功能块的输入进行2次采样,输出被刷新2次,T4时隙功能块的输入进行1次采样,输出被刷新1次。
(3)同处一个时隙下的功能块,执行顺序如果设置合理的话,协同处理单一任务会达到最佳的响应时间。
(4)以上分析和结论同样适用于SIMADYN D、FM458、TDC和T400。