SDOTECK HOME

  • ご参考になりましたか?
    SDOTECKブログでは、みなさんからのフィードバックをお待ちしています。 説明が解らなかったり、もっと詳しく解説してほしいポイント・テーマがありましたら、お気軽にsudoteck@gmail.com までメールくださるか、記事にコメントして下さい。
  • -

RF PowerAMP なら

  • RF AMP DESIGN

HEX calc pro 1.00

  • HEX calc pro ver1.00
    エンジニア向けの16進と浮動小数点を混在して入力出来る計算機 。 Version 1.00 高機能な 16進電卓や科学計算電卓はありますが、いちいちモードを切り替えなければならず、最大の問題は16進数と小数点値を同時に使用出来ないことです。
    詳しい説明はここ
    iTunes ではここまで

ATT calc

  • ATT calc ver2.00
    iPhone 用 RF アッテネーター計算ソフトです。  RF開発エンジニアに必要な、 dBm - W 換算機能をはじめ、π型やT型の ATTを 設計する上で、必要な dB値から抵抗値を算出する機能と、 E24系列の抵抗値を 使用したときの減衰量(dB)と整合インピーダンス(Ω) が表示されますので、どの 抵抗値の組み合わせがよいか検討できます。  また、正確な値を必要とする場合に2個のE24系列抵抗を並列接続して理想の値を 求める計算機能も持っています。  操作はピッカーホイールを回すだけですので、実験中でも片手で簡単に操作 できます。

FIL Calc

  •  LPF 計算機
    RFエンジニア向けフィルター計算ソフト LPFやHPFの設計をするときに、いちいちパソコンを起動してフィルタを設計、結果をプリントアウトして、実験室に行ってネットワークアナライザで測定・実験、ちょっと修正したい時にまたパソコンの所にもどって、再計算...というのが結構面倒で、手軽にiPhone で計算できるといいいなと思って作りました。

iPhone APP

  • ATT calc ver2.00
    SDOTECK が開発した iPhone APP の紹介です。 NEWS---SWRproリリース

Amazon

  • AMAZON Books

RAKUTEN

  • RAKUTEN

mujic.jp

  • music.jp
    music.jp

サイト内検索には?

  • -------------------------------
    ◆下の検索機能でこのブログのすべての関連項目を検索出来ます。是非使ってみて下さい。
サイト内検索
ココログ最強検索 by 暴想

SCHEMATICS

BOSE

  • BOSE
    クワイアットコンフォート20
無料ブログはココログ

Google

  • Google

« I2C Read のはなし | トップページ | グラファイトシートのはなし »

2010年6月22日 (火)

I2Cページ書き込みについて

I2Cページ書き込みとは
この間のI2Cのはなしで書き足りなかったI2Cページ書き込みを書きます。
ハード的には
まずは
1)EEPROMなどのページ読み書き方法
I2cpager_w上図は16KB( 256x8Bit)以下のEEPROMへのアクセス方法です。読み書きするアドレスは8ビットで指定しますので、まずアドレス指定を書き込みモードのコントロールバイトで送り書き込み時は書き込む最後のデーターまで連続して送ります。読み込む時はアドレスまで送った後、再度スタートコンディションから読み込みモードのコントロールバイトを送ります。その後クロックに同期してデバイスからデーターが送られてきますが、次にデーターを受け取りたい時はマスター側からACKを返します。さいごのデーター時にACKを返さないことで終了を指示します。
 次に、それ以上の容量のEEPROMです。これには2種類のタイプがあります。
A)アドレスバイトを High & Low バイトと2バイト送り、A0〜 A15まで64KBまで指定できるようにしたもの。Microchipの 24C01C,24LC024など
B)コントロールバイトに 3Bit 拡張して 1バイトのアドレスを送って A0〜 A10までのアドレスを使う方法、さらにアドレスを2バイト使って A0〜A18まで使って512KBまで指定できるようにしたものがあります。microchipの24LC512など。
C)さらにデバイスアドレスを変えて最大8個を同一I2Cバス上に接続してコントロールバイトで見かけ上大きな容量のEEPROMをアクセスするように使うことが出来ます。
2)ページ書き込みのサイズに注意
Eeprompage各EEPROMにはページサイズといって一度に書き込みできるサイズが決められています。たとえば1Kbの24LC01Bでは 8Byteです。この場合 0x00 から 0x07 ですね。このとき続けて 0x08に書こうとすると 0x00に戻って上書きされてしまいます。また EEPROMの構造上これらページ単位で書き込みますので、1回づつ 0x00から0x07までページ書き込みをしないで8回書くのとページ書き込みを1回にまとめてするのでは、寿命に関係しますので、長期書き込みで信頼性を重視するならばページ書き込みを積極的に使うのが良いでしょう。
3)書き込みには時間がかかる
EEPROMはSTOPコンディションを受け取ると受信したページのバッファから実際のメモリーに書き込みを行います。通常5mS程度かかりますので、連続書き込みを早く行うと途中から書けないなんてトラブルが起こります。
ソフト的には
EEPROMには他にアトメルRohmセイコーインスツルなどコンパチブルな製品が多く生産されていますが、ページサイズやアクセス方法などメーカーで異なる場合が多いので、必ずデーターシートを確認しましょう。

« I2C Read のはなし | トップページ | グラファイトシートのはなし »

DIGITAL」カテゴリの記事

コメント

avagoのapdsー9960でカラーセンサーを使うためにシーケンスを組みましたが何故か各カラー読み出し時に一度読んだデータがラッチされて変わらない現象があります。i2cの通信波形は、正常であり原因がわかりません。何か通信上のトラブルでしょうか?

以下ご確認ください
1) 正常に読めている場合がほとんどでしたら、読めていない時の、直前の命令(コマンド)を疑ってください。時として処理に時間がかかるコマンドがあります。基本的に書き込み後は時間待ちをするといいかと思います。
2) A/D入力を切り替えてカラーを読むような動作をしている場合、切り替えてから正常に変換するまで時間がかかるかと思います。できれば読み込み完了の最後に、次の読み込み設定をして、ループや時間待ちの間にA/D変換が終わるよう設計されるとスマートです。
3) デバイスが忙しくて処理が間に合わない場合は「クロックストレッチ」といって読み出しシーケンス中にクロックラインをスレーブ側から引き延ばす場合もあります。
なかなか見つけにくいので、対策としては上記処理待ちを入れてみて改善するかどうかですね。

ちょっと APDS-9960 で検索してみました。
その中で
==========================
[COLOR/ALS]データ
16ビット(0-65535)で、"CDATAL/H(clear)、RDATAL/H(red)、GDATAL/H(green)、BDATAL/H(blue)"の
レジスタにそれぞれ格納されます。(数値は明るくなる程に増えて行きます)
(CDATALを 読み出せば、他の7バイトはラッチされ読出すまでデータの更新はされません)
==========================
とあります。
全部のレジスタを読み出すまでラッチされているようですが、この現象ですか?

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/556493/48692241

この記事へのトラックバック一覧です: I2Cページ書き込みについて:

« I2C Read のはなし | トップページ | グラファイトシートのはなし »