Friio と言う非常に面白いデバイスが輸入され始めました。地デジのチューナーユニットからTSをUSBに載せてしまうようです。それを復号化して視聴するわけですが、昨今喧しいコピー10とかをすっ飛ばしてしまいます。これとは別に一部のマニアの間で、同様な信号抜きが行われています。「TS抜き」と呼ばれています。今回は YDBC-30(a.k.a Uniden DT300, YAGI DTC110)を改造して、この TS 抜きをやってみます。他のチューナーを改造するときの参考にもなると思います。
ここでご紹介するのはハックです。ハックに目的などあるわけでもなく、ただ楽しいからやるわけです。そうは言っても色々な人と情報を共有できたほうが楽しいし、新しいアイデアやインスピレーションも出ると思いますので、ハックの過程を公開したいと思います。最終的にはハードディスクレコーダみたいになったらいいなと思います。
デジカメの最大の功績はこの分解過程をもらさずにイメージ化できることです。皆さんも分解の際はデジカメで撮りながら、ひとつひとつ分解していくと良いと思います。いい写真が撮れたら、ここに掲載してください。
まずは底部のねじを四箇所を外します。
これで、ふたが開きます。
フラットケーブルを外します。少し力が要りますがケーブルの両端を持って静かに引き抜きます。
端子盤のねじを外します。タッピングスクリューが5個とチューナユニットの普通のねじがあります。
フロントパネルを固定しているねじを3箇所を外します。
全部バラスとこんな感じになります。これで改造ポイントであるチューナカードにアクセス出来る様になりました。
ヤフオクで改造済みを高い金を出して買うのも面白くないので、この際だから自分でやってみましょう。道具を揃えるのに多少、コストがかかりますけど、この手のスキルは結構、ゲーム機の改造とかに使い回しが利きますので身に付けておいて損は無いと思います。取り付けのコツは、ハンダ付けの練習を十分に行うこと、完成品を頭の中でイメージすること、完成に至るまでの過程を何度もイメージすることです。
ハンダジャンパ SJ1 がショートしていることを確認してください。ここをショートしておかないと、USBから給電されなくなり外部電源が必要になります。チューナー組込み時には、チューナーから給電するのでオープンにしておきます。
あらかじめ、カメレオンFX2(以下、カメFX2)のCPLDに cap_sts のロジックを書き込んでおきます。これを忘れると動作しないので、注意してください。書き込み方法はこちらを参照してください。書き込むロジックは cap_sts.svf で、cap_sts.lzh に同梱されているロジックになります。
ハンダ付けを含めた電子工作の経験があまり無い人はこちらを参考にしてください。
TS抜きを行うためにチューナと接続するためにはカメFX2に少し手を加える必要があります。
カメUSBFX2には簡単な回路の増設ができるフリースペースが設けられています。いくつかの端子はレベルコンバータに接続されていますので、この接続を利用します。
BCAS 信号は 5V レベルの信号です。一方、CPLD周りは 3.3V レベルの信号なので、レベルコンバートする必要があります。
メンテがしやすい様にフリースペースにコネクタを取り付けます。このコネクタにCPLDの端子から線を引き出し、ハンダ付けしていきます。
チューナーからの5VをカメFX2の内部のレギュレータで3.3V にします。
SJ1 のハンダジャンパのハンダをハンダ吸い取り線で、吸い上げてオープン状態にします。
これを忘れるとチューナーから給電される電圧と USB から給電される電圧が衝突し、基板を壊す危険性があります。十分に注意してください。
1/4w 〜 1/8w 33-50Ω x 5個
抵抗の足を切ったもの
写真を参考にして、チューナーモジュールの直近に取り付けます。
セロテープなどで仮止めして行うと簡単です。
あまった抵抗の足を切って、GND線から引き出します。
基板の縁から取り出した、抵抗の反対側のリード線とGNDのリード線と基板を接続します。コネクタはこの4本のリード線でのみ支えているので、後に述べる接続ケーブルは大きな力がかからないように注意して取り付けてください。
B-CAS は基板の端子に抵抗を介して、線を引き出しコネクタの端子にハンダ付けします。IR信号はコネクタ端子に直結します。
テスタで導通確認を行います。
カメFX2基板とチューナ基板を接続するために使います。延長ケーブルと同等になります。
♂x8列、♀x8列
接続に必要な長さ(約7cm)、8極
フラットケーブルの両端の被覆をワイヤストリップで取り除いた上で、ピンヘッダをそれぞれにハンダ付けします。
USB ミニ B コネクタとUSB 標準 A コネクタを接続するためのアダプタを製作します。
基板実装タイプ
モデム端子のコネクタのハウジングにアダプタを固定するために使います。1cmx1cm 程度あれば十分です。
USB ミニ B コネクタの端子と基板のパターンが導通させなくするために使います。セロテープでも可です。
USB ミニ B コネクタを先に基板に実装してからのハンダ付けを行うのは、狭いところにコテを当てなければいけなくなり、難易度が増します。そこで、予めコネクタに 3cm 程度の長さのポリウレタン線をハンダ付けしておきます。
USB ミニ B コネクタが基板に触れるところに、ポリイミドテープを貼ります。今回はここに直接、熱が加わるわけではないのでセロテープなどでも大丈夫です。いずれにしても、コネクタの端子が基板のパターンで導通しないようにしておく必要があります。
USB ミニ B コネクタにハンダ付けした線を基板の裏側に通します。あまり、力をかけ過ぎると取れてしまうので慎重に行います。
USB ミニ B コネクタの四隅の端子をハンダ付けします。これである程度の剛性が確保出来る様になります。
USB 標準 A コネクタを USB ミニ B コネクタとなるべく近くに対向させる様に取り付けます。端子のピッチが微妙に 1.27 mm で無いので、注意して取り付けます。
USB ミニ B コネクタの各端子にハンダ付けされたポリウレタン線をUSB 標準 A コネクタの端子を同じ番号同士で接続します。配線は極力、短く行います。
カメFX2 の基板は、ロジック基板と共締めにします。そのままでは締められないので、15mmのカラーを介して締めます。ロジック基板の取り付けのタッピングスクリューは M2.6mm ですが、この径で首下25mmのモノは見つからなかったので、M3 のものを使っています。
M3 首下25mm
樹脂製 15mm
配線を抑えるために使います。
カメFX2の基板はカラーを介して、M3のタッピングスクリューで固定します。チューナ基板と電源基板を接続しているフラットケーブルが USBコネクタと干渉するので、L字金具で抑えます。L字金具もカメFX2基板と同様にカラーを介して、M3のタッピングスクリューで固定します。
基板にコネクタを付けると、ケースに作り付けのスペーサと干渉するので削り取ります。
USBのコネクタを取り付けるために穴を開けます。今回の穴位置は電話回線への接続端子(モデム端子)の上にしました。モデム端子を実際に使うことはあまり無いと思いますし、一部の人たちはこの端子を撤去して Bコネクタを増設していますが、極力リソースを使いたいのでこのカタチにしました。
2mm のピンバイスで台形を逆にしたようなカタチで四隅に穴を開けます。穴位置は基板の取り付け位置やスポンジ付き両面テープの厚さによるので、現物合わせで行ったほうが良いでしょう。それぞれの穴の外周を結ぶようにカッターで樹脂を切り取ります。このチューナの樹脂は柔らかいので、あまり力を入れずに筋を何度も入れるようにするときれいに切れます。その後に必要に応じて、ヤスリで仕上げます。
USBを使ってTSのデータを抜くわけですが、USBデバイスとして、オプティマイズより発売されているカメFX2を使います。このデバイスは FX2 + MAX2(CPLD) の構成になっていて、プログラマブルなので自分でプログラムを組むことが可能です。逆に言えばプログラムを組まない限り何も出来ないことになります。下記の基本的な動作を押さえておけば、機種が変わっても応用できると思います。
今回のファームウェアでのキモはデータ転送になります。この部分は非常に重要で後に続く、ホストソフトウェアの作りやすさとシステムの性能にも大きく影響を及ぼします。
TSのデータ出力の形式として大きく分けて、シリアルとパラレルがあります。YDBC-30 のデータ形式はシリアルですので、これを変換する必要があります。FX2の8051プロセッサでは非力なので、変換作業は出来ません。このパラレル→シリアル変換を行うのが、CPLDのロジックになります。
カメFX2 は外部からは FIFO メモリのように見えます。つまり、外部からデータをどんどん書き込んでいって、それをUSBを介してPCへ送り込むわけです。
チューナーの選局方法としてI2Cなども知られていますが、ここではより簡便にリモコンを使います。
家電機器の制御に用いられるリモコン信号は通常は38KHzで変調された赤外線のOn/Offパターンで構成されています。本体の受光素子に送るわけではないので、リモコンの擬似的な信号受光素子の出力端子とワイアード・オアにして送り込んでチャンネルを切り替えるようにします。
受光素子を使ってオシロスコープで観察出来ます。
コードそのものは後述するホストソフトウェアに持たせて、ホストソフトウェアから送られてきたコードを生成する部分、つまりI/OポートをOn/Offする部分だけを記述します。
B-CAS のカードリーダを購入する事例が多いですが、自作のファームでしたらソフト部分だけでなく、ハード部分も自由に拡張することが出来ます。
ファームウェアの作成方法については、ここを参考にしてください。自分でファームウェアの拡張や改造をする際に必要になります。
鋭意開発中
掲載させてもらえるソフトウェアを募集しています。
ここでダウンロードできる b25 は上記の B-CAS カードの読み取りに対応したものです。
主な改造ポイントは
入力したファイル名から、bcsファイルのパラメータを b_cas_card.c の追加部分に渡す
まるも氏の Ver.0.1.5 ベース
arib_std_b25-0.1.5.lzh
cap_sts_2008_02_29.lzh(by デジ太郎)
Keilコンパイラによるファームウェア、CPLD のロジックなども同梱されています。
cap_sts_2008_02_29_by_TeamKNOx.lzh(by TeamKNOx)
3分制限行っている範囲をコメントアウトし、VS2008 環境にてビルド。その他は実験版と同じ。
ChameFX2Cap(by TeamKNOx)
ハードの準備が終わったら、早速使ってみます。
今回は カメFX2に特化した cap_sts を使います。本格的に使いたい人は実用版をどうぞ。
TS 抜きの最大の功労者と言ってもいいソフトだと思います。本ページからダウンロードしてください。
好みで選びます。VLC か GOM Player がおすすめです。
cap_sts.exe を予め path を通しておきます。
cap_sts.exe の詳しい使い方は cap_sts を引数なしでそのまま実行すると表示されます。実行に際して忘れてはいけないのが、必ず b オプションを付けることです。これで解除に必要な B-CAS データを得ることができます。
カメFX2で読み出した B-CAS のファイル名は TS_FILE.bcs となります。TS_FILE.ts と同じディレクトリに置きます。
2-3 で生成した OUTPUT_FILE.mpg を好みのプレイヤーで再生します。
基本的に個人や家庭で楽しむだけにしてください。こういう改造品をオークションで売ったり、商売している人がいますけど、なんかさもしいと言うか、かっこ悪いです。ランチ一回でハンダ付けするなんてのは、エンジニアがいる職場では良く見かけますけど、オクで売ることに比べたらかわいいもんですね。
こちらも盛り上げてください。何か情報とか実験とか今までのスレの流れのまとめを追記していってくれたらうれしいです。
質問などはメールで寄越さないように。おれはあなたのサポート係じゃないんで。
様々な OS への対応ソフトの開発、メンテナーを募集しています。みんなで色々と研究しましょう。
下記の方に感謝します。(敬称略・順不同)
機材提供
コード提供
B25 コード公開
各種ノウハウ