平成29年秋期試験午後問題 問7

問7 組込みシステム開発

⇱問題PDF
ドライブレコーダに関する次の記述を読んで,設問1~4に答えよ。
 H社は,カーアクセサリ用品の開発会社である。H社では,このたび,ドライブレコーダ(以下,レコーダという)を設計することになった。
 レコーダは,自動車運転時における周囲の状況を撮影し,急停止,衝突など(以下,衝撃という)を検出すると,衝撃までの最大10秒間及び衝撃後20秒間の動画に,GPS情報を含めて動画ファイルとしてSDカード(以下,SDという)に保存する。

〔レコーダの基本動作〕
 図1にレコーダのハードウェア構成を示す。
pm07_1.gif
  • 電源投入後の動作
    各ハードウェアは,電源投入で起動し,次のとおり動作を開始する。
    1. 制御装置は,衝撃センサの割込みを有効にし,カメラに撮影を指示する。
    2. GPSモジュールは,GPS情報の取得を開始する。取得したGPS情報を1秒ごとに制御装置に通知し,GPS情報を取得できないときは通知しない。
       GPS情報には,GPSから得られた位置及び時刻が含まれる。
    3. 制御装置は,最初のGPS情報を受け取ると,GPS情報から時刻を取り出してシステム時刻に設定し,その後,ソフトウェアでシステム時刻を逐次更新する。また,GPS情報を取得できるときは,GPS情報の時刻によって1時間ごとにシステム時刻を補正する。
    4. 制御装置は,カメラから1フレームごとの画像データを受け取り,記録バッファに書き込む。このとき,GPS情報があれば,画像データに含めて記録バッファに書き込む。
  • 衝撃検出時の動作
    • 衝撃センサは,衝撃を検出すると,制御装置に割込みで通知する。
    • 制御装置は,衝撃センサからの割込みを受けると記録バッファに書き込まれている画像データを動画ファイルとしてSDに保存する。
  • 電源断時の動作
    レコーダは電源断となっても最低30秒間は動作を維持できる二次電池を内蔵している。電源断となったときには,衝撃センサからの割込みを禁止とし,二次電池から電力を供給する。この結果,レコーダがaしているときに電源断となっても,動画ファイルの破損を防止できる。
 

〔記録バッファ〕
 記録バッファは,画像データを書き込むためのFIFO構成のメモリである。カメラで撮影した画像データが書き込まれ,動画ファイルをSDに保存するとき,その画像データが読み出される。読み出された画像データは記録バッファから削除される。
 画像データが読み出されずに記録バッファの空き容量がなくなったときは,最も古い画像データから順に破棄され,常に最新の画像データが書き込まれていることになる。
 カメラはFフレーム/秒で画像を撮影する。1フレームの画像データはGPS情報を含めてNバイトである。
 記録バッファには,衝撃検出直前の10秒間分の画像データが書き込まれる。さらに,動画ファイルの保存の処理遅れを考慮して,10.5秒間分の画像データを書き込むことができる容量とする。

〔動画ファイルの保存〕
 動画ファイルは,SDの空き容量が十分であれば,衝撃を検出したシステム時刻(YYYYMMDD_hhmmss)をファイル名として保存される。ここで,YYYY,MM,DD,hh,mm,ssは,それぞれ西暦年,月,日,時,分,秒を表す。
 なお,システム時刻が設定されていないときは,動画ファイルを保存しない。
  1. 制御装置は,衝撃センサからの割込みを受けると,記録バッファに書き込まれている最大10秒間分の画像データを圧縮して動画ファイルとしてSDに保存する。保存に要する時間は最大100ミリ秒である。
  2. 以降20秒間,記録バッファに書き込まれる画像データを待ち受け,新しい画像データが書き込まれると,逐次,圧縮して動画ファイルに追記する。
  3. SDに動画ファイルを保存中に再度衝撃センサからの割込みを受けると,受けた時点から20秒間,(ⅱ)と同様に画像データを圧縮して動画ファイルに追記する。


〔レコーダのタスク構成〕
 表1にレコーダのタスク構成を示す。
 各タスクはイベントドリブン方式で制御され,イベントを受信すると必要な処理を行う。
 衝撃センサが衝撃を検出すると割込みで通知し,割込み処理プログラムは保存タスクに衝撃イベントを送信する。
pm07_2.gif
〔保存タスクの動作〕
 図2に保存タスクの状態遷移図を示す。
pm07_3.gif
  • イベント待ち
    衝撃イベントを受信すると,衝撃検出前データ保存状態に遷移する。
  • 衝撃検出前データ保存
    タイマにe秒を設定し,動画ファイルを生成する。次に,記録バッファに書き込まれている画像データを読み出して動画ファイルに追記する。記録バッファに書き込まれている最大10秒分の画像データを全て保存すると,衝撃検出後データ保存状態に遷移する。
  • 衝撃検出後データ保存
    各種イベントを受信してイベントに応じた処理を行う。
    • 画像格納イベントを受信すると,記録バッファから1フレーム分の画像データを読み出し,動画ファイルに追記する。
    • 衝撃イベントを受信すると,設定してあるタイマ要求を取り消し,タイマに新たにf秒を設定する。
    • タイマ満了イベントを受信すると,動画ファイルの保存を終了し,イベント待ち状態に遷移する。

設問1

〔レコーダの基本動作〕について,本文中のaに入れる適切な字句を答えよ。

解答例・解答の要点

a:動画ファイルを保存

解説

動画ファイルの生成または追記の途中で電源断が生じると、動画ファイルが破損してしまう恐れがあります。30秒間の電力を供給可能な二次電池を用意する理由は、動画ファイルの保存中に電源断が生じても動画ファイルの保存動作を維持するためです。
なお、衝撃センサからの割込みを禁止するのは、動画ファイルの保存中に再度衝撃を受けるとその時点から20秒間の画像を追記する仕様のためです。二次電池により担保される電力供給時間は30秒間なので、再衝撃による割込みを許すと動画ファイルの保存時間の合計が30秒を超えてしまい、保存動作中に電力供給が途絶えてしまう恐れがあります。

a=動画ファイルを保存

設問2

〔記録バッファ〕について,記録バッファの容量を求める式を,カメラが1秒間に撮影するフレーム数F及びGPS情報を含む1フレームの画像データのバイト数Nを使って答えよ。

解答例・解答の要点

10.5FN

解説

問題文中に記録バッファの容量について「10.5秒間分の画像データを書き込むことができる容量とする」という指示があります。1フレームの画像データはGPS情報を含めてNバイト、1秒の動画はFフレームの画像で構成されるので、10.5秒間分の画像データを表す式は以下の通りです。

 10.5×F×N=10.5FN(バイト)

∴10.5FN

設問3

〔保存タスクの動作〕について,(1),(2)に答えよ。
  • 図2中のbdに入れるイベントを,本文中のイベントを用いて答えよ。
  • 本文中のefに入れる適切な数値を答えよ。

解答例・解答の要点

  • b:衝撃イベント
    c:画像格納イベント
    d:タイマ満了イベント
  • e:20
    f:20

解説

  • bについて〕
    bは、"イベント待ち"から"衝撃検出前データ保存状態"への遷移の契機となるイベントです。"イベント待ち状態"の説明には「衝撃イベントを受信すると、衝撃検出前データ保存状態に遷移する」とあるので、bには衝撃イベントが入ります。

    b=衝撃イベント

    cdについて〕
    "衝撃検出後データ保存状態"が受信するイベントは、「画像格納イベント」「衝撃イベント」「タイマ満了イベント」の3つです。このうち衝撃イベント受信時の遷移状態は図に記載済なので、cdには「画像格納イベント」または「タイマ満了イベント」のいずれかが入ります。
    "衝撃検出後データ保存状態"の説明では「タイマ満了イベントを受信すると,動画ファイルの保存を終了し,イベント待ち状態に遷移する」とあるので、"イベント待ち状態"への遷移の契機となるdタイマ満了イベント、消去法でc画像格納イベントとわかります。

    c=画像格納イベント
     d=タイマ満了イベント
    pm07_4.gif
  • eについて〕
    動画ファイルに保存されるデータは衝撃後20秒間の画像データです。記録バッファの画像データを動画ファイルに追記するのに最大で100ミリ秒を要しますが、この間もカメラから記録バッファへの録画は続いています。衝撃後の動画には"衝撃検出後データ保存状態"の「画像格納イベント」で追記される画像データに加えて、"衝撃検出前データ保存状態"で記録された画像データの分も含まれます。つまりタイマに20秒を設定すれば衝撃イベントを受信した時点から20秒間の動画を記録可能です。

    e=20
    pm07_5.gif
    fについて〕
    "衝撃検出後データ保存状態"中に「衝撃イベント」を受信したということは、動画ファイルを保存中に再度衝撃センサからの割込みを受けたということです。この場合、受けた時点から20秒間、画像データを待ち受けて動画ファイルに追記します。したがってその時点で設定してあるタイマ要求を取り消し、タイマに再度20秒を設定することになります。

    f=20

設問4

現在のレコーダの設計では,電源投入後に衝撃を検出しても,動画ファイルをSDに保存しないことがある。どのような場合にこのようなことが起きるのか。40字以内で述べよ。ここで, SDには十分な空き容量があり,ハードウェアに故障はないものとする。

解答例・解答の要点

電源投入後、システム時刻の設定が完了するまでの間に衝撃を検出した場合 (34文字)

解説

問題文の「システム時刻が設定されていないときは,動画ファイルを保存しない」という記述に注目します。動画ファイルの名前はシステム時刻をもとに決定されるので、システム時刻が未設定の時には衝撃イベントを検出しても動画ファイルが保存されません。
システム時刻は電源投入時には未設定になっており、電源投入後にGPSモジュールから通知された情報をもとに制御装置が設定します。しかしGPSの特性として、屋内(駅の地下街等)やビルの谷間、見晴らしの悪い場所、 雨の日や曇が多い日などは現在地の特定に時間がかかったり、 正しい場所が取得できない場合があります。このような環境下で起動された場合、制御装置にGPS情報が通知されず、システム時刻が未設定のままになってしまう可能性があります。この状態で衝撃を検出したとしてもレコーダは動画ファイルをSDに保存しません。

∴電源投入後、システム時刻の設定が完了するまでの間に衝撃を検出した場合
模範解答

Pagetop