WALKMANのドックについて考察
連投ですがどうもれのです。
ちなみに今日は試験一週間前の土曜日。レポートも勉強も全く手がついておりません。
どうにか搭載されてるドック(wm-portっていうやつですね)を利用した機器が作れないだろうか。世には出回っているわけだし。
ということでしばらく調べてみたところ、どうやらwm-portの詳細が公開されているようです。
以下コピペです。ソースは省略させていただきますが、「wm-port 自作」と調べれば似たような情報にたどり着くかと。
------------------------------------------------------
WM-PORTの規格
ウォークマン本体を裏返してWM-PORTをのぞき込むと
端子が見え、長いものと短いものがある。
右側を1番ピンとする。
#pin-NO:Long/Short: description
01: L: GND
02:S :
03:S : USB data +
04:S : USB data -
05: L: USB GND
06: L:
07: L: Vin(5V)
08:S : RxD/Wake (control-signal-input)
09:S : check Cradle
10:S : TxD/Sleep (control-signal-output)
11:S : check USB
12: L: battery-output
13:S : audio-left-input
14:S : audio-left-output
15: L: audio-GND
16:S : audio-right-input
17:S : audio-right-output
18: L: (video) GND
19:S : (vidoe-in/out)
20:S : check DC-input
21:S : (digital_out)
22: L: GND
------------
08pin--10pin 直結でクレードルの接続を判断
09pin--Rc--GND の抵抗Rc により種類を判別
Rc 録音 ラインアウト
∞ × × <BCR-NWS700,USB-cable>
220kΩ ○ × <WMC-NWR1>
100kΩ ○ ○可変
68kΩ ○ ×
47kΩ × ○固定
33kΩ × ○可変
22kΩ ○ ○固定 <SRS-NWZ10>
15kΩ ○ ○可変
10kΩ × ○可変 <WS-12L(サン電子)>
4.7kΩ × ○固定 <DCC-NWC1>
・「可変」はラインアウト出力を操作可能。
・「固定」は上記「可変」のMAX(30)で出力固定。ポートをはずすと元のボリュームでヘッドホン出力に戻る。
・「可変」のときBEEPあり(ON設定時のみ)
DC電源接続時 : 07pinと20pin に 5V
USB 接続時 : 07pinと11pin に 5V
外部からの制御
08pin(RxD),10pin(TxD)によるシリアル通信
◆信号規格
Speed: 9600bps
Start: 1 bit
Data : 8 bit
Parity: Even
Stop : 1bit
Level: Hi=2.8V / Low=0V
◆制御の流れ
Rx(08): Hi
↓
Tx(10): 0xC0 出力
↓
Rx(08): 0x40 確認
↓
Rx(08): 0x30〜0x3Cを受け付ける
◆動作
0x30 : Play
0x31 : Pause
0x32 : Pause
0x33 : Play/Pause
0x34 : Next
0x35 : Prev
0x36 : begin-FF
0x37 : begin-REV
0x38 : end-FF/REW
0x39 : DIR+
0x3A : DIR-
0x3B : Vol+
0x3C : Vol-
------------------------------------------------------
これを見る限り、ポートからオーディオ出力が取れそうです。調べるとLINEOUTとして扱えるみたいですね。実際どうなのかは知りませんけど。
また、どうせなら録音機能も使いたいところ。コネクタと3.5mmジャックをセットにして、スイッチでin/out切り替えるとか。
あとは、気になるのが外部制御。
シリアル通信ならarduinoあたりでぱぱっと書けそうです。arduinoのシリアル通信には本来パリティチェックがありません。ただ、一応正式なやり方かどうかはわかりませんが、arduinoの内部レジスタをいじれば偶数パリティの設定ができる様子。
スタート、ストップ、データ長はデフォルトでマッチしてますし、通信速度もarduinoで設定可能な値です。シリアル通信のレベルシフターが必要になりますが(arduinoは5Vで行うのに対してwm-portの規格は2.8V。)そんなに難しいプログラムにはならなさそう…
イメージしているのは、wm-portのコネクタに、3.5mmジャックを2個つけて、片側をオーディオ用、片側を外部制御信号用として使う感じのもの。そうすればこのデバイス自体からケーブルが一本も出ることはありません。
(もちろん、無線通信でのリモコン化も捨て難いですが流石にハードルが高いのでそれは追ってでいいでしょう。)
問題はジャックの混同ですね…間違えて制御信号ジャックにアンプからのオーディオ信号をぶち込んだりしたら…WALKMANがご臨時になる可能性が…
3極で小型のジャックが他にあればそれを使うのですけど。
それともmicroUSBあたりを乗っけるか??
以上、ちょっと興味が出てきているwm-portについてでした。
最後に、参考になりそうなページを幾つか貼っておきます。
(実際に作ってみた方のページ。コネクタまでバラして作っています。)
(作例その2。この、赤いケーブルのものの脇にある物が僕のイメージに近いです。ちなみにこのサイトの方が使っているポートのキットは現在販売元で在庫切れとなっています。)
(既製品を、ボリューム固定化する改造法を公開しています。)