H8マイコンの液晶表示器制御で起きる誤作動

このQ&Aのポイント
  • AKI-H8/3048Fマイコンボードについて質問です。組立済みの基板を使用すると、液晶表示器の制御で誤作動が起きます。症状は電源投入直後からLCDが全ビット点灯で真っ黒な状態で、データが表示されません。
  • 質問者は組み立てキットと組立済み製品で同じプログラムを使用しましたが、組立済み製品では正常に表示されます。液晶表示器の初期化の間に設けるディレイを変えると症状がおさまるということです。
  • 質問者は制御信号をモニタする計測機器がないため、同様の症状の経験や原因の心当たり、原因の調査方法についてアドバイスを求めています。
回答を見る
  • 締切済み

AKI-H8/3048Fマイコンボードについて質問

毎度お世話になっております。 H8マイコンについて質問があります。 以前から、秋月電商さんのAKI-H8/3048F基板の組み立てキットを使用しております。 が、秋月電商さんの方で組み立てキットの販売が縮小され、組立済みの基板の方でないと入手が困難になってきましたので、先日、初めて組立済みのAKI-H8/3048Fを使用してみました。 キットと組立済み製品では完全にピンコンパチなので、何も考えずに同一のプログラムを書き込んで見たところ、液晶表示器の制御で誤作動が起きました。 状況を列挙しますと、 1)症状 3回に2回程度の割合で、電源投入直後からLCDが全ビット点灯で真っ黒な状態で、何もデータが表示されない。 組み立てキットの方では、同一プログラムを書き込み、同一の装置に差し込んだ状態で問題なくデータが表示される。 それぞれ電源のON/OFFを十数回繰り返して検証したが、現象はかわらなかった。 2)H8マイコンの書き込みモード モード7 3)H8マイコンのピンの割り当て H8マイコンのポート3を下記の様に使用。 /*****************************************************/ H8マイコンのP3をLCD制御に使用 7  6  5  4   3   2   1   0 - RW  E RS DB7 DB6 DB5 DB4 /*****************************************************/ AKI-H8/3048F上では、P3はCN3の13,14,15ピンになります。 DB0~DB3はセオリー通りGNDに落としています。 4)回路基板 基板は手配線ではなく、PCBに起こした物。 AKI-H8/3048Fのソケットから液晶表示器まで直結していて、 各信号線は10kΩの抵抗で5Vにプルアップされている。 5)電源 H8基板のレギュレータは使用せず(取り外してある)、回路基板 上の5V電源から供給(LCDも同一電源から供給)。 ちなみに電源は、1A5Vの三端子レギュレータで作っており、特にリップル等もない。 6)LCD POWERTIP PC1602-Lを使用しています。 上記の様な状態です。 ちなみに、組み立てキットと完成済み製品で基板のパターンを比較したところ、違いはCN3-14(P3-4)が、H8/3048FのICのパスコンの下をくぐっていところくらいでした。 それと、LCDの初期化の所で、E信号の間に設けるディレイを、200usecから700usecに変えたところ、症状がおさまった様にみえます。 本来であれば制御信号をモニタしてみるのが第一だとは思うのですが、適当な計測機器が手元に無く解析に苦労しております。 もし、 ・同様の症状の経験 ・原因について心当たり ・原因の調査方法についての助言 等のある方がおられましたら、是非ともアドバイスをお願い致します。 それと、上記で不明な情報がありましたら、なるべくすぐに追記致しますので、お申し出下さい。 よろしくお願いいたします。 訂正です。 >ちなみに、組み立てキットと完成済み製品で基板のパターンを比較したところ、違いはCN3-14(P3-4)が、H8/3048FのICのパスコンの下をくぐっていところくらいでした。 H8/3048のICのP3-5(E信号)ピンからCN3-14番ピンまでの配線パターンが、完成品ではH8/3048のICのパスコンのチップコンデンサの下をくぐっている。 でした。

noname#230358
noname#230358

みんなの回答

noname#230359
noname#230359
回答No.2

一般的なLCDコントローラの場合、PowerOnからのダミーウエートは40mSec~100mSec程度必要な様です。ですのでマイコンの内部イニシャライズは10mSec程度で終了する?と思うので入れておいた方が良いと考えただけです。 特に電源ON時からCPUリセット解除までの定数時間で動く・動かないが出ると予想しただけです。組み立てキットはわかりませんが、リセット回路定数などは自分で付けるでしょうから。 電源投入から画面が真っ黒の常態と言うのは、 LCDに単に電源を入れた場合、(コマンドを入れない常態)では、真っ黒 となる物と、何も表示しない(透明)の2種が有るので、使用されているLCDがどちらかは記載されていないので判りませんが、電源を入れた常態とするならば、ファンクションセット~エントリーモードセットがされていないと考えられます。 真っ白な場合には 液晶が黒になった訳なので、ファンクションセット~エントリーモードセットが行われた事が判ります。 実際にE信号時間を伸ばした事で”動作した”と言う事は、LCDとのタイミングが合わない?となると言えます。それでBusyチェック?と成った訳です。 基本的なタイミング E立下りに対して、データバスの不変時間、Eサイクルのインターバル時間(2μSec程度)が、マニュアルどうりで有る条件で有れば動くはずです。 さてソフト的に調べるならば E信号長さは通常として 各コマンドの送付後の2mSec程度のウエートを入れ、Busyチェックを行わない。これで動けば、Busyの判別が出来ていない事が判ります。  

noname#230358
質問者

補足

>一般的なLCDコントローラの場合、PowerOnからのダミーウエートは >40mSec~100mSec程度必要な様です。ですのでマイコンの内部イ >ニシャライズは10mSec程度で終了する?と思うので入れておいた方が良 >いと考えただけです。 なるほど、そういう意味でしたか。 たしかに仰る通りイニシャライズだけでは足りないかもしれません。 ためしに初期化の方のソースを元に戻して、ダミーウェイトを長くとってみます。 >組み立てキットはわかりませんが、リセット回路定数などは自分で付けるでしょうから。 失礼致しました。キットの詳細をもう少し書いておくべきでした。 秋月電商のAKI-H8/3048Fは、リセット回路定数なども含めて実装済みの製品です。 キットと完成品の違いは、部品が実装済みか自分で載せるかだけ(と説明書にはなています)で、付属している部品の品種、定数等も同一です。 ちなみに、リセットはミツミのPST600というICが使用されております。 *参考URL ttp://akizukidenshi.com/catalog/items2.php?c=h8kit >ソフト的に調べるならば E信号長さは通常として >各コマンドの送付後の2mSec程度のウエートを入れ、Busyチェックを >行わない。これで動けば、Busyの判別が出来ていない事が判ります。 これも試してみます。 色々アドバイスありがとうございます。

noname#230359
noname#230359
回答No.1

液晶のパワーオンウエートに問題が有るのでは無いでしょうか。 液晶コントローラは電源ONより初期コマンドを与えるまで、ウエートが必要です。この時間は液晶モジュールによっても変わるのでお調べ下さい。 考えられる要因1 電源ON CPUリセットが解除される CPUソフトが動作 液晶にモードセットを行うシーケンスとなると思います。 上記 電源ON CPUリセットが解除される時間が短い又はソフトでダミーウエートを置いていない などが考えられます。 実験的にE信号を500-700uSecとされていと症状が出ないと書かれていますが、E信号は1マイクロ程度でも良いはずななので 考えられる要因2 上記より推察出来る事は、Busyを見ていないの?、LCDがBusy中でもコマンドを発行した なども考えられます。 いずれにせよ、LCDエントリーモードからのコマンドの発行に問題が生じていると思われます。液晶のマニュアルに従い、ソフト的に時間を推測しながらデバックをして見て下さい。

noname#230358
質問者

補足

アドバイスありがとうございます。 要因1について: たしかにダミーウェートは設けていませんでした。 ただ、CPUソフトが動作してからLCDの初期化動作までの間に、ソフトの他の部分で必要な変数の初期化などが入りますので、特別ダミーウェートを置く必要は無いような気がするのですが。 要因2について: 書き忘れましたが、Busy信号は見るようになっています。 いずれにせよ、回路、及びLCD表示器は同一の状態で、AKI-H8/3048Fの基板がキットか完成品かで動作が変わってしまうことに悩んでいます。 キット、完成品とも複数用意して動作を比較しましたが、いずれも、 キット:正常に動作 完成品:誤作動 となってしまいました。 キットはこれまでも装置に使っていましたが、一度も今回のような症状が出たことは有りません。 ソフトの問題だとして、なぜ完成品の基板でだけ症状が現れるのでしょうか?

関連するQ&A

  • AKI-H8/3052Fが動かなくなりました

    AKI-H8/3052Fを使っていましたが,突然マイコンボード上のH8自体が熱くなり 小信号ダイオード(1SS 294)が溶けてしまい,電源を入れても全く動かなくなりました. 原因がわかりません.この場合,H8は死んでおらず小信号ダイオードのみを 取り替えればよろしいのでしょうか? 原因として考えられることやH8自体が生きているかを調べる方法がありましたらお教えください.

  • AKI-H8マイコン専用マザーボードについて

    はじめまして。電子工作初体験の者です。インターネットなどで色々と調べてみたんですが、 結局疑問が解消できなかったので質問させてください。 【困っていること】 秋月電子通商から『H8/3052Fマイコン(完成品)』と『AKI-H8マイコン専用マザーボード』を 購入して組み立ててみたんですが、マザーボードのLED1・LED2が、点灯する時としない時があります。 (LED3、液晶は常に点灯しています) 【マザーボードの状況】 AKI-H8マイコン専用マザーボードに付いていた説明書の通りにマザボを作成し、3052F用に改造も施しています。 何度か見直ししてみましたが、一応すべての工程はこなしていると思います。 電源は9V1.2AのACアダプタを使っています。 問題のLED1、LED2は、電源→3052Fマイコン→抵抗(1.5kΩ)→LEDという経路で繋がっています。 LED1、LED2どれだけ電圧がかかっているのかテスターで計ってみると 光っていない時は0.5Vくらいで、光っている時だと1.8Vくらいでした。 さらに遡って、マイコン側から出てくる電圧も計ってみると 光ってないときは2Vくらいで、光っているときは3.5V前後でした。 【質問】 そもそも、マザーボードがちゃんと完成している状態だと電源を入れただけでLED1、LED2は光るものなんでしょうか? また、何か原因があってこうなっているのであれば、分かる範囲で構いませんので 怪しいと思える箇所を教えていただけるとありがたいです。 ※もちろん、情報が足りない部分があれば追記させていただきます。 よろしくお願いします。

  • H8マイコンによる組み込みプログラミング入門

    この分野の初心者です.マシン語,アセンブラ,CPUの仕組みは理解できていますが,CPUと周辺との入出力,デバッグ環境等はまったく自信なしです. H8マイコンを使って,組み込みプログラミングを学習したいと思います.秋月から出ている,AKI-H8~ が手頃なようですが,どれを購入したら良いのかよくわかりません.ゆくゆくは,自分で回路なんぞ組み立ててH8から制御してみたいのですが,現時点では,LCDへの表示やLEDの点灯等の簡単なものを行いたいのです.C言語はできるので,開発環境一式そろったものが良いのです. AKI-H8/3052F USB開発キット(フルセット) AKI-H8/3052F開発セット(H8マザーボードセット) AKI-H8/3048開発キット(即使えるキット) など,8000円台前後でいろいろあるようですが (1)組み立ては難しいですか? (2)パソコンと接続するのに,他に何か必要なのですか? (3) ROMに焼けるのですか?(何回も) (4)最初に述べた目的を達成するには,何を購入すれば良いですか.

  • H8/3052Fマイコンのアドレスバス、データバスについて

    AKI-H8/3052Fで装置をLCDタッチパネルを駆動しようと思っていますが。  実はAKI-H8/3052Fは電源5V、しかし、LCDタッチパネルのLCDコントローラーが3.3Vなので、モード5で使用の場合に、アドレスバス、データバス、制御線(RD WRなど)の異電圧の信号をどうしたらよいか困っています。  どうか、教えてください。

  • Aki-h8/3052マイコンについて

    今Aki-h8/3052マイコンを勉強しているのですが、初心者のためうまくいかず質問をしました。知識がないと思われるような質問をしてしまいますが、よろしくお願いします。 次のようなプログラムを書き込んで、LEDを点滅させたいのですが点滅しません。原因がわからないので、教えていただける方がいたらよろしくお願いします。 #define P5DDR (*(volatile unsigned char*)0xffffc8) #define P5DR (*(volatile unsigned char*)0xffffca) void wait (long loop){ while(loop--); } int main(void){ P5DDR = 0xff; while(1){ P5DR = 0xff; wait(200000); P5DR = 0; wait(200000); } } ポートBを使用した場合うまくいくのですが、ポート5を使用するとうまくいきません。 コンパイラにはGDLを、書き込みにはH8Write Turboを使用しています。

  • H8マイコンでled制御

    H8/3052FのマイコンとAKI-H8-USBのキットを使用しています。 ledを制御する際に、通常はportのデータレジスタの該当ビットをlow(0)にしたときに消灯、high(1)に点灯となると思うのですが、 なぜか逆になります。つまりlowレベルのとき点灯します。 他に接続しているスイッチも逆になっているみたいです。 回路の組み立てがおかしいのでしょうか? 理由が分からず悩んでいました。 よろしくお願いします。

  • 今すぐ使える!H8マイコン基板 について

    この正月に、「今すぐ使える!H8マイコン基板」の本を購入し試していますが、 SB基板を購入接続し、 第13章 時刻をLCDに表示する実験-----で、 キャラクタLCDモジュールに -------------------- [H8SX]   ERROR! RCT Power Fail. --------------------            と切り替わり表示されてしまいます。 SB基板のリセット・スイッチを押しても、同じERRORに切り替わってしまいます。 外部電源が必要なのでしょうか? どなたか、お分かりになる方がございましたら是非教えていただきたい!と思います。 よろしくお願い申し上げます。

  • AKI-H8-USBについて

    秋月のH8/3052FのUSB開発キットを使っています。 1.USBケーブルを接続しても認識されません。不明なデバイスというのであればわかるのですが、接続自体認識していないようです。どういったことが原因なのでしょうか? 2.キットに入っている説明書をそれぞれ一通り読みましたが、結局訳が分からずどういった手順を踏めばきちんと動作するのかがいまいち飲み込めませんでした・・・ 本当に初歩的な質問で申し訳ありません。 どなたかAKI-H8-USB開発キットを使ったことがある方は教えていただければ幸いです。

  • H8マイコンをモノにしたいです!!

    学習用のH8マイコンキットを買い、H8マイコンの勉強がしたいと考えています。 現在、購入の際に考えているのは、 1.マイコンの基礎などのテキストが付いているモノ。(マイコン初心者なので、始めはテキスト通りに進めたい) 2.ハンダ付けの経験はないので、既に組んであるモノを探してます。 3.C言語を使ってマイコンの勉強が出来るモノ。 4.機能としては、スイッチ、LED、7セグメントLED、またはLCDが付いているモノ。 色々調べて、今の候補は、 ・ビーリバーエレクトロニクスさんの、マイコン学習ボードBASIC(17000円) ・Yellow Softさんの、H8マイコン学習セット(55000円) を考えているんですが、値段を見たときに、もちもん安い方が購入しやすいですが、 正直なんでこんなに違いがあるのかも分かりません。 マイコンをこれから勉強するにあたって、どの学習キットを選べばいいか、アドバイスください。 (上の2つ以外でも、良いキットがあればお願いします) ちなみに私は、C言語の入門は終えましたが、マイコンは初心者です。 どなたかアドバイス頂けないでしょうか?? ※上記2点の学習用のH8マイコンキットはここを見ました。 <http://beriver.co.jp/cpu3.html#basic> <http://www.yellowsoft.com/products/h8gset.html>

  • AKI-H8/3069 syscallについて

    AKI-H8/3069FフラッシュマイコンLANボードを使っているのですが質問があります。 開発環境として梱包されてたCDよりcygwinを用いて開発しています。 そこで質問なのですが、H8/osを使ってprintfを使用しているのですが、 その通信速度を変更したい場合どこの値をいじればよいのでしょうか? ヘッダーとしてcyscall.hを読み込んで実行しているのですが、 中を見ても速度を指定するような記述はありませんでした。 わかりにくいかもしれませんがよろしくお願いいたします。