6月 272014
 
サンプルスクリプト説明 – 1. Serial EEPROMにアクセスするための準備

◆スクリプト

Scrupt01

ここでは、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” を割り当てます

◆スクリプト

Scrupt02

ここでは、以下の動作条件を設定しています

  • インターバル: 送信バイト間隔 20μS
  • 周波数:100KHz
  • 電源供給:外部電源出力 5V
  • プルアップ:有効

④送信バイト間隔

送信するデータのバイト間隔を20μSに設定します。

【命令】 INTERVAL=
【意味】 送信するデータのバイト間に入る待ち時間間隔を設定します。(単位はμS)
待ち時間設定を行わない場合の初期値は0となります。
【パラメータ】 0~65535の数値を指定(0μS~65535μS)
※本設定は最低限設定された間隔を保証するもので、
実際の時間は処理時間を含み長くなります。
【記述例】
INTERVAL=20

送信バイト間隔20uSに設定します

⑤周波数

I2Cバスの動作周波数を100KHz に設定します。

【命令】 FREQUENCY=
【意味】 使用する周波数を設定します。
周波数は 1KHz 単位で設定が可能ですが、SPIでは実際に設定される周波数は、
本製品の周波数計算仕様による近似値となります。
設定値と実際に設定される周波数の関係についは、下の説明をご覧ください。

周波数設定を行わない場合の初期値は下記となります。
SPI 100KHz
I2C 100KHz

周波数はいつでも変更することができます。

【パラメータ】 SPI, I2Cで下記の設定が可能です。
SPI 1~12000
I2C 47~1000
【記述例】
FREQUENCY=100

周波数100KHzに設定します

※FREQUENCYの設定値と実際に設定される周波数の関係について(SPIモードのみ)
FREQUENCYに設定可能な値:1 ~ 12000 (KHz)

  • FREQUENCY ≧ 3031 の場合は、12000 KHz が設定される
  • FREQUENCY = 1, 750, 3000, 12000 はこのままの値が設定される
  • FREQUENCY の設定値が上記以外の場合は、以下の近似値計算による値が設定される
    X = 6024 / FREQUENCY の整数部分 実際に設定される周波数の値
    1020 ≦ X Y = X / 16 の整数部分
    6024 / ( Y × 16 ) の整数部分が設定される
    256 ≦ X < 1020 Y = X / 4 の整数部分
    6024 / ( Y × 4 ) の整数部分が設定される
    X < 256 6024 / X の整数部分が設定される

⑥外部電源出力

外部出力電源を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信号線をプルアップします

◆スクリプト

Scrupt03
ここでは、スレーブアドレス 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)

 返信する

以下のHTML タグと属性が利用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(必須)

(必須)

*