現在地

NEC uPD4701AC


テーマ:

カテゴリー:

今回のもちょっと変わったLSIになります。

uPD4701AC
NECのμPD4701AC、データシートによると「インクリメンタル方式エンコーダ用カウンタ」となっています。

2相(90°位相のずれたA,B)をX,Yの2軸分入力してそれぞれ12ビットのカウントができます。2相あるので回転方向の検出も当然できます。それ以外に接点3つの入力が可能になっています。

読み出しは8ビットのCPUバスに直結可能で、X/Y, U/Lにアドレスを入力することで2軸の上下バイトを読むことができます。スイッチの状態は上位バイトと一緒になっています。
CPUからは読み出し専用なのでRD, WRにあたる信号はなく、CSを"L"にするだけで出力されます。

ところでμPD71054のところで書いたように、カウンタを複数回に分けて読み出す場合は読み出し中にカウントしてしまった場合の対策が必要になってきます。このμPD4701Aではどうなっているのでしょう?
すると何とCSの立下りでラッチするとのこと、読み出し中はCSを"L"のままにしなければいけないそうです。その間D0D7はドライブされたままになるのでバスに直結できないではないですか。使いにくそうなデバイスです。

さて、2軸のエンコーダに接点入力ということはマウスやトラックボールを意識しているはずです。データシートでも言及されていますし、接点入力の端子名称がRIGHT, LEFT, MIDDLEとなっていることからも明らかです。

それにしてはDIP(SOPもあります)というサイズやCPUバス接続というのが腑に落ちないと思われるかもしれません。

今マウスというとカウンタなどはマウス内にあってホストとは何らかのシリアル通信で接続されています。もしこれを使うとすると他に何らかのマイコンを付けなくてはなりません。

実は初期のマウスにはコントローラを持っていないものがありました。エンコーダ出力がそのまま(バッファくらいは入っていたでしょうが)ケーブルに接続されていました。そしてホスト側のマウスI/Fボード上にカウンタなどが載っていてCPUバスに接続されていました。

PC-9801用のマウスPC-9871なんかがこの方式でした。機能的にはピッタリで同じNECですが残念ながらこのμPD4701Aは使用されていません。

第一にPC-9871の方が先に登場しています。そして当時はデバイスに直接アクセスすることもあったので互換性を考えてそのままにしたのだと思います。
参考文献・関連図書: 
uPD4701Aデータシート, NEC.
アスキー出版局テクライト編(1990)『新版 PC-9800シリーズ テクニカルデータブック』アスキー.

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。