こんにちは
前回の記事「SPI/I2C Serial EEPROMへのアクセスを簡単に(その4)」では、「USB61Uty.exe」の機能を使ってSerial EEPROM の一部分(数バイト)のみの書き換えを効率的に行う方法を紹介しました。
ただし、この作業もメニューから操作をひとつずつ指定する必要があるため、デバイスへのアクセス量が多くなってくると、作業が煩雑になり大変です。
そこで「USB61Uty.exe」にはこれらの作業を自動的に繰り返して行えるよう作業手順をスクリプトという形で記述してバッチ処理をする機能が用意されています。
今回はこのスクリプトの使用方法について紹介していきます。
SPI/I2C関連のトピック
REX-USB61-EEPROMに添付の専用ソフト EEPROMProg.exe Rev.2 がリリースされました。REX-USB61mk2に対応しました。そして、以下の設定・機能が追加されました。
デバイスへの電源供給 1.8V, 2.5V 使用周波数(SPI) 1KHz~50000KHz 使用周波数(I2C) 1KHz~50000KHz バス幅(SPI) Quad通信対応 登録済みデバイスおよびメーカが追加されました。
I2C FRAM Fujitsu製 / CYPRESS製 SPI EEPROM ISSI製 / SPANSION製 / winbond製 詳しくはREX-USB61-EEPROMの製品情報をご覧ください。
RATOC e2eStoreでは、SPI/I2C Serial EEPROM基板 REX-USB61-EEPROMとREX-USB61をセットにした商品『REX-USB61-EP』を販売しています。
Serail EEPROM以外のSPI/I2Cデバイスのアクセスについて説明した記事も以下に掲載しています。
REX-USB61の一つ一つの操作をスクリプトコマンドとして記述することでデバイスへのアクセス手順を簡単に表現できます。
また、一つ一つの操作を説明するためのコメント文を追加することで処理がわかりやすく記述されます。
そして、スクリプトを一度作成してファイルに保存しておけば、作業の自動化が可能です。
これによって開発作業をより簡単でわかりやすく進めることが可能となり開発作業の時間と手間を大幅に節約できます
以下のサンプルスクリプトを使って具体的に説明していきます。
# I2Cスクリプト例 # ATMEL製 AT24C128A Serial EEPROM 入出力 MODE=I2C # I2Cモード FILE1 "write.bin" # 送信データファイル FILE2 "read1.bin" # 受信データ保存ファイル1 FILE3 "read2.bin" # 受信データ保存ファイル2 INTERVAL=20 # 送信バイト間隔20uSに設定 FREQUENCY=100 # 周波数100KHzに設定 POWER=ON5 # 外部電源出力5V PULLUP=ON # SCL,SDAラインプルアップ ADDRESSMODE=7 # アドレスモード7ビット ADDRESS=50h # スレーブアドレス50h # ここからデバイスへアクセス # アドレス0040h番地から16バイトのデーターを読み出す RESET # バスリセット WRITE 00h, 40h # 書込み番地 0040h WRITE 61h,62h,63h,64h,65h,66h,67h,68h # 書き込みデータ ‘abcdefgh’ WRITE 69h,6ah,6bh,6ch,6dh,6eh,6fh,70h # 書き込みデータ ‘ijklmnop’ STOP # STOP # 正しく書けたか確認 # アドレス0040hから16バイトのデータを読み出す WRITE 00h, 40h # 読み出し番地 0040h READ 10h # 読み出し16バイト STOP # STOP # 書込み前のデータの保存 # 0040h番地から読み出したデータをFILE2へコピーする WRITE 00h, 40h # 読み出し番地 0040h READF 10h FILE2 # 読み出し16バイト STOP # STOP # アドレス0040hからFILE1のデーターを書き込む WRITE 00h, 40h # 書き込み番地 0040h WRITEF FILE1 # 書き込みデータ STOP # STOP # 正しく書けたか確認 # アドレス0040hから16バイトのデータをFILE3へコピーする WRITE 00h, 40h # 読み出し番地 0040h REPEAT=16 # 次の命令16回繰り返し READF 01h FILE3 # 読み出し1バイト STOP POWER=OFF # 外部電源出力0V END
このサンプルは次の処理で構成されます。
1. Serial EEPROMにアクセスするための準備
2. Serial EEPROMの0040h番地へ16バイトのデータを書き込んだ後、確認の読出し
3. Serial EEPROMの0040h番地から16バイトのデータを読み出してファイル2へ保存する
4. Serial EEPROMの0040h番地のデータを書き換えた後、読出してファイル3へ保存する
次頁[2]以降で各スクリプトを細かく見て行きましょう。
関連記事
SPI/I2C Serial EEPROMへのアクセスを簡単に(その1)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その2)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その3)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その4)
I2C RTCデバイスにアクセスする
I2C気圧センサーにアクセスする(その1)