サンプルスクリプト説明 – 1. Serial EEPROMにアクセスするための準備
◆スクリプト
ここでは、USB61の動作モードと使用するファイルの定義をしています。
①コメント
【命令】 | # |
【意味】 |
行中の[#] 以降はコメント文として取り扱います 行の先頭に [#] を記述すると、その行はコメント行となります。 また、命令を記述した行の後ろに [#] を記述した場合はそれ以降をコメント文として取扱います。 |
【パラメータ】 | なし |
【記述例】 |
# ATMEL製 AT24C01A Serial EEPROM 入出力 MODE=I2C # I2Cモード |
②モード指定
【命令】 | MODE= |
【意味】 |
REX-USB61の動作モードが SPI か I2C かを指定します。 MODE命令にデフォルト設定はなく、指定されていない場合は文法エラーとなります。 設定後は途中でモードを切り替えることはできません。 |
【パラメータ】 |
SPI I2C |
【記述例】 |
MODE=I2C I2Cモードを指定します |
③ファイル指定
本スクリプト中で使用するファイルとしてファイル “write.bin”, “read1.bin”, “read2.bin”
をそれぞれファイル番号1~3に割り当てます。
【命令】 | FILEn |
【意味】 |
n にはファイル番号が入り、最大5ファイルまで使用可能です。 “”(半角のダブルクォーテーション)で囲ったファイルからデータの送受信を行います。 データはバイナリデータとして扱います。 ファイルの指定は、フルパスではなくファイル名で行い、送信時に同じディレクトリ内にファイルが無い場合はエラーとなります。 受信の場合は新たにファイルが作成されます。 |
【パラメータ】 |
n=1~5 “ファイル名” |
【記述例】 |
FILE1 "write.bin" ファイル番号1にファイル名 “write.bin” を割り当てます |
◆スクリプト
ここでは、以下の動作条件を設定しています
- インターバル: 送信バイト間隔 20μS
- 周波数:100KHz
- 電源供給:外部電源出力 5V
- プルアップ:有効
④送信バイト間隔
送信するデータのバイト間隔を20μSに設定します。
【命令】 | INTERVAL= |
【意味】 |
送信するデータのバイト間に入る待ち時間間隔を設定します。(単位はμS) 待ち時間設定を行わない場合の初期値は0となります。 |
【パラメータ】 |
0~65535の数値を指定(0μS~65535μS) ※本設定は最低限設定された間隔を保証するもので、 実際の時間は処理時間を含み長くなります。 |
【記述例】 |
INTERVAL=20 送信バイト間隔20uSに設定します |
⑤周波数
I2Cバスの動作周波数を100KHz に設定します。
【命令】 | FREQUENCY= |
【意味】 |
使用する周波数を設定します。 周波数は 1KHz 単位で設定が可能ですが、SPIでは実際に設定される周波数は、 本製品の周波数計算仕様による近似値となります。 設定値と実際に設定される周波数の関係についは、下の説明をご覧ください。 周波数設定を行わない場合の初期値は下記となります。 周波数はいつでも変更することができます。 |
【パラメータ】 |
SPI, I2Cで下記の設定が可能です。 SPI 1~12000 I2C 47~1000 |
【記述例】 |
FREQUENCY=100 周波数100KHzに設定します |
※FREQUENCYの設定値と実際に設定される周波数の関係について(SPIモードのみ) | ||||||||
---|---|---|---|---|---|---|---|---|
FREQUENCYに設定可能な値:1 ~ 12000 (KHz)
|
⑥外部電源出力
外部出力電源を5Vに設定します。
【命令】 | POWER= |
【意味】 |
パラメータで設定された電源の出力を行います。 電源はいつでも変更することができます。 電源設定を行わない場合の初期値は「出力OFF」となります。 |
【パラメータ】 |
出力 設定値 出力OFF OFF 出力3.3V ON3 出力5.0V ON5 |
【記述例】 |
POWER=ON3 外部電源出力を3.3Vに設定します。 |
⑦SCL,SDAラインプルアップ
SCL, SDA信号のプルアップを行います。
【命令】 | PULLUP= |
【意味】 |
SDA, SCL信号線のPull-up設定を行います。 電源電圧5V、周波数 1MHz の設定時のみ OFF とすることが可能です。 上記の設定以外で本命令を実行するとエラーとなります。 |
【パラメータ】 | ON または OFF |
【記述例】 |
PULLUP=ON SDA, SCL信号線をプルアップします |
◆スクリプト
ここでは、スレーブアドレス 50h (7bit指定)の設定しています。
⑧アドレスモード
アドレスモードに7ビットモードを設定します。
【命令】 | ADDRESSMODE= |
【意味】 | I2Cアドレスを7ビットモードか10ビットモードに設定します。 |
【パラメータ】 | 7 または 10 |
【記述例】 |
ADDRESSMODE=7 アドレスモード7ビット |
⑨スレーブアドレス
Serial EEPROMのスレーブアドレス 50h を指定します。
【命令】 | ADDREESS= |
【意味】 |
I2Cアドレスを指定します。 アドレスはいつでも変更することが可能ですが、アドレス指定する前に「READ」や「WRITE」がある場合、文法エラーとなります。 |
【パラメータ】 | 0 ~ 1023 |
【記述例】 |
ADDRESS=50h スレーブアドレス50h |
以上でデバイスにアクセスする準備ができたので、実際のアクセス処理を次頁[3]以降で見て行きましょう。
関連記事
SPI/I2C Serial EEPROMへのアクセスを簡単に(その1)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その2)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その3)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その4)
I2C RTCデバイスにアクセスする
I2C気圧センサーにアクセスする(その1)