Macの奴隷臍茶な話
渡邊鼎の!言いたい放談!
 

110:NewerG3クロック可変?+追記はここ押して

(言いたい放談:G3クロック可変??へ移行)

しかし、NewerのG3-CPUボードの、「クロック切り替えスイッチ、無効化」事件?はがっかりしますね。
まあ、メーカーからすると、高い物が売れなくなるんでの防衛策なんでしょうけど。釈然としないですね。
だいたい、量産してるLSIってなー、量産が進むと、収率が上がってコストが下がり、速度のばらつきの押さえ方もわかってきて、高く売れる方に変えていくことでしょうから、低いクロックの物が取れなくなってくるんですよね。また、ちょっとでもシュリンクしてまず多く取れるようにしたい、すると小さくなるから早くなっちゃうんですね。
(たぶんね。メーカーさん一般的にそうでしょ?)すると、ボードメーカーはすでに、低い周波数から高い物までのラインナップを発表して売ってるので、及び対抗上簡単に変えられない。そこで、同じ低いクロックのCPUを発注する、すると、LSIメーカーは高い物しか出来てこないので、早く動く物まで低い周波数の名前を付けて売っぱらっちゃうんだと思います。すると、220MHzで売ってるボードが320MHzで動いたりするわけですね。G3の初期の物は、そんなに高い所まで動いてなかったような気がしますが、最近は220のものでも315MHzあたり動くのが当たり前になってるような気がします。

220のチップが最高で350MHz動いたというユーザーがあるそうです。(動かなかった人ごめんなさい!ですから!あきらめてね)

で、これまで、クロックがスイッチで設定できるということは、G3によって設定しているのではなく、別に1チップCPUがついてて、DIPスイッチを読み込み、PLL-VCOのついてる発信器に設定して300MHzのバスクロック比分の一、とかだしているのだと思います。すくなくとの、私のXLR8はそうです。で、この1チップCPUのソフトをちょっといじってスイッチ設定が出来ないようにしたのでしょう。でも、このソフトをいじることは出来ないので、改造するんだったら、別の制御回路を作るのがいいでしょうね。(私はNewerもってないのでやらないけど)40〜50MHzなので、ちょっと大変かもしれない・・・
元の回路によっては、1チップCPUとVCO回路が別のICだったら、周波数設定の信号がパラレルなどで送られているので、これを途中でカットし、別の信号を入れて制御する・・・ま、こううまくいけば簡単なんですが、単純な信号を与えればいいのなら1チップCPUなんて使わないですよね。ま、Newerを持ってない私にはわかりませんが。

ところで、XLR8 MAChSpeedG3のクロックをすこしづつあげようとCPUが動いてるときにスイッチを動かすと、CPUが暴走したりして困ります。スイッチを変えているときに、スイッチの出力信号は2進信号で一瞬に変わらないので途中に思惑以外の値が出るわけでこれを1チップCPUがそのまま、周波数を変えようとします。で、その周波数が、低い方向になるのだったら、問題ないのですが、高い方向になると、CPUが暴走する位高い周波数になる可能性があるわけです。普通、スイッチ設定なんてのは、スイッチで信号を0Vにシュートすることで設定したりします。すると、ショートしないときは5Vになるようにプルアップ抵抗と言われる抵抗(例えば10KΩとか)で、5Vに持ち上げるようになってます。だから4ビットの設定スイッチの各ビットが変わるとき、一斉に変わればいいんですが。
たとえば、7(0111)から8(1000)に変わるときのことを考えると、一番左のビットb3=0が1に変わろとき、ちょっとほかより遅れたら、途中に1111と言う値を一瞬出すことになります。ま、こんな感じで、思惑以外の周波数が出てしまったりするわけです。
もう一つ、問題がありえます。CPU内部のPLL-VCOの制御方法と同じ問題が、外部PLLにも。ま、これは、CPU内部では解決してる問題と思うので、後日、言いたい放談内部に書いときます。後日、読んでみてください。Xtalを変えるって方法がすでにProcesserManiaさんに書いてありましたね。わすれてた。昔からやられている手法ですが・・・

以下、追記した部分。

PLLで、CPU内部で高い周波数のクロックを発生する場合、一般的に入力クロックと位相比較して内部発信回路に負帰還させ、ロックさせるというPLLが使われますが、この負帰還回路はアナログ回路なので、回路方式によってはオーバーシュートが出たりします。これが過去に問題になったわけです。電源入って、立ち上げ時に、内部PLLも動作し始めますが、これが設定の例えば300MHzにしようと動いてて、オーバーシュートしたら、周波数が300MHzを越えちゃうわけですね。すると、CPUなど回路にマージンが無いと、暴走するわけです。初期の頃、ある会社の機器組み込みCPUで、こういうことがあり、ソフトで対処していました。立ち上げ後、クロック設定を少しずつ上げていくようにするわけです。そのCPUは源発信が32.768KHzという、時計チップ用のXtalでこれの整数倍で設定が可能だったので、少しずつ上げられたのですが。

MPC106のように、1:1,1:2、2:5、1:3という比率しかハードで設定出来ない場合は、細かく上げることは出来ません。ま、最近のチップは、この辺は当然対処しているでしょうから、この辺のトラブルの話は聞きませんが・・・

ま、このように、MPC106のような、入力が33とか66とかの周波数で出力が66,83,100?とかの周波数の場合、ゆっくり上げるとか、これ以外の比率というのは、このままじゃ簡単には出来ませんので、両方のクロックの整数分の一に分周したところで位相比較をするような回路にすれば、自由な整数比のクロックが発生できますね。そういうPLLを設計してもらえばいいわけです。

以上、臍茶な話でした。へー粗茶でした。(変換でこんなのを見つけて気に入った)へ粗茶!


[Home] [Linkし放題] [Fleamarket]