2018年2月20日火曜日

エンベデッド対策 割り込みの問題

割り込みの問題は優先度が高い割り込みが発生しないかどうかを気をつけて、割り込みが発生した場合にはその処理時間の最悪値を求める問題が出題されます。
割り込み以外にも計算が多く、結構大変です。MHzとか出てくると心が折れる。


【問】掃除機の動作について、MPUは前方との壁との間隔が5cm以内になった事を検出した時に壁センサIFによる割り込みを発生させる場合、走行用モータが停止するまでに掃除機は何cm進むか?小数第2位を四捨五入して小数第1位まで求めよ。

・壁センサIFの優先度は4。割り込み実行ステップ数は5kステップ。
・クロック周波数は2MHz。
・2クロックで1ステップを実行する。
・割り込みオーバヘッドは200クロック。
・優先度1の定周期タイマ割り込みのステップ数は4kステップ。
・MPUが停止指示を出して停止するまでの時間は50ミリ秒。
・掃除機は25cm/秒で進んでいる。

【解】
・壁センサ割り込みのクロック数
 5k[ステップ]×2[クロック]=10k[クロック]
 200[クロック]+10k[クロック]=10.2k[クロック]
・1クロックの時間
 1÷2[MHz]=0.5[マイクロ秒]
 10.2k[クロック]×0.5[マイクロ秒]=5.1[ミリ秒]

・定周期タイマ割り込みの処理時間を考慮する
 4k[ステップ]×2[クロック]=8k[クロック]
 200[クロック]+8k[クロック]=8.2k[クロック]
 8.2k[クロック]×0.5[マイクロ秒]=4.1[ミリ秒]

・割り込みが入ってから停止処理をする時間
 5.1m[秒]+4.1[ミリ秒]=9.2[ミリ秒]
 50[ミリ秒]+9.2[ミリ秒]=59.2[ミリ秒]

 25[cm/秒]×59.2[ミリ秒]
 =25[cm/秒]×0.0592[秒]
 =1.48[cm]  
 =1.5[cm] ※小数第2位を四捨五入する














・優先度1の定期的タイマ割り込みも行われている。




0 件のコメント:

コメントを投稿