前回の「REX-USB61mk2の新機能 レジスタ設定ツール(その1)」では、
REX-USB61mk2用として新たにリリースされたレジスタ設定ツールを紹介し
実際にRTC-8564NBを接続し動作させてみました。
今回は、このレジスタ設定ツール用にレジスタマップ、レジスターフィールドを定義するXMLファイル
について説明します。詳しい説明は、レジスタ設定ツールマニュアル [USB61mk2_REG_10.pdf]に
記載されていますので、以下よりダウンロードして合わせてご覧ください。
http://www.ratoc-e2estore.com/products/detail.php?product_id=47#download
それでは、このレジスタ設定ツール用 XMLファイルの記述内容について説明していきましょう。
1.基本構造
レジスタ設定ツール用のXMLファイルは以下のような構造となっています。
・XML宣言文で始まります。
・root要素の下に「REX-USB61mk2の設定情報」「I2Cデバイスの設定情報」
「各レジスタおよびレジスタフィールドの定義」の各設定を記述します。
2.タグについて
各設定に記述するタグは以下のとおりです。
XMLファイルに記述するタグの一覧
タグ名 | 意味 |
root | 唯一のルート要素。 このファイルおける各要素のツリー構造の最上位となる要素です。 |
config | REX-USB61mk2の設定情報をまとめた親要素 |
controller | コントローラ名、アドレッシングサイズを定義する親要素 |
RegAddress_Size | デフォルトとなるレジスタアドレスのアドレス幅を指定 |
body | レジスタ設定情報をまとめた親要素 |
mode | REX-USB61mk2の動作モードを指定 |
frequency | 周波数を指定 |
frequency_HS | HighSpeedモードでレジスタアクセスする場合の周波数を指定 |
power | REX-USB61mk2の出力電源を指定 |
pullup | I2CのSDA,SCL信号をプルアップするかどうかを指定 |
ByteInterval | ライトアクセス時に、バイトごとに挿入するディレイ時間を指定 |
RegisterReadTime | レジスタの定期的なリード更新時間の初期値を指定 |
ByteOrder | 複数バイト長レジスタのバイトオーダーのデフォルト値を指定 |
TabPage | ページ(タブページ)ごとの項目をまとめた要素 |
SlaveAddress | タブページ内のレジスタをアクセスする際に使用するI2Cスレーブアドレスを指定 |
REGISTER | ページ上に表示するレジスタを定義 |
MasterCode | マスターコード(スレーブアドレスに先行して送信される1バイトのデータ)を指定 |
IntervalRead | レジスタ対する「定期的リード」の有無を指定 |
BITFIELD | ビットフィールドを定義 |
これらのタグの中には、親要素となるタグがいくつか有り、親要素タグで囲まれた中に子要素タグを記述する
ことができます。
タグの記述方法の詳しい説明は、レジスタ設定ツールマニュアル [USB61mk2_REG_10.pdf]に
記載されていますので、以下よりダウンロードして合わせてご覧ください。
http://www.ratoc-e2estore.com/products/detail.php?product_id=47#download
3.REX-USB61mk2の設定情報(Configタグ部)
REX-USB61mk2の設定情報を定義するConfigタグ部について説明します。
< Config > ~ < /Config > タグで囲まれた部分にREX-USB61mk2の設定情報を記述します。
Configタグの子要素として使用できるタグは、mode, frequency, frequency_HS, power, pullup,
RegisterReadTime, ByteInterval です。
■記述例
4.I2Cデバイスの設定情報(Controllerタグ部)
I2Cデバイスの設定情報を定義するConfigタグ部について説明します。
< Controller > ~ < /Controller > タグで囲まれた部分にI2Cデバイスの設定情報を記述します。
「description=」アトリビュートで表示名を設定できます。
Controllerタグの子要素として使用できるタグは、RegAddress_Size です。
■記述例
■表示例
5. 各レジスタおよびレジスタフィールドの定義
< Body > ~ < /Body >タグで囲まれた部分に各レジスタの定義を記述しますが、
複数のレジスタをグループ化し < TagPage > ~ < /TagPage >タグで囲み、
その内部に個々のレジスタ定義を < REGISTER > ~ < /REGISTER >タグで囲み
階層的に記述します。
■コントロールレジスタ1のレジスタ定義の例
以下は、セイコーエプソンの RTC-8564NB のコントロールレジスタ1のビットレイアウトです。
Address | Function | bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | Bit0 |
00h | Control1 | TEST | 0 | STOP | 0 | TEST | 0 | 0 | 0 |
TESTビット [bit7, bit3] | デバイスメーカーのTEST用で必ず “0” を書き込みます。 | |
STOPビット [bit5] | “1” をセットすると本デバイスのすべての動作が停止します。 “0” をセットすると、動作を再開(停止を解除)します。 |
以下が対応するレジスタフィールドのXML記述例です。
表示例
REGISTERタグおよびBITFILEDタグについて説明します。
タグ名 | REGISTER |
機能・意味 | ページ上に表示するレジスタを定義 |
アトリビュート | NAME=”str” REGADDRESS=”RegAdrs” SIZE=”size” ByteOrder=”str” HS_MODE=”Yes” SlaveAddress=”SalveAddress” |
アトリビュート | 設定値 | 機能・意味 |
NAME= | “レジスタ名” | レジスタ名を指定 |
REGADDRESS= | “レジスタアドレス” または “DIO” |
レジスタアドレスを16進数で指定 |
SIZE= | “レジスタのサイズ” | レジスタのサイズ(ビット幅)を”8″,”16″,”24″,”32″で指定 |
ByteOrder= | “オーダー文字列” | このレジスタサイズが複数バイト長の場合のバイトオーダーを指定する “BigEndian”,”Big”,”MSB”: ビッグエンディアン(上位・下位の並び) “LittleEndian”,”Little”,”LSB”: リトルエンディアン(下位・上記の並び) |
HS_MODE= | “yes”または”no” | このレジスタアクセスにHS-modeを使用するか使用しないかの指定 “yes”: HS-modeを使用する。マスターコードが送信される。 “no” : HS-modeを使用しない。(省略時) |
SlaveAddress= | “スレーブアドレス” | I2Cスレーブアドレス(デバイスアドレス)を16進数で指定 2桁の16進数: 7ビットアドレスと解釈。例)”0x51″または”51h” 3桁の16進数: 10ビットアドレスと解釈。例)”0x051″または”051h” |
タグ名 | BITFIELD |
機能・意味 | ビットフィールドを定義する ビット位置は、出現順で下位ビットから上位ビットへと割り当てられる |
アトリビュート | NAME=”str” bitSize=”n” ACCESSTYPE=”xx” |
アトリビュート | 設定値 | 機能・意味 |
NAME= | “ビットフィールド名” | フィールドに表示する文字列を指定 |
bitSize= | “ビットサイズ” | フィールドのサイズをビット数で指定 省略時は1となる。 |
ACCESSTYPE= | “アクセスタイプ” | “R”, “IN”: ReadOnly “RW”, “OUT”: ReadWrite(省略時) “N”: 未使用 |
今回は、REX-USB61mk2用として新たにリリースされたレジスタ設定ツール用に
レジスタマップ、レジスターフィールドを定義するXMLファイルについて説明しました。
関連記事
SPI/I2C Serial EEPROMへのアクセスを簡単に(その1)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その2)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その3)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その4)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その5)
I2C RTCデバイスにアクセスする
I2C気圧センサーにアクセスする
機能が大幅に強化されたSPI/I2Cプロトコル・エミュレータが新登場!!!
REX-USB61mk2で強化された機能(その1)
REX-USB61mk2で強化された機能(その2)
REX-USB61mk2で強化された機能(その3)
REX-USB61mk2で強化された機能(その4)
REX-USB61mk2の新機能 レジスタ設定ツール(その1)
REX-USB61mk2の新機能 EEPROM書込みユーティリティ
この記事で紹介した製品