SH2 SH7085 (4) iic (1) ― 2009年05月12日 21時40分53秒
SH7085 の iic を使ってみる。
今まで使用していた SH7144 とレジスタの構成が異なる。
ソフトの単純な流用はできないようだ。
iic のサンプルがないかと探してみるが Renesas にもない。
もちろんアプリケーションノートもない。
不親切だ。
探しているうちにテクニカルアップデートに
「IICバスインタフェース2(IIC2)マスタ受信モード時の注意事項について」
を見つけた。
どうも SH7080 シリーズは iic にバグを抱えているようだ。
内容を見てみると
・ マスタ受信モードでICDRRをリードする処理は8 クロック目の立ち上がりまでに行ってください。
・ マスタ受信モードはRCVD=1にし1バイトごとの通信で処理を行ってください。
と書いてある。
よく分からないがスタートコンディションを発行したらすぐに ICDRR をリードしなさいということか?
そして連続受信はできないことになる?
SH7080 グループ ハードウェアマニュアルを見ると、さらに
開始条件と停止条件を連続して発行しないでください。
とある。
つまり、ack のステイタスチェックができないということになる。 従って、EEPROM などの Write cycle time は単純に wait を挿入するしかない。
とんでもない不良品ではないか。
でも、こういった不良品にこそサンプルコードをつけてほしい。
このように使えば問題ないですよ....といった具合に
今まで使用していた SH7144 とレジスタの構成が異なる。
ソフトの単純な流用はできないようだ。
iic のサンプルがないかと探してみるが Renesas にもない。
もちろんアプリケーションノートもない。
不親切だ。
探しているうちにテクニカルアップデートに
「IICバスインタフェース2(IIC2)マスタ受信モード時の注意事項について」
を見つけた。
どうも SH7080 シリーズは iic にバグを抱えているようだ。
内容を見てみると
・ マスタ受信モードでICDRRをリードする処理は8 クロック目の立ち上がりまでに行ってください。
・ マスタ受信モードはRCVD=1にし1バイトごとの通信で処理を行ってください。
と書いてある。
よく分からないがスタートコンディションを発行したらすぐに ICDRR をリードしなさいということか?
そして連続受信はできないことになる?
SH7080 グループ ハードウェアマニュアルを見ると、さらに
開始条件と停止条件を連続して発行しないでください。
とある。
つまり、ack のステイタスチェックができないということになる。 従って、EEPROM などの Write cycle time は単純に wait を挿入するしかない。
とんでもない不良品ではないか。
でも、こういった不良品にこそサンプルコードをつけてほしい。
このように使えば問題ないですよ....といった具合に
コメント
トラックバック
このエントリのトラックバックURL: http://syslab.asablo.jp/blog/2009/05/12/4301904/tb
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※投稿には管理者が設定した質問に答える必要があります。