MIRS9703 モジュール詳細

Written by Haruki Iwata.


初期設定モジュール

モジュール番号00−INZ
属性イニシャライズ処理
Input 
Process 68K、PI/T、RTC、センサ、駆動系の初期設定を行い、
LED制御モジュール、センサテストモジュール、起動モード判定モジュールを登録する。
Output 
起動条件電源ON又はリセット
関連モジュールLED制御モジュール
センサテストモジュール
起動モード判定モジュール
備考68Kの初期化はリアルタイムモニタかも 

LED制御モジュール

モジュール番号00−TIM
属性タイマ処理
Input 7segLED表示データ(00−3)
Process 起動モード判定するまで、ディップスイッチの状態を見て、
7SegLEDおよび単色LEDを点灯する。
以降は、
7segLED表示データを取得し、
それに応じてLEDを点灯する。
Output 
起動条件 一定時間毎
(初期設定モジュールで登録)
関連モジュール 
備考 

起動モード判定モジュール

モジュール番号00−INT
属性ノーマル処理
Input 
Process ディップスイッチデータを取得し、
起動時ディップスイッチデータとしてBBに書き込む。
そのディップスイッチデータにより、
競技、
テスト動作、
補正データ作成
を判定し、
そのモードに対応する7segLED表示データをBBに書き込み、
使用するモジュールを登録する。

競技モード
  1. 赤外線割り込みなしカウントモジュール
  2. 赤外線データ管理モジュール
  3. ロータリエンコーダデータ管理モジュール
  4. タッチセンサデータ管理モジュール
  5. 超音波センサ制御モジュール
  6. 超音波距離データ管理モジュール
  7. PWM制御モジュール
  8. 状況分析開始モジュール
  9. デバッグデータ作成モジュール
テスト動作モード
  1. ロータリエンコーダデータ管理モジュール
  2. PWM制御モジュール
  3. テスト動作モジュール
  4. デバッグデータ作成モジュール
補正データ作成モード
  1. ロータリエンコーダデータ管理モジュール
  2. DUTY比補正データ作成モジュール
Output 起動時ディップスイッチ(00−1)
7segLED表示データ(00−3)
起動条件 押しボタンスイッチ割り込み
(初期設定モジュールで登録)
関連モジュール 
備考 

赤外線割り込みなしカウントモジュール

モジュール番号01−TIM
属性タイマ処理
Input赤外線割り込みなしカウント(02−2)
Process赤外線の割り込みなしカウントをする。
Output赤外線割り込みなしカウント(02−2)
起動条件 一定時間毎
(起動モード判定モジュールで競技モード時に登録)
関連モジュール 赤外線データ管理モジュール
備考 赤外線の割り込み間隔のチェック(割り込みの禁止と許可の調整)もやるかも。

赤外線データ管理モジュール

モジュール番号01−INT
属性割り込み処理
Input 起動時赤外線センサ入力状況(13−1)
Process 赤色LEDを点灯し、
赤外線センサの検知データを取得し、
起動時赤外線センサ入力状況との論理積をとり、
赤外線センサ入力データとしてBBに書き込む。
赤外線割り込みなしカウントをリセットし、
最後に赤色LEDを消灯する。
Output 赤外線センサ入力データ(01−1)
赤外線割り込みなしカウント(02−2)
起動条件 赤外線センサハードウェア割り込み
(起動モード判定モジュールで競技モード時に登録)
関連モジュール 赤外線割り込みなしカウントモジュール
備考 9703のシステムでは割り込みを用いる必要性はない。

ロータリエンコーダデータ管理モジュール

モジュール番号02−TIM
属性タイマ処理
Input 座標補正要求フラグ(02−5)
自機x座標(05−1)
自機y座標(05−2)
自機姿勢角(05−3)
Process ロータリエンコーダのカウント値を取得しBBへ書き込み、
積算カウンタのリセットを行い、
座標補正要求があれば、
REx座標、REy座標、RE姿勢角の値を自機x座標、自機y座標、自機姿勢角で書き換える。
書き換え後に座標補正要求フラグを下げる。
ロータリエンコーダのカウント値をもとにREx座標、REy座標、RE姿勢角を更新する。
Output REx座標(02−2)
REy座標(02−3)
RE姿勢角(02−4)
座標補正要求フラグ(02−5)
左REカウント(02−6)
右REカウント(02−7)
起動条件 一定時間毎
(起動モード判定モジュールで登録)
関連モジュール タッチセンサデータ管理モジュール
備考 タッチセンサのの入力に割り込みを用いるかで変更必要。

タッチセンサデータ管理モジュール

モジュール番号02−INT
属性割り込み処理
Input 起動時タッチセンサ入力状況(13−2)
Process タッチセンサデータを取得し、
起動時タッチセンサ入力状況との論理積をとり、
タッチセンサ入力データとしてBBに書き込む。
Output タッチセンサ入力データ(02−1)
起動条件 タッチセンサハードウェア割り込み
(起動モード判定モジュールで競技モード時に登録)
関連モジュール 
備考 9703のシステムでは割り込みを用いる必要性はない。

超音波制御モジュール

モジュール番号03−TIM
属性タイマ処理
Input 超音波センサ選択チャネル(03−1)
1ch割り込みなしカウント(03−6)
2ch割り込みなしカウント(03−7)
3ch割り込みなしカウント(03−8)
4ch割り込みなしカウント(03−9)
Process 選択中のチャネルの送信波に対する割り込みの確認をし、
割り込みのない場合は帰ってこなかったことを示す値を
距離データとしてBBに書き込み、センサのカウントをストップし、
超音波割り込みなしカウントのカウントアップを行なう。
チャネルを切換え、BBに書き込み、
超音波の送信を行なう。
Output 超音波センサ選択チャネル(03−1)
1ch距離(03−2)
2ch距離(03−3)
3ch距離(03−4)
4ch距離(03−5)
1ch割り込みなしカウント(03−6)
2ch割り込みなしカウント(03−7)
3ch割り込みなしカウント(03−8)
4ch割り込みなしカウント(03−9)
起動条件 一定時間毎
(起動モード判定モジュールで競技モード時に登録)
関連モジュール 超音波距離データ管理モジュール
備考 

超音波距離データ管理モジュール

モジュール番号03−INT
属性割り込み処理
Input 超音波センサ選択チャネル(03−1)
Process 緑色LEDを点灯し、
センサのカウントをストップし、
選択中のチャネルに対応する割り込みなしカウントをリセットする。
割り込みの信用性のチェックを行ない、
異常の場合は距離データを対応する値でBBに書き込み、
問題のないときは距離の計算を行ない、値をBBに書き込む。
最後に緑色LEDを消灯する。
Output 1ch距離(03−2)
2ch距離(03−3)
3ch距離(03−4)
4ch距離(03−5)
1ch割り込みなしカウント(03−6)
2ch割り込みなしカウント(03−7)
3ch割り込みなしカウント(03−8)
4ch割り込みなしカウント(03−9)
起動条件 超音波センサハードウェア割り込み
(起動モード判定モジュールで競技モード時に登録)
関連モジュール 超音波制御モジュール
備考 

DUTY比補正モジュール

モジュール番号04−NRM
属性ノーマル処理
Input 仮左モータDuty比(04−3)
仮右モータDuty比(04−4)
Process 仮モータDuty比から、
電圧や癖などの細かな左右のずれを含めた適正な値を
モータDuty比としてBBに書き込む。
Output 左モータDuty比(04−1)
右モータDuty比(04−2)
起動条件 進行動作モジュールでの登録
赤外線追尾動作モジュールでの登録
関連モジュール 
備考 あらかじめ対応するデータを配列で用意する。(補正データ作成を用いてホストPCに移動。

PWM制御モジュール

モジュール番号04−TIM
属性タイマ処理
Input 左モータDuty比(04−1)
右モータDuty比(04−2)
Process モータDuty比を目標として、
モータDuty比の変化を緩和させるように
段階的にPWM回路への信号を変化させる。
Output 
起動条件 一定時間毎
(起動モード判定モジュールで競技モード時、テスト動作時に登録)
関連モジュール 
備考フィードバック演算もここでやる。

自機データ演算モジュール

モジュール番号05−NRM
属性ノーマル処理
Input 1ch割り込みなしカウント(03−6)
2ch割り込みなしカウント(03−7)
3ch割り込みなしカウント(03−8)
4ch割り込みなしカウント(03−9)
タッチセンサ入力データ(02−1)
REx座標(02−2)
REy座標(02−3)
RE姿勢角(02−4)
1ch距離(03−2)
2ch距離(03−3)
3ch距離(03−4)
4ch距離(03−5)
Process 超音波センサの割り込みカウントから超音波入力状態を作成し、
ロータリエンコーダによる自機座標を超音波センサの距離データで公正を行い、
適宜補正したものを自機の座標データとしてBBに書き込む。
その際、REの値に手を加えた場合はREの座標補正フラグを立てる。
また、タッチセンサの入力データと自機の座標データをもとに
障害パターンを作成する。
自機データの演算終了後、相手機データ演算モジュールを登録する。
Output 超音波入力状態(05−4)
座標補正要求フラグ(02−5)
自機x座標(05−1)
自機y座標(05−2)
自機姿勢角(05−3)
障害パターン(05−5)
自機進行方向(05−6)
起動条件 状況分析開始モジュールでの登録
関連モジュール 状況分析開始モジュール
備考 作成データは増設する可能性あり。

相手機データ演算モジュール

モジュール番号06−NRM
属性ノーマル処理
Input 自機x座標(05−1)
自機y座標(05−2)
自機姿勢角(05−3)
超音波入力状態(05−4)
障害パターン(05−5)
1ch距離(03−2)
2ch距離(03−3)
3ch距離(03−4)
4ch距離(03−5)
Process 自機座標、障害パターン、超音波センサの測定距離から
新たに相手機位置パターンを作成し、BBに書き込む。
距離の判別ができる場合は相手機との距離も作成し、BBに書き込む。
前回の相手機位置パターンと相手機位置パターンの関係により、
相手機進行パターンを作成し、BBに書き込む。
完了後、行動判断モジュールを登録する。
Output 相手機位置パターン(06−1)
相手機との距離(06−3)
相手機進行パターン(06−2)
起動条件 自機データ演算モジュールでの登録
関連モジュール 状況分析開始モジュール
備考 作成データは増設する可能性あり。

行動判断モジュール

モジュール番号07−NRM
属性ノーマル処理
Input 選択動作(07−1)
連続選択回数(07−2)
目標種別(07−3)
目標値(07−4)
目標姿勢角(07−5)
自機x座標(05−1)
自機y座標(05−2)
自機姿勢角(05−3)
超音波入力状態(05−4)
障害パターン(05−5)
相手機進行パターン(06−2)
Process 自機座標と目標を比較し、 目標を達成したか調べる。
目標値を達成し、目標姿勢角が満たされないときは 進行動作モジュールを登録しその場回転をさせ、
目標姿勢角まで満たしたならば、 詳細判断(通常)モジュールを登録し状況に合わせた新規目標を作成させる。
また、作戦動作時ならば 作戦切り替えモジュールし新規目標を作成させる。
障害データや相手進行データにより、 詳細判断(回避)モジュールおよび詳細判断(通常)モジュールし状況に合わせた新規目標を作成させる。
Output 選択動作(07−1)
連続選択回数(07−2)
起動条件 相手機データ演算モジュールでの登録
関連モジュール 状況分析開始モジュール
備考 

状況分析開始モジュール

モジュール番号07−TIM
属性タイマ処理
Input赤外線割り込みなしカウント(01−2)
Process 赤外線割り込みなしカウントを調べて、
規定値未満のときは、
赤外線追尾動作モジュールを登録し、
目標データをクリアする。
規定値以上のときは、
自機データ演算モジュールを登録する。
Output 目標種別(07−3)
目標値(07−4)
目標姿勢角(07−5)
目標達成手段(07−6)
起動条件 一定時間毎
(起動モード判定モジュールで競技モード時に登録)
関連モジュール 
備考 自機データ演算モジュールを登録するのは内部カウントで超音波センサの測定が一巡するまで待つ。

詳細判断(通常)モジュール

モジュール番号08−NRM
属性ノーマル処理
Input 選択動作(07−1)
自機x座標(05−1)
自機y座標(05−2)
自機姿勢角(05−3)
障害パターン(05−5)
相手機位置パターン(06−1)
相手機進行パターン(06−2)
相手機との距離(06−3)
Process 選択動作および自機データおよび相手機データに応じて、
目標データを作成する。
また、動作に応じた7segLED表示データをBBに書き込む。
Output 目標種別(07−3)
目標値(07−4)
目標姿勢角(07−5)
目標達成手段(07−6)
7segLED表示データ(00−3)
起動条件行動判断モジュールでの登録
関連モジュール 
備考 

詳細判断(回避)モジュール

モジュール番号09−NRM
属性ノーマル処理
Input 選択動作(07−1)
自機x座標(05−1)
自機y座標(05−2)
自機姿勢角(05−3)
障害パターン(05−5)
相手機位置パターン(06−1)
相手機進行パターン(06−2)
相手機との距離(06−3)
Process 選択動作および自機データおよび相手機データに応じて、
目標データを作成する。
また、動作に応じた7segLED表示データをBBに書き込む。
Output 目標種別(07−3)
目標値(07−4)
目標姿勢角(07−5)
目標達成手段(07−6)
7segLED表示データ(00−3)
起動条件行動判断モジュールでの登録
関連モジュール 
備考 

作戦切り替えモジュール

モジュール番号10−NRM
属性ノーマル処理
Input 起動時ディップスイッチ(00−1)
作戦段階(10−1)
Process 起動時ディップスイッチおよび作戦段階を調べ、
作戦段階をインクリメントし、
作戦段階が最終段階であれば、終了(0)にする。
その作戦段階に応じた目標データをBBに書き込み、
進行動作モジュールを登録する。
また、動作に応じた7segLED表示データをBBに書き込む。
Output 作戦段階(10−1)
目標種別(07−3)
目標値(07−4)
目標姿勢角(07−5)
目標達成手段(07−6)
7segLED表示データ(00−3)
起動条件行動判断モジュールでの登録
関連モジュール行動判断モジュール
備考 作戦動作を初期作戦以外のもの(回避用)を用意するかも。

進行動作モジュール

モジュール番号11−NRM
属性ノーマル処理
Input 目標種別(07−3)
目標値(07−4)
目標姿勢角(07−5)
目標達成手段(07−6)
Process 目標データを受け取り、
それに応じた仮DUTY比をBBに書き込む。
また、DUTY比補正モジュールを登録する。
Output 仮左モータDuty比(04−3)
仮右モータDuty比(04−4)
起動条件 詳細判断(通常、回避)モジュール、
作戦切り替えモジュールでの登録。
関連モジュール 
備考 

赤外線追尾動作モジュール

モジュール番号12−NRM
属性ノーマル処理
Input 赤外線入力データ(01−1)
Process BBの赤外線入力データを元に
相手の勝敗判定装置に近づくための仮モータDUTY比をBBに書き込み、
DUTY比補正モジュールを登録する。
また、動作に応じた7segLED表示データをBBに書き込む。
Output 仮左モータDuty比(04−3)
仮右モータDuty比(04−4)
7segLED表示データ(00−3)
起動条件 状況分析開始モジュールでの登録
関連モジュール 状況分析開始モジュール
備考 

センサテストモジュール

モジュール番号13−NRM
属性ノーマル処理
Input 
Process 赤外線センサ、タッチセンサのデータを取得し、
あらかじめ予測されていたデータと比較を行い、
(通常入力なし)
問題のないセンサを起動時赤外線センサ入力状況として、BBに書き込む。
また、結果を7segLED表示データとして、BBに書き込む。
Output 起動時赤外線センサ入力状況(13−1)
起動時タッチセンサ入力状況(13−2)
7segLED表示データ(00−3)
起動条件 初期設定モジュールでの登録
関連モジュール 
備考 

デバッグデータ転送モジュール

モジュール番号14−NRM
属性ノーマル処理
Input デバッグデータ1(14−1)〜デバッグデータ9(14−9)
Process デバッグ用データをRS−232Cケーブル経由でホストPCに転送する。
Output 
起動条件 デバッグデータ作成モジュールからの登録
関連モジュールデバッグデータ作成モジュール
備考 起動には押しボタンスイッチ割り込みの利用も考えられる。

デバッグデータ作成モジュール

モジュール番号14−TIM
属性タイマ処理
Input 
Process BB内のデータをデバッグデータとして配列として格納する。
また、ディップスイッチの確認を行い、
スイッチの位置によりデバッグデータ転送モジュールを登録する。
Output デバッグデータ1(14−1)〜デバッグデータ9(14−9)
起動条件 一定時間毎
(起動モード判定モジュールで競技モード時、テスト動作モード時に登録)
関連モジュールデバッグデータ転送モジュール
備考 

テスト動作モジュール

モジュール番号15−TIM
属性タイマ処理
Input 
Process ディップスイッチを調べ、
対応する仮DUTY比をBBに書き込み、
DUTY比補正モジュールを登録する。
もしくは、
対応する超音波センサのチャネルの送受信を行い測定値を7SegLED表示データとして
BBに書き込む。
Output 仮左モータDuty比(04−3)
仮右モータDuty比(04−4)
7segLED表示データ(00−3)
起動条件 一定時間毎
(起動モード判定モジュールでテスト動作モード時に登録)
関連モジュール 
備考 

DUTY比補正データ転送モジュール

モジュール番号16−NRM
属性ノーマル処理
Input 左補正データ(16−1)
右補正データ(16−2)
Process 作成されたデータをRS−232Cケーブル経由でホストPCに転送する。
Output 
起動条件DUTY比補正データ作成モジュールからの登録
関連モジュールDUTY比補正データ作成モジュール
備考 起動には押しボタンスイッチ割り込みの利用も考えられる。

DUTY比補正データ作成モジュール

モジュール番号16−TIM
属性タイマ処理
Input 左REカウント(02−6)
右REカウント(02−7)
Process ロータリエンコーダのカウント値が左右つりあうように
DUTY比を変化させつつ(PWM制御モジュールを経由しない。また、そのDUTY比を7SegLEDに表示)、
ロータリエンコーダのカウント値をとる。
ロータリエンコーダのカウント値が左右つりあったときのDUTY比のデータをBBに書き込む。
また、ディップスイッチの確認を行い、
スイッチの位置によりデバッグデータ転送モジュールを登録する。
Output 左補正データ(16−1)
右補正データ(16−2)
7segLED表示データ(00−3)
起動条件 一定時間毎
(起動モード判定モジュールでDUTY比補正データ作成モード時に登録)
関連モジュール DUTY比補正データ転送モジュール
備考 


< Back