小ネタ 2005-017

PSPとPCを接続するシリアル通信アダプタの製作

PSPのリモコンポートを使って、PSPとPCを接続するシリアル通信アダプタを製作してみたところ、うまく動く物を作製できた。

1. PSPとPCとを接続するアダプタのハードウェア

 回路図は、PSPのリモコン解析で出ていた回路をもとにして3箇所ほど変更して作製した。
 変更点は、
 ・MAXIM社のMAX3232というICが入手できなかったので、SIPEX社のSP3232で代用した。
 ・SP3232が2.5Vで動作しなかったので、乾電池の3V電源を接続した。
 ・PSPの電源の検出用のCTS信号の配線を省略した。


作製したハードウェアの写真



2. 通信用のソフトウェア

 PSP側のソフトは、Luaという言語のサンプルコードを変更して作製した。
 PC側のソフトは、普通のターミナルソフトを改造して送信時のウェイトを入れるようにして作製した。

 [ PSP側のソフト,Luaのスクリプト (download) ]
 [ PC側のソフト (download) ]


作製したソフトの動作画面


- 問題点 -

 PCからPSPへの通信をPSPが取りこぼす問題のため、とりあえず送信側の送信処理にウェイトを入れて対策している。

 取りこぼすのは、Lua内部でのシリアル受信処理の問題らしい。I/Oストリームのデバイス処理をPSPに登録し、その内部でシリアルの1バイト受信と1バイト送信が実装されているのだが、その処理は単純にI/Oポートへの1バイト読み書きであり、割り込みを使った受信でないのが原因っぽい。

 このため汎用のシリアル機器だったらなんでもPSPに接続可能というわけではない状態である。さもなければこのアダプタでGPSとかシリアルマウスとかを接続できたのに。
 ちなみに、PSPにGPSを接続したという事例では、中間にワンチップマイコンを入れて処理させているようだ。


つづく