I/O Subボード
1. I/Osubボードの機能概要
I/Osubボードは超音波センサ回路、PWM回路、赤外線センサ回路を搭載したボードである。
- 2. 超音波センサ回路の機能概要
- 超音波センサ回路の機能は大きく分けて、トリガが送られて来ると周波数40[kHz]の矩形波を0.4[ms]の間、送信回路に出力する機能と、受信信号を受け取ると、割り込み要求信号をMPUに送る機能の二つがある。また、正しく距離計測を行うために、回りこみ波を無視する機能も備え付けられている。
距離計測はPITに内蔵されているタイマを利用している。このタイマは、トリガを受け取った時点でカウントを開始し、受信を感知すると停止する。このカウンタ値を読み込む事により障害物迄の距離を知ることができる。すなわち、タイマのクロック周波数は8×106/32[Hz]であり、音速、カウント値より距離がもとまる。
しかしながら、音速は一定値ではなく、周囲の温度で変化するため、この方法では、ある程度の誤差は覚悟しなければならない。しかし温度による距離の誤差は非常に小さいので、MIRS競技に使用するには問題はないと思われる。
-
- 回路構成
- 図1に回路構成図を示す。図1より@からEのブロックの機能について説明する。
- @ 発振回路
- この回路は、コンデンサの放電を利用し、ゲートと組み合わせて構成した簡単な発振回路である。超音波センサ回路のメインクロックともなる重要な回路である。この回路では正確に40[kHz]の周波数を作り出すことは難しいが、40[kHz]近い周波数で安定していれば動作に支障はない。またICにCMOSを使用しているので、回路自体がデリケートなこと、コンデンサの放電を利用しているので、少しの状況の変化(接触や、端子の先のRの値)によって、発振したりしなかったりと言うこともあるが、回路周辺の設計に注意すればこの問題は解消される。中央の抵抗値によって周波数が変化するので、最初は可変抵抗で抵抗値を変化させながらオシロスコープで、周波数を調べ丁度40[kHz]の周波数を示した時、その時の可変抵抗の抵抗値にできるだけ近い値(約5.6kΩ)を持つ抵抗を付けた。
- A ワンショット回路
- 図2にPLDにプログラムされたワンショット回路構成図を示す。ワンショット回路は、64進カウンタと制御回路で、構成されており、PLDを2つ使っている。
この回路から、トリガ一回毎に、ガードパルス、タイミングパルス、送信用ワンショットを一回づつ出力する。送信用ワンショットとCLKとのANDをとって幅0.4[ms]、周波数約40[kHz]のパルスを送受信回路に出力する。ガードパルス、タイミングパルスは、比較回路の項で述べる事にする。
- B タイマ制御部
- PITのタイマを動かしたり、止めたりする部分である。タイマのカウントはトリガが送られてきてから、送信、又はタイマのオーバーフローが起こるまでの間行われる。この制御はRSフリップフロップで行い、タイマのスタート信号のON−OFF制御をする。
PIT内臓のタイマは、設定によりいろいろ選べるが、この回路ではオーバーフローを検出できる「Device.Watchdog」という設定を選んだ。
- C 比較回路
- この回路では、主にノイズの除去と回り込み波による影響の無視をおこなう。受信回路から送られてきた受信波と、基準電圧をコンパレータで比較し、基準電圧より低い電圧の信号を除去する。
また、回り込み波の除去については送信してから、一定時間基準電圧のレベルをあげることで対処する。この時間はタイミングパルスによって決められる。さらに送信開始から一定時間受信そのものを無視する方法をとり、二重の対策をとっている。
- D 基準電圧発生部
- 超音波は波の性質を持っているため、スピーカから発信された超音波が、直接マイクで受信されてしまう。このため、障害物からの距離に関係なく、同じタイミングで受信が行われることのなる。回りこみはを受信するタイミングがわかっていれば、その間だけ基準電圧を5Vに引き上げれば、回りこみ波による影響をコンパレータによって打ち消すことができる。この基準電圧発生部は、コンデンサの放電を利用して、タイミングパルスから基準電圧を作り出す部分である。
- E マルチプレクサ
- 搭載されている4対のセンサのうち、一度に距離計測ができるのは一対だけである。計測をおこなうときには4対の内1対を選ばなければならない。マルチプレクサは、コネクタを通じて4つの送信回路と直結しており、PITから送られてくるセンサ選択信号により、使用する1対のセンサを選択する。センサにはそれぞれ0から3まで番号がつけられていて、センサ選択信号もそれに対応して00から11までの2ビットの信号により成り立っている。
3. PWM回路の機能概要

この回路は、モータを制御する信号であるPWM信号を作り出し、方向データとともに出力する回路である。速度データとカウンタのカウント値との比較によりPWM信号を形成している、この信号のDuty比は、速度データで128段階に変化させている。
- 回路構成
図1に回路構成図を示す。右速度・方向データは68230のpartAから、左速度・方向データはportBから送られてくる。カウンタのCLKは、68230のToutから得ている。PWM信号発生回路は、カウンタより得られた8ビットのカウント値と7ビットの速度データとの比較によりPWM信号を形成している。PWM信号波形形成原理を図2に示す。Duty比は0%から50%で、これを128段階に分けている。速度データをnとするとPWM信号のパルス幅TとDuty比Dは次式で計算できる。
T[μs]=(n+1)×5[μs]
D[%]=(n+1)/256×100
0≦n≦127
4. 赤外線センサ回路の機能概要・回路構成
この回路は、赤外線周辺回路から送られてくるHigh levelもしくはLow levelの信号を処理し信号に変化が起きたときに、割り込み要求信号をMPUに送る機能を持つ。またその時の各受光素子の状態は後述のレジスタを読むことにより得る。I/OSUBボードに搭載されているこの信号処理部は主に周辺回路からの赤外線信号の同期をとる信号同期部と、68230に割り込み要求をする割り込み信号発生部から成る。図1に回路構成図を示す。
5. インターフェイス
CN1(VMEバスへ)
| | a | b | c | | | a | b | c |
| No. | 方向 | 内容 | 内容 | 内容 | | No. | 方向 | 内容 | 内容 | 内容 |
| 1 | | 未使用 | 未使用 | 未使用 | | 17 | - | GND | 未使用 | 未使用 |
| 2 | | 未使用 | 未使用 | 未使用 | | 18 | | 未使用 | 未使用 | 未使用 |
| 3 | | 未使用 | 未使用 | 未使用 | | 19 | - | GND | 未使用 | 未使用 |
| 4 | | 未使用 | 未使用 | 未使用 | | 20 | | 未使用 | 未使用 | 未使用 |
| 5 | | 未使用 | 未使用 | 未使用 | | 21 | | 未使用 | 未使用 | 未使用 |
| 6 | | 未使用 | 未使用 | 未使用 | | 22 | | 未使用 | 未使用 | 未使用 |
| 7 | | 未使用 | 未使用 | 未使用 | | 23 | | 未使用 | 未使用 | 未使用 |
| 8 | | 未使用 | 未使用 | 未使用 | | 24 | | 未使用 | 未使用 | 未使用 |
| 9 | - | GND | 未使用 | GND | | 25 | | 未使用 | 未使用 | 未使用 |
| 10 | | 未使用 | 未使用 | 未使用 | | 26 | | 未使用 | 未使用 | 未使用 |
| 11 | - | GND | 未使用 | 未使用 | | 27 | | 未使用 | 未使用 | 未使用 |
| 12 | | 未使用 | 未使用 | 未使用 | | 28 | | 未使用 | 未使用 | 未使用 |
| 13 | | 未使用 | 未使用 | 未使用 | | 29 | | 未使用 | 未使用 | 未使用 |
| 14 | | 未使用 | 未使用 | 未使用 | | 30 | | 未使用 | 未使用 | 未使用 |
| 15 | - | GND | 未使用 | 未使用 | | 31 | | 未使用 | 未使用 | 未使用 |
| 16 | | 未使用 | 未使用 | 未使用 | | 32 | IN | Vcc | Vcc | Vcc |
CN2(I/Oボード、Specialボードへ)
| No. | ピン名称 | 方向 | 内容 | | No. | ピン名称 | 方向 | 内容 |
| 1 | PA0 | IN | 右PWM方向データ | 26 | PA0 | OUT | 超音波センサ選択信号 |
| 2 | PA1 | IN | 右速度データ0ビット | 27 | PA1 | OUT | 超音波センサ選択信号 |
| 3 | PA2 | IN | 右速度データ1ビット | 28 | PA2 | IN | アンダーフロー信号 |
| 4 | PA3 | IN | 右速度データ2ビット | 29 | PA3 | OUT | 右サーボ制御 |
| 5 | PA4 | IN | 右速度データ3ビット | 30 | PA4 | IN | センサ選択信号 |
| 6 | PA5 | IN | 右速度データ4ビット | 31 | PA5 | IN | センサ選択信号 |
| 7 | PA6 | IN | 右速度データ5ビット | 32 | PA6 | OUT | 左サーボ制御 |
| 8 | PA7 | IN | 右速度データ6ビット | 33 | PA7 | OUT | 超音波切替え |
| 9 | PB0 | IN | 左PWM方向データ | 34 | PB0 | OUT | 赤外線信号 |
| 10 | PB1 | IN | 左速度データ0ビット | 35 | PB1 | OUT | 赤外線信号 |
| 11 | PB2 | IN | 左速度データ1ビット | 36 | PB2 | OUT | 赤外線信号 |
| 12 | PB3 | IN | 左速度データ2ビット | 37 | PB3 | OUT | 赤外線信号 |
| 13 | PB4 | IN | 左速度データ3ビット | 38 | PB4 | OUT | 赤外線信号 |
| 14 | PB5 | IN | 左速度データ4ビット | 39 | PB5 | OUT | 赤外線信号 |
| 15 | PB6 | IN | 左速度データ5ビット | 40 | PB6 | OUT | 赤外線信号 |
| 16 | PB7 | IN | 左速度データ6ビット | 41 | PB7 | OUT | 赤外線信号 |
| 17 | PC0 | OUT | 右PWM方向データ | 42 | GND | - | GND |
| 18 | PC4 | | 未使用 | 43 | H1 | OUT | 超音波割込要求信号 |
| 19 | PC1 | OUT | 左PWM方向データ | 44 | GND | - | GND |
| 20 | PC5 | | 未使用 | 45 | H2 | IN | 超音波送信トリガ |
| 21 | PC2/Tin | | 未使用 | 46 | PC2/Tin | IN | 超音波カウンタスタート |
| 22 | PC5 | | 未使用 | 47 | H3 | OUT | 割込み要求信号 |
| 23 | PC3/Tout | IN | カウンタのCLK | 48 | PC3/Tout | OUT | アンダーフロー信号 |
| 24 | PC7 | | 未使用 | 49 | H4 | IN | 割込み許可信号 |
| 25 | GND | - | GND | 50 | GND | - | GND |
CN3(超音波センサへ)
| No. | ピン名称 | 方向 | 内容 | | No. | ピン名称 | 方向 | 内容 |
| 1 | Vcc | OUT | Vcc | 9 | Vcc | OUT | Vcc |
| 2 | S0 | OUT | 送信信号 | 10 | S0 | OUT | 送信信号 |
| 3 | S1 | IN | 受信信号 | 11 | S1 | IN | 受信信号 |
| 4 | GND | - | GND | 12 | GND | - | GND |
| 5 | Vcc | OUT | Vcc | 13 | Vcc | OUT | Vcc |
| 6 | S0 | OUT | 送信信号 | 14 | S0 | OUT | 送信信号 |
| 7 | S1 | IN | 受信信号 | 15 | S1 | IN | 受信信号 |
| 8 | GND | - | GND | 16 | GND | - | GND |
CN4(赤外線センサへ)
| No. | ピン名称 | 方向 | 内容 | | No. | ピン名称 | 方向 | 内容 |
| 1 | I1 | IN | 赤外線信号 | 9 | I5 | IN | 赤外線信号 |
| 2 | Vcc | OUT | Vcc | 10 | Vcc | OUT | Vcc |
| 3 | I2 | IN | 赤外線信号 | 11 | I6 | IN | 赤外線信号 |
| 4 | GND | - | GND | 12 | GND | - | GND |
| 5 | I3 | IN | 赤外線信号 | 13 | I7 | IN | 赤外線信号 |
| 6 | Vcc | OUT | Vcc | 14 | Vcc | OUT | Vcc |
| 7 | I4 | IN | 赤外線信号 | 15 | I8 | IN | 赤外線信号 |
| 8 | GND | - | GND | 16 | GND | - | GND |
CN5(モータ制御ボード)
| No. | ピン名称 | 方向 | 内容 |
| 1 | Vcc | OUT | Vcc |
| 2 | S0 | OUT | 右方向信号 |
| 3 | S1 | OUT | 右PWM信号 |
| 4 | S2 | OUT | 左方向信号 |
| 5 | S3 | OUT | 左PWM信号 |
BACK