[H8-ML(4672)] Re: 3664Nの内蔵EEPROMへのアクノリッジポーリング動作について
From: wacky <wacky@xxxxxxxxxxxxx>
Date: 2004年04月13日(火)22時59分31秒
自己レスです。

メーカに直接質問したほうが良いと教えていただき、そのようにした結果、回答
を得ました。早い話が、3664NのEEPROMの不具合だそうです。

もうソフト80%、ハード50%ほど出来ていたのですが、デバッグの不自由さ
(モニタプログラムと内蔵RAM2kで細々とデバッグ)とか、価格メリットの小さ
さ(秋月で3069F+25MHzクリスタルが1750円で買えてしまう)とか考えて、3069
で作り直そうと思います。

以下、メーカ回答の抜粋です。

[回答]
大変申し仕分けありませんが、H8/3664NのEEPROMの論理に不具合があります。
内蔵EEPROMは、停止条件を検出すると書き込みモードになってしまい、10msの間、
ACK=1を返してしまいます。
そのため、開始条件発行、スレーブアドレス発行、ACKの検出、停止条件を繰り返す
ようなアクノリッジポーリングの場合、停止条件によってEEPROMが書き込みモー
ドとなり、10msの間ACK=1を出力します。この様なルーチンでのアクノリッジポー
リングはできません。
大変申し訳ありませんが、御了承ください。

『H8/3694ご検討のお願い』
この問題以外にH8/3664のIICモジュールには色々な問題があり、ソフトの開発が
難しくなっております。
I2Cバスで通信を行うのでしたら、H8/3694のIICバスインターフェース2(IIC2)を
推奨します。
EEPROM搭載版でしたらH8/3694GNを推奨します。
H8/3694GNは今回の内蔵EEPROM論理不具合も修正済みです。

【その他の推奨理由】
(1)I2Cバスの通信プログラム開発が容易
H8/3664のIICではIIC以外の割り込み処理によりIICの処理が滞ると予期しない問
題が多く生じます。そのため、お客様の御要望の動作が得られない可能性があり
ます。
また、こちらのサポートも十分対応できない可能性もあります。
この様なプログラム開発の難しさを改良するためにIIC2モジュールを新たに開発
しました。
IIC2では、I2Cバス通信中他の割込みを禁止するといった制限事項もありませ
ん。
 
(2)開発時間の削減
IICからIIC2へのソフト互換はありませんので、ソフト開発を始めから行って頂
く事になります。ですが、プログラム上の制限事項や予期しない問題が発生しな
いため、ソフト開発のトータル時間は短くなります。
実際、3664のIICでプログラム開発に手間取っていたお客様がH8/3694に切り替え
たらスムーズに開発が終了した例もございます。

(3)3664とピンコンパチ
H8/3694は、H8/3664とピンコンパチですのでハード的に置き換えも容易です。

(4)アプリケーションノート
Tinyホームページ、アプリケーション情報の応用例にIIC2を用いた応用例も掲載
されています。
以下にTinyシリーズのホームページを示します。
http://www.renesas.com/jpn/products/mpumcu/16bit/tiny/index.html
Tinyシリーズホームページから、
左側のメニュー、アプリケーション情報をカーソルでポイント
現れるメニューの中から応用例をクリックして下さい。
応用例のページ、メニューの中から基礎編 I2Cもしくは応用編 I/F、I2Cをクリッ
クして下さい。
次の参考例をダウンロードして御参照願います。
基礎編
I2C No.2 I2CバスインターフェースによるMaster-Slave間通信(H8/3687)
    (H8/3694へも応用可能)
応用編
I/F No.10 シリアルEEPROM(I2C EEPROM)のアクセス(H8/3687)
       (外付けEEPROMへのリードライト、3694へも応用可能)
I/F No.12 シリアルEEPROM(I2C EEPROM)のリード・ライト応用例
       (H8/3687N、3694N内蔵EEPROMへのリードライト)
I2C No.2 I2CバスインターフェースによるMaster-Slave間通信2(H8/3687)
    (H8/3694へも応用可能)

I2Cバスの通信を行うのでしたらIIC2モジュールを搭載したH8/3694に切り替える
ことを強く推奨します。
ぜひご検討をお願いします。

以上、よろしくお願いします。

On Wed, 07 Apr 2004 22:49:23 +0900
wacky <wacky@xxxxxxxxxxxxx> wrote:

> わきだと申します。
> 3664Nに内蔵のEEPROMの動作についてなんですが。
> 
> 現在、データ書き込み後に10msの待ち時間を入れることで、読み書きとも問題な
> く行えているのですが、アクノリッジポーリング動作が正常に行えません。
> 
> 1byte書き込み後、ACKポーリングすると、8ms弱でACK'0'を返してくるのですが、
> その後すぐに読み込みを行おうとするとスレーブアドレスの送信でACK'1'を返し
> てきて通信できません。試しにACKポーリング後に再度ACKポーリングしてみたと
> ころ、合計15.6msほどかかりました。その後の読み込みにも失敗します。
> 
> 並列に接続しているAT24C1024では読み書き、ACKポーリングとも正常に行えてい
> ます。こちらのほうは、6.2msほどでACK'0'を返してきます。
> 
> どうも、たとえACKポーリングが正常動作したとしてもたいした時間短縮にはな
> りそうもないのであきらめても良いのですが。
> 
> うまく動作させているかたおられますでしょうか?
> 



スレッド概略
[4611(R)](起点)
 └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]