アダルト・ヴァイオリン May the force be with you..

2005年8月13日

セミナー準備完了

Filed under: 組込みシステム — @ 8:11 PM

来週のセミナーに向けて、ドキュメントの修正と
実行環境の整理・整備を進めてきたが、ようやく完了。
CDRを26枚焼いて、ラベルを印刷して、準備完了。

このCDR、安売りで売っていたノーブランドものなのだが、
26枚焼くのに3枚はメディア不良でNGだった。

とりあえず焼けているものは一度はコンペアチェックが
通っているはずだから、当日だめなら、その場でなんとかしてもらおう。

ところで、受講者は結局のところ何人になったのかなぁ?

不思議な挙動

Filed under: 組込みシステム — @ 10:28 AM


先日購入したFPGAボードで、自作CPUの動作をさせているのだが、
これがどうにも不思議な挙動を示してしまう。
やりたいことは、ボード上の4つの7SEG LEDを
CPUからメモリマップIOに設定し、ここに”HELO”と表示させる
という単純なもの。
このLEDはダイナミック発光(4つ全部に共通のデータを与え、発光させる
LEDを選択する信号を別に与える)ので、人間に見えるように早めに
ソフトで発光LEDを切り替えるのである。

問題はここから、
・出力をゆっくり動かすときには動作するが、切り替え速度が速いと
CPUが暴走しているようにみえる。
・1つだけ表示させても他のLEDも点灯する。
・FPGAベンダーツールでシミュレーションすると実機と異なる結果となる。
・命令メモリをクロックROMにすると動作が不安定

なんとも、問題山積である。
とにかく、CPUが内部的に動作しているだけなら、全然問題なさそうなので
7SEG LEDのドライブ電流あたりが影響しているかも。ベンダーツールの
シミュレーション不具合は不明なのであるが・・

まず、LEDが点灯するつもりがなくても薄く点灯するのは、ボードの回路設計が
まずいということは明らかである。何しろ、3.3VIOに5VからPNPトランジスタで
アノードを駆動しているので、ほぼ間違いなく電流は流れ込む。
では、高速動作時におかしくなるのは?
ボードを見ると、グランド配線が極めて弱いので、多分、
高速に大電流の切り替えはできなさそう・・・

ということで、このボードでは、来週のセミナーのためのCPUの
デバッグにはならなかった。

命令メモリをスタティックなROMで構成して、
プログラムループでウェイとさせながら動作させると
写真のようにそれなりに見える形になるから、とりあえずはいいか・・

不安定なボードは初心者向きの記事には不向きかもしれないなぁ

PS: 回路図を見ていて、やっぱり仕様違反で作られていることが判明
流れ込み電流最大25mAの規定に対して、おそらく最大80mA近くの電流を流す
設計になっている。これで動くほうが不思議だ。
ウェイトを入れて、ダイナミックな挙動変化を避けるようにすると
なんとか動いてはいるけれど、高速にこれらをスイッチングしたら
ひとたまりもないということだろう。
電流制限の抵抗モジュールを付け替えたいところだ・・

PS2: 表示切替時のグランドバウンズの問題だと、原因を想定し、
すべてのIO出力の後に待ちループを入れた上、切り替え時には
アノードスイッチをいったん全部オフにして、カソード出力も非表示側に
いったん戻してから、次の表示を行うように、プログラムを変更したら
クロックROMにしても安定して動作するようになった。ハード(基板・電源)の
不具合もソフトで回避する、まさに[組込みソフト」の醍醐味!
(な、わけないか 笑)

Powered by WordPress