グルーロジックが入ったCPLDは付けたのであとはROMを挿せばCPU周りの挙動を確認できますが、このボードにはもう一か所プログラマブルな部分があり、そこを先に確認しておきます。
基板の隅っこに8ピンPICを使って簡単な空冷ファンのコントローラを置きました。CPUの表面温度を電圧出力温度センサかサーミスタで計測しDCファンをPWM制御する目論見です
はたして486CPUに空冷ファンが必要かどうかですが、手元のデータシートのDC. Specificationsで供給電流を見てみると
80C86 80mA (8MHz) ・・・0.4W
80C286 185mA (10MHz) ・・・0.9W
386DX 260mA (20MHz) ・・・1.3W
486DX 700mA (25MHz) ・・・3.5W
486DX2 1200mA (66MHz) ・・・6.0W
PentiumP5 3200mA (66MHz) ・・・16.0W
クロックの高速化と高集積化で供給電流、消費電力が急上昇してます
昔のPC98とかのパソコンでの実装だと386はヒートシンク無し、486はヒートシンクのみの自然空冷、ペンティアム以降はファンで強制空冷必須でしょうから損失10Wくらいが境目かもしれません。・・今どきのCPU(Intel Core14世代)だと低電圧化してるのに125Wも食うらしいので驚き・・
先ずはICSPで基板上のPIC12F1822にLEDチカチカプログラムを注入して正常動作することを確認。
温度をアナログ値で読み込んでPID制御によってファンをPWM無段階変速なんて大げさに考えてましたが、ファンの羽根が小さくて軽いのであまり回転数制御の幅がなさそうです。単純にON/OFFのみの「コタツ制御」でいいかもしれません。
このファンコントローラはメインの486CPUと当然独立して動作しますが、ちょっと工夫してあってPICのICSP端子(J7)とシリアルコントローラのチャンネルB(J4)を以下のように2×6のピンヘッダで並べて引き出してあります
それぞれPICKIT3、TTLシリアル-USB変換ケーブルのピンアサインにしてありますが、このようにジャンパプラグを差すとPICとシリアルコントローラのTxD/RxDがうまい具合にクロス接続されます
こうしてCPUが自身の温度やファン制御量を取得できるようにしたのですが、逆にCPUが自身の冷却をOFFする自爆コマンドを組込むことができてしまいます