沼津高専 電子制御工学科
MIRS98ソフトウェア詳細設計書
作成規定
MIRS98SF-CURR-0010
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 1999.4.14 長澤 長澤 初版

本ドキュメントについて

本ドキュメントは、MIRS98ソフトウェア詳細設計書の作成方法について規定するものである。詳細設計とは、以下に述べる作業を言い、詳細設計書に文書化することである。

「 基本設計仕様書をもとにエレクトロニクス、メカニクス、ソフトウェアごとに作成する。各部の中をさらにブロック分割し、各ブロックが独立に製造仕様書が作成できるように仕様を規定する。ソフトウェア詳細設計は、基本設計書で要求する動作規定を、基本設計書で示した状態遷移およびタスク構成をもとにさらに詳細にブレークダウンしコーディングに必要な事項を規定する。具体的には下記作業を行う。(ここではMIRX68Kを使用することを前提としている。)
  1. 基本設計書で大まかに記載されたタスクの機能をさらに詳しく記載する。
  2. モニタ-タスク間のインターフェース(タスクの起動方法,起動コマンド仕様,BB(掲示板)定義などを決定する。
  3. タスクの内部をさらにモジュール分割し、各モジュールを関数として名前、引数、戻り値などを定義する。
  4. タスクの機能を実現するためのHCPチャートを作成する。
  5. 試験項目、試験方法を洗い出し、試験仕様書の作成に必要な項目を記載する。


この文書は次の作業(コーディング、デバッグ)の際に要求される事項が記される。したがって、この文書には、各タスクあるいはさらにその内部で分割されたモジュールの設計を各々独立して設計作業を進めるために必要なすべての事項が記されていなければならない。

以下例に沿って説明する。なお、この文書においては、”作成例”を標準字体で、その”解説”をイタリック字体で記している。

目次

  1. はじめに
  2. 概要
  3. リアルタイムモニタ
  4. XXタスク
    1. 機能
    2. コマンド仕様
    3. BB仕様
    4. 初期設定
      1. モジュール定義
      2. HCPチャート
    5. 割り込み処理
      1. モジュール定義
      2. HCPチャート
    6. タイマ処理
      1. モジュール定義
      2. HCPチャート
    7. コマンド処理
      1. モジュール定義
      2. HCPチャート
  5. 超音波センサタスク(例)
  6. XXタスク
  7. 試験
    1. タスク単体試験
    2. 標準MIRS上での試験
    3. 試験走行
    4. システム試験
  8. 作成ドキュメント一覧
  9. 参考資料

1.はじめに

本ドキュメントは、MIRS98XX基本設計書(MIRS98SF-CURR-0008)に規定されたシステムの動作規定、状態遷移を実現する各タスクの開発(コーディング、試験等)に必要な事項を述べる。

2.概要

MIRS98XXソフトウェアはリアルタイムモニタMIRX68KとMIRX68K上で動作するタスクから構成される。タスクは低レベルタスクと高レベルタスクとメインタスクに大別され、基本的には低レベルタスクはハードウェアの制御を高レベルタスクは低レベルタスクを用いてシステムの動作を実現する。メインタスク(行動計画タスク)はスイッチ状態やセンサ情報をもとに動作を決定しそれに応じたタスクの起動を行う。MIRS98XXソフトウェアは下記のタスクから構成される。
低レベルタスク   高レベルタスク メインタスク      

3.リアルタイムモニタ

ここにはタスク管理テーブルなどリアルタイムモニタを組み込む際に行う設定を記述する。

4.taskxx:XXタスク

ここにはXXタスクについて以下の項目を記述する。既存のタスクを流用する場合は詳細に記載する必要ないが、設計の際にコマンド仕様とBB仕様は記入しておいた方が便利である。次の章に超音波センサタスクの例を示す。
  1. 機能
  2. コマンド仕様
  3. BB仕様
  4. 初期設定
    1. モジュール定義
    2. HCPチャート
  5. 割り込み処理
    1. モジュール定義
    2. HCPチャート
  6. タイマ処理
    1. モジュール定義
    2. HCPチャート
  7. コマンド処理
    1. モジュール定義
    2. HCPチャート

5.task01:超音波センサタスク

注意!!!ここには示す内容は、昨年までのMIRSに使われている既設計の超音波センサタスクとは別のものである。この内容を見て従来の超音波センサタスクの内容を類推しないように。
  1. 機能 n個の超音波を順に動作させ距離情報をBBに書き込む。nは次に述べる測定開始コマンドの引数として与えらる。測定開始コマンドによりタスクが起動されると、停止コマンドが発行されるまで繰り返し測定を行い結果をBBに書き込む。超音波発信したのち、タスクは開放され割り込み待ちになる。超音波受信もしくはタイムアウトにより割り込み処理が起動され距離を計算してBBに書き込む。その後、次のチャネルのセンサより超音波を発信し再び割り込み待ち状態になる。
  2. コマンド仕様
    ここではタスク起動のシステムコールsys1の引数であるコマンド及びサブコマンドについて定義する
    コマンド名コード
    (HEX)
    サブコマンド機能
    測定開始01n(チャネル数)n個のセンサの測定を開始する。測定はチャネル番号1〜nの順で行われる。既に測定が開始されている状態でこのコマンドが起動されたときは何もしない。nを変更する場合は次のコマンドでいったん停止したのちこのコマンドを発行しなければならない。
    測定停止02any(未使用)測定を停止する。
  3. BB仕様
    番号内容
    1チャネル1の測定結果[cm]
    タイムアウト:999
    ハードウェアエラー(センサが接続など):777
    2チャネル2の測定結果[cm]
    他は同上
    3チャネル3の測定結果[cm]
    他は同上
    4チャネル4の測定結果[cm]
    他は同上
  4. 初期設定
    IP-Digtal48のPIT(68230)のB側の初期設定を行う。ポートAをモード0サブモード01に設定する。タイマをDevice watchdog モードに設定し、タイマ初期値として最大測定距離3mに相当するカウント値を設定する。注)PITのBポートは赤外線センサに使用しているのでこのPITの設定が両者のタスクで行われることがないように配慮すること。
    1. モジュール定義
      void inzt01():リアルタイムモニタから呼ばれる初期設定関数。
    2. HCPチャート
      図X.inzt01モジュールHCPチャート(ポストスクリプト

      HCPチャートを図示する。フローチャートでも良いがHCPチャートが望ましい。
  5. 以下割り込み処理,タイマ処理,コマンド処理についても同様

6.taskxx: XXタスク

以下すべてのtaskについて前節と同様に記述する

7.試験

  1. タスク単体試験
  2. 標準MIRS上での試験
  3. 規定走行試験
  4. システム試験

8.作成ドキュメント一覧

製造仕様書のツリー上に現れる製造ドキュメントおよび単体試験で作成する試験仕様書を挙げる。作成すべきドキュメントはすべて網羅すること。
ドキュメント番号を取得して記載しておくのが望ましい。
ソフトウェアインストール手順書

MIRSXXXX.X(プログラムファイル)
MIRSXXXXタスク単体試験仕様書
MIRSXXXX標準MIRS上試験仕様書
MIRSXXXX規定走行試験仕様書
MIRSXXXXシステム試験仕様書
MIRSXXXX取扱説明書
関連文書