|
テーマ:電子工作(533)
カテゴリ:電子工作
え~、しばらく更新をしていなかったが、何にもしていなかったわけではありません。
実は、PIC16F84A相当のモノは既に出来上がっていて、デバッグをしています。 まあ、よく判っていないPICのアセンブラをテキトーに使いながら、テストプログラムを書いている(笑)のだが、期待どおりに動作してない場合、Verilogのコードに誤りがあるのか、そもそもアセンブラのプログラムがおかしいのか解析するのに時間がかかってしまう。バグそのものは単純なものがほとんどなのだが、単純なものほどツボに嵌ると、わけが判らなくて困る。そんなこんなでなかなか先に進まない状態。 前回timer0ユニットのいい加減なコードを載せたが、これも問題ありだ。timer0そのものは、PICのマスタークロックのクロックドメインに属しているが、プリスケーラはそうではない。プリスケーラ→timer0については、ダブルラッチによるシンクロナイザがPICのデータブックにあるブロックダイアグラムにも示されていて、いわゆるCDC(Clock Domain Crossing)問題は一応ケアされている。 問題は、逆方向。プリスケーラは、timer0に対する書き込みで、リセットされることになっている。前回載せた実装では、単純にハザードフリーのリセット信号を非同期リセットとして与えているが、うるさく言うとこれではCDCに関しては失格だ。どうすっかな・・・ ---- 本日の御託 暑い... お気に入りの記事を「いいね!」で応援しよう
Last updated
2007.08.27 05:51:03
コメント(0) | コメントを書く
[電子工作] カテゴリの最新記事
|