部品:1K 1-WIRE EEPROM(DS2431)

November 23, 2022 0 By xaed

Maxim DS2431 1K EPROMは1-Wireガジェットで、単一のマイクロコントローラピンを使用しているジョブに記憶されます。我々は以前に1線式温度計をインターフェースしたが、このEEPROMは1線式バスから直接電力を引き込むので、幾分異なります。この簡単な1-Wireメモリを作成するだけでなく、チェックアウトしている間も、データシート(PDF)を順守してください。

DS2431 1-Wire 1K EEPROM(Digikey#DS2431 + -nd、$ 1.67)

私達は私達のバス海賊ユニバーサルシリアルインターフェースを利用してDS2431 EEPROMを実証し、私達は私達の以前の1-Wire POSTにおける適切な接続および構成の選択をカバーしています。 DS2431には2つの接続点が2つの接続だけであります。ピン3は未接続のままです。前回と同様に、1線式バスを持つ2Kプルアップ抵抗を利用しました。

まず、バスPirateのBrowse ROMコマンドを利用してリンク付き1線式デバイスを決定します。

1-Wire>(240)<-Search ROMコマンドマクロ 1WIRE ROMコマンド:ブラウズ(0xF0) ガジェットを見つけました: マクロ1線式アドレス 1.0x2D 0x54 0xD2 0x00 0x00 0x00 0x00 0x2B <-address * DS2431 1K EEPROM <タイプ 2.0x2D 0xFE 0x8D 0x43 0x01 0x00 0x00 0x52 * DS2431 1K EPROM 3.0x2D 0x2B 0xed 0xef 0x00 0x00 0x00 0x7 * DS2431 1K EPROM 0x03デバイスが見つかりました。 最初の10のガジェットIDはマクロで提供されています。(0)を参照してください。 1線>

Browse ROMコマンドは、1-Wireバスにリンクされている3つのEEPROMがあることを公開します。バス海賊はマクロに64ビットの1線式アドレスを記憶しているので、毎回入力する必要がないので。マクロ(1)によって決まる最初のデバイスで動作します。

DS2431への書き込みは3つのステップを取ります。

DS2431の8バイトのスクラッチパッドのEEPROMバッファにデータを書き込む

スクラッチパッドの内容を確認するだけでなく、Compose Gain Accessキーへのアクセスを取得します。

長期保存のためにスクラッチパッドからEEPROMにデータをコピーします。

コマンド0x0fはスクラッチパッドに構成されています。スクラッチパッドは、EEPROMに恒久的に保存する前にデータを保持する8バイトのバッファです。

1線>(85)(1)0x0F 0x00 0x00 0 1 2 3 4 5 6 7 <コマンド 1ワイヤバスリセットOK 1Wire Compose ROMコマンド:一致(0x55)* 64bitアドレスを搭載 1ワイヤアドレスマクロ1:0x2D 0x54 0xD2 0x00 0x00 0x00 0x00 0x2B 1Wire Write:0x0f <-Write Pad. 1Wire Write:0x00 <-Beginアドレスバイト1 1Wire Write:0x00 <-Beginアドレスバイト2 1Wire Write:0x00 <-Data. 1ワイヤーライト:0x01. 1ワイヤーライト:0x02. 1ワイヤーライト:0x03. 1Wire Write:0x04 1ワイヤーライト:0x05. 1ワイヤーライト:0x06. 1Wire Write:0x07 1線>

Match ROMマクロ(85)は、非常に最初のデバイス(1)を分離します。 0x0fは、開始アドレス、0 0で準拠したスクラッチパッドに構成するコマンドです。最後に、スクラッチパッドで保存するために8バイトのデータを送信します。スクラッチパッドは8バイト、および8バイトすべてが一度にスクラッチパッドからEEPROMにコピーされます。

1線>(85)(1)0xAA R:3 R:8 R:2 R:2 <-COMMAND 1ワイヤバスリセットOK 1Wire Compose ROMコマンド:一致(0x55)* 64bitアドレスを搭載 1ワイヤアドレスマクロ1:0x2D 0x54 0xD2 0x00 0x00 0x00 0x00 0x2B 1ワイヤーライト:0xaa <-Readスクラッチパッド 1Wireバルク読み取り、0x03バイト:<-Accessコード 0x00 0x00 0x07 1Wireバルク読み取り、0x08バイト:< - データを確認する 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 1ワイヤーバルクリード、0x02バイト:< - 逆CRC 0x44 0x67 1Wireのバルク読み、0x02バイト:< - ここから1 0xFF 0xFF. 1線>

スクラッチパッドからEEPROMにデータをコピーするには、最初に最初にスクラッチパッドからのコードへの3バイトのゲインアクセスがコマンド0xAAで取得する必要があります。最初の3バイトは、スクラッチパッドに含まれているデータによって準拠したコード(0x00 0x00 0x07)への利得アクセスです。

1線>(85)(1)0x55 0x00 0x00 0x07
1ワイヤバスリセットOK
1Wire Compose ROMコマンド:一致(0x55)* 64bitアドレスを搭載
1ワイヤアドレスマクロ1:0x2D 0x54 0xD2 0x00 0x00 0x00 0x00 0x2B
1Wire Write:0x55 <-copy to eepromコマンド 1Wire Write:0x00 <-Access Code(3バイト) 1ワイヤーライト:0x00 1Wire Write:0x07 1線> !!!! < - リードビット 1Wireチェックアウトビット:0 1Wireチェックアウトビット:1 <ビット代替、完了 1Wireチェックアウトビット:0 1ワイヤーチェックアウトビット:1 1線>

コードへの適切なゲインアクセスを持つコマンド0x55は、スクラッチパッドをデータEEPROMにコピーします。ビット読み取り(!!!!)コピーが完了したときの0だけでなく0の間で交互に交互になります。

1線>(85)(1)0xF0 0x00 0x00 R:8 R:8
1ワイヤバスリセットOK
1Wire Compose ROMコマンド:一致(0x55)* 64bitアドレスを搭載
1ワイヤアドレスマクロ1:0x2D 0x54 0xD2 0x00 0x00 0x00 0x00 0x2B
1Wire Write:0xF0 <-Read Memory 1Wire WRITE:0x00 <-startアドレス(2バイト) 1ワイヤーライト:0x00 1Wireバルクリード、0x08バイト:<-Read Back Data 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 1ワイヤーバルク読み取り、0x08バイト:<データを超える 0x00 0x00 0x00 0x00 0x00 0x00 0x00 1線>

2バイトのメモリアドレス(0x00 0x00)によって準拠したコマンド0xF0は、データチェックアウトプロセスを開始します。最初の8バイト(R:8)は、以前に構成された値です。読み取りにはスクラッチパッドを含めなくても8バイトの制限がありませんので、さらに読まれてもメモリの終わりまで続きます。

空にしないでくださいあなたが逃したかもしれないどんな種類の部品メッセージに追いつくことを忘れないでください。