- 締切済み
H8マイコンの液晶表示器制御で起きる誤作動
- AKI-H8/3048Fマイコンボードについて質問です。組立済みの基板を使用すると、液晶表示器の制御で誤作動が起きます。症状は電源投入直後からLCDが全ビット点灯で真っ黒な状態で、データが表示されません。
- 質問者は組み立てキットと組立済み製品で同じプログラムを使用しましたが、組立済み製品では正常に表示されます。液晶表示器の初期化の間に設けるディレイを変えると症状がおさまるということです。
- 質問者は制御信号をモニタする計測機器がないため、同様の症状の経験や原因の心当たり、原因の調査方法についてアドバイスを求めています。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
一般的なLCDコントローラの場合、PowerOnからのダミーウエートは40mSec~100mSec程度必要な様です。ですのでマイコンの内部イニシャライズは10mSec程度で終了する?と思うので入れておいた方が良いと考えただけです。 特に電源ON時からCPUリセット解除までの定数時間で動く・動かないが出ると予想しただけです。組み立てキットはわかりませんが、リセット回路定数などは自分で付けるでしょうから。 電源投入から画面が真っ黒の常態と言うのは、 LCDに単に電源を入れた場合、(コマンドを入れない常態)では、真っ黒 となる物と、何も表示しない(透明)の2種が有るので、使用されているLCDがどちらかは記載されていないので判りませんが、電源を入れた常態とするならば、ファンクションセット~エントリーモードセットがされていないと考えられます。 真っ白な場合には 液晶が黒になった訳なので、ファンクションセット~エントリーモードセットが行われた事が判ります。 実際にE信号時間を伸ばした事で”動作した”と言う事は、LCDとのタイミングが合わない?となると言えます。それでBusyチェック?と成った訳です。 基本的なタイミング E立下りに対して、データバスの不変時間、Eサイクルのインターバル時間(2μSec程度)が、マニュアルどうりで有る条件で有れば動くはずです。 さてソフト的に調べるならば E信号長さは通常として 各コマンドの送付後の2mSec程度のウエートを入れ、Busyチェックを行わない。これで動けば、Busyの判別が出来ていない事が判ります。
液晶のパワーオンウエートに問題が有るのでは無いでしょうか。 液晶コントローラは電源ONより初期コマンドを与えるまで、ウエートが必要です。この時間は液晶モジュールによっても変わるのでお調べ下さい。 考えられる要因1 電源ON CPUリセットが解除される CPUソフトが動作 液晶にモードセットを行うシーケンスとなると思います。 上記 電源ON CPUリセットが解除される時間が短い又はソフトでダミーウエートを置いていない などが考えられます。 実験的にE信号を500-700uSecとされていと症状が出ないと書かれていますが、E信号は1マイクロ程度でも良いはずななので 考えられる要因2 上記より推察出来る事は、Busyを見ていないの?、LCDがBusy中でもコマンドを発行した なども考えられます。 いずれにせよ、LCDエントリーモードからのコマンドの発行に問題が生じていると思われます。液晶のマニュアルに従い、ソフト的に時間を推測しながらデバックをして見て下さい。
補足
アドバイスありがとうございます。 要因1について: たしかにダミーウェートは設けていませんでした。 ただ、CPUソフトが動作してからLCDの初期化動作までの間に、ソフトの他の部分で必要な変数の初期化などが入りますので、特別ダミーウェートを置く必要は無いような気がするのですが。 要因2について: 書き忘れましたが、Busy信号は見るようになっています。 いずれにせよ、回路、及びLCD表示器は同一の状態で、AKI-H8/3048Fの基板がキットか完成品かで動作が変わってしまうことに悩んでいます。 キット、完成品とも複数用意して動作を比較しましたが、いずれも、 キット:正常に動作 完成品:誤作動 となってしまいました。 キットはこれまでも装置に使っていましたが、一度も今回のような症状が出たことは有りません。 ソフトの問題だとして、なぜ完成品の基板でだけ症状が現れるのでしょうか?
補足
>一般的なLCDコントローラの場合、PowerOnからのダミーウエートは >40mSec~100mSec程度必要な様です。ですのでマイコンの内部イ >ニシャライズは10mSec程度で終了する?と思うので入れておいた方が良 >いと考えただけです。 なるほど、そういう意味でしたか。 たしかに仰る通りイニシャライズだけでは足りないかもしれません。 ためしに初期化の方のソースを元に戻して、ダミーウェイトを長くとってみます。 >組み立てキットはわかりませんが、リセット回路定数などは自分で付けるでしょうから。 失礼致しました。キットの詳細をもう少し書いておくべきでした。 秋月電商のAKI-H8/3048Fは、リセット回路定数なども含めて実装済みの製品です。 キットと完成品の違いは、部品が実装済みか自分で載せるかだけ(と説明書にはなています)で、付属している部品の品種、定数等も同一です。 ちなみに、リセットはミツミのPST600というICが使用されております。 *参考URL ttp://akizukidenshi.com/catalog/items2.php?c=h8kit >ソフト的に調べるならば E信号長さは通常として >各コマンドの送付後の2mSec程度のウエートを入れ、Busyチェックを >行わない。これで動けば、Busyの判別が出来ていない事が判ります。 これも試してみます。 色々アドバイスありがとうございます。