
A7V333の測定誤差
初出 2003.4.3
前回ASUS A7V333でA7V333は標準でthermal diode温度を測定できるけれど、測定値には誤差があることが判りました。せっかくthermal diodeに対応しているのに、誤差で使えないというのは本当にもったいない話ではないですか。そこで今回は、その誤差がどの程度なのかを確かめてみることにしました。誤差がはっきりすれば、MBM5の温度補正機能を使って正確な温度を表示させることが可能になるはずです。たぶん。
もちろん、比較のための正確な温度の測定には秋月温度計を使用することにします。A7V333に秋月温度計を接続して、MBM5の読みと秋月温度計の読みを比較してみるわけです。
しかし、ここで一つ問題大きながあります。CPUのthermal diodeは既にマザーが使っているので、そのままでは秋月温度計を接続することができないのです。
thermal diodeによる温度測定の原理でも説明しているように、thermal diodeには温度測定のために順方向に一定の電流を流してやる必要があります。前回ASUS A7V333でも説明しましたが、A7V333のthermal diode周りの回路はこうなっています。
温度計測を担当しているASB100チップの22番端子に出力されている基準電圧から100kΩの抵抗をに直列に接続して、ダイオードに電流を供給しているわけです。22番端子にどの程度の電圧が出力されているのかは、ASB100チップのdata sheetが手に入らないため実測してみる必要がありました。
マザーのほかの部分をショートさせないように恐る恐るテスターを当ててみた結果、22番端子には4.92Vの電圧が出力されていいることを確認しました。
ダイオードに100kΩの抵抗を直列にして4.92Vをかけているのですから、ダイオードの両端電圧が約600〜700mVの範囲であることを考えると、流れている電流は42〜43μAということになります。W83627HFやIT8712Fなどが100μA程度であることを考えると半分以下です。別に問題はありませんけどね。
一方で秋月温度計の回路はこうなっています。
![]()
秋月温度計に使用されているICL7136CPLというICは、1番(V+)ピンと32番ピン(COMMON)との間に基準電圧として約2.8Vが出力されています。回路図で解るように1番ピンから100kΩの抵抗を通してダイオードに接続されています。2.8Vに対して100kΩですから、ダイオードの両端電圧が600〜700mVでの範囲であることを考えると、流れている電流は21〜22μAということになります。ああ、ASB100よりもっと少ないですね。もちろん別に問題はありません。
もしこのままの状態で(秋月温度計もA7V333も無改造で)秋月温度計をマザーに接続するとthermal diodeへはマザーと秋月温度計の両方から電流が供給されることになります。少なくとも正確な温度は測定できなくなるでしょうし、下手をするとマザーか秋月温度計のどちらかまたは両方が壊れる可能性もあり得ます。
どちらかを改造してやる必要があります。
マザーの改造としては、CPUのS7端子の配線をカットしておく方法がありますが、そのときにASB100の25番端子へ650mV程度の電圧を別に供給してやる必要が出てきます。でないとASUS C.O.Pが働いてマザーが起動してくれないでしょう。この改造は結構面倒です。マザーのパターンカットというのも元に戻すことを考えるとできればやりたくありません。その上、せっかくのC.O.P機能を殺してしまうのももったいないです。私のようなドジな人間はいつCPUを焼き焦がすかわかりませんから、C.O.Pは生かしておきたいところです。
ということで、マザーの改造はいたしません。秋月温度計を改造することにします。
ところで、秋月温度計の基本は電圧計なんだということをご存じでしょうか。秋月電子では全く同じICと基盤を使って電圧計キットも販売しています。ダイオードで温度を測定するというのも、結局はダイオードの両端電圧の変化を測って、表示部をうまく調整して温度表示にしているだけです。
そのことを考えるとダイオードに電流を供給するのは別に秋月温度計のICである必要はないのです。つまり、マザーがダイオードに供給している電流をそのまま利用して、その両端電圧を秋月温度計で測定してやればいいはずです。もちろん、秋月温度計は校正をやり直す必要がありますが、そんなことはCPUを交換する度にいつもやっていることです。
とにかく、秋月温度計の電流供給部分を切って、マザーに接続してやればいいわけです。うまく説明できていないのですが、解ってもらえるでしょうか。
ここで一つ、一応考えておかなければならない問題があります。秋月温度計とABS100チップ25番端子の入力インピーダンスの問題です。ダイオードの両端電圧が600〜700mVであるとして、42〜43μAの電流が流れているということは、ダイオードの(見かけの)抵抗値はだいたい14〜17kΩの変化をしていることになります。もし、秋月温度計やASB100チップの入力インピーダンスが数十kΩ程度かそれ以下だと測定値に影響が出ることになります。実際にどうするかというと、秋月温度計からダイオードに直列になっている抵抗を取り除いて、マザーのS7とU7端子へ接続する、というただそれだけのことです。上の秋月温度計の回路図をもう一度見てください。100kΩの抵抗に矢印をしていますが、取り除くのはこの抵抗です。
ただ、秋月温度計もASB100チップも基本的にはA-Dコンバータであって、その入力インピーダンスはたぶんMΩの単位だろうと考えています。ですから、今回は入力インピーダンスのことについては考慮しないことにします。問題ないでしょう。たぶん。
なお、入力インピーダンスのことについては、気が向いたらご老体の技術講座のコーナーで説明することにします。そのうちに、いつの日か。ホント気が向いたら。期待しないでください。
ここで、注意事項があります。秋月温度計の電源はPCの電源から取ってはいけません。秋月温度計の回路図を見てもらえば解ると思いますが、秋月温度計のGNDは電源のマイナス側が接続されているところではないのです。最後に、一体どうやって校正するのかという大きな問題が残ります。
電源のマイナス側はICL7136CPLのV-(26番)という端子に接続されています。一方秋月温度計のGNDはICL7136PのCOMMON(32番)なのです。ダイオードのカソードがそこに接続されていることからもこれがGNDであることが解ります
A7V333の場合、thermal diodeカソードはマザーのGNDに接続されています。ここに、ICL7136CPLのCOMMONを接続しますから、もし、電源をPCの電源から取っていると、ICL7136CPLのV-とCOMMONをショートすることになります。ご注意ください。電源は必ず別系統のものを用意しましょう。秋月温度計の標準状態で電池を電源にしている場合はなんの問題もありません。
いろいろと考えた末に、結局一番単純な方法でやることにしました。
擬似的にthermal diodeの動作電流がA7V333と同じ状態になるように、左のような回路を組んでやったのです。9Vの電源は006P電池で、これを半固定抵抗で分圧してASB100の22番端子と同じ4.92Vに調整します。そこから、100kΩの抵抗を通してダイオードに電流を供給するわけです。
ごく簡単な回路ですが、これでthermal diodeはA7V333と同じ動作電流になります。
あとは、改造した(抵抗を1個取り除いた)秋月温度計を接続して、いつものように温度校正をしてやればいいわけです。
もしかすると秋月温度計のVR1、VR2を取り替える必要があるかもしれないと危惧していたのですが、その必要はありませんでした。
校正が終わったら、今度は秋月温度計をマザーに取り付けます。これもいつもどおり、CPUソケットの裏面、CPUのS7とU7端子に接続してやればいいのです。回路的には右のような状態になるはずです。
2つの回路を比べていただければ、このやり方で問題ないことがわかっていただけると思います。
測定には2個のCPUを用意しました。PalominoコアのAthloXP 1600+とThoroughbredコアのAthlonXP 1700+です。
PalominoとThoroughbredではthermal diodeの特性が違いますので、それぞれで測定しておくことが必要です。Morgan(Duron)コアはPlominoとほぼ同じ特性です。
CPU コア 刻印 Athlon XP 1600+ Palomino AX1600DMT3C AG0GA0149MPM Athlon XP 1700+ Thoroughbred AXDA1700DLT3C RIRGA 0233MPMW
もちろん、秋月温度計は、Paolomino、thoroughbred別々に校正をしています。
これが測定結果です。
動作状態によって誤差が違っているようです。これではMBM5の温度補正機能で一律に補正をすることができません。センサー4の読みと正確な温度のグラフを作っておくというのも一つの方法ではありますが、いちいちグラフを見て温度を知るというのも面倒です。
Palomino AthlonXP 1600+ センサー2 センサー4 秋月温度計 センサー4と秋月の差 27 27 31.7 4.7 31 30 35.6 5.6 34 35 40.3 5.3 38 38 45.6 7.6 43 43 51.7 8.7 48 48 56.8 8.8 Thoroughbred AthlonXP 1700+ センサー2 センサー4 秋月温度計 センサー4と秋月の差 27 23 30.5 7.5 28 25 33.3 8.3 30 27 36.1 9.1 32 30 39.1 9.1 35 33 42.8 9.8 38 37 47.2 10.2
温度を測定するのはCPUに無駄な付加をかけないためだということを考えれば、最悪の場合を想定して、おおむね10度を補正しておけばいいような気がします。少なくとも私は10度の補正で満足です。
Palominoコアの時の誤差とThoroughbredコアの時の誤差が違っています。PalominoとThoroughbredではthermal diodeの温度特性に差がありますので、違うのは当然なのですが、Thorougbredの温度特性からするとセンサー4の読みはもう少し高い表示が出てもいいはずです。
どうやら、A7V333では、CPUがPalominoなのかThoroughbredなのかを判別して測定値を補正しているようです。どうせなら、正確な温度を表示するような補正にしておいてくれればよかったのですけどね。
おもしろいのはセンサー2(CPUソケット内のサーミスタ)とセンサー4(thermal diode)の読みがほとんど違わないことです。特にPalominoコアでは誤差の範囲で一致しています。どうやら、センサー4の表示がセンサー2の表示と同じ温度になるように補正をかけているような気がしますね。あまり意味のあることとは思えません。
何にせよ、曲がりなりにもセンサー4を使えばダイ温度測定が可能です。A7V333以降に製造されたASUSのソケットAマザーはASB100チップを搭載しているようですから、ASUS C.O.P機能とあわせてダイ温度測定も可能であり、焼けやすいAthlonXPを使用する場合に、なかなか安心できるマザーであることは確かです。