マイクロチップの新しい23K256は、8ピンディップで提供されている32キロバイトのSRAMメモリチップと8ピンSOパッケージで提供されています。 SRAMは、EEPROMのような、データ記憶媒体である。 SRAMに保存されているデータは一定の電力なしに失われますが、それは本当に迅速であり、構成サイクル数に制限はありません。 EERPOMは電力なしでさえデータを保存しますが、それは遅くならびに通常約100万枚のコンプリートサイクルに制限されています。
32K SRAMチップは通常、CPLD Advancement Boardで利用されているIS61LV256ALのように、15個のアドレスラインと8個のデータラインを持ちます。 23K256は4つの信号線を必要としていますが、パラレルメモリインターフェイスの速度を犠牲にします。 23の信号トレースをルーティングすることなく、ローピン数マイクロコントローラに追加のメモリを追加する優れた方法です。このチップを下にインタフェースする方法を正確に表示します。
Microchip 23K256,32K SPI SRAM(Mouser Search、Octopart Search、$ 1.48)。データシート(PDF)。
バス海賊
23K256(ピン#)
CS.
/ CS(1)
味噌
だから(2)
mos
Si(5)
時計
SCK(6)
g
/ hold(7)
g
VSS(4)
+ 3ボルト
VCC(8)
テーブルのように23K256をバス海賊ユニバーサルシリアルインタフェースツールにリンクしました。バス海賊の3.3Volt電源のみを利用してチップに電力を供給することは非常に不可欠です、23K256は5ボルトで評価されていません。
バス海賊は、任意の種類のコードを構成することなくチップについて発見するための簡単な方法であるが、正確なプリンシパルは、任意のタイプのマイクロコントローラを用いて23K256を利用することに適用される。この発表では、Google Code SVNからダウンロードできます。
Hiz> M <-Chooseモード 1.ホイズ ... 5. Spi. ... モード> 5 <-SPIモード モードセット ... <-30khz、すべてのデフォルト設定 SPIの準備ができて SPI> W < - キャピタル 'W'は電源装置を可能にします 電源投入 SPI>
まず、バス海賊を30kHzでSPIモードにし、すべてのオプションのデフォルト設定を選択しました。バス海賊のオンボード3.3ボルトの電源は、資金調達の「W」を有効にしました。
構成レジスタ
ビット7,6 =バイト(00)ページ(10)シーケンス(01)モード
ビット0 =保留無効(1)
データは、それぞれ32バイトの1024ページの23K256の内側に保持されます。読み取り範囲および構成範囲は、構成レジスタの6ビット7で設定されます。ストレージは、バイト(00)、32バイトのページ(10)によって、または32K(01)全体で順次にアクセスできます。シーケンスモードで動作します。これは、チェックアウトにアクセスするためにアクセスでき、32Kのストレージスペース内のどこでも、データの長さのデータ長を作成するための利得を提供します。
ホールドピンは、接続されるべきとまったく同じバス要件にある他のチップのときに転送を一時停止するために利用されます。構成レジスタのビット0はホールドピンを制御します。 1に設定すると、ホールドピンは無効になります。一般的な操作のためにグランドに接続しますが、ビット0を設定することで、そのパフォーマンスを完全に無効にすることができます。
コンフィギュレーションレジスタは、Compose Configurationコマンド(0B00000001)と新しい設定を送信することによって変更されます。
SPI> [0B1000001] <-Update Config Register CSが有効になっています 書き込み:0x01 <-Write Config Command 書き込み:0x41 <-value to barue CS障害者 SPI>
23K256チップの選択ライン([)を選択することで、SPIの取引を開始します。コンフィギュレーションレジスタの新しい設定(0B01000001,0x41)に準拠して、Compose Configurationコマンド(0b1、0x01、または1)を送信します。 MODEへのシーケンシャルゲインアクセスのビット6、および保留ピン機能を無効にするためのビット0を設定します。ビット5-1には関数がありませんが、データシートの状態は常に0に作成されます。これは、チップの選択信号(])を無効にすることで終了します。
SPI> [0B101 R]
CSが有効になっています
書き込み:0x05 <-Read Configレジスタ
読み込んだ:0x41 <-Value Read.
CS障害者
SPI>
次に、チェックアウト設定レジスタコマンド(0B00000101,0B101,0x05、または5)を使用して、設定が正しく書き込まれたことを確認します。このコマンドは、前回の操作で作成された値と一致する必要がある1バイト(R)を返します(0x41、または0B01000001)。
データアクセス
これで、チップにデータを作成していると同時にチェックアウトできます。データ作成コマンド(0b10,0x02、または2)から始まり、データの作成場所を識別する2バイトで準拠しています。保存する値はアドレスの後に送信されます。モードへの利得アクセスに応じて、1バイト、ページ、またはメモリ全体を単一の操作で埋めることができます。
SPI> [0B10 0 0 1 2 3 4 5 6 7 8 9 10]
CSが有効になっています
書き込み:0x02 <-Data composeコマンド
書き込み:0x00 <-addressバイト1
書き込み:0x00 <-addressバイト2.
書き込み:0x01書き込みへのデータのスタート
書き込み:0x02
書き込み:0x03
書き込み:0x04
書き込み:0x05
書き込み:0x06
書き込み:0x07
書き込み:0x08
書き込み:0x09
書き込み:0x0a
CS障害者
SPI>
Compose Placeをチップの先頭に設定してください(0 0)。 1から10の数字を保存するために10の値の全体を送信します。
データを構成した後、チェックアウトデータコマンド(0B0000001、0B11,0x03、または3)でそれをチェックアウトすることができます。
SPI> [010 0 0 R:10]
CS.有効
書き込み:0x03 <-Read Data Command
書き込み:0x00 <アドレスバイト1
書き込み:0x00 <-startアドレスバイト2.
バルクチェックアウト0x0Aバイト:<-read Out 10バイト
0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a
CS障害者
SPI>
チェックアウトデータコマンド(0B11)を送信し、読み込み開始を開始するアドレス(0 0)で順守します。 その後、10バイト(R:10)をチェックアウトしました。 10バイトは1~10の数字、前のステップで構成される全て同じ値です。
この投稿のように? あなたが逃したかもしれない部品メッセージを調べてください。 部品投稿をリクエストしたいですか? コメントにヒントを残してください。