1月 262017
 

前回の「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タグ

タグ名 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タグ

タグ名 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書込みユーティリティ


この記事で紹介した製品

REX-USB61mk2製品画像
REX-USB61mk2 - USB-SPI/I2Cプロトコル・エミュレーター(ハイグレードモデル)

 返信する

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

(必須)

(必須)

*