中斷處理時間指從執(zhí)行中斷直到中斷處理子程序被調用的時間,和從中斷處理子程序完成直到回到原來位置的時間。這里所說的中斷包括:輸入中斷、間隔定時器中斷和高速計數(shù)器中斷。中斷處理時間由以下5部分組成:
1)中斷輸入on延遲:指從中斷位置為on一直到執(zhí)行中斷的延遲時間,一般為50μs。
2)等待屏蔽處理時間:在如下操作時有中斷屏蔽,在指示時間內任何中斷保持屏蔽直到處理完成。
高速定時器:根據(jù)timh (15)使用的定時器數(shù)目a和在該時激活的高速定時器數(shù)目b(在dm6629中設定高速定時器數(shù)目,缺省設置為16)需要如下時間:
0≤等待時間≤50+3×(a+b)μs
嚴重錯誤的發(fā)生和清除:當一嚴重錯誤發(fā)生且錯誤內容登陸到cqm1時,或當錯誤正被清除時,中斷會被屏蔽長達100μs直到處理完成。
在線編輯:當操作時執(zhí)行在線編輯,中斷可被屏蔽長達1s。
3)切換至中斷處理:指將當前工作切換至中斷處理所需的時間,一般為40μs。
4)中斷時輸入刷新:指輸入刷新被設定在調用中斷處理子程序之時執(zhí)行時輸入刷新所需要的時間(在dm6630~6638中設定),每字需10μs。
5)返回:從執(zhí)行ret (93)到返回到被中斷的處理所需的時間,一般為40μs。
【例】 在沒有高速定時器、不用在線編輯、中斷時沒有輸入刷新時,計算使用輸入中斷時的中斷響應時間。
【解】 最短響應時間=中斷輸入on延遲+中斷屏蔽等待時間
+切換至中斷處理時間+返回時間
=50+0+40+40=130(μs)
最長響應時間=中斷輸入on延遲+中斷屏蔽等待時間
+切換至中斷處理時間
=50+50+40+40=180(μs)
需要注意的是,如果使用直接輸出,中斷子程序的輸出就可以立即輸出。在主程序和中斷子程序中同時使用直接輸出,就不可分開設定。此外,在程序中使用中斷時,務必允許中斷處理時間。