自律知能ロボット用制御システムの開発

(その5 ロータリエンコーダ・ボード)




1995年 3月

指導教官 長澤正氏
     川上誠
     澤洋一郎

 報告者 海野智之

V94−SPEC−028
沼津工業高等専門学校電子制御工学科
卒業研究報告書


要旨


 95年度から新しく導入されるMPUボード(VSBC−1)が、MIRS開発においてどのように扱われるべきかを検討した。本研究をはじめ次世代MIRS開発チーム(V−project)では、1つの提案としてVSBC−1を用いたMIRSの設計を行い、実際に各種のI/Oボードを製作した。そして、その成果は後のMIRS開発に用いられるよう本学科のネットワークに管理する事とした。
 本研究では、次世代MIRS開発のうちのロータリエンコーダ・ボードの設計、製作を行なった。


目次

1.はじめに・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・1

2.V−projectの概要・・・・・・・・・・・・・・・・・・・・・・・2
    2.1 V−projectMIRSの主な仕様 ・・・・・・・・・・・2
   2.2 MPUボード、基本I/Oボードの機能 ・・・・・・・・・・・2
       2.2.1 VSBC−1の機能・・・・・・・・・・・・・・・2
       2.2.2 VIPC310の機能・・・・・・・・・・・・・・3
       2.2.3 IP−digital48の機能・・・・・・・・・4
    2.3 システム構成 ・・・・・・・・・・・・・・・・・・・・・・・5
   2.4 作業担当 ・・・・・・・・・・・・・・・・・・・・・・・・・6

3.ロータリエンコーダボードの設計・・・・・・・・・・・・・・・・・・・・7
   3.1 ロータリエンコーダボードの機能 ・・・・・・・・・・・・・・7
    3.2 回路設計 ・・・・・・・・・・・・・・・・・・・・・・・・・7
       3.2.1 ロータリエンコーダ信号処理回路・・・・・・・・・7
       3.2.2 タッチセンサ信号処理回路・・・・・・・・・・・・8
       3.2.3 インタフェース仕様と制御回路・・・・・・・・・・8
       3.2.4 コネクタピンアサイン・・・・・・・・・・・・・11
   3.3 ソフトウェアビジビリティ ・・・・・・・・・・・・・・・・13
        3.3.1 ソフトウェアからの見え方・・・・・・・・・・・13
        3.3.2 制御フロー例・・・・・・・・・・・・・・・・・14
   3.4 タイミングチャート ・・・・・・・・・・・・・・・・・・・15
    3.5 センサ接続ケーブルの設計 ・・・・・・・・・・・・・・・・16

4.試験・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・18
   4.1 評価項目 ・・・・・・・・・・・・・・・・・・・・・・・・18
    4.2 試験方法 ・・・・・・・・・・・・・・・・・・・・・・・・18
   4.3 試験結果 ・・・・・・・・・・・・・・・・・・・・・・・・19

5.ドキュメント管理方法・・・・・・・・・・・・・・・・・・・・・・・・20

6.おわりに・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・21

7.謝辞・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・21

8.参考文献・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・21

9.付録・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・22


1.はじめに

 システムの信頼性、保守性という問題は、システム開発において重要なポイントとなる。本学科のMIRS開発においも信頼性、保守性の向上についての様々な研究開発が行われてきた。
 しかし、性能、信頼性、保守性をより向上させる事を考え、MPUボードや基本I/Oボードから根本的に変更する事になった。MPUボードやI/Oボードをラック収納式にする事で、これまで以上の信頼性、保守性を得られるようになると考えた。そこで、次のような仕様を要求し、新しいMPUボード、基本I/Oボードを購入した。  これらの条件から、MPUボードはVSBC−1、ラックはVME−Busを装備したVMEラック、基本I/OボードとしてVIPC310とそのサブボードで68230を2つ搭載したIndustryPack(以後IP)のIP−digital48が購入された。
 これら新しいMPUボード、基本I/Oボードは、95年度からは本学科のMIRS開発授業に導入される。そこで、授業に先駆け次世代MIRS開発チームV−projectを結成し、新しいターゲットボードのMIRSへの導入を検討した。


2.V−projectの概要

 V−projectは、新しいMPUボード、基本I/OボードのMIRS開発授業への導入のための環境の整備を目的とする。95年度からは、新しいMPUボード、ラック等が導入される事でこれまでに開発してきたI/O基板の多くを新しく作り替えなければならなくなる事が予想される。そこで、新しいMPUボードに合わせたI/O基板の開発のサポートのために、エレクトロニクス、ソフトウェアの2方向から研究を行なった。
 エレクトロニクスでは、実際に新しいMPUボードに合わせたI/O基板の作製を行なった。
 ソフトウェアでは、各I/O基板毎の評価、保守用プログラムとしてTMP(Test Maintenance Program)、MIRSの初期診断用プログラムとしてITP(Initial Test Program)を開発した。
 そして、V−projectにおける成果は全て電子制御工学科のネットワークに管理する事にした。

 

2.1 V−projectMIRSの主な仕様

 V−projectでは、これまでのMIRS開発の成果をふまえてMIRSの仕様を次のように決定した。
 電源回路には、論理回路用の5Vに加えRS232C通信ケーブル用の±12V電源端子を作る。
 マンマシンインタフェースボードは、情報の表示能力の向上のために7SegLEDの4桁表示にする。
 駆動部には2輪独立式を採用する。2つの駆動輪の速度、方向は、PWM信号で制御する。駆動輪の回転数は、2相式ロータリエンコーダで測定する。
 超音波センサは、前後左右の取付けを考え4対まで取付可能とする。
 光センサは、MIRS競技場の明るさに影響されやすいため赤外線センサに変更する。赤外線受光素子数は、8つまで取付可能とする。勝敗判定装置には豆電球の代わりに赤外線発光素子を取りつける。
 タッチセンサは前面と左右への取付けを考え3つまで取付け可能とする。


2.2 MPUボード、基本I/Oボードの機能

2.2.1 VSBC−1の機能

 VSBC−1の主な機能を挙げる。
時計機能(RTC) :DP8573を搭載
           12/24時間時計、曜日カウンタ、アラーム、タイマ割り込み

割り込み : 7つのレベルの割り込みが可能(信号IRQ1〜IRQ7を利用)
       割り込みマスクレジスタの設定が可能

ハードウェア監視機能 : MAX691による。400ms(変更可)ごとに合図がないと、
            異常が起きたとみなして、システムをリセットする。

タイムアウト機能 : 異常が発生して、データ転送が7μs停止した場合、信号を発生する。

ボード上のコネクタ: 50ピンSCSIコネクタ
           40ピンPI/Tコネクタ

シリアルI/O
   2つのポートが使用可能 (68562DUSCCが提供)

 オプション:  それぞれのシリアルポートに1つずつ必要
        RS−232C 50〜 76800ボー
        RS−422  50〜307200ボー
        RS−485  50〜500000ボー
        20mA C ループ 50〜9600ボー
         光ファイバによる接続は最長1キロメートル(光ファイバコネクタを含む)

パラレルI/O
   MC68230PI/T
     8ビット × 2ポート
     ハンドシェークピン ×4
     ハードウェア割り込み、タイマ割り込みが可能
     光セントロニクスアダプタが使用可能


VMEbus 関係
 インターフェイス: A24 D16/8,MASTER
 コネクタ    : DIN41612 C 型 、96ピン、P1コネクタ 


2.2.2 VIPC310の機能

 VIPC310の主な機能を挙げる。

インプット/アウトプット、メモリー、割り込みの働きを持つ。
ボード上でのバッテリーによるバックアップが可能である。
VIPC310は、3U(シングルハイト)の要素によってVMEbus Speci fication C.1(IEEEにより、P1014/D1.2または、IEC 821 busとしても知られている。)と結合する。
IPキャリアは、DMAボードや、68020処理装置を乗せると(6U(ダブルハイト)でも可)様々な機能を利用できる。
IPキャリアは、他の標準的なIndustry busでの利用もできる。VIPC 310は、IP Logicの接合方法に従う。
IPは互いに、VIPC310の前面を通って50ピンのフラットケーブルによって接 合される。
二つのIPは、”A”及び”B”と名付けられている。
インターフェースの接合は、基準寸法で、ケーブルでつながれたシステムであれば、I Pキャリア上にディレクトリを添え付けられる。
接合ケーブルは、VMEのシャーシから、VIPC310を動かさずに、差し込み、引 き抜きができる。
IPは、I/Oからの信号に依らずに、オン/オフができる。
どんなときでも、IPは、グリーンフロントパネルの指示器が点灯していれば、VME busから、アクセスされる。
二つの表示器があり、一つづつ、相互のIPに用いられる。
どのアクセスに対しても、活動の指示を明確にする為に、一つ又は複数の関係のあるL EDを点灯させる(約三分の一秒間)
ボード上のリチウムバッテリーは、こういった機能を利用するIPの為のバックアップ用として用いられる。
尚、バッテリーは、VMEbus+5 又は、STDBYラインかを選択して使用でき る。
通常、バッテリーの補佐作用は、スタティックRAMと、日時計に使用される。
IPのI/Oは、VMEbusA16/D16空間中に位置する。 使用者と、管理者のアクセスは共に、読み取り、修正、書き込み(テスト/セット)の作業を受ける。
相互のIP上にあるI/O空間は、IPの詳細書によって、16ビットのワードが64 個と決められている。
相互のIPが、64語を占有するPROMの搭載ができる。
こうして、二つのIPのA及びBは、Short I/O空間のVMEbusシステム の64キロバイト中、512バイトを占有する。
割り込みは、全面的に、指示を受ける。
相互のIPは、二つに分割された割り込み要求により、動作を行う。
VIPC310は、VMEbus の、IRQ1、3、4、5の支援をする。
割込み要求を受けた相互のIPは、自身に8ビットのvectorを供給しなければな らない。
このvectorは、VMEbusに受け取りを知らせるサイクルで、割込みバス間に 供給される。
VIPC310は、VMEbus BERRの操作を受けない。
ソフトウェア上の、意味の無いアクセスは、動作していないCPUボード上の停止回路バスによって、停止される。
VIPC310は、5、12、−12(v)の電源をLC piフィルターを通して、 相互のIPに供給する。
これは、精密なデジタル作用とともに、アナログIPの使用を可能にしている。


2.2.3 IP−digital48の機能

 IP−digital48の主な機能を挙げる。

 IP−Digital48には、MC68230PARALLEL INTERFACE/TIMER(PI/T)が2個搭載されている。
 MC68230には、入出力ポートA,B,Cがあり、A,Bは単方向または双方向の8bitまたは16bitの入出力として使用できる。このポートはダブルバッファ内蔵である。
 ポートCは、DMA,タイマおよび割り込みの制御としても使用される。
 PI/Tは、その内部にTIMERを持っているが、このTIMERは24bitのダウンカウンタを含んでいる。このタイマの基本的な使い方として、

  1. Periodic Interrupt Generator
  2.  Square Wave Generator
  3.  Device Watchdog
等がある。1は、設定周期毎のタイマ割り込みが可能であり、2は、設定周期の方形波をTOUTより出力できる。3は、TINが立ち上がると、設定値からカウンタがダウンしていき、TINが立ち下がると止まる。また、underflowになると、TOUTに一発パルスが発生する。


2.3 システム構成

 MPUボード、基本I/Oボードの機能に合わせてMIRSの機能を分配する。
 IP−Digital48の1つのPI/Tの内部タイマをDevice Watchdogとして、超音波センサのカウンタに用いる。超音波センサの制御には、このPI/TのAポートを割り当てる。赤外線センサ回路は、8つの受光素子のON/OFFの状態を示す8ビットが必要なので残りのBポートを割り当てる。また、IP−Digital48のもう1つのPI/Tの内部タイマをSquare Wave GeneratorとしてPWM信号の基準クロックとして用い、2つのポートはPWM信号発生回路に割り当て左右のPWMデータ用にる。IP−Digital48の持つ2つの割込みは、赤外線センサと超音波センサに用いる。IP−Digital48とインタフェースを行う3つの回路を1つのボードにまとめる事にする。
 MPUボードのシリアルI/O(40ピンPI/Tコネクタ)の2つのポートをマンマシンインタフェースボードに割り当てる。
 VIPC310に2つまで搭載可能なIndustryPackのうちの1つはIP−Digital48を搭載するが、残りは空いているのでこれをロータリエンコーダ回路に用いる。ロータリエンコーダのカウンタの周期的な読込みにはMPUボードのリアルタイムクロックを用いる。また、このIndustryPackに割り当てられた2つの割込み入力ピンをタッチセンサの割込みに用いる為、ロータリエンコーダ回路とタッチセンサ回路を1つにまとめる。
 MPUボードの持つRS232C通信機能を用いて、パソコンPC98を接続してボードのテストとメンテナンスを行えるようにする。
 図1に、システム構成図を示す。
図1 システム構成図
13KB


2.4 作業担当

 私の担当はロータリエンコーダ・ボードである。


3.ロータリエンコーダボードの設計

3.1 ロータリエンコーダ・ボードの機能

 ロータリエンコーダ・ボードは、ロータリエンコーダ信号処理回路とタッチセンサ信号処理回路を1つにまとめ、IndustryPackの形態にしたものである。ボードには、2相式のロータリエンコーダを2つと、タッチセンサを3つまで取付可能とする。
 ボードの機能は次のとおりである。


3.2 回路設計

 ロータリエンコーダ・ボードは、大別してロータリエンコーダ信号処理回路とタッチセンサ信号処理回路、そしてVIPC310とのインタフェースのための制御回路から成る。


3.2.1 ロータリエンコーダ信号処理回路

 ロータリエンコーダ信号処理回路は、ロータリエンコーダの2相の信号からロータリエンコーダの回転数と回転方向を測定し、CPUの命令にしたがってデータの出力を行う。
 回路はロータリエンコーダ接続回路とカウンタ回路、カウンタリセット回路から成る。
 ロータリエンコーダ接続回路はロータリエンコーダの出力波形が論理回路の”H”、”L”レベルを満足するように振幅を設定するためのものである。この回路は、使用するロータリエンコーダに合わせて設計する必要がある。本研究ではこれまでのMIRS開発に用いられてきたロータリエンコーダと同じものを使用したため、ロータリエンコーダ接続回路は新しくは設計せずこれまでのものをそのまま用いた。図2にロータリエンコーダ接続回路を示す。

4KB ロータリエンコーダ:
 OME−200−2
R1:220Ω
R2:6.2kΩ
R3:6.2kΩ
 この時、a,b相の出力波形の振幅は0.3〜4.3Vである。

 カウンタ回路はロータリエンコーダの信号をカウントし、2相の信号の位相差から回転方向を判断する。これまでは、フリップフロップを使ってカウンタと方向判別回路を設計してきたが、本研究ではマウス制御用カウンタIC(μPD4701A)を利用した。μPD4701Aを利用することのメリットを、次に挙げる。
 1つめに、μPD4701Aがカウンタと方向判別回路の両方の回路を兼ね備えているということ。これにより、カウンタ、方向判別回路の信頼性は高上する。
 2つめに、2相式のロータリエンコーダを2つまで取付可能であるということ。μPD4701Aを利用すればIC1チップで2つのロータリエンコーダの信号処理が行え、回路の小型化が容易にできる。回路の小型化については、ボードをIndustryPackの形態にするためにも重要になる。
 3つめに、μPD4701Aのカウンタのカウント動作の点が挙げられる。これまでは、ロータリエンコーダの2相の信号のうち、片方の相のパルスの立上がりに対してカウンタをアップカウントさせ、方向はカウントとは別に2相の位相差から判別していた。それに対してμPD4701Aのカウンタは、2相のパルスの立上がり、立下がり全てに対してカウンタを動作させる。そのため、ボードの分解能はこれまでの4倍にまで高めることができる。ちなみにカウンタは2の歩数表示で2相の位相差から常に方向を判断し逆転の時にはダウンカウントする。
 4つめに、μPD4701Aの持つマウスのボタン入力ピンをタッチセンサに応用できることも挙げられる。
 カウンタリセット回路は、カウンタのリセット信号を発生させる回路である。μPD4701Aの2つのカウンタは独立にリセット機能を持つため、回路も2つのカウンタを別々にリセットできるようにした。


3.2.2 タッチセンサ信号処理回路

 タッチセンサ信号処理回路は、タッチセンサの信号からスイッチ割り込みの割込み要求を行う。回路は、タッチセンサのチャタリング防止回路と割込み信号発生回路、タッチセンサステータス出力回路、割込みVECTOR発生回路から成る。
 タッチセンサの信号処理にも、μPD4701Aを利用する。タッチセンサはSR−FFを用いてチャタリングを除去し、その信号をμPD4701Aに取り込む。そして、μPD4701Aの持つスイッチフラグ信号を利用して割込み信号発生回路で割込み信号を発生させる。タッチセンサの状態は、μPD4701Aのカウント値とまとめて出力される為、別に、タッチセンサステータス出力回路を設計する必要はない。図3に、μPD4701Aのデータ出力形式を示す。
図3 μPD4701Aデータ出力形式
   出力は3ステートである
3KB

 割込みVECTOR発生回路は、割込みサイクル時にVIPC310−IP間のデータバス(Internal Data Bus)に8ビットの割込みVECTORを載せる回路である。IPからデータバスには通常μPD4701Aの出力データが載せられる為、バス上にμPD4701Aの出力データと割込みVECTORが同時に載るようなことの無いよう、3ステートのバッファを用いて割込みVECTORの出力を制御する。割込みVECTORの設定は、8ビットディップスイッチによって行う。IPをVIPC310に搭載するとき、両者は互いにボードの部品面を向かい合わせる事になる。IPをVIPC310に搭載したまま割込みVECTORの設定を行えるよう、ディップスイッチは横向きのものを使用した。


3.2.3 インタフェース仕様と制御回路

 制御回路は、CPUからの命令の解読とVIPC310とのI/Oのタイミングの制御の役目を持つ。
 ここで、VIPC310とIPとのインタフェース仕様のうちで特にロータリエンコーダ・ボードの設計に重要なものを記す。

i)物理インタフェース
 IPの寸法と、コネクタピン番号を図4に示す。50ピンコネクタはAMP社の173279−3である。
図4 IndustryPackのサイズとコネクタピン番号
5KB

ii)ソフトウェアインタフェース
 IPが可能なデータ入出力のサイクルには、表1に示した8種類がある。それぞれのサイクルは4つのセレクト信号(IOSel*,MemSel*,IntSel*,IDSel*)とR/W*、DMAck*により決定される。
表1 Cycle Types
Cycle Type R/W* IOSel* MemSel* IntSel* IDSel* MDAck*
Input H L H H H H
Output L L H H H H
Memory Read H H L H H H
Memory Write L H L H H H
Interrupt Ack H H H L H H
ID Read H H H H L H
IO-DMA H/L L H H H L
Memory-DMA H/L H L H H L
 すべてのサイクルで4つのセレクトサイクルのうちの1つだけactiveになる。1つのサイクルは、セレクト信号がactiveになってからIPがAck*を返すまでである。
 図5に、最短の場合のInput、Outputサイクルのタイミングチャートを示す。
 また、図6にタイミングの規定を示す。なお、図6中のIP Carrierは本研究ではVIPC310の事を指す。

図5 Fastest I/O Cycle
6KB

図6 IP Detailed Timing Diagram
7KB

 制御回路は、以上のような仕様を満たすように設計しなければならない。
 制御回路では、セレクト信号、アドレス、データなどをデコードしてCPUからの命令を解読し、CLKと同期を取り、ロータリエンコーダ信号処理回路やタッチセンサ信号処理回路に必要な信号を送ったり、命令に応じたデータをCPU側に返したりする。IPの大きさを考慮して、回路をPLDで作製することにした。


3.2.4 コネクタピンアサイン

 表2、3にロータリエンコーダボードのコネクタピンアサインを示す。表2はコネクタJ3のピンアサインで、これはIPとVIPC310のインタフェースのコネクタである。表3はコネクタJ5のピンアサインで、これはIPとセンサの接続コネクタである。

表2 コネクタJ
 No. 信号名 方向 内容 備考
  1   GND -- GND
  2  CLK Clock 8MHz
  3 BRESET* CPUؾ¯Ä信号
  4   D00 ←→ DATA 20
  5  D01 ←→ DATA 21
  6   D02 ←→ DATA 22
  7  D03 ←→ DATA 23
  8   D04 ←→ DATA 24
  9   D05 ←→ DATA 25
 10  D06 ←→ DATA 26
 11  D07 ←→ DATA 27
 12   D08 ←→ DATA 28 未使用
 13   D09 ←→ DATA 29 未使用
 14  D10 ←→ DATA 210 未使用
 15  D11 ←→ DATA 211 未使用
 16   D12 ←→ DATA 212 未使用
 17  D13 ←→ DATA 213 未使用
 18  D14 ←→ DATA 214 未使用
 19  D15 ←→ DATA 215 未使用
 20  BS0* Byte Select (下位バイト) BS0*=0 (active)
 21  BS1* Byte Select (上位バイト) BS1*=1 (negative)
 22   V- -- 電源-12V 未使用
 23   V+ -- 電源+12V 未使用
 24   Vcc -- 電源+5V
 25   GND -- GND
 26  GND -- GND
 27  Vcc -- 電源+5V
 28  PWR* Read*Write Select 1=Read,0=Write
 29  IDA* ID PROM Select 信号
 30   H1 high level 入力
 31 MEMSELA* Memory R*W Cycle 信号 未使用
 32   H2 high level 入力
 33 INTSELA* Interrupt Cycle 信号
 34   H3 high level 入力
 35 IOSELA* I/O Cycle 信号
 36   H4 high level 入力
 37  ADDR1 Address 21
 38   H5 high level 入力
 39  ADDR2 Address 22
 40   H6 high level 入力
 41  ADDR3 Address 23
 42 IRQA0*  → Interrupt 信号 (割込み level=4)
 43 ADDR4 Address 24
 44  IRQA1*  → Interrupt 信号 (割込み level=5) 未使用
 45  ADDR5 Address 25
 46   H7 high level 入力
 47  ADDR6 Address 26
 48  ACKA*  → Acknowledge
 49 +5PSTBT -- VIPC310ボードのバッテリー電源 データ保存用、未使用
 50   GND -- GND

表3 コネクタJ
 No.  信号名 方向 内容 備考
  1   GND -- GND
  2   GND -- GND
  3   GND -- GND
  4   GND -- GND
  5   GND -- GND
  6   GND -- GND
  7   GND -- GND
  8   GND -- GND
  9   GND -- GND
 10   GND -- GND
 11   GND -- GND
 12   GND -- GND
 13   GND -- GND
 14   GND -- GND
 15   GND -- GND
 16   GND -- GND
 17   GND -- GND
 18   GND -- GND
 19   GND -- GND
 20   GND -- GND
 21   GND -- GND
 22   GND -- GND
 23   GND -- GND
 24   GND -- GND
 25   GND -- GND
 26   GND -- GND
 27 RRa ←  右ロータリ・エンコーダa相信号
 28   GND -- GND
 29  Vcc -- 電源+5V
 30   GND -- GND
 31 RRb ←  右ロータリ・エンコーダb相信号
 32   GND -- GND
 33 RLa ←  左ロータリ・エンコーダa相信号
 34   GND -- GND
 35  Vcc -- 電源+5V
 36   GND -- GND
 37 RLb ←  左ロータリ・エンコーダb相信号
 38   GND -- GND
 39 TRs* ←  右タッチセンサON信号
 40   GND -- GND
 41 TRr* ←  右タッチセンサOFF信号
 42   GND -- GND
 43 TMs* ←  中央タッチセンサON信号
 44   GND -- GND
 45 TMr* ←  中央タッチセンサOFF信号
 46   GND -- GND
 47 TLs* ←  左タッチセンサON信号
 48   GND -- GND
 49 TLr* ←  左タッチセンサOFF信号
 50   GND -- GND


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

3.3.1 ソフトウェアからの見え方

 表4に本研究で用いたソフトウェアからの見え方を示す。
表4 ソフトウェアからの見え方

   Address

A8A7A6A5A4A3A2A1A0

Read

 /

Write

      DATA

D7 D6 D5 D4 D3 D2 D1 D0

       MEMO

0 x x x x 0 0 0 1   Read 76543210

 右ロータリ・エンコーダカウンタ下位8ビット

一定時間毎読む
0 x x x x 0 0 1 1

  

Read SF L R M 2111098

 右ロータリエンコーダカウンタ上位4ビット

 +スイッチデータ

SF:スイッチフラグ

  (SF=L+R+M,active high)

L:左スイッチ(active high)

R:右スイッチ(active high)

M:中央スイッチ(active high)

一定時間毎、スイッチ割込み時に読む

0 x x x x 0 1 0 1  Read 76543210

 左ロータリエンコーダカウンタ下位ビット

一定時間毎読む
0 x x x x 0 1 1 1 Read SF L R M 2111098

 左ロータリエンコーダカウンタ上位ビット

 +スイッチデータ

SF:スイッチフラグ

  (SF=L+R+M,active high)

L:左スイッチ(active high)

R:右スイッチ(active high)

M:中央スイッチ(active high)

一定時間毎、スイッチ割込み時に読む

0 x x x x 1 0 0 1 Write (カウンタリセット)

x x x x x x 0 1

    右ロータリ・エンコーダカウンタリセット

x x x x x x 1 0

    左ロータリ・エンコーダカウンタリセット

x x x x x x 1 1

      左右カウンタ同時リセット

右カウンタ読み込み後に行う

左カウンタ読み込み後に行う

スタート時に行う

0 x x x x 1 0 1 1 Write (割込みenable)

x x x x x x x 0

          割込み不可

x x x x x x x 1

          割込み許可

リセット後に行う

※ アドレスA8より上位桁は、ジャンパ設定。
※ アドレスおよびデータの "x" は、don't care を意味する。


3.2.2 制御フロー例

 図7に制御フローの例を示す
図7 制御フロー例
6KB

 初期設定では、左右のカウンタのリセットと必要に応じて割り込み許可を行う。カウンタを読むときには、下位8ビット、上位4ビット、カウンタリセットの3つを連続して処理すること。


3.4 タイミングチャート

 図8から図11に、IPとVIPC310のI/Oのタイミングチャートを示す。回路の設計には、PLDにGAL16V8、その他の論理回路素子はLSシリーズを用いている。
図8 カウンタリードサイクル
6KB

 カウンタリードサイクルでは、カウント値の読み出しとタッチセンサステータスの読み出しを行う。
図9 カウンタリセットサイクル
6KB

 カウンタリセットサイクルでは、カウンタのリセット信号を発生させカウンタをリセットする。カウンタのリセットは、左右別々にも、同時にも行える。
図10 割込みAckサイクル
4KB

 割込みAckサイクルは、タッチセンサによる割込みが発生した時に行う。割込みVECTORはAckをActiveにしてからCLKの立ち上がり後40ns以内に確定しなければならない(図3 Acknowledge Valid Delay)。しかし、この設計では割込みVECTORが確定するのに最大で42nsかかるので、いつでも確実に動作するという保証はない。しかし、この42nsは、PLDと3ステートのバッファ(74LS244)の2つのICが同時に最大の遅延時間になった場合であり、その様な可能性は低く、さらに、3ステートのバッファの出力遅延時間の標準値は最大の場合よりも10ns短いから、たいていの場合割込みVECTORはCLKの立ち上がり後40ns以内に確定すると考えられる。より確実な方法として、ICをLSシリーズからHCシリーズに変えるという事も挙げられるが、LSシリーズを用いても問題はないと判断した。
図11 バスリセットによる初期化
3KB

 バスリセットは、電源投入時に自動的に行われる。リセット信号がActiveな状態は、実際には数百ms続くが図7では省略している。


3.5 センサ接続ケーブルの設計

 ロータリエンコーダ・ボードにロータリエンコーダ、タッチセンサを取り付けるためのケーブルを作製する。ケーブルは、表3のコネクタJのピンアサインに従う。実際は、コネクタJはIPとVIPC310の接続コネクタで、センサ類はVIPC310のコネクタJに取り付ける。コネクタJはIPのI/O用のコネクタで、Jと直結しているだけで、コネクタの形状は一般的なフラットケーブル用の2列型のものになっている。
 ケーブルは、50ピンコネクタだが必要な信号線は半分以下である。1ピンから26ピンまでのGNDは、特に必要ないのでコネクタの根元でカットする事にした。
 1つのケーブルから複数のセンサに分けるのに、本研究ではケーブル分岐用の中継ボードは作製せずケーブルをセンサ毎に裂く方法をとった。その理由は、中継ボードを作製する事でその中継ボードの取付場所を確保しなければならなくなり、ラック収納式である事のメリットが薄れると考えたからである。図12に作製したケーブルの外観を示す。
図12 ケーブル外観
8KB



4.試験

4.1 評価項目

 以下にロータリエンコーダ・ボードの評価項目を示す。
  1. ロータリエンコーダの出力波形の測定
  2. カウント値の読み出し
  3. カウンタリセット信号の発生
  4. タッチセンサ信号の測定
  5. 割り込み信号の発生
  6. 割り込みベクタの発生
  7. 割り込み許可、不許可の切り替え
  8. 割り込み不許可時のタッチセンサの信号処理
  9. バスリセットによる初期化の確認
  10. タイミングの確認
  11. 使用範囲内での動作保証
 カウント機能は1と2、リセット機能は3、スイッチ割込み機能は5、割込みVECTOR発生機能は6、割込みマスク機能は7と8、初期化機能は9でそれぞれ評価した。そして10ではVIPC310とのインタフェースの試験、11ではMIRSへの使用を想定して様々な速度の駆動輪の回転数の連続測定を行い動作の安定性の試験を行った。


4.2 試験方法

 試験は主にTMPにより行った。TMP内の試験方法は、次の通りである。
 ボード、センサの接続をする。割込みVECTORは4CHに設定する。必要に応じてオ>シロスコープ、ロジックアナライザ等を取り付ける。
 試験はロータリエンコーダ信号処理とタッチセンサ信号処理に分けて行う。試験の時には電源投入時の初期化と、TMPでの初期化で延べ2回、カウンタをリセットし割込みを不許可にしている事になっている。
 ロータリエンコーダ信号処理の試験は、カウンタリード試験とカウンタリセット試験がある。カウンタリード試験は、リターンキーを押すたびにカウント値を読みだす。この試験は、カウント値をそのまま出力するだけなので、カウント値を変化させる時は自分でロータリエンコーダを回転させる。カウンタリセット試験は、左右のカウンタを任意にリセットし、リセット後の値を読みだす。 タッチセンサ信号処理回路の試験は、タッチセンサステータス読み込み試験と割込み試験がある。タッチセンサステータス読み込み試験では、割込みは不許可のままでありタッチセンサステータスが読み込める事と割込みマスク時には割込みがかからない事が確認できる。割込み試験では割込みの許可、割込み信号の発生、割込みVECTORの発生という動作が試験される。
 タイミングの確認は、TMPによる試験をロジックアナライザで観測して行った。
 使用範囲内での動作保証は、TMPには周期的にカウント値を読みだす機能は無いため、別にプログラムを用意して試験した。プログラムは、PWM信号のduty比を設定して実際に駆動輪を回転させその回転数を100ms毎に読みだすというものである。測定した回転数が正しい事は、タコメータによっても回転数を測定する事で確認した。


4.3 試験結果

 初めに作製した初版ロータリエンコーダ・ボードでは、割込みマスク機能がうまく働かなかった。割込み不許可時にタッチセンサが押された時に、割込み信号発生回路で発生する割込み信号のVIPC310への出力は禁止できたが割込み信号自信は、タッチセンサが押されていなくなっても、回路内に保持されておりそれが割込みを許可した瞬間に出力されてしまった。この問題は、基板のパターンを切断したりジャンパ線をつないだりして回路を変更して解決した。
 第2版のロータリエンコーダ・ボードは、初版ボードの回路の変更を盛り込み、さらに作製手順が簡単になるように考慮して設計した。試験は、全て合格した。
 表5に使用範囲内での動作保証の試験結果を示す。試験に用いた駆動部は、駆動輪とモータのギヤ比1:80、駆動輪とロータリエンコーダのギヤ比1:1.8であり、これは、川上研究室で開発したMIRS5のものと同じものである。また、カウント読み出し間隔100msである。

表5 ロータリエンコーダと回転計による回転数の比較
duty比
(%)
カウント値
(/100ms)
Û°Àشݺ°ÀÞの回転数
(rpm)
@ 計算による駆 動輪の回転
(rpm)
A 回転計による駆動輪の回転数
(rpm)
A-@
(rpm)
0 0 0 0 0 0
20 161 120.8 67.1 67 -0.1
40 284 213 118.3 118 -0.3
60 337 252.8 140.4 140 -0.4
80 364 273 151.7 152 0.3
100 370 277.5 154.2 154 -0.2

 タコメータの持つ測定誤差は、1rpmであり、ロータリエンコーダの測定値はタコメータによる測定値と良く一致した。このギヤ比の場合、少なくとも150rpmまでの回転数は測定できた。150rpmとは、駆動輪の直径が約8cmであるからこのギヤ比の場合、MIRSの速度は約62.8cm/sとなる。これだけの速度で安定した測定ができればMIRSへの使用には十分だと判断した。



5.ドキュメント管理方法

 V−projectでは、ドキュメント類は全て電子制御工学科のネットワークに一括して保管するようにした。ドキュメント類は全てパスワードにより保護してあり、一般の利用者が勝手に内容を変更したり、誤って消去してしまうような事はない。また、複数の人間が同時に同じドキュメントを参照する事が出来る。ネットワークに保管されているので、紙の文書のようにどこに持って行かれたのか分からなくなるような事もない。
 全てのドキュメントを、採番台帳を用いて管理している。採番台帳には、ドキュメント名と採番番号、ドキュメントが保管されているディレクトリ名やネットワーク上のファイル名等、ネットワークからドキュメントを参照する為に必要な情報が記されている。これにより、全てのドキュメントを誰でも採番台帳から検索し、参照できるようになっている。1つのドキュメントから関連するドキュメントを指定する場合は、ドキュメントの採番番号で指定する。採番台帳を用いれば、採番番号を元に採番台帳からドキュメントの保管ディレクトリ名とファイル名を調べ、参照する事ができる。
 製造に関する資料は体系化されており、部品表から、部品の手配、作成手順、検査手順、取扱方法といった基板の作成に必要な全てが得られるようになっている。図13に製造関係資料の体系を示す。基板を作成したい時には、ネットワークから作成する基板の部品表を取り出し、そこから部品類の手配をする。回路図が必要な時には、ネットワークから回路図のファイルを取り出しOrCADに読み込ませる。プリント基板の作製には基板図をフロッピーディスクに読み出し電子制御工学科棟4階の長澤研究室でパターンCADに読み込ませて、プリントパターン図や外形図等を得る。基板の組み立てには組立図、穴開け図などを参照するが、その組み立て手順は作成手順書に示されている。作成した基板の検査には検査手順書、基板の使用方法は取り扱い説明書を参照する。

図13 製造関係資料の体系
4KB


6.おわりに

 本研究ではロータリエンコーダ・ボードを完成させた。完成したボードの仕様書や回路図、部品表、取り扱い説明書といったドキュメント類は全て、電子制御工学科のネットワークに保管してある。この成果を95年度以後のMIRS開発に用いたり、1つの手本として参考にしてもらいたい。


7.謝辞

最後に、私達の卒業研究を支え、御支援、御指導して下さった。長澤教官、川上教官、澤教官及び、MIRS開発に、積極的に取り組まれる電子制御工学科の教官、関係者の方々にこの紙上をお借りして、深く感謝するとともに厚く御礼申し上げます。


8.参考文献



9.付録

  1. ロータリエンコーダ・ボード第2版詳細設計書・・・・・・・・・・23
  2. ロータリエンコーダ・ボード第2版回路図・・・・・・・・・・・・27
  3. ロータリエンコーダ・ボード第2版部品表・・・・・・・・・・・・28
  4. ロータリエンコーダ・ボード第2版作製手順書・・・・・・・・・・30
  5. RE_VIPC310接続ケーブル仕様書・・・・・・・・・・・・33
  6. ロータリエンコーダ・ボード取扱い説明書・・・・・・・・・・・・36





V94−CARD−102

ロータリエンコーダ・ボード
詳細設計書

改訂記録
項 番版 数年月日 作 成 者  改 訂 内 容 
1初 版95,3,8海野
22 版 95,3,8海野p4 2版部品表追加
3



4



5



6



7




1.はじめに

 ロータリエンコーダ・ボードの詳細は、次に挙げる通りである。


2.回路と使用部品について

2.1 カウンタ部
 カウンタ部では、ロータリエンコーダの信号処理を行う。エンコーダ用カウンタICμPD4701A(以後カウンタICと呼ぶ:NEC)を用いて、ロータリ・エンコーダの回転数をカウントする。この時、ロータリ・エンコーダの信号がカウンタICのスレッショルドレベルを満たすように抵抗値(R1〜R6)を設定する。この値は、使用するロータリ・エンコーダ毎にも変わってくるが、今回は実験によりR1、R2、R4、R5を6.2kΩ、R3、R6を220Ωとした。

2.2 スイッチ部
 カウンタ部に用いたカウンタICで、タッチセンサの信号処理も行う。タッチセンサには、チャッタレススイッチを用いる。チャタリング除去回路にはS-Rフリップフロップを用い、74LS279で作製する。カウンタICによりタッチセンサの状態を読み取り、スイッチフラグ(以後SF*)を発生させる。なお、このSF*を制御回路に取り込んで割込み信号を発生させる。

2.3 制御回路
 制御回路部では、I/Oボードとのインタフェースを行う。その役目は、CPUからの命令の解読と、タイミングの制御、割込み信号の発生、バスリセット時のボードの初期化である。ボードは、バスリセット時にはカウンタをリセットし、タッチセンサの割り込みを禁止する。回路の小型化の為に、PLD(16V8)2個を用いて作製する。

2.4 割込みVECTOR発生回路
 割込み時の割込みVECTORは、ロータリエンコーダのカウント値を出力するのと同じデータバスにのせるので、カウント値と割込みVECTORの出力の切り替えに3ステートバッファを用いる。回路は74LS244を用いて作製する。割込みVECTORの設定用に8ビットのディップスイッチを用いる。スイッチは、ロータリエンコーダ・ボードをI/Oボードに搭載したままでも操作できるように横向きのディップスイッチA6DR−8を用いる。


  

3.タイミングチャート

 図1にカウンタリードサイクルのタイミングチャートを、図2にカウンタリセットサイクルのタイミングチャートを、図3に割込みサイクル(割込みVECTOR読込みサイクル)のタイミングチャートを、図4にバスリセット時のタイミングチャートをそれぞれ示す。なお、CLKは8MHz(T=125ns)である。

図1 カウンタリードサイクル
6KB


図2 カウンタリセットサイクル
6KB


図3 割込みサイクル(割込みVECTOR読込みサイクル)
4KB


図4 バスリセットによる初期化
3KB

  ※ 実際はバスリセットがアクティブな状態(”L”レベル)は数百ms続く。


4.部品表

初版基板の部品表はV94−CARD−301である。
2版基板の部品表はV94−CARD−302である。





V94−CARD−302

ロータリエンコーダ・ボード(第2版)
部品表


作成者:海野智之


ROTARYENCODER-TOUCHSENSOR BOARD               Revised:   January 26, 1995
                                              Revision: 1
Bill Of Materials              January   26, 1995     17:21:02     Page    1

 Item  Quantity  Reference                 Part               
___________________________________________________________

    1       5    C1,C2,C3,C4,C5            104                

    2       1    IC1                       UPD4701A           

    3       1    IC2                       74LS279            

    4       1    IC3                       74LS244            

    5       2    IC4,IC5                   GAL16V8
						  IC4:V94-PART-003(PLDデータファイル)
						  IC5:V94-PART-004(PLDデータファイル)
           
    6       3    JP1,JP2,JP3               PS-10PF-D4T1-PKL1  

    7       2    J5,J3                     173279-3           

    8       4    R1,R2,R4,R5               6.2KΩ               

    9       2    R3,R6                     220Ω                

   10       2    R7,R8                     R 8LADDER 1KΩ       

   11       1    S1                        A6DR-8100          

   12       2    ICソケット			20pin


回路図(OrCADファイル):V94−CARD−202

パターン図(パターンCADファイル):V94−CARD−402

作成手順書:V94−SPEC−012

検査仕様書:V94−SPEC−010

取扱い説明書:V94−SPEC−011





V94−SPEC−012

ロータリエンコーダボード(第2版)
作成手順書

改訂記録
項 番版 数年月日 作 成 者  改 訂 内 容 
1初 版95.3.8海野
2



3



4



5



6



7




1.目的
 本ドキュメントは,ロータリエンコーダボード第2版(V94−PART−003,V94−PART−004,V94−CARD−*02)の作成法を明確にすることを目的とする。


2.適用範囲
 本ドキュメントは,ロータリエンコーダボード第2版(V94−PART−003,V94−PART−004,V94−CARD−*02)に対して適用する。


3.作成方法
 以下の手順でロータリエンコーダボードを作成する。

i)基板を焼く
 両面基板にパターンを焼き付け、エッチングする。パターンは、V94-CARD-402(パターンCADファイル)を用いる。パターンは、両面基板の半田面と部品面で別々のファイル(半田面:RTENC2H.DBH,部品面:RTENC2B.DBH)になっているので注意してください。エッチングが終わったら基板を正確な大きさに切る。特に基板の横幅は、いっぱいまでパターンが引かれているのでIC1及びディップスイッチのランドが削れるぐらいまで基板を削る事(図1の概観図で基板寸法を参照してください)。
図1 ロータリエンコーダボード概観図
6KB

ii)基板に穴を開ける
 ドリルは0.8mmを用いる。但し基板の四隅にある大き目のランドはIndustryPackをI/Oボードに固定する時のねじ穴であるので2.5mmのドリルで穴を開ける。

注意

 穴の位置は、必ずランドの中心にあるわけではありません。プリント基板に焼き付けたパターンで解りにくい場合は、V94-CARD-402(パターンCADファイル)を参照してください。場合によってはランドの内径がつぶれて穴の位置がうまく定まらない事があるので、必要に応じてポンチ等を活用してください。
 2つの50ピンコネクタは、ドリルの穴がきれいに整列していないと基板に差し込む時に特に苦労するので注意してください。

                

iii)半田付け
 部品を基板に乗せる前に、必ず基板の表と裏(部品面と半田面)を結ぶ作業をします。基板を部品面から見た時(パターンCADファイルでの、LAYER1)に、ランドが部品の足以外の所にあるものは、全て裏側の半田面と結びます。抵抗などの足の切った残りや被服をはいだ導線などを差し込み、両面を半田付けしてください。この作業は、全部で25ヶ所あります。結びおわったら、しっかりとつながっているかどうか、導通チェックをしてください。
 基板を部品面から見た時(パターンCADファイルでの、LAYER1)にランドが部品の足の所にあるもの(IC1、IC2、IC3、R4、R5、RA8、C2、C3、C4の9パーツ、28ヶ所)は、取り付けた部品の足の部品面側も半田付けします。
 部品の取り付けには、順番があります。必ず順番を守って取り付けてください(順番を間違えると、半田付けが困難になります)。
  @R1〜R6,C1,IC1,C2,IC2の取り付け
  AC3,IC3,RA8,C4の取り付け
  Bその他の部品の取り付け
 @、Aでは部品面の半田付けもあるので注意すること。IC4とIC5はPLDなので、ICソケットを取り付けてください。

iv)PLDを焼く
 PLDの書き込みデータは、1つのICにつき1つのディレクトリを用意してあります。必要なディレクトリは、部品表から検索してください。ディレクトリには、テキスト形式で論理式を記したソースファイル(拡張子:PDS)と、ソースファイルから作成したドキュメントファイル(拡張子:DOC)、PLDライタ用にコンパイルしたファイル(拡張子:JED)の3つのファイルがあります。これらをフロッピーディスクに読み出しPLDライタに読み込ませてPLDの焼き付けを行ってください。
 PLDを焼いたら基板に載せて完成です。





V94−PART−009

RE−I/Oボード接続ケーブル
仕様書

改訂記録
項 番版 数年月日 作 成 者  改 訂 内 容 
1初 版95.3.8海野
2



3



4



5



6



7




1.目的
 本ドキュメントは,ロータリエンコーダボード初版(V94−PART−001,V94−PART−002,V94−CARD−x01)、及び2版(V94−PART−003,V94−PART−004,V94−CARD−x02)の使用の際に用いる接続ケーブルの作成法を明らかにする事を目的とする。

2.適用範囲
 本ドキュメントは,ロータリエンコーダボード初版(V94−PART−001,V94−PART−002,V94−CARD−x01)、及び2版(V94−PART−003,V94−PART−004,V94−CARD−x02)に対して適用する。

1.ケーブルの外観
 I/Oボード(VIPC310)に取り付ける為の50ピンコネクタに、ケーブルをつなげます。I/Oボードのコネクタが50ピンなので、ケーブルのコネクタも50ピンにする必要がありますが、50ピンのうちの必要な信号は、27番ピンから50番ピンまでの24本なので、ケーブルは50芯である必要はありません。27番ピンよりも若いピン番号の所には、ケーブルをつなぐ必要はありません。もしも27番ピンよりも若いピン番号の所にケーブルをつないだ時には、邪魔になるようならコネクタの根元で切ってしまって問題ありません(図1)。
図1 ケーブル外観
8KB


2.部品表
番号 部品名 型番 数量 適用
50ピンコネクタ(雌型) フラットケーブル用2列 CN1
5ピンコネクタ(雌型) 5102−05 CN2,CN3
スイッチ SS−5GL TS1〜TS3
ケーブル (50芯) 適当な長さ


3.布線表
番号 FROM TO 信号名 内容
CN1_27 CN2_1 RRa 右ロータリ・エンコーダa相信号
CN1_28 CN2_2 GND GND
CN1_29 CN2_3 Vcc 電源+5V
CN1_30 CN2_4 GND GND
CN1_31 CN2_5 RRb 右ロータリ・エンコーダb相信号
CN1_32
GND GND ※1
CN1_33 CN3_1 RLa 左ロータリ・エンコーダa相信号
CN1_34 CN3_2 GND GND
CN1_35 CN3_3 Vcc 電源+5V
10 CN1_36 CN3_4 GND GND
11 CN1_37 CN3_5 RLb 左ロータリ・エンコーダb相信号
12 CN1_38
GND GND ※1
13 CN1_39 TR1_3 TRs* 右タッチセンサON信号
14 CN1_40 TR1_1 GND GND
15 CN1_41 TR1_2 TRr* 右タッチセンサOFF信号
16 CN1_42
GND GND ※1
17 CN1_43 TR2_3 TMs* 中央タッチセンサON信号
18 CN1_44 TR2_1 GND GND
19 CN1_45 TR2_2 TMr* 中央タッチセンサOFF信号
20 CN1_46
GND GND ※1
21 CN1_47 TR3_3 TLs* 左タッチセンサON信号
22 CN1_48 TR3_1 GND GND
23 CN1_49 TR3_2 TLr* 左タッチセンサOFF信号
24 CN1_50
GND GND ※1
※1 接続先の指定の無いGNDは、最寄りのGND線とまとめてしまうかケーブルをセンサ毎に裂いた根元の部分でカットして下さい。
 注) タッチスイッチのピン番号は変則的なので、図1を参照してください。タッチセンサを取り付けない場合はタッチセンサの信号線をカットしてかまいません。





V94−SPEC−011

ロータリエンコーダボード
取扱い説明書

改訂記録
項 番版 数年月日 作 成 者  改 訂 内 容 
1初 版95.3.8海野
22 版95.3.15海野ロータリエンコーダ・ボード外観図追加
3



4



5



6



7




1.目的
 本ドキュメントは,ロータリエンコーダボード初版(V94−PART−001,V94−PART−002,V94−CARD−x01)、及び2版(V94−PART−003,V94−PART−004,V94−CARD−x02)の使用法を明確にすることを目的とする。


2.適用範囲
 本ドキュメントは,ロータリエンコーダボード初版(V94−PART−001,V94−PART−002,V94−CARD−x01)、及び2版(V94−PART−003,V94−PART−004,V94−CARD−x02)に対して適用する。


3.取付方法
 1)ロータリエンコーダボードをI/Oボード(VIPC310)に載せる
    ロータリエンコーダボードは、必ず IndustryPack A 側に取り付けます。
 2)センサ類をI/Oボード(VIPC310)に取り付ける
    ロータリエンコーダ、タッチセンサのケーブルはRE−I/Oボード接続ケーブル(V94−PART−009)を用います。ケーブルは、I/OボードのコネクタJA(IndustryPack AのI/O用のコネクタ)に、向きを確認して取り付けます。
    ただし、もしもタッチセンサの取付個数が3個未満である時には、センサの取付けに加えて次の作業を行ってください。
    ロータリ・エンコーダ・ボードに取り付け可能な3つのタッチセンサのうちの、取り付けないタッチセンサに対応するロータリ・エンコーダ・ボード上のジャンパを全てつなぎます。センサとジャンパの対応は、右タッチセンサがジャンパR、中央タッチセンサがジャンパM、左タッチセンサがジャンパLとなっています。図1のロータリエンコーダ・ボードの外観を参考にしてください。

図1 ロータリエンコーダ・ボード外観図
6KB

4.使用方法
 1)はじめに
    ロータリ・エンコーダ・ボードは、CPUリセットの信号で初期化されるように設計されています。初期化の内容は、次のとおりです。

    MIRSの電源投入時には、必ずリセットが行われるので必要に応じて割込み許可を行ってください。

 2)ロータリ・エンコーダのカウント値を読む
    ロータリエンコーダボードの、ソフトウェアビジビリティは次の表1の通りである。

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

   Address

A8A7A6A5A4A3A2A1A0

Read

 /

Write

      DATA

D7 D6 D5 D4 D3 D2 D1 D0

       MEMO

0 x x x x 0 0 0 0 Read 76543210

 右ロータリ・エンコーダカウンタ下位8ビット

一定時間毎読む
0 x x x x 0 0 1 0

Read SF L R M 2111098

 右ロータリ・エンコーダカウンタ上位4ビット

 +スイッチデータ

SF:スイッチフラグ

  (SF=L¥R¥M,active low)

L:左スイッチ(active low)

R:右スイッチ(active low)

M:中央スイッチ(active low)

一定時間毎、スイッチ割込み時に読む

0 x x x x 0 1 0 0 Read 76543210

 左ロータリ・エンコーダカウンタ下位8ビット

一定時間毎読む
0 x x x x 0 1 1 0 Read SF L R M 2111098

 左ロータリ・エンコーダカウンタ上位4ビット

 +スイッチデータ

SF:スイッチフラグ

  (SF=L¥R¥M,active low)

L:左スイッチ(active low)

R:右スイッチ(active low)

M:中央スイッチ(active low)

一定時間毎、スイッチ割込み時に読む

0 x x x x 1 0 0 0 Write (カウンタリセット)

x x x x x x 0 1

    右ロータリ・エンコーダカウンタセット

x x x x x x 1 0

    左ロータリ・エンコーダカウンタセット

x x x x x x 1 1

      左右カウンタ同時リセット;

右カウンタ読み込み後に行う

左カウンタ読み込み後に行う

スタート時に行う

0 x x x x 1 0 1 0 Write (割込みenable)

x x x x x x x 0

          割込み不可

x x x x x x x 1

          割込み許可

リセット後に行う

※ アドレスおよびデータの "x" は、don't care を意味する。

    また、図2に制御フローの例を示す。
    初期設定では、左右のカウンタのリセットと必要に応じて割り込み許可を行う。カウンタを読むときには、下位8ビット、上位4ビット、カウンタリセットの3つを連続して処理すること。
    ロータリ・エンコーダのカウント値を読む間隔は、特に規定しない。ロータリ・エンコーダのカウント値が2047まで(カウンタは12ビットの2の補数表示であり、最上位ビットは符号ビットとして扱われる)であることと、各自が設計したMIRSの最高速度とギヤ比(駆動輪とロータリ・エンコーダの回転数の比、及び両者の回転方向の関係)とを考慮して設定してもらいたい。

図2 制御フロー例
6KB

注意

 ソフトウェアビジビリティを変更する場合は、ロータリ・エンコーダ・ボードの回路の変更が必要になります。アドレスの指定がそのまま出力データの選択に なっているので、変更する場合はエンコーダ用カウンタIC(μPD4701A)の規格とPLDの論理式、アドレスデコードの意味を良く理解した上で回路の 変更を行なってください。
 カウンタは、ロータリ・エンコーダの2相の立ち上がり、立ち下がりのそれぞれについて動作します(図3参照)。

図3 カウント動作
3KB


 3)タッチセンサを動作させる

    タッチセンサを働かせるためには、次のことを行わなければなりません。

  i)タッチセンサを取り付ける
 タッチセンサは3個まで取付け可能です。ただし、取付個数が3個未満の時にはジャンパをつなぐ作業を行ってください(「3.取付方法 2)センサ類をI/Oボード(VIPC310)に取り付ける」 を参照してください)。ジャンパは、タッチセンサを取り付ける代わりにタッチセンサのOFFの状態を強制的に作り出すものなので、タッチセンサを接続したのにジャンパをつないだり、タッチセンサを接続しないところのジャンパをつなげ忘れたりといった事のないように注意してください。

  ii)VMEラックのバックプレーンの設定をする
 割込み信号をMPUボードにつなぐため、VMEラックのバックプレーンの設定を行う。詳細は、VMEbusのマニュアルを参照する事。

  iii)VMEBus InterruptMaskResister の設定をする
 必要な割込みレベルにあわせてInterruptMaskResisterの設定をする。タッチセンサの割込みレベルはレベル4である。設定についての詳細は、 VSBC-1 USERS MANUAL を参照する事。

  iv)割込みVectorを設定する
 割込みVectorは、タッチセンサにより割込みが発生した時に、割込みサイクルへ移動するために必要になります。割込みVectorは、割込みサイクルに移るためのアドレスの下位8ビットになります。
 割込みVectorの設定は、ロータリ・エンコーダ・ボードにあるディップスイッチで行います。ディップスイッチのSW8がアドレスA0,SW7がアドレスA1,以下SW6、SW5、SW4、SW3、SW2、SW1がそれぞれA2,A3,A4,A5,A6,A7の設定となります。また、スイッチON(=make)で論理”0”、スイッチOFF(=break)で論理”1”となります。



'94MIRS V-Project仕様書体系へ戻る