12.GNUnilinkに挑戦 (2/3ページ)

オータニさんの新着ネタで既に紹介されていますが、これは前回バージョンの改良版です。 CDチェンジャユーザ垂涎(?)の バスOUT付きドングル です。

1. はじめに

 先に公開したドングルですが、標準ヘッドユニット(MDX-5V101R)での使用で若干不満があります。

  (不満A):純正のCDチェンジャを使っている人は、CDチェンジャを外すか XA-C30を購入しなればならない。
  (不満B):CDチェンジャとMDチェンジャを同時装着している人(=XA-C30を持っている)は、
        ヘッドユニットのチェンジャ接続数制限のため、どちらかのチェンジャを外さなければならない。

 このうち、(不満B)についてはとりあえず妥協出来るだろうと考えました。(MDならヘッドユニットだけでも聞ける、おそらくユーザ数も少ない、など....しかも対処も難しそう....実はこれがホントの理由か?)
 一方、(不満A)については、より多くの人に期待されているだろうと考えました。 しかも、前回バージョンへの僅かな機能追加で比較的簡単に実現出来そうです。
 ということで今回は "バスOUT機能付きドングル"  に挑戦です。

 で、どうせCDチェンジャユーザを対象にするならと、『7枚目以降問題』(10連装CDチェンジャ装着時、7,8,9,10枚目のCDを選択するためのボタンがない問題)への対応として、"Next Disc機能" も実装してみました。  なお、(不満B)への対処については当面保留です。 (いつになるやら..)


2. バスOUT機能付きドングル

 まず、図解で概要について説明します。
これまでのドングル (<参考>とある下の図) はCD/MDチェンジャのSONYバス側を擬似する、いわゆる "CD/MDチェンジャエミュレータ" でした。
 今回のはこの機能に加えて、上側の図 のように、ドングルの先に CD/MDチェンジャを接続するポート (バスOUT) を追加してみました。 これで、CD/MDチェンジャ(どちらか1つ)とドングルの同時使用が可能になります。
 オーディオ信号については、 ドングルがPlay中のときはリレーをONにしてAUX側に、 一方、ドングルがIdleの時はCDチェンジャ側に繋がるようにしています。
 このバスOUTによって、既にCD/MDチェンジャをお使いの方もチェンジャのSONYバスを犠牲にすることなしにAUX入力を追加することが出来るようになります。

    (<参考>:最近では、CDX-757MXのようにバスOUTをもつCDチェンジャってのもあるようです。)

 この図を見てお気づきの方もいるかと思いますが、今回のドングルは XA-107と非常に良く似ています。
ですが、実は今回のドングル、標準ヘッドユニットで使う場合には XA-107よりも便利です。
 XA-107の場合、標準ヘッドユニットではAUX入力はCDモードとなります。 標準ヘッドユニットではCDチェンジャ2台同時装着できないので、XA-107にはバスOUTのポートがあるのに、ここへCDチャンジャを接続することが出来ませんでした。 (注:MDチェンジャなら同時接続可能です。)

 そこで、今回のドングルでは、AUX側のCD/MDモードをチェンジャと反対のモードとする自動選択機能を設けました。 これによって、

   ●AUX(ドングル)をCDに割付けて、MDチェンジャと同時使用
   ●AUX(ドングル)をMDに割付けて、CDチェンジャと同時使用

といったことが可能になり、標準ヘッドユニットのチェンジャ接続数制限を有効に使うことが出来ます。


3. ハード

 これが今回の新ドングル(プロトタイプ版)です。 大雑把に言うと、基本的に前回基板の左半分をそのまま流用し、切り替えのためのリレーとその駆動用のトランジスタ回路、BusOn_Out、および、入出力のための接続用端子を新たに追加しただけです。


 回路図を以下に示します。 前回のと比べて部品数は大して増えていないのですが、各コネクタとの結線数がグッと増えました。


図をクリックしてください。回路図が見れます。(公開終了しました)


 部品については、一部の抵抗やコンデンサの指定値を前回のより緩くしています。 実は前回バージョンの回路も今回の指定値で全く問題なく動作します。(前回公開時点で単に動作確認してなかった、というだけの理由です。)

 三端子レギュレータについては、低ドロップタイプのものに変更しました。(勿論、前回の部品でも正しく動作します。)
なお、切り替え用リレーについては、一般に入手可能で消費電流の最も小さいものを使っています (オムロンの通販で購入可)。 もしこれ以外のリレーを使う場合はトランジスタのベース側抵抗(22KΩ)の調整が必要ですが、抵抗を小さくしすぎると三端子レギュレータやトランジスタへの負荷が増えますので十分に注意してください。
とりあえず、回路図に書かれている型番のものを使うことをお奨めします。

 
SII製の三端子レギュレータIC(左)と、オムロンの超小型リレー(右)


4. プログラム

 前回からの差分は、

  ●BusOn_Out出力制御機能(リレー制御機能を含む)を追加
  ●ASボタンによるNext Disc機能(いわゆる"7枚目以降問題"対応)を追加
  ●演奏時間のカウントアップ表示(XA-C30なしの場合にも適用.カウントアップもスムース.)
  ●その他バグ修正や小さな機能追加


 です。 詳しい追加/変更内容については、ソースコードに添付のReadmeJP.txtをご覧下さい。(公開終了しました)

 それから、今回のプログラムは前回のハードに対して互換があります。 前回ハードからみれば、バージョンアップ版プログラムという位置付けになります。 XA-C30をお持ちの方はバスOUT機能は必要ありませんので、前回のハードに今回のプログラムを入れれば、今回のドングルと同じ機能が使えるようになります。 (XA-C30にドングルを接続する方法でも、NextDisc機能は動作します。)

 なお、ASボタンによるディスク選択機能の実装は、前回にも増して"MDX-5V101R専用"の色が濃くなっています。 その他のヘッドユニットでは、動作の保証が出来ませんことをご容赦ねがいます。


5. 接続方法・組込み方法

 下図は新ドングルに接続用のケーブルを取り付けたところです。 基板の左上から順にヘッドユニット接続とAUX入力で、基板の右側面がCD/MDチェンジャへ接続されるケーブル、いわゆる "バスOUT" です。
 ヘッドユニットとCDチェンジャへの接続には8ピンのDINコネクタを使います。 ドングル側はヘッドユニット向きがオス、CDチェンジャ向きがメスとなります。


 このドングルを、CDチェンジャと繋がっているケーブルのDINコネクタを外して、その間に接続します。 左下の図の左側のコネクタがCDチェンジャ(DINオス)、一方、右のコネクタがヘッドユニットからの接続ケーブル (DINメス)です。
 ここに先ほどのドングルのケーブルを繋ぎます。 今回はプロトタイプの動作確認用として繋いだため、こんないい加減な格好になっていますが、ショートすると危険なので(12V出てます)筐体に入れることをお奨めします。 右下に垂れ下がっているのが、AUX入力のRCAケーブルです。

    



<組込み>
 組込み方法は前回のと同じです。 イグニッションONで組込みが行なわれます。 ヘッドユニットをONにして、ドングルのLEDが点滅すれば、組込みはOKです。

【参考情報】:万一、不幸にもドングルが認識されなかった場合には、ヘッドユニットの電源をいくら再投入しても画面に何も表示されない、操作上行き詰った状況になることがあります。 そんな時は慌てずに、適当なMDのディスクをヘッドユニットに挿入してみてください。 すると何事も無かったかのように復活します。

【コネクタの結線方法】:接続用のコネクタですが、GOLFのチェンジャケーブルは8ピンDINコネですので、これなら秋葉原辺りで入手できそうです。
 一方SONYバスの場合は、今のところは市販の延長ケーブルを購入して真中から切断するって方法しかありません。(関連:余談3を参照)  そうでなければ、チェンジャのコネクタ部を切り落として直結させるか、です。
 いずれの場合でも、結線方法についてはオータニさんの小技CDチェンジャ編(2/5ページ以降)が参考になります。 ケーブルを作る場合は、是非御一読下さい。

【余談1】:秋葉原の部品屋で買った2つの8ピンDINコネ、よく見るとピンの並びが少し違います。左のは標準の8ピンで円形にピンが並んでいます。 一方、右のは "馬てい" っていうタイプでその名の通り ややU字型に並んでいます。 GOLFのケーブルに付いているのは左のタイプです。
 (私、不覚にも気付かずに買ってしまいました。 無理矢理突っ込めば入るようですが....)

【余談2】:さらに不覚。 私が買ったメスの8ピンDINコネ、CDチェンジャを繋ぐのに適していませんでした。 8ピンと言っていますが、実際には、音声3本、電源2本、バス4本(Clock, Data, BusOn, Reset)の計9本です。 で、不足する1つはというと、コネクタの外周のシールド部分を電源のアースとバスのGNDに使っているのです。 ところが、私が買ったメスの8ピンDINコネにはこの外周の金属部分がなく、プラスチックになっています。 これではCDチェンジャが動きません。 再度、秋葉原に行って外周付きのを探したのですが見つかりませんでした。
 仕方がないので下図のように、すずメッキ線をシールド部分に2箇所ハンダ付けし、これを外周のフチの部分まで延ばして、外周の縁のところで若干外側に折り返すことで、オス側のシールド部分に上手く接触するようにしました。

    
すずメッキ線の代わりに抵抗の足を使っています。抵抗の部分は切り落としています。


【余談3】:Unilink の掲示板に、SONYバスのコネクタを"hosiden"なる会社が製造しているって書き込みがありました。 "ホシデン株式会社"ってとこのようです。 外周付きのメスの8ピンDINコネもここで扱っているようです。 小売してくれるかは未確認です。


【他のヘッドユニットをお使いの方へ】:MDX-5V101Rは通常、ハードリセットの信号を出さないので、私のドングルにはハードリセット入力回路がありません。 (動作については未確認ですが、SONY製のマルチメディアステーションVWZ-8V50/51にもリセットボタンはないようです)  これらは、ソフトウェアリセットだけで組込みを行なっているようです。
 一方、リセットボタンのついているヘッドユニット をお使いの方は、組込みにハードリセット信号を使いますので、Simonのオリジナルのようにハードリセット回路の実装が必要です。


6. 使用方法

(1)AUX入力とディスプレイ表示
 使い方についても前回と同様です。 ヘッドユニットのソース切り替え(CDボタン/MDボタン)を押して、ドングルが擬似っているソースを選択してやれば、ドングルのAUX入力がヘッドユニットへの入力として選択されるようになります。

 ヘッドユニットの表示については、若干変更しました。 前回はソースセレクタ有り/なしで表示が違っていましたが、今回は同じにしました。
ただし依然として、MDモードとCDモードでの違いは残っています。 以下のようになります。

  【MDモードの場合】
   デフォルトではディスプレイへの"<AUX-IN>"表示後に演奏時間表示になります。
   REPEAT(REP)ボタンを押すと"<AUX-IN>"表示で固定になります。 もう一度REPEATを押せば演奏時間表示に戻ります。
    (REPボタンは結果的にDSPLボタンとほぼ同じ意味になってしまいました。)

  【CDモードの場合】
   演奏時間表示になります。 "<AUX-IN>"の表示はありません。
   REPEAT(REP)ボタンを押しても何も変化はありません。

(2)Next Disc機能("7枚目以降問題"対応)
 ヘッドユニット左下のASボタンをCD/MDチェンジャ演奏時のNext Discボタンとなるように割り付けました。 なお、前進のみで後退用ボタンはありません。 クイックに反応しますので、送りたい枚数だけASボタンを押せば希望のディスクに簡単に進むことが出来ます。
  (ところで、"ASボタンってもともと何に使うの?" という方は、取説を参照してください。)


 ASボタン、今まで使ったことない人も...

 【10連装CDをお使いの方へ】: 10連装CDチェンジャをお使いの方は ドングルが認識されたら、CDチェンジャのマガジンを装填しなおしてください。(初回だけでOKです)。  こうするとドングルがマガジンのスロット数を学習します。 これで7,8,9,10枚めのディスクにもNext Discできるようになります。

 (補足:マガジンを装填すると "Magazine Info." というディスク収容数などが含まれた情報がヘッドユニットへ通知されます。 ドングルはこの値のなかのスロット数の情報を参照して、6枚目の次に1枚目に戻るべきか、 10枚目の次に1枚目に戻るべきかを判断しています。 デフォルトを "6" にしているので、6連装チェンジャの場合には必要ありませんが、10連装チェンジャの場合は上記の操作で "10" であると学習させる必要があります。)

【注意事項】
 ヘッドユニット上段のボタンや、"1"〜"6"の番号ボタン等と比べて、下側の左右のボタンは小さめになっています。 運転中のASボタンの操作にはくれぐれも注意してください。


【余談4】:CDとMDとでNextDiscの動作が違う。
 試している最中に気付いたのですが、マガジンのスロットに空きを作った場合のNextDiscの動作がCDとMDとで異なるようです。
CDの場合、NextDiscで指定したスロットにディスクが無いと、その次にディスクがあるところまで進みます。 例えば、6連装チェンジャの6枚目が空きの場合には、5枚目演奏中にASボタンでNextDisc させると1枚目にジャンプするといった具合です。
 一方、MDでは、ジャンプせずに現在の演奏位置のままになります。 MDチェンジャでは、スロットに空きを作ると期待したようにNextDiscが動作してくれませんのでご注意ください。


【余談5】:MDチェンジャのMD/CDモードについて
 このMDチェンジャ、なんとCD/MDの両モードで動きます。 MDのID取得に失敗すると、次にCDのIDを要求してきます。 MDに対応しない古いヘッドユニットでも使えるようにするためだと思われます。  で、今回のドングルがこの動作についてどう対応しているかですが....これについては秘密です。 興味のある方はソースコードを読んで下さい。 (結構苦労してます。)


(超マニアック編につづく....)

(このページは、掲載している方法および結果を保証するものではありません)