沼津高専 電子制御工学科

標準MIRS IO制御ボードFPGA回路詳細設計書

MIRSSTND-DDSN-0001

改訂記録

版数

作成日

作成者

承認

改訂内容

A01

2004.7.2

原、斉藤、鈴木

蛭ヶ谷

初版



目次

  1. はじめに
  2. 概要
  3. 機能・性能
  4. ソフトウェアビジビリティ
  5. FPGAピン割り当て
  6. 回路構成

はじめに

本仕様書は標準MIRS(MIRSSTND)のIOの制御を司るAT互換PC用ISA拡張ボードに搭載されているFPGAに書き込む回路情報について規定する。

この文書は主に標準機からの引用となっているが変更点であるかめらの搭載について書き足されている箇所がある。それはこの文書の目次でいうと概要、FPGAピン割り当て、回路構成(カメラモジュール)である。

概要

標準MIRS(MIRSSTND)のIO制御拡張ボードは、アリテック社のD40-10-208(以下 IO制御ボードと称す。)にMIRS用ドータボードを搭載して実現する。基板上に搭載されているFPGAはALTERA社EPC10K10QC208-4である。本ボードでは以下の周辺回路の制御部を実現する。

カメラモジュールの搭載についてはFPGAに直接デジタル信号を入れることにする。

 

  1. 車輪駆動用モータ
  2. ロータリーエンコーダ
  3. 超音波センサ
  4. タッチセンサ
  5. 白線センサ
  6. 赤外線センサ
  7. カメラモジュールとAD変換機

IO制御ボードはISAバスを介してAT互換PCと接続され、各周辺回路とはドータボー ドを介して接続される。ドータボードの役割は主としてコネクタ変換程度で、 ほとんどのデジタル制御回路はFPGA上で実現される。本仕様書はこのFPGAで実 現する回路について規定する。
図1にIO制御ボード内のFPGAとISAバスおよび周辺回路の接続関係を示す。


図1

アリテック社の本ボードはISAバス側の配線は購入時からされており、その詳 細はアリテック社のマニュアル"マイコンビルダー取扱説明書"に記されている。

機能・性能

  1. 車輪駆動用モータ
    モータの速度制御はPWM信号によって行う。回転方向とPWM信号をHブリッジ LL298(STMicroelectoronics)の2つ入力信号に変換して出力する。
  2. ロータリーエンコーダ
    ロータリエンコーダの2相のパルスをカウントする16bitのカウンタが中心であ る。順回転で加算され、逆回転で減算される。回転方向の順、逆はロータリエンコーダの2相のパルスにより判別され、AがBより進んでいるとき順回転となる。負の値は2の補数表現であらわされる。
  3. 超音波センサ
    2bitの超音波センサ番号をUSS制御ポートアドレスにに書き込むと、幅0.4[ms]、 周波数約40[kHz]の超音波パルスを送信する。同時に回りこみ除去回路へのガー ドタイミングパルスを出力する。又、超音波センサから受信信号を受けとると、割り込み信号を、割り込み信号のリセットを行うまでCPUへ出力し続ける。
  4. 汎用入力ポート
    タッチセンサ、白線センサ、赤外線センサはその検出信号が、そのまま汎用入 力ポートに入力される。ソフトウェアから汎用入力ポートを読み込むとその時 点の各センサの状態が読める。
  5. 赤外線コード検出
    ポストに設けられた赤外線コード送信器から出力される赤外線コードを復調す る。コードは12bit、コードを検出するとflagビットがsetされコードが読み込まれる とflagはリセットされる。赤外線コードの復調は使用するFPGAのゲート数の不 足から1つのセンサのみとする。ただし、4つの赤外線センサのうちコード復 調を行うセンサの選択ができるようにする。
  6. カメラモジュール
  7. ADコンバータ
  8. ローパスフィルタ

ソフトウェアビジビリティ

IOポート仕様

名称

IO port Address[hex]

R/W

Port Name

機能

LCD

0100

R/W

LCD Control

LCDの制御レジスタ

bit

15-8

7-0

機能

未使用

LCDのRS=0のレジスタ(LCDのマニュアルを参照)

0102

R/W

LCD Data

LCDのデータレジスタ

bit

15-8

7-0

機能

未使用

LCDのRS=1のレジスタ(LCDのマニュアルを参照)

PWM
信号生成

0110

W

PWM 0

PWM出力0信号制御

bit

15-8

7

6

5

4

3

2

1

0

 

 

 

 

 

 

 

 

 

 

機能

未使用

DIR(回転方向)

Duty幅を7bitで 設定
100%:1111111,0%:0000000

0112

W

PWM 1

PWM出力1信号制御

bit

15-8

7

6

5

4

3

2

1

0

 

 

 

 

 

 

 

 

 

 

機能

未使用

DIR(回転方向)

Duty幅を7bitで 設定
100%:1111111,0%:0000000

Rotary
Encoder

0120

R/W

RE_X

ロータリエンコーダXの制御
書き込み:0x01を書き込むことでカウント値がリセットされる。
読み込み:16bitのカウンタデータが読み込まれる。リセットされない限りカ ウント値は積算される。順回転で加算され、逆回転で減算される。回転方向の 順、逆はロータリエンコーダの2相のパルスにより判別され、AがBより進んで いるとき順回転となる。負の値は2の補数表現であらわされる。

bit

15-0

 

 

機能

ロータリエンコーダパルスカウント値

0122

R/W

RE_Y

ロータリエンコーダYの制御
Xと同様

超音波
センサ

0130

W

USS_Send

超音波信号の送信
このアドレスに書き込むことにより、下位2bitで示される超音波センサ送信器に40KHzの超音波を0.4ms間送信する。

bit

15-2

1

0

 

 

 

 

機能

未使用

センサ番号:0-3

0132

W

USS_Ctl

超音波受信信号割り込みの制御
このアドレスに書き込むことにより、受信信号による割り込みのマスク、リ セットを行う。bit1に1を書き込とマスク、0でアンマスク。bit0に1を書き 込むとリセット。

bit

15-2

1

0

 

 

 

 

機能

未使用

Mask

Reset

汎用
入力

0140

R

GIO

デジタル入力入力
標準MIRS(MIRSSTND)では4種類の入力信号をこのポートから読み込む。

  1. MP:モータ用電源のON/OFF
  2. WLS1-4:白線センサ1-4
  3. IRS1-4:赤外線センサ1-4(赤外線センサの有無のみ。コード判別は0x15Xポー トで設定し読み込む)
  4. TS1-4:タッチセンサ1-4

bit

15

14-12

11-8

7-4

3-0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

機能

MP

未使用

WLS

IRS

TS

4

3

2

1

4

3

2

1

4

3

2

1

赤外線
コード

0150

W

IRS_sel

赤外線コード復調センサの指定
このアドレスに書き込むことにより、下位2bitで示される赤外線センサの符号 検出を開始する。最低でもコードの出力周期以上の時間(20ms)保持しなければならな い。

bit

15-2

1

0

 

 

 

 

機能

未使用

センサ番号
00:IRS1
01:IRS2
10:IRS3
11:IRS4

0152

R

Ir_Code

赤外線検出コード
flag:コード検出したとき1にセットされ、このアドレスを読み込むとリセッ トされる。

bit

15

14-12

11-0

 

 

 

 

機能

flag

未使用

コード(コードは赤外線符号出力器の仕様を参照すること)


割り込みポート仕様

IRQ番号

信号名称

機能

5

USS_int

超音波検出の立ち上が りでsetされ、USS_Ctlに0x01を書き込むとリセットされる。

FPGAピン割り当て

項番

ピン番号

名称

IN/OUT

機能

1

144

RE_XB

IN

ロータリエンコーダX_B相

2

147

RE_XA

IN

ロータリエンコーダX_A相

3

148

RE_XB

IN

ロータリエンコーダY_B相

4

149

RE_XA

IN

ロータリエンコーダY_A相

5

150

WLS1

IN

白線センサ信号1

6

157

WLS2

IN

白線センサ信号2

7

158

WLS3

IN

白線センサ信号3

8

159

WLS4

IN

白線センサ信号4

9

160

IRS1

IN

赤外線センサ信号1

10

161

IRS2

IN

赤外線センサ信号2

11

162

IRS3

IN

赤外線センサ信号3

12

163

IRS4

IN

赤外線センサ信号4

13

164

TS1

IN

タッチセンサ信号1

14

166

TS2

IN

タッチセンサ信号2

15

167

TS3

IN

タッチセンサ信号3

16

168

TS4

IN

タッチセンサ信号4

17

169

MR1

OUT

右モータPWM1

18

170

MR2

OUT

右モータPWM2

19

172

ML1

OUT

左モータPWM1

20

173

ML2

OUT

左モータPWM1

項番

ピン番号

名称

IN/OUT

機能

21

204

UT1

OUT

超音波センサ1送信信号

22

203

UR1

IN

超音波センサ1受信信号

23

202

UT2

OUT

超音波センサ2送信信号

24

200

UR2

IN

超音波センサ2受信信号

25

199

UT3

OUT

超音波センサ3送信信号

26

198

UR3

IN

超音波センサ3受信信号

27

197

UT4

OUT

超音波センサ4送信信号

28

196

UR4

IN

超音波センサ4受信信号

29

195

UTIM

OUT

超音波センサ受信ガードタイミング

30

193

 

OUT

 

31

192

CAMERA _R

OUT

CAMERA  Read

32

191

CAMERA _W

OUT

CAMERA  Write

33

190

CAMERA _DB0

IN/OUT

CAMERA Data 0

33

189

CAMERA _DB1

IN/OUT

CAMERA Data 1

33

187

CAMERA _DB2

IN/OUT

CAMERA Data 2

33

179

CAMERA _DB3

IN/OUT

CAMERA Data 3

33

177

CAMERA _DB4

IN/OUT

CAMERA Data 4

33

176

CAMERA _DB5

IN/OUT

CAMERA Data 5

33

175

CAMERA _DB6

IN/OUT

CAMERA Data 6

33

174

CAMERA _DB7

IN/OUT

CAMERA Data 7

34

XXX

ISAバス信号

マイコンビルダーのマニュアル参照

回路構成

2に回路全体のブロック図を示す。


図2

1.アドレスデコーダ部

ISAバスのアドレス信号をデコードし各モジュールの選 択信号を生成する。

2.PWMモジュール


図3

モータ速度制御のためのPWM信号を生成する。IO-Write命令のデータ8bit を保持するレジスタとフリーランのカウンタの値を比較することにより レジスタ値に応じたDuty比のPWM信号を生成する。

3.ロータリエンコーダモジュール

REモジュール
図4

ロータリエンコーダからのA相とB相のパルスの位相を比較し、カウントアップ 信号とカウントダウン信号を生成する。それらの信号で16bitのカウンタを UP/Downする。

4.超音波センサモジュール

USSモジュール
図5

センサ選択IO書き込み命令の下位2bitをレジスタに保持し、その出力と1:4 のセレクタでセンサを選択する。受信信号の前縁微分信号で割り込み信号を flipflopにラッチし、IRQ5を出力する。割り込みマスク信号はffに保持され マスク信号が1の時はIR5に出力しない。

5.汎用入力ポートモジュール

汎用入力モジュール
図6

モータパワーON信号、白線センサ信号、タッチセンサ信号、赤外線センサ信号 をそのアドレスのIOread時にデータバスに載せる。

6.赤外線コード検出モジュール

IR Code Det. モジュール
図6

選択された赤外線信号の立ち上がりを検出し、この信号でデジタルPLL回路の 同期引き込みを行う。同期信号で赤外線センサ信号をサンプルし12bitシフトレジス タに順次取り込む。コード検出器は赤外線のシフトレジスタの内容が信号パター ンに一致しているかを同期信号ごとにチェックし、信号パターンに一致したと きにその内容を12bitラッチ回路にラッチ信号を送る。同時にflagレジスタを セットする。フラグコントロール回路はフラグ保持のレジスタと、データの読 み込み時にフラグをリセットする機能を実現する。

7.カメラモジュール

    PICを利用したADコンバータからはNTSC信号が8ビットのデジタル信号で送られてくる。その値を使いたいときは専用の番地を用意するので、データ取得用の番地にアクセスして8ビットのデ 

    −タを引き出せるようにする。また、データを得ようとした時に、その瞬間に値が変化するのは避けたいのでR/W(リード、ライト)信号のやり取りができるようにする。

 

       


図7

 


関連文書