FM TOWNSワイヤレスコマンダー
- 公開日: 2022/11/03
- 更新日: 2022/11/03
概要
1995年春にFM TOWNS用として発売された赤外線通信ユニット。型番はFMT-RCT1。形状はピラミッド形状であり、上2/3が黒、下が白である。同時期に登場したTownsシステムソフトウェアV2.1L50及びPegasus[1] にてサポートされている。TOWNSではコントローラポート1(通常はTownsパッドを指す側)に接続した上で使用する。
用途としては、リモコン代わりに各種家電を操作したり(学習リモコンとして使用できる他、代表的なメーカーのリモコンデータがプリセットデータとしてROMに記憶されている)、電子手帳などと連携させることが可能である。
また、TOWNS版Linuxでもサポートされている。
仕様
以下の内容はTOWNS版Linuxのソースコードから類推したものである。私自身の不理解により間違っている可能性もあることを留意されたい。ピンアウトは以下の通りである。
pin# |
Function |
---|---|
1 |
Status |
2 |
Status |
3 |
Status |
4 |
Status |
5 |
VCC |
6 |
Strobe(OUT) |
7 |
Data(IN/OUT) |
8 |
Command Signal(OUT) |
9 |
GND |
制御方法
データの送受信はピン6〜8を使用し、8ビット単位で行う。送信の場合は以下の通りとなる。
送信する8ビットデータのパリティを計算する
ピン6をH、ピン7、8をLにする
ピン4がHになるまで待機
ピン6、8にL、ピン7にデータ(H=1、L=0)を出力し、6マイクロ秒待機
↑からピン6をHに変えて出力し、6マイクロ秒待機
4.〜5.を7回繰り返し、計8ビットのデータを送信する(先に送信したビットが下位ビット)
ピン6、7にH、ピン8にLを出力する。
ピン2がHとなるまで待機
ワイヤレスコマンダーが受信したデータのパリティ(H=1、L=0)がピン3から出力されるので、1.で計算したパリティと比較し、一致していれば送信OK
ピン4がHとなっていることを確認
受信の場合は以下の通りである。
ピン1がHとなるまで待機
ピン6、8にL、ピン7にHを出力
ピン7を読み出す(H=1、L=0)
ピン6、7にH、ピン8にLを出力する
2.〜4.を7回繰り返し、計8ビットのデータを得る(先に受信したビットが下位ビット)
ピン2がHとなるまで待機
ワイヤレスコマンダーから送信したデータのパリティ(H=1、L=0)がピン3から出力されるので、5.で得たデータのパリティと比較し、一致していれば受信OK
ピン6をH、ピン7、8をLにし、ピン2がLになるまで待機
ピン6、7にH、ピン8にLを出力する
ワイヤレスコマンダーはインテリジェンスな装置であり、コマンド送信→必要な回数パラメータ送信またはデータ受信を行う→処理の終了をワイヤレスコマンダーに伝える、という手順を取る。
コマンド送信の手続は以下の通り。
ピン6〜8をすべてHにし、50ミリ秒待機
ピン6、7をH、ピン8をLにし、1ミリ秒待機
ピン6〜8をすべてHにし、1ミリ秒待機
ピン6、7をH、ピン8をLにし、300マイクロ秒待機
ピン6〜8をすべてHにし、300マイクロ秒待機
ピン6、7をH、ピン8をLにし、100マイクロ秒待機
ピン1〜4がすべてLであることを確認する
300マイクロ秒待機
ピン6〜8をすべてHにし、100マイクロ秒待機
ピン1〜4がすべてHであることを確認する
300マイクロ秒待機
ピン6、7をH、ピン8をLにし、100マイクロ秒待機
ピン1〜4がすべてLであることを確認する
300マイクロ秒待機
上記の手順で8ビットのコマンドを送信する
パラメータの送信の手続は以下の通り。
ピン1、2がL、ピン4、7がHとなるまで待機
上記の手順で8ビットのパラメータを送信する
処理の終了手続は以下の通り。
ピン6〜8を全てHにする
ピン3がLになるまで待機
主なコマンド
バッテリー状態とROMバージョンの取得
コマンド0x33を送信
データを1回(8ビット)受信
処理終了手続
得られたデータがバッテリー状態とROMバージョンを示す値となる(仕様不明)。
プリセットされた赤外線信号をワイヤレスコマンダーから出力させる
コマンド0x62を送信
パラメータ0x01を送信
リモコンタイプパラメータを送信
ボタンタイプパラメータを送信
処理終了手続
リモコンタイプパラメータは上位4ビットが会社コード、下位4ビットが機器コードである。会社コード及び機器コードを以下に示す。
会社 |
コード |
---|---|
ビクター |
0x0 |
三洋電機 |
0x1 |
シャープ |
0x2 |
富士通 |
0x3 |
ソニー |
0x4 |
東芝 |
0x5 |
NEC |
0x6 |
日立 |
0x7 |
松下 |
0x8 |
三菱電機 |
0x9 |
機器 |
コード |
---|---|
TV1 |
0x0 |
TV2 |
0x1 |
TV3 |
0x2 |
VTR1 |
0x8 |
VTR1 |
0x9 |
VTR2 |
0xA |
VTR3 |
0xB |
ボタンタイプパラメータは以下の通り。
ボタン |
コード |
---|---|
TV電源 |
0x00 |
TVチャンネルUP |
0x01 |
TVチャンネルDOWN |
0x02 |
TV音量UP |
0x03 |
TV音量DOWN |
0x04 |
TVライン |
0x05 |
VTR電源 |
0x10 |
VTR巻き戻し |
0x11 |
VTR再生 |
0x12 |
VTR早送り |
0x13 |
VTR録画 |
0x14 |
VTRストップ |
0x15 |
VTRポーズ |
0x16 |
VTRチャンネルUP |
0x17 |
VTRチャンネルDOWN |
0x18 |
VTRライン |
0x19 |
学習リモコンデータの受信
コマンド0x19を送信
ピン1がLとなる状態が650ミリ秒続くまで(受信の1.)、データ受信を繰り返す
処理終了手続
学習リモコンデータの送信
コマンド0x29を送信
必要な回数パラメータ(リモコンデータ)を送信する
処理終了手続