2023年2月25日土曜日

JMMCSCSIアダプターの基板回路解説

 JMMCSCSIとは、TNB製作所のたんぼ氏が開発した、
X68000にてマルチメディアカード(以下MMCと略)を読み書きする為の同人ハードです。

たんぼ氏が作成・公開した接続図を元に作成された物が、
近日頒布予定の「MMCじょい君」です。
JMMCSCSIの接続図に対し、「MMCじょい君」の回路図には各種の補完が追加されています。
ここではその「MMCじょい君」の回路図について解説いたします。

まずは「MMCじょい君」の回路図全体です。



 

 

 

 

 

 

 

 

「JMMCSCSI-ADP」というのは「MMCじょい君」内の基板名です。 

CN1がX68000のジョイステックポートに刺さり、
U1にMMCを挿して使います。
「MMCじょい君」の電源はX68000のジョイステッィクポートから貰います。

 上記回路図にパートの区分けを書き入れたものが これ。









 

赤枠内が電源部、
オレンジ枠内がX68000 -> MMC の信号部、
緑枠内がMMC -> X68000 の信号部です。

ご覧の通り、基本的にはレベル変換回路となっております。
MMCのアクセスにはSPI方式の同期シリアル通信を使いますが、
それは全てソフトウェアにて作成している為、非常にシンプルな回路です。

では次に、各パート毎に解説して参ります。

①電源部







X68000は5Vロジックで動いているユニットに対し、MMCは3.3Vデバイス。
なので、X68000から供給された5Vから、3端子レギュレーターにて3.3Vを生成してます。
入出力差が1.7Vしかない為、ロードロップタイプのレギュレーターが必須です。
もっとも、最近入手可能な3.3V出力のレギュレーターは、ほぼロードロップタイプかと。

出力電流容量についてはMMCの消費電流次第なわけですが、
メーカー間で統一されてはいないので、仕様からの決め打ちは不可能です。
なので、ある程度余裕を見て選定するしかないでしょう。
AP2127は300mAのレギュレーターです。
3.3V × 300mA で、1Wまで出力可能。
MMC1枚くらいなら、これで大丈夫かと思われます。

3端子レギュレーターの両端には4.7μFの積層セラミックコンデンサーが付いてます。
これはレギュレーターの安定動作に必須なので、よく見かけるかと。
必要な容量はレギュレーターにより異なりますが、
AP2127では1μF以上が推奨のようです。
セラミックコンデンサーではDC電圧が加わることで容量が減少するので、
余裕を見て4.7μFを使用しています。

積層セラミックコンデンサーの外側には更に電解コンデンサーも付いてます。
3端子レギュレーター出力側の電解コンデンサーはともかくとして、
入力側の電解コンデンサーC1はX68000からの供給電源変動を吸収してくれるので、
これも必須と言えるでしょう。

なお電解コンデンサーは消耗部品ですので、
定期的な交換が必要と認識されてる方も多いかと。
JMMCSCSI-ADPでは電源用の長寿命品を使用している為、
通常使用している限り、定期交換はほぼ必要無いという認識で大丈夫です。

ぱっと見で、よくわからないと思われるのはFB1かと。
これ、回路記号上はインダクターになっていますが、実際はフェライトビーズです。
直流的にはほとんど抵抗を持たないので、存在しないのと一緒ですが、
高周波信号に対しては抵抗分(正確にはインピーダンス成分)が出てきます。
通常は高周波ノイズ対策として使用するフェライトビーズですが、
非常に安く入手できたので、おまけ的な意味で挿入しておきました。
MMCへのノイズ流入を減らす為ではなく、
MMCから3.3V電源ラインへのノイズを阻止する目的で入れています。
特にMMC挿入時は、結構な突入電流が発生するという話を耳にしています。
FB1が有れば、この影響を少しでも少なくなるかなぁという期待ですが、
FB1だけだとMMCへの供給電圧が不安定になる可能性あるので、
直近に22μFの積層セラミックコンデンサーを付けております。

LED D1は電源部の括りではないのですが、
ジョイステックポートの4番ピンに接続されていて、
X68000側からの操作により点灯/消灯するようになっています。

②X68000 -> MMC 通信部






ここではX68000のジョイスティックポートから出力した信号をMMCへ入力する為の
レベル変換を行っています。
X68000のジョイスティックポートはプルアップ抵抗が付いた8255のポートです。
信号レベルは5VのTTLレベルですが、MMCは3.3Vデバイスですので、
5V信号から3.3V信号への変換が必要というわけです。

このレベル変換を行っているのが東芝のTC7WH17FUです。
これ自体はレベル変換用ICではなく、単なるロジックICです。
このTC7WH17FUには3.3V電源を供給しているので、
MMCに繋がる出力信号は3.3Vレベルとなります。
もろちん3.3V電源の入力部には0.1μFの積層セラミックコンデンサーを
パスコンとして付けてあります。

通常のロジックICですと、3.3V動作の状態で5Vの信号を入力することは出来ません。
しかしTC7WH17FUは入力にトレラント機能を持っているため、
5.5Vまでの信号を入力することが可能です。

TC7WH17FUの入力部はシュミット特性を持っています。
「MMCじょい君」はX68000のジョイスティック端子に直挿しする想定ですので、
信号にノイズが乗ることは少ないと思われますが、
ケーブルを通ってくるような信号の場合はシュミット入力はぜひ欲しいところ。

TC7WH17FUの入力部に付いている10KΩのプルアップ抵抗ですが、
これはレベル変換動作には全く関与しません。
これは信号伝達を安定させる為のものです。
このプルアップ抵抗が無くてもDC的にはX68000内の8255とTC7WH17FUが繋がってる状態です。

しかし今回やりとりするのはSPIの信号、すなわち高速パルス信号です。
そうなると、DC的ではなくAC的にはどうか?という見方が必要になります。

仮にTC7WH17FU入力部のプルアップ抵抗が無かった場合の状態が以下の図。


 

 

 

 

 

 

8255からの出力に応じて流れる電流を書いてるのが緑の線。
15KΩのプルアップ抵抗はX68000内部の物なので、ジョイスティック端子自体には
全く電流が流れていないことが解るかと。

TC7WH17FUに対してはオレンジ色の経路で繋がってはいますが、
電流がほとんど流れずに電圧だけが伝わる、超ハイインピーダンス状態の経路となります。

緑色の経路に対してオレンジ色の経路が極少しであれば実害は少ないのですが、
「MMCじょい君」の場合はオレンジ色の経路の方が圧倒的に長くなります。
これはAC的には非常に不安定な伝送経路となります。
その為、高速パルス信号がきちんと伝わる保証がありません。

ではTC7WH17FU入力部のプルアップ抵抗がある場合は・・・・・・







 

電流経路はここまで延びます。
オレンジ色の経路が全く無くなる訳ではありませんが、
基板上のパターンを短く設計することで、ほぼ問題無いレベルに抑えられます。
これならば高速パルス信号も問題無く伝わります。

 

次にTC7WH17FUの出力側についてです。

出力側にも47KΩのプルアップ抵抗が存在します。
これはMMC側からプルアップ抵抗の挿入を要望されている模様だからです。
(明言口調ではないのは規格書等で明示されてるわけではないからです)
入力側のプルアップ抵抗ほど信号伝達上は重要ではないものの、
TC7WH17FUがC-MOSデバイスである点と、
MMCを抜いた状態では経路がオープン状態になってしまう点とを考慮すると、
静電気対策の観点からもプルアップしておくべきでしょう。

TC7WH17FUとMMC間に22Ωの抵抗が挿入されています。
これは所謂ダンピング抵抗と呼ばれるものです。
これの必要性は・・・・・・・無いです(笑)

正確にはTC7WH17FUだと必要無いという話なのです。
実はJMMCSCSI-ADPでは部品の入手性を考慮し、他の部品も載せられる様になっています。
TC7WH17FUが入手できなかった場合、SN74LVC3G17も載せられることになっています。
ただこのSN74LVC3G17はTC7WH17と比べて、高速動作かつ出力段が強力という代物。
その為、オーバーシュート・アンダーシュートが発生する可能性が十分あります。
するとこれを抑える為にダンピング抵抗が必要になる、という話でした。

TC7WH17FUであればダンピング抵抗無しでも大丈夫だと思うので、
22Ωと言わず0Ωでも良いくらいなのですが、0Ωよりも22Ωの方が安かったので、
そちらにしたという経緯。
ですのでこの値に深い意味はありません。(笑)


③MMC -> X68000 通信部


 

 

 

 

 

ここはMMCからの信号をX68000へ送る為の回路です。 

先に述べたように、MMCから出てくる信号は3.3Vレベルなので、
X68000用の5Vレベルの信号に変換してやらなければなりません。

そのレベル変換を行うのが東芝のTC7SET17FUです。
この石も中身は単なるロジックICです。
電源には5Vを供給しているので、出力信号は5Vレベルになります。
(5V電源の入力部には0.1μF積層セラミックコンデンサーのパスコン付き。)

5V動作のロジックICに3.3Vレベルの信号を入力すると、
入力電圧レベルが規定値に足りず正常動作する保証がありません。
しかしTC7SET17FUは入力レベルがTTLレベルという石ですので、
3.3Vレベルの信号を問題無く受ける事ができます。

なおこのTC7SET17FUもシュミット入力になっています。

TC7SET17FUの前後に有るプルアップ抵抗は、②の回路の際と同意義です。
安定通信には欠かせません。

実はこの回路、非常に 厄介な点が存在することにお気づきかと思います。
X68000内部で、8255の入力部にプルアップ抵抗がありません。
というのも、この端子はシャープが出力用と想定して設計したからなのです。
入力用であればプルアップ抵抗は必須ですが、出力用であれば無くてもOKです。

SPI通信を行うに当たり、ジョイスティック端子に送受信を同時に割り当てるには
この端子を受信に使うしかないので、この形になってしまった次第。

ということで、TC7SET17FUから10KΩのプルアップ抵抗までは安定していますが、
その先の8255まではハイインピーダンス信号線になってしまうため、
安定して高速通信を行うのは難が有るかもしれません。
ジョイスティックコネクターの接触抵抗ですら、敏感に反映されてしまうでしょう。

0 件のコメント:

コメントを投稿