2020年9月5日土曜日

H29春ES午後1問2の解き方 カメラ付き防犯灯

問題の感想

カメラ付き防犯灯の問題です
問題と解答は公式サイトに載っています→平成29年春

解答

  • 設問1
  • (1)(a)n-4で証明を点灯した。
    (1)(b)証明の点灯と消灯を繰り返す動作
    (2)37
    カメラは1秒間に4フレームで、保存するデータは6分間なので、3600秒×4フレーム=14400フレーム。1フレーム1Mバイトなので、14400Mバイト
    これを240時間なので2400倍する。14400×2400=3456000M
    圧縮すると1%になるので、34560Mバイト
    暗号化すると5%のサイズが増えるので、34560Mバイト+1728Mバイト=36288Mバイト
    (3)同じファイル名のファイルが作成される可能性があるから

  • 設問2
  • (1)(a)画像調整パラメタ
    (1)(b)移動平均値
    (1)(c)圧縮アクセラレータ
    (1)(d)240時間以上経過したファイル
    (1)(e)削除
    (2)(f)画像処理
    (2)(g)照度
    (2)(h)照明
    (2)(i)ファイル管理
    (3)画像処理、ファイル管理
    (4)暗号キーが設定されていないこと

  • 設問3
  • (1)標準電波の受信状況を確認するため
    (2)(a)メイン
    (2)(b)補正時刻になった、時刻補正スイッチが押された
    (2)(c)受信した時刻データをRTCへ設定し、時刻情報に書き込む

H29春ES午後1問1の解き方 観光用案内ロボット

問題の感想

観光案内用ロボットの問題です。
問題と解答は公式サイトに載っています→平成29年春

解答

  • 設問1
  • (1)212.5
    データ転送を開始してから表示バッファへの書き込みを完了するまでの時間を問われています。
    1画素が16ビットで500000画素のデータなので、8000000ビットのデータです。

    表示データをLANで転送する際の実行転送時間は、
    8Mビット÷40Mビット/秒=0.2秒

    LANコントローラから表示バッファへの実行転送速度は、
    1Mバイト÷80Mバイト/秒=0.0125秒

    0.2+0.0125=0.2125秒 212.5ミリ秒が回答になります。
    (2)体の正面を0度にすると、体が正面から右方向に回らないから

  • 設問2
  • (1)(a)5/9
    (1)(b)周期:240
    (1)(b)幅:133
    (1)(b)誤差:0.50
    体を200度の位置に近い位置で停止させる場合PWM信号を出力するタイマの設定値(周期、highの値)を問われています。
    240kHのクロックなので、周期は240になります。
    200度のデューティ比は5/9なので、240×5/9=133なので回答は、133になります。

    この時の誤差は、デューティ比と実際の角度の違いで角度を求めます。
    5/9-133/240=0.5555−0.5541=0.0014
    0.0014×360度=0.504=0.5度が誤差になります。
    (2)体の回転を開始してから停止位置になるまでの時間を長くしたいから

  • 設問3
  • (1)(a)最も近い人がいる方向
    (1)(b)タッチされた座標がメニューのボタンの座標であった
    (1)(c)メニュー及びメニューのボタンを表示する
    (1)(d)表示&LAN通信
    (1)(e)体をロボット台座の正面に向ける
    (2)メインタスク、人検出タスク

H28春ES午後1問2の解き方 食券販売機

問題の感想

食券販売機の問題です
問題と解答は公式サイトに載っています→平成28年春

解答

  • 設問1
  • (1)料理の種類、メニューボタンの配置位置
    (2)メニューボタンにタッチされた結果すべての料理の販売可能数が0となった場合
    (3)62.3
    ■計算に必要な情報
    ①3つのユニットにそれぞれ100バイトのデータを送信。
    ②3つのユニットからそれぞれ20バイトのデータ送信。
    ③各ユニットはデータ受信後に500マイクロ秒の処理を行う。
    ④シリアルバスの通信速度は100kビット/秒。
    ⑤制御部はデータ受信後100マイクロ秒の処理を行ってから通信を開始する。
    ⑥1バイトは10ビット

    ■やってること
    ・ユニット1に100バイトのデータ送信
    ・ユニット1が500マイクロ秒の処理
    ・ユニット1が制御部に20バイトのデータ送信
    ・制御部は100マイクロ秒の処理
    ・ユニット2に100バイトのデータ送信
    ・ユニット2が500マイクロ秒の処理
    ・ユニット2が制御部に20バイトのデータ送信
    ・制御部は100マイクロ秒の処理
    ・ユニット3に100バイトのデータ送信
    ・ユニット3が500マイクロ秒の処理
    ・ユニット3が制御部に20バイトのデータ送信

    上記の時間の合計を求めます。
    データの送信時間の合計は、100+20+100+20+100+20=360バイト=3600ビット
    3600ビット÷100kビット=0.036秒=36ミリ秒
    処理時間は、500+100+500+100+500=1700マイクロ秒=1.7ミリ秒
    合わせると37.7ミリ秒で、そのあと100ミリ秒周期で動くので、100-37.7=6.23なので以下が回答になります。

  • 設問2
  • (1)(a)ア:メニューボタン
    (1)(a)イ:確定ボタン
    (1)(a)ウ:取消ボタン
    (1)(b)エ:購入候補リスト、合計金額
    (1)(c)オ:各料理の販売可能数を注文開始前の値に戻す
    (1)(d)カ:入金金額が合計金額以上となるの
    (1)(d)キ:現金出納ユニットからの排出完了通知
    (2)タイミング:注文タスクから注文動作の終了が通知されたとき
    (2)理由:待機中状態に遷移するか、営業終了状態に遷移するかを決定するから

  • 設問3
  • (1)販売可能数が0となった料理の販売可能数の減算を依頼された場合
    (2)タスク名:タッチパネルタスク
    (2)情報:ボタン情報
    (3)a:注文番号の取得を制御タスク
    (3)b:注文番号の取得を親機

2020年9月4日金曜日

H28春ES午後1問1の解き方 カーオーディオシステム

問題の感想

自動釣銭機の問題です。
問題と解答は公式サイトに載っています→平成28年春

解答

  • 設問1
  • (1)バッファ4段目までPCMデータを蓄積する時間
    (2)(a)再生音が途切れる
    (2)(b)3

  • 設問2
  • (1)(a)優先度の高いタスクが、WDTのカウント時間以上に連続して動作していることを検出するため
    (1)(b)メインタスク、PCMデータ受信タスク、音声出力タスク
    タスクが動作していることを示すフラグを持たせた場合、スマートフォンの音楽再生中にタスクの待ち状態をチェックすべきタスクの内容を問われています。
    音楽再生のデータフローが圧縮音楽ファイルから行う場合と、スマートフォンから行われる場合があり、図2のデータフローから必要なタスクを選択します。
    DAC送信処理があるので、音声出力タスク。PCMデータ受信処理があるので、CPMデータ受信タスク。画面表示の情報の送信などを行っているから、メインタスク。
    ということで回答は以下になります。
    (2)(a)検索結果の圧縮音楽ファイルをメインタスクに通知する
    (2)(b)b:1000サンプル
    (2)(b)c:4段目
    (2)(b)d:メインタスク
    (2)(c)①再生経過時間
    (2)(c)②圧縮音楽ファイル名

  • 設問3
  • (1)e:オーバフロー
    (1)f:アンダフロー
    (1)g:23040
    周波数差が0.01%の場合、5分間の音楽再生で発生する可能性がある差分のバッファサイズを問われています。
    周波数差が0.01%なので、192kHzの場合19.2Hzが周波数差。1秒間に19.2回サンプリング分の誤差が発生。
    5分間なので、60秒×5回=300秒 19.2回×300秒=5760回
    量子化ビットが32ビットなので4バイトだから、5760回×4バイト=23040バイトになります。
    (2)2.60
    伸張タスクの処理時間を求めます。
    1サイクルの時間が5.20マイクロ秒であり、1回の伸張処理は1000サイクル分の処理を行うので、1回の伸張処理の時間は5.20ミリ秒。
    CPU占有率を50%以下にする場合、半分の性能しか出ないので、2.60ミリ秒。回答は以下になります。

H27春ES午後1問2の解き方 自動釣銭機

問題の感想

自動釣銭機の問題です。
問題と解答は公式サイトに載っています→平成27年春

解答

  • 設問1
  • (1)a:出金金額
    (1)b:五千円紙幣
    (2)2500
    (3)c:金種情報
    (3)d:表示部に表示
    (3)e:入金禁止
  • 設問2
  • (1)硬貨部制御タスクから補充金種の情報を受けた時
    (2)出金金種での出金指示
    (3)メールを送受信するメールボックス番号
  • 設問3
  • (1)操作部指示タスクが、紙幣部の資源を獲得後、紙幣部制御タスクに指示を出す前にレジ指示タスクが起動された
    (2)タスク優先度を同じにする
    (3)硬貨部の資源を獲得後に紙幣部の資源を獲得する

H27春ES午後1問1の解き方 ポータブル心電計

問題の感想

マイコンを内蔵した心電計の問題です。
問題と解答は公式サイトに載っています→平成27年春

解答

  • 設問1
  • (1)計測中に開始ボタンが押されると、計測したデータが消えてしまうから
    (2)タイマ2の割込み直後にタイマ1の割込みが入り計測データを保管する場合があるから
  • 設問2
  • (1)600
    (2)a:8
    体温を示すためのビット数と入力電圧のビット数を回答します。
    体温は25.0~50.0の範囲を0.1刻みで記録する必要があるので、250~500の整数を扱う必要があります。
    なので、250の整数を扱えれば条件は満たせます。250は二進数にすると、「1111 1010」なので必要なビット数は8となります。
    (2)b:10
    bに入れるのは、入力電圧が0~5Vになるときに必要な範囲なので、まずは電圧に対応する温度の範囲を考えると、
    0Vの時は0℃で5Vの時は62.5℃(50×5/4)なので、625の整数で扱えるビット数を考えます。
    625は二進数にすると「‭10 0111 0001‬」なので、必要なビット数は10となります。
  • 設問3
  • (1)c:心電信号及び体温
    (1)d:10秒経過したら
    (1)e:リングバッファ内の未送信のデータ
    (2)加速度の発生タイミングを明確にするため

2020年9月3日木曜日

H26春ES午後1問1の解き方 ICレコーダ

問題の感想

ICレコーダの問題です。記述と計算が多くて疲れます。
問題と解答は公式サイトに載っています→平成26年春


解答

  • 設問1
  • (1)時刻設定で変更前の日時よりも過去の日時を設定した
    (2)PCから同じファイル名の別の音声データに置き換えた
    (3)当該音声データを一度も再生させていない状態
  • 設問2
  • (1)受信する周波数の選択
    (2)137
    ・サンプリング周波数  48[kHz]
    ・量子化ビット数    16[ビット]
    ・12分の1に圧縮する
    ・音声データの記憶領域は 3968[Mバイト]

    サンプリング数は数から、1秒間に48000回の割合でサンプリングする。1サンプリングに必要なビット数は16ビット(=2バイト)で、12分の1に圧縮可能なので、1秒間に必要なサイズは以下のように求めます。

    48000[回]×2[バイト]=96000[バイト]
    96000[バイト]÷12=8000[バイト]

    この情報から1時間の音声データに必要なバイト数を求めます。8[kバイト]×60[秒]×60[分]=28.8[Mバイト]
    この情報からICレコーダのメモリで録音可能な時間を求めます。3968[Mバイト]÷28.8[Mバイト]=137.777[時間]
    小数点以下を切り捨てるので答えは、137[時間]となります。
    (3)12
    音声データ再生時の平均消費電力(W)を求める問題です。
    ・動作電圧は5[V]
    ・MPUは常時起動なので880[マイクロA]
    ・RAMは常時起動なので170[マイクロA]
    ・フラッシュメモリは書き込み以外なので200[マイクロA]
    ・オーディオモジュールはD/A変換なので130[マイクロA]
    ・ラジオは停止中なので10[マイクロA]
    ・アンプは出力中なので380[マイクロA]
    ・LCDは20秒バックライト点灯なので、1830×1/3=610[マイクロA]
    ・40秒バックライト消灯なので、30×2/3=20[マイクロA]
    これらから動作電流を求めて、消費電力を計算します。

    5[V]×(880+170+200+130+10+380+610+20)[マイクロA]=12000[マイクロW]
    答えは整数で求めるので、12[ミリW]です。
  • 設問3
  • (1)(a)音声データ取得関数
    (1)(c)チェックディジット
    (2)(b)次の1秒分の音声データを取得する
    音声再生タスクを使って音声を再生している時の処理内容を回答します。
    音声再生の開始時にファイル管理タスクから音声データ(再生開始位置から2秒分)取得とあるので、再生中も音声データを取得するのかなと想像することができます。
    音声データ格納関数の処理をよく見ると「1秒分の音声データをオーディオモジュールに格納する。」とあるので、1秒の情報もいれて回答するのがよさそうです。
    (3)表示タスクに表示情報を送信する
    (4)前回停止した位置から再生を行うため