ネットワーク・プロセッサを使ってネットワーク・ボードを開発する ――電源回路設計の留意点とボード実装時のトラブル対策
● 動作テスト時に不ぐあいが発生
回路設計が終わり,実際の基板ができ上がったので,まずは短絡していないかどうかといった基本事項をチェックしました.幸い短絡などはなく,電源投入後にブート・ローダ(システムが起動した後,最初に立ち上がるプログラム.システムの初期化とOSの呼び出しを行う)が立ち上がり,Linuxを起動するところまで進みました.製品レベルの品質検査をパスするのはたいへんな労力を要しますが,プロトタイプの作製であれば意外とあっさり動くのが,高集積LSIのメリットです.
とは言うものの,動作テストを行っていくと,やはりいくつかの不ぐあいが出てきました.以下に,動作上問題が大きかった不ぐあいの例を挙げておきます.
1) PCIバスの不ぐあい
これは,PCIバスの制御に問題があり,8回読み出しをかけないと正常なデータが読み出せないという不ぐあいです.正確には,8回アクセスするくらいの時間を待つことが必要でした.ソフトウェア側とハードウェア側でいくつか対策案を出しましたが,最終的にはIXP425のステッピング変更(CPUコアのバージョンアップ)によって解決できました.そのため,現在流通しているものは「B0ステップ」となります.
2) JTAGリセットの不ぐあい
初期のIXP425のデータシートには,「JTAGポートのT_RST(リセット)信号は,プルアップ処理を施す」と書かれていました.しかし,プルアップした場合,ある確率で電源ON時にJTAGモードに移行してしまい,システムが起動しないという現象が発生しました.現状では,「T_RST信号は,プルダウン処理を施す」と変更され,上記の問題に対する対策が打たれています.
3) MIIの不ぐあい
特定のEthernet PHY(物理層IC)との間でMII(media independent interface;Ethernetコントローラと外部 PHYの間のインターフェース規格)が誤動作するというケースがありました.MII信号が規定値を満たせないことが原因でしたが,プルアップ処理を追加することによって解決できました.