PC-9821ソケット7搭載機における「VRM」

Copyright 2021 まりも

※この記事は1997年頃に存在したパソコン通信フォーラムのために書かれた記事に加筆・再構成したものです。

■ VRMソケットのあるPC-9821 Mate-X

 最終筐体デスクトップ機PC-9821Xa**/W** 、タワー型のXv**/W** (以降 「/W型番機」と総称する)およびタワー型のXt13,Xt16では、CPUコア電源を作るための回路がマザーボード上のモジュールとして独立しています。このモジュールはVRM(ボルテージレギュレータモジュール)と呼ばれており、一応の規格があります。なおソケット8時代からはVRM 8.xxという規格であり、本稿のソケット7マザーボード用VRMとは完全に別ものですのでご注意ください。

 適切なVRMを使えば、いわゆるCPU電圧変換下駄を用いずに、ソケット7にCPUを直挿しで使用できます。しかし規格上曖昧な点があったり、実際に販売されたVRMでの実装の違いがあります。情報が少なくなった2021年のいま、何も考えずに載せてしまうと、VRMを燃やす、マザーボードを壊すなどの重大事故に繋がりますので、ネット上の情報記憶をリフレッシュする意味で筆を執ることにしました。

■ VRMのpin out 定義と Vcore Vio

ソケット7時代の標準的なVRMのピンアサインは次の図のようになっています。

Pin

A列

B列

1

GND GND

2

GND GND

3

ND Vio

4

Vio Vio

5

+3.3V +3.3V

6

+3.3V +3.3V

7

Vcore Vcore

8

Vcore Vcore

9

GND Vcore

10

Vcore Vcore

11

PWRGOOD UPVRTM#

12

SENSE DISABLE

13

GND GND

14

+5V +5V

15

+5V +5V

 ここでまず理解しておくことは、ソケット5〜7のCPUには、Vcore電源と、Vio電源とがあり、CPUによって異なるという点です。ほとんどのClassic Pentiumでは両者は同一かつCPU内で導通ですが、MMX P55CやAMD K6やそれ以降の大部分のCPUでは両電源がCPU内で絶縁かつ別物となっています。

 Classic Pentium を前提に(MMX以降のCPUがない時期に)設計されたマザーボードでは、この点でMMX以降のCPUに載せ替えることができません。載せた場合はVcore=Vio(≒3.3V)となってしまいます。2.8Vに変更してもVioが不十分となります。このように電圧変換とVcore,Vioの電源の分離とを同時に行う必要から、CPUアップグレードでは多くの場合VRMではなく電圧変換下駄が使用されました。

 いっぽう「/W 型番機」では最初からVcoreとVio電源とは分離状態で完全なソケット7として設計されており、適切なVRMが用意できるならば、電圧変換下駄を用いなくてもよいのです。

■ VRMが標準搭載されていない機種の場合

 CPUがClassic Pentium(例外除く)の場合、Vcore=Vio=3.3Vですので、電圧変換のためにVRMは必要ありませんが、VcoreとVioを導通状態にして3.3Vを供給する必要があります。これをVRM上で行うとすると、3.3VとVcore,Vioを導通させただけのダミーな基板があればよいことになります。しかしそのようなモノをわざわざ用意するのは無駄であるため、/W型番機では両電源を導通させるためのジャンパが最初から付いています。CPU周りに4対のジャンパが2組存在しており、Classic Pentium搭載の場合はここにジャンパが挿さった状態が工場出荷時状態です。VRMが存在しない場合、このジャンパを外すとCPUはまったく動作しません。この機種のジャンクで完全不動作の場合、そうなっている可能性がかなりありますから、VRMが無ければジャンパがささっているか確認してください。

■ VRMとしてPUD70が標準搭載されている場合

 ごく一部のClassic Pentium CPUには3.52Vを要求するタイプが存在します。これは本来であればVcore>Vioで動作させるべきですが、このタイプのCPUの構造上 Vcore=Vio=3.52Vで動作させています。このタイプのCPUが載る機種ではPUD70というモジュールが載っている場合があります。PUD70(相当品含む)には、スイッチング電源回路タイプと三端子レギュレータタイプの二種類があり、大きな放熱器があるのは後者です。いずれも部品点数が少ないため「ダミーVRM」と呼ばれた例がありますが、ダミーとは誤りであり、れっきとしたVRMです。

 3.52VのClassic Pentium CPUの見分け方ですが、CPUのピン側ダイの所にVSS,VSUと刻印されていればこのタイプです。初期の133MHzや200MHz版などで希に存在します。一般のClassic PentiumではSSSと表記されています。

■ ほんとうにダミーなVRMが標準搭載されている場合(Xt13,Xt16)

 一部のXt13,Xt16では、VcoreとVioが繋がっているだけの基板がVRMにささっているようです。これはまさしくダミーなVRMと呼んでかまわないでしょう。Xt13,Xt16では/W型番機のようなマザーボード側のジャンパがないためです。しかし3.52VのCPUが載っていて、PDU70に相当するVRM(多くはシリーズレギュレータとみられる)が搭載されているものもあるようです。(情報頂いた方々、ありがとうございました)

■ MMX CPU搭載機(Xa200)のVRM

 「W型番機」と言いましたがXa200は全ての枝番 /W,/M,/Y,/D モデルが該当します。しかしXa200を所有したことがないため、どのようなVRMが載っているかは確認したことがありません。Vcore電圧が2.8〜2.9Vに設計されているだけでなく、後述のようなVcoreとVioとが分離されたものが搭載されているはずです。

まとめ

 というわけで、マザーボード側のCPU脇ジャンパピンとVRMとの関係には十分留意してください。基本は、「VRMがあるときはCPU脇ジャンパは全部外す」「VRMが無いときはCPU脇ジャンパを全部付ける」です。これを誤って、VRMとCPU脇ジャンパの両方を使用すると、まずVRMを壊しますし、最悪の場合マザーボードも壊します。どっちも挿していない場合は壊れませんが動作もしません。逆も然りで、「CPU脇ジャンパがない場合はVRMが必要」となります。Xa200ではジャンパが空きランドのマザーボードが大半のようです。

■ PUD70の改造VRM

 Classic pentium 3.52V用に設計されたタイプのPUD70を、MMX CPU(P55C)などに転用する改造を試みたことがあります。3.52V用のPUD70では、3.3V電源は使用されず、VcoreとVioとがパターン繋がりとなっています。まずこのパターンを分離する必要があります。具体的にはA4,B4,B5をVcoreが来ている周囲からパターンカットし、Vioと3.3Vの間は接続することです(加工が難しかったのでA4,A5間は一度カットしてから接続しています)。すなわち分離は3.3VとVcoreの間だけです。Vioは3.3Vと繋がっていなければなりません。

 次に電圧を調整するための抵抗を取り替えます。Vcore出力とGNDとの間に直列に接続される2つの抵抗値の分割比で電圧が決まります。3.52V→2.8Vにするには、GNDに近い側の抵抗値を相対的に大きくします。厳密な電圧とするには抵抗値は高精度が要求されるため、片方の抵抗値の誤差によっては試行錯誤も必要ですが、Vcoreはさほど厳密でなくても大丈夫です。たまたま持っているK6-2+では2.1Vを要求していたので、所有しているチップ抵抗のなかから近いの抵抗値のを充当して2.05Vとなるようなモノを作りました。オーバークロックしない限りは電圧は規定より低めでもよいくらいです。

 なおPUD70は電流の最大定格がどの程度か不明です。AMD K6初代266MHzなどを搭載すると5Aを軽く超えてしまいそうで、基本的には容量不足ですから、K6一般には避けた方がよいと思います。K6-2+は比較的省電力なのでなんとかなると考えましたが、発熱の具合も勘案して、FETを増設しています。オリジナルのPUD70では8p-DIPのFETの左側に空き地があり、並列で実装できるようになっています。空いているところに増設することにより、FETの1個あたりの電流負荷は減少します。ただしバランスが取れるよう同一型番のFETが必須です。そこで別のPUD70から取り外したFETを充当しました。しかしおもて面のコイルのフェライト芯も線も細めであり、大電流で磁束が飽和してしまい十分な電流が取り出せないことも考えられるので、やはり2.4VのK6-III 400MHzクラスは避けた方がいいでしょう。基板全体にかなり温度上昇します。

 さらに追記すると、2021年現在、PUD70で用いられている2700μF/10WVのケミコン(松下製)は十中八九液漏れしています。リード端子に曇りがあったりそこばかりに埃が付着しているようなら、漏れの徴候です。

■ 他のVRMの流用(主にMVR-MX2)

 1997年当時、PC/ATもソケット7が主流でしたので、自作機用にVRMが売られていました。なかでもバッファローのMVR-MXおよび後継のMVR-MX2はたくさん流通しておりしかも安価でした。これを使って/W型番機のMMX CPU化、すなわちP55CやK6などに載せ替えることを目指した人は出てきました。ところが/W型番機では動作しないどころか発煙・発火するという事故が発生してしまっていました。これはVRMのピンの仕様に解釈上どうともとれる点があったこと、とくに電圧検出用SENSEピンの処理をVRM上でショートカットしてよいか悪いかが曖昧だったことによります。 /W型番機では CPU至近でのVcore電圧をSENSEピンにてVRMに返すという本来のVRMの仕様を満たしていなかったようです。CPU直近での電圧降下ということはあまり考慮されていなかったのでしょう。Xt13,Xt16でも、SENSEピンはマザーボード側に接続がないということで/Wと同じであるとの情報を頂きました。

■ MVR-MX2にかんする当時のFNECHARDフォーラムの記事(1997)

 以下の記事は、1997年当時のパソコン通信niftyにあったFNECHARDのフォーラムで、MVR-MX2を試験的に購入し会員に巡回させたときに書かれたものです。解析や改造は私が担当しました(テキストはフォーラムマネージャが起こした)。もしいまMVR-MX2のついた/W型番機を手にした際には、参考にしてください。一般にVRM回路周辺の仕様がわからない場合は、「CPU周辺はいじらず(VRMは載せず)に電圧変換下駄を載せる」のが最も安全な方法です。CPU下駄上の電源とCPUソケットまで来ている電源とは絶縁されているためです。

1.事の発端

 PC-9821Xa**/W**などでは、CPUソケットとしてソケット7を使っていますのでVRMソケットも装備しています。ソケット7では、Vcoreを作り出すVRMをVRMソケットに差し込むことでCPUの要求するVcore電圧を作り出します(/W16などでは元々搭載されているCPUがClassic Pentiumなので必要ないのですが…。そこへ、最近のCPUリリースラッシュです。Petium W MMXやK6、MXなどの新技術を使いなおかつ高速クロックで動作するCPUがどんどん廉価にリリースされています。これらのCPUはソケット7を前提に設計されていますので、Vcoreを作り出す必要があります。

 このVRMとしてメルコ社(http://www.melcoinc.co.jp)から今までのVRMで一般的であったシリースレギュレータ方式ではなく、スイッチング方式を採用したMVR-MX2 が比較的廉価で入手しやすいので取り付けた方が会議室の方にいらっしゃいましたが、うまく動作し無いどころか発煙等の事例も報告されています。

MVR-MX2( http://www.melcoinc.co.jp/product/dosvcom/mvr-mx2.html 注:web.archiveを参照)

今回、報告いただいた方に協力を得ましてこのMVR-MX2が98シリーズで何で動作しないのかを調べ、98対応とするための改造箇所を特定することが出来ましたのでまとめてみました。ご参考になれば幸いです。

 2.MVR-MX2

 このMVR-MX2は 、前身のMVR-MXとは異なりスイッチング方式によりVcore電圧を作り出しています。そのため大きな放熱板の代わりに多数のコンデンサ(しかも高品質で高価なOSコン)が林立することになります。

 

この製品は、元々メルコ社の販売しているマザーボード以外には動作保証しておりません。ですので98で動作しなくても、トラブルが生じても誰にもクレームのつけようが無いわけです。また、上記の写真は改造後の写真でありますが、元々のMVR-MX2では裏面についている「こちらの面がCPU側です」という黄色いシールも表面についています。つまり、メルコ社から販売されているマザーボードと98の場合ではVRMを取り付ける方向が逆なんです。これを間違えて無理に差し込まないようにしてください。

3.98で動作しない原因

これをふまえて信号を追ってみますと……どうやらVRMからの出力電圧をフィードバックしている部分のどっかが導通していないように見受けられます(A12あたり)。このあたりの怪しげな部分がMVRMX2でどのようになっているか回路図を書き出してみますと…

 

 てな感じでした。一方98のA12はNCとなっているようでした。

 この回路から考えるに98に取り付けたMVR-MX2が異常動作を起こすのは、はA12がオープンになっているようですので、参照信号がMVR-MX2の方に戻らずフリーラン状態になっているためではないかと考えられます。

では、解決方法は?というとVcore電圧をA12の部分へ戻してやればよいと考えられます。偶然(と言うか意識的というか…)MVRMX2ではVcoreからの信号をリファレンスとして使えるようにするランドがあいています(図中の空きランド)。ということはA12につながっている0Ω抵抗をVcore OUTの方にある空きランドへつなげば良いのでは?と考えられます。

4.具体的にはどこをいじるのか?

 具体的な改造箇所を次に示します。全体図と詳細図です。

 

改造自体は比較的簡単で、拡大図のR16についていた0Ω抵抗をR15のランドに移動させるだけです。これで、異常発振もせずに安定してVRMが動作するようになりました。

なお、この部分の抵抗は0Ω抵抗なので適当な電線でショートさせるだけでも問題ないでしょう(たぶん)。

解析から場所を特定するのは難しいですが、改造自体はそうたいしたものではないですね。

5.最後に

 この文章は、筆者らが解析した限りの内容なのでMVR-MX2のロットが新しくなってパターンが変更された場合この改造方法がそのまま使えるとは限りませんが、もし、MVR-MX2を購入してしまって動作しないとお悩みの方の助けになれば幸いです。

<2021年 注記:以下は蛇足ですがもともとのコンテンツにあったので残しておきます>

参考1:シリースレギュレータとスイッチングレギュレータ

この文章の中でもよく出てきますが、シリースレギュレータ方式というのとスイッチングレギュレータ方式ってどこが違うのでしょう?まず両方式の構成を簡単に書きますね。

  • シリースレギュレータ方式

   入力された電圧を低下させる方法として、抵抗分割方式というのがあります。これは、例えば元が10Vであるところから5Vが必要な際に1KΩの抵抗2本をVccとGNDの間に入れて、中間の電圧(=5V)を得ようとする方式です。このシリースレギュレータ方式は、この方式を延長した方式であり、1段目の抵抗と負荷抵抗による電圧の分圧により所定の電圧を得る方法です。ただし、負荷抵抗は時々刻々変化するので、1段目の抵抗の値も時々刻々変化させなくてはなりません。そこで、この部分には固定抵抗ではなく、ほとんどの場合自動可変抵抗(つまりTFTやトランジスタですね)を用います。従って入力電流の値(Iin)と出力電流の値(Iout)は一致します(Iin=Iout=I)。また、このときに入力電圧(Vin)から出力電圧(Vout)を引いた電圧(Vd=Vin-Vout)に電流(I)をかけた電力W(=I*Vd)は、自動可変抵抗の部分で熱になり消費されることになります。そのため、シリースレギュレータ方式のVRMではこの熱エネルギーを放出するためにばかでかい放熱板が必要になります。

長所:出力電圧の安定度が高い。

   構造が簡単

   出力変動に対する応答が早い

   ノイズが少ない

   低コスト

短所:大きな放熱板が必須

   回路が大きくなる

 

  • スイッチングレギュレータ方式

   この方式は、入力された電圧と電流を要求される電圧と電流に変化させる方式です。イメージ的には、入力側と出力側の間にスイッチが入っており、このスイッチを出力電圧をモニターすることによりON-OFFさせることによって出力電圧を制御します。つまり、出力電圧が下がったらスイッチをONにして入力側から電力を供給し、出力電圧が設定電圧よりも高くなったらスイッチをOFFにして蓄電器に蓄えられた電力で負荷を駆動します。従って、この方式では入力側から与えられた電力が出力側にでますので、入力電流(Iin)と出力電流(Iout)の値は一致しません。電力効率からいくとシリースレギュレータよりも優れています。

長所:小型軽量

   発熱が少ない

短所:出力の高速な変動に追従しない

   ノイズが多い

   構造が複雑(最近は1チップだけど)

   コストが高い

どっちが良いとは言えないのですが……。VRMとしては、発熱よりもコストが優先されることが多いためか、ほとんどの場合がシリースレギュレータが用いられており、AT互換機のマザーボード直付けも含めてスイッチング方式を採用しているものは少ないです(つうよりMVRMX2しかないのかも?)。一方パソコン本体の電源としては、スイッチング方式の方が電力効率が高いのとでかく重いトランスを使う必要が無いので小型軽量になると言うことで採用例が多いようです。

参考2:VcoreとVio

最近のCPUでは、VcoreとかVioという言葉が出てきますがこれはなんでしょう?簡単ではありますが説明を付けておきます。

  • Vcore

    最近のCPUは集積度が上がりたくさんのトランジスタが1チップの中に作られています。CPUの消費電力は、配線幅(ルールとも言いますか)がいっしょならば、集積されているトランジスタの数とクロック数に比例して上昇していきますので、最近のように200MHzだぁ、数百万トランジスタ内蔵だぁ、となりますと消費電力も馬鹿になりません。消費電力が増大すると発熱が多くなるため放熱も大変になります(K6なんか苦労してますよね)。では、消費電力を下げる方法としてはどのような方法が有るでしょうか? 消費電力WはW=I*Vなので、Iが一定ならVを下げれば良いわけですね。そのため最近のCPUでは、電源電圧を2.8Vとか2.5Vとか下げるわけです。この電圧がVcoreです。

  • Vio

    CPUの外部との信号をやりとりするためには、Vcoreだけでは、CPUから出力される信号のレベルとCPUの外部にあるロジック電圧のレベルが異なるため、信号のやりとりを行うことが出来ません。そのため、外部のロジック電圧とCPUのコアの間で信号のやりとりをするためのロジック電圧の信号をあわせる必要があります。この信号のレベル調整を行う部分へ与える電圧がVioとなります。Pentiumの場合このVioは3.3Vとなっていることがほとんどです。

 

[もとに戻る]