2010年06月27日 PS2の勉強
_ PS2モニタ
液晶の表示に成功したので、これを何かに生かしたい。AVRでいくつかやってみたいことはあるのだが、とりあえずは、PS2のモニタを作ろうと思う。
PS2のマウスのプロトコルは昔勉強したことがあるのだが、復習していると新たな発見がいくつかあった。スクロールボタンや5ボタンの扱い方を知らなかったが、これはモードを切り替えると良いらしい。さらに深く理解するために、PCとマウスとの間で、実際にどのようなデータがどのような頻度でやりとりされているのかを観察できるようにPS2モニタがあれば、便利である。
PCからのデータもマウスからのデータも同じdataとclockのラインを使って送られる。PCやマウス自身は、自分が送っていない信号は相手から出たものだと分かるが、第三者から見ると、どちらから出た信号なのかが分かりにくい。さらに、PCからの信号に関しては、マウスは受け取ったという返事をするので、第三者から見て1bit多くなる。途中でデータ転送を中段した場合なども考え出すとどんどん難しくなる。
クロックがlowになったときにdataを見て、highならばPCからのデータで11クロック、lowならばマウスからのデータで12クロック分読み込むようにすれば、途中で中段されない限り、データのやりとりを見ることができるだろう。気をつけないといけないのは、PCからのデータはクロックの立ち上がりで読んで、マウスからのデータは立ち下がりで読むということだ。
これを実現するには、クロックで割り込みをかけると良いだろう。以前はint0を使ったが、今後の拡張も考えるとpcintを使いたい。そうすれば、原理的には同時にいくつものPCやマウスと通信できるはずだ。
さて、大体の構想はまとまったのだが、これを実際に試すのはいつになるのだろう。