_★
CPU基板デバッグ
VIDEO出力にサグが出る件。
最初、ビデオアンプのサグ補正端子が未使用だったのが原因かと思い電解コンを接続したが全然駄目だった。
データシートを良く見ると出力の結合コンデンサの値がやけに大きい。
もしやと思い大容量化(4.7μF->100μF)した結果、見事にサグが消えた。
電解コンの容量不足が原因だった。_| ̄|○。
CPU基板に載っているCPLDが大変熱いので低消費電力化
*1
を実行。
何も考えずにfitterのオプションでマクロセルの低消費電力化を選択してfitting。
出来たJEDECファイルをCPLDに流し込み、電源投入してアプリケーション実行。
おっ。ちゃんと動くよ。<ヲイ
裏付けが無いまま使うのは流石にキモイのでタイミングシミュレーションの結果を見てみた。
影響を受けそうなバスラインは低消費電力化前と殆ど変化無し。
明日、もう少し詳細に考察してみてOKそうなら、このデザインを採用。
ここんとこずっと手を焼いて来た起動不安定の原因が判明。
起動時に絞って影響がありそうなピンを考えた結果、モード設定ピンに的を絞る。
リセット時のピンの状態をロジックプローブで一つ一つ当る。
すると、本来HなりLなりになっていなければならないピンが不定な値を取っていた。
どうも、ここが確率的に変化していたため起動が不安定になっていた。
一応、設計時には固定されるようにしたつもりだが、CPUから見て出力となるピン
*2
の処理が全くしていなかった。
つーか、処理する必要が無いと思っていた。
実際にはVLTHとCPLDが入力として接続されていた。
悪いことにCPLDのピンが値不定となる状態で接続されていた上に、LVTHも接続されていてバスホールド機能によって電源投入時に確率的にH/Lが固定されるようになっていた。
CPLDのピンをリセット時のみ必ず特定の値になるように処理。
この処理によって100%起動するようになった。
でも、最初の2枚は何も処理していないのに何故か100%起動する。不思議だ。
取り敢えず目先の不具合修正は完了。
これで基板をソフト側にわたせるよ。
*1: CPLD内のセンスアンプを無効にするので遅延が増す。
*2: モード設定となっているピンは通常は出力なピンでもリセット時のみ入力になる。
所謂、マルチファンクションピンですな。
つーか、マルチファンクションピンってのはハード屋だったら誰もが一度はハマる罠。