_★
改版基板デバッグ
一番酷い基板にロジアナを付けて再度信号の観測。
本来、データがホールドされていなければならんVALID期間中にデータラインが安定しない。
当初、タイミングが悪くデータが安定しないと思っていたが、昨日の状況を鑑みながら冷静に推測してみた。
推測結果。SIOコントローラがバス上に1を出そうとするが、どっかのデヴァイスが誤って0をバス上に出してしまい結果的にデータラインが安定しないと判断。
つまり、データバス上でデータが衝突してCPUの読み込み期間中には0が勝ってしまいレジスタが読めないとなるという推測に至った。
動いたり動かんかったりするのはICの製造プロセス上のバラツキによって1が強く出る石と弱い石があってどちら勝つかによって動作が決定されるのかも。
で、SIO中心に機能限定版のロジックを急遽作成しCPLDに書き込んでみる。
すると今まで全然見えんかったレジスタが見えた。さらにアプリケーションを実行したらSIOで通信出来た。
さらにロジアナで観測してみるとデータライン上のデータは安定している。
どうやら推測した通りのようだ。
つー訳で今日出張しているK君にメイル。そういうことだ>K君、後よろしく。
てなこと書いたら
既に具体的な原因と修正 終ったらしい。