ATAPI CD-ROMドライブコントローラ

このページのハードウエアおよびソフトウエアの著作権は放棄していません。また、許可なく商用利用することを禁止します。
もちろん、個人で楽しむことには制限は設けません。


PC用のATAPI CD-ROMドライブをCDプレイヤーとして使用するためのコントローラを作成しました。

巻き戻しの処理のバグを修正、オーディオ以外のトラックがあった場合に曲数が間違って表示されたり異常動作したりするバグの修正 (Version 2.6)
巻き戻しの処理のバグを修正 (Version 2.5)
開いているトレイを押して閉じたときにフリーズすることがあったことの修正、ノリタケ伊勢電子製VFDパネルへの対応 (Version 2.4)
早送り/巻き戻し機能の追加、トレイが開いているときに再生ボタンを押したときにトレイを閉じて再生開始するよう変更(Version 2.3)



PC用のATAPI CD-ROMドライブは安価ですが、アナログ出力、デジタル出力を備えたCDプレイヤーとしての能力を持っています。 ただし、取り出しボタンしか無いものが多く、操作のためにはPCを準備することになりますが、これでは大げさすぎますし、PCの冷却FANの騒音で音楽を聴くどころではありません。 そこで、基本的な操作が可能なコントローラを作成してみました。

当初はユニバーサル基板で作成しましたが、プリント基板にしました。(以前のページ)

操作

押しボタンスイッチを4個搭載していて、左から再生/停止、1曲戻る/巻き戻し、1曲進む/早送り、ディスク取り出しの機能です。 なお、ドライブ前面にある取り出し等のボタンを押すと、動作が保証できません。

LCDパネルには、CDの総曲数、総時間、再生中の曲番、再生時間を表示します。時間は、分/秒/フレーム(1/75秒)と無意味に細かく表示してしまいます。

今回の製作

今回の製作では、制御部分をATMEL社の1チップマイコン AVR AT90S8515 だけで構成してみました。AT90S8515の外付けオシレータは4MHzです。秋月で扱っているAT90S8515は8MHz動作が可能ですが、手持ち部品から適当に選んだら4MHz品だったのでそのまま使っています。

ユニバーサル基板で作成した時に電源投入時にリセット動作が不安定な場合が有ったので、リセット用のICを搭載しました。MITSUMI PST518を使用しましたが、PST600の方がさらに安定するそうです。これらは千石電商で購入できます。

LCDパネルは、秋月で扱っているSUNLIKE SC1602BS-B です。

MUTE_OUT機能は、基板化するにあたり削除しました。通常の使用では不要ですので。

ISP_CONコネクタは、基板にAT90S8515を搭載したままプログラムを書き込む時に使用するためのもので、書き込み済みのAT90S8515を使用する場合には不要です。 書き込みに使用するライタは、秋月のキットまたはChaNさんのライタ製作記事を参考にしてください。



LCDパネルのデータ線とCD-ROMドライブのアドレス線が同一のネットですので、LCDへの配線長が長くなる場合はHC541等のバッファを入れた方が良いでしょう。 タイミング的にはかなり余裕を持っているので、多少長くても動作すると思いますが。 また、CD-ROMとのケーブルは、なるべく短かいものを使用して下さい。

ATA/ATAPIの規格ではダンピング抵抗等が必要ですが、今回の製作ではターゲットデバイスは1台だけの1対1接続であること、アクセスタイミングをソフトウエアで多めに取ることで省略しました。不安な場合は挿入した方が無難かもしれません。

実際に、シャーシに組み込んでみました。ATAPI接続ケーブルは30cm程度、LCDパネルとの接続ケーブルは15cm、外部操作ボタンとのコネクタは15cm程度ですが、問題なく動作しています。



ATAPIコネクタは、上図では右下が1ピンです。

LCDモジュールコネクタは、右上が1ピンです。

電源コネクタは、左が+5V、右がGNDです。

外部操作ボタンコネクタは、上から再生、1曲戻す、1曲進める、取り出し、GNDです。外部にボタンを取り付ける場合は、外部のボタンを押した時にそれぞれをGNDとショートさせるようにします。

ISPコネクタは、左上が1ピンです。ピン配列はChaNさんのライタ製作記事と同じです。



ノリタケ伊勢電子株式会社製VFDパネル (CU16025ECPB-W6J)を入手したので、対応させてみました。+5V、GND、RS、R/W、E、DB4〜7を接続することで使用できます。まだケースには組み込んでいませんが。

回路図

回路図は、EAGLEで作成しました。(プリントアウト用 300dpi) (部品表)

また、プリント基板のパターン図 (片面、600dpi、7.5cm×5.0cm)でプリント基板を作成することも出来ます。

プログラム

プログラムソースライタ用書き込みデータ (version 2.6)です。
(プログラムソースライタ用書き込みデータ (version 2.5)も置いておきます)
ユニバーサル基板の回路図では使用できません。

ATAPIのアクセスは、PIO転送モード0でのみ実施しています。

改善点

version 2.5→2.6

version 2.4→2.5

version 2.3→2.4

version 2.2→2.3

version 2.1→2.2

version 2.0→2.1

version 1.2→2.0

version 1.1→1.2

version 1.0→1.1

このプログラムはかなり汚いため、参考にしない方が良いと思われます(苦笑)。 なお、ATMEL AVR Studio 4でコンパイル可能です。

調整

CD-ROMドライブのマスタ/スレーブジャンパは、マスタに設定します。

接続するCD-ROMドライブによっては、異常な動作をする場合が有るかもしれません。当方での動作確認は、以下となっています。

メーカー機種名確認操作ヘッドホン出力背面アナログ出力デジタル出力備考
松下CR-583-J2.2,2.3,2.4曲選択時にノイズ8倍速CD-ROMドライブ
MAGICODVM-T122.2,2.4曲選択時にノイズ42倍速DVD-ROMドライブ
VICTORXR-RW22442.2曲選択時にノイズ書き込み2倍、読み込み24倍速CD-RWドライブ
ULTIMA ELECTRONICS CORP.ACD-4022.2,2.3,2.4不明40倍速CD-ROMドライブ
松下寿SR-8582-B 2.2曲選択時にノイズ不明2倍速DVD-ROMドライブ
★小川さんからの情報
LGCDR-8400B2.2不明不明不明40倍速CD-ROMドライブ
★小川さんからの情報
ASUSCD-S5202.252倍速CD-ROMドライブ
★まるやま@ぐんまさんからの情報
Top GloryBCD-F5602.2曲選択時にノイズ曲選択時にノイズ48倍速CD-ROMドライブ
★まるやま@ぐんまさんからの情報
MSIMS-85122.2不明不明52倍速CD-ROMドライブ
AOPENCD-956E(A)2.456倍速CD-ROMドライブ
★まるやま@ぐんまさんからの情報
CreativeINFRA52X2.2,2.3××××再生開始後、数秒でハングアップ

参考文献

さいごに

製作費も2000円以下で実現できましたし、小さくまとめられたので満足しています。 プログラムも手直ししたいとは思うのですが、めんどくさいので何時になるやら...

変更履歴