SCTester Sequenceの説明
この送受信試験器(SCTester)は Block と呼ぶものに、
送信データや受信数などを設定して、
それを実行することにより、接続相手と通信します。
SCTester : Serial Communication Tester
Sequence を選択して実行すると、
設定した Block を連続的に実行することができます。
Block については、
SCTester Block の説明 をご覧ください。
目次
Sequence の説明
S0 の Block 設定
Sequence番号の選択
1) Block設定画面のSequence番号選択
2) 試験実行画面のSequence番号選択
Sequence Block の設定例
1) ADT7410の設定例
2) AQM1602の設定例
3) UART送受信の設定例 1
4) UART送受信の設定例 2
I2C Slave の場合の Sequence Block の設定例
1) Slave側の設定例 1
2) Slave側の設定例 2
3) Master側の設定
Sequence の説明
Sequence は、設定した複数の Block を連続的に実行するためのものです。
Sequence は、S0 ~ S3 の4個あります。
S0 ~ S3 のそれぞれに 64個の Block を持ちます。
1) Block設定画面の場合
[U] [D] ボタンにより、Sequence番号を増減し、選択します。
それぞれの Sequence で個別に Block を設定します。
2) 試験実行画面の場合
[UP] [DN] ボタンにより、Sequence番号を選択し、選択します。
[G] ボタンをクリックして、選択されている Sequence を実行します。
Sequence番号 S0 を実行した一例を以下に示します。
実行中は [G] ボタンは反転表示になります。
[G] ボタンが反転表示のときに [G] ボタンをクリックすると、動作終了します。
Block番号表示は、実行開始時の番号になります。
S0 の Block 設定
上記のSequence実行例で示した、S0 の Block の設定内容を以下に示します。
B00 : T : ABCDE
B01 : R : 5
B02 : W : 5000
B03 : J : 0
この例は、
B00 : ABCDE 5バイトを送信する。
B01 : 5バイト受信するのを待つ。
B02 : 5000mSec(5秒)待つ。
B03 : B00にジャンプする。
と、なります。
実行すると、B00 ~ B03 を繰り返します。
Sequence番号の選択
[S] ボタンをクリックして、[S] が緑色(Sequence選択状態)のときに、
増減が可能です。
Sequence番号は S0 ~ S3 の4個です。
1) Block設定画面のSequence番号選択
[U] [D] ボタンにより Sequence番号を増減します。
[U] : Up : インクリメント
[D] : Down : デクリメント
すべてのBlockタイプの画面に [U] [D] ボタンがあります。
[S] が緑色(Sequence選択状態)のときに、増減が可能です。
2) 試験実行画面のSequence番号選択
モニタONの画面です。
[UP] [DN] ボタンにより Sequence番号を増減します。
[UP] : Up : インクリメント
[DN] : Down : デクリメント
[S] が緑色(Sequnce選択状態)のときに、増減が可能です。
Sequence Block の設定例
1) ADT7410の設定例
シリアル通信試験器 I2C(SCtester I2C)に
I2C接続の温度センサモジュール ADT7410 を接続して
動作試験を行う例を紹介します。
温度センサモジュール ADT7410 は秋月電子通商で購入可能です。
Slave Address の設定
ATD7410 の Slave Address は、0x48 です。
2) 温度を読み込む。
温度を読み込むために S0 の Block を以下のように設定します。
S0 の設定
B00 : T : 0x2F : Reset
B01 : W : 2 : Wait 2mSec
B02 : T : 0x03 0x80 : Resolution 16-bit
B03 : T : 0x00 : Set Register Address : Temperature value
B04 : R : 2 : Read 2bytes : Read Temperature value
B05 : W : 3000 : Wait 3000mSec
B06 : J : 3 : Jump Block to B03
S0 の設定内容は以下の通りです。
B00 : Software reset : ADT7410 をリセットします。
B01 : 2mSec 待ちます。
B02 : A/Dコンバータの分解能を 16-bit に設定します。
B03 : 温度を読み込むレジスタを指定します。
B04 : 温度データ 2bytes を読み込みます。
B05 : 3000mSec 待ちます。
B06 : B03 にジャンプします。
3) Sequence を実行する。
Sequence を実行するには、まず [S] ボタンをクリックして
[S] ボタンを緑色にし、Sequence選択状態にします。
次に [UP] [DN] ボタンにより、
実行したいSequence S0 ~ S3 のいずれかを選択します。
S0 を実行した様子を以下に示します。
初期化した後、B03 ~ B06 を繰り返して 3000mSec ごとに
温度を取得している様子がわかります。
実行中は [G] ボタンが反転表示になります。
実行中に [G] ボタンをクリックすると、実行が終了して
[G] ボタンは通常表示になります。
2) ステータスを読み込む。
ステータスを読み込むために S1 の Block を以下のように設定します。
S1 の設定
B00 : T : 0x02 : Status Register Address
B01 : R : 1 : Read Status
B02 : E : : Block End
S1 の設定内容は以下の通りです。
B00 : ステータスを読み込むレジスタを指定します。
B01 : ステータスを 1byte 読み込みます。
B02 : 動作を終了します。
S1 を実行した様子を以下に示します。
ADT7410 のData Sheet には Bit[3:0] は 0000 と書いてありますが、
違うみたいです。
2) AQM1602の設定例
I2C接続LCD AQM1602 を表示するための Sequence Block の設定を紹介します。
なお、AQM1602 のモジュールのビジーフラグ BF の読み込みはできないようです。
読み込みを実行すると、その後の動作がおかしくなり、
電源をOFFしないと復帰しないようです。
I2C接続LCD AQM1602 は秋月電子通商で購入可能です。
Slave Address の設定
AQM1602 の Slave Address は、0x3E です。
a) AQM1602 の初期化
AQM1602 を初期化するために S0 の Block を以下のように設定します。
S0 の設定
B00 : T : 0x00 0x38 : Function set
B01 : T : 0x00 0x39 : Function set
B02 : T : 0x00 0x14 : Internal OSC frequency
B03 : T : 0x00 0x78 : Contrast Set
B04 : T : 0x00 0x5F : Power/ICON/Contrast control
B05 : T : 0x00 0x6A : Follower control
B06 : W : 200 : Wait 200mSec
B07 : T : 0x00 0x0C : Display ON
B08 : T : 0x00 0x01 : Clear Display
B09 : T : 0x00 0x06 : DDRAM address increased by 1
B10 : W : 3 : Wait 3mSec
B11 : E : Block End
b) AQM1602 の 1行目 を表示
1行目に 0 ~ 9、A ~ F を表示するために
S1 の Block を以下のように設定します。
S1 の設定
B00 : T : 0x00 0x80 : Set DDRAM address : 1行目の先頭アドレス
B01 : W : 2 : Wait 2mSec
B02 : T : 0x40 0x30 : Write data to RAM : 0
B03 : T : 0x40 0x31 : Write data to RAM : 1
B04 : T : 0x40 0x32 : Write data to RAM : 2
B05 : T : 0x40 0x33 : Write data to RAM : 3
B06 : T : 0x40 0x34 : Write data to RAM : 4
B07 : T : 0x40 0x35 : Write data to RAM : 5
B08 : T : 0x40 0x36 : Write data to RAM : 6
B09 : T : 0x40 0x37 : Write data to RAM : 7
B10 : T : 0x40 0x38 : Write data to RAM : 8
B11 : T : 0x40 0x39 : Write data to RAM : 9
B12 : T : 0x40 0x41 : Write data to RAM : A
B13 : T : 0x40 0x42 : Write data to RAM : B
B14 : T : 0x40 0x43 : Write data to RAM : C
B15 : T : 0x40 0x44 : Write data to RAM : D
B16 : T : 0x40 0x45 : Write data to RAM : E
B17 : T : 0x40 0x46 : Write data to RAM : F
B18 : E : Block End
c) AQM1602 の 2行目 を表示
1行目に G ~ V を表示するために
S2 の Block を以下のように設定します。
S2 の設定
B00 : T : 0x00 0xC0 : Set DDRAM address : 2行目の先頭アドレス
B01 : W : 2 : Wait 2mSec
B02 : T : 0x40 0x47 : Write data to RAM : G
B03 : T : 0x40 0x48 : Write data to RAM : H
B04 : T : 0x40 0x49 : Write data to RAM : I
B05 : T : 0x40 0x4A : Write data to RAM : J
B06 : T : 0x40 0x4B : Write data to RAM : K
B07 : T : 0x40 0x4C : Write data to RAM : L
B08 : T : 0x40 0x4D : Write data to RAM : M
B09 : T : 0x40 0x4E : Write data to RAM : N
B10 : T : 0x40 0x4F : Write data to RAM : O
B11 : T : 0x40 0x50 : Write data to RAM : P
B12 : T : 0x40 0x51 : Write data to RAM : Q
B13 : T : 0x40 0x52 : Write data to RAM : R
B14 : T : 0x40 0x53 : Write data to RAM : S
B15 : T : 0x40 0x54 : Write data to RAM : T
B16 : T : 0x40 0x55 : Write data to RAM : U
B17 : T : 0x40 0x56 : Write data to RAM : V
B18 : E : Block End
d) AQM1602 の 表示クリア
表示をクリアするために
S3 の Block を以下のように設定します。
S3 の設定
B00 : T : 0x00 0x01 : Clear Display
B01 : E : Block End
S0 を実行した様子を以下に示します。
続けて、[UP] ボタンをクリックして、S1 を選択し、
S1 を実行した様子を以下に示します。
続けて、[UP] ボタンをクリックして、S2 を選択し、
S2 を実行した様子を以下に示します。
LCDに表示された様子を以下に示します。
S3 を実行するとAQM1602の表示はクリアされます。
その後、S1 または S2 を実行すると、文字が表示されます。
3) UART送受信の設定例 1
UARTで送信後、受信する動作を繰り返すための
Sequence Block の設定例を紹介します。
S0 の設定
B00 : T : ABC{CR}{LF} : データ送信
B01 : R : 0 : データ受信
B02 : W : 3000 : 3000mSec待ち
B03 : J : 0 : B00にジャンプ
S0 を実行したとき、
接続相手がデータ受信後、データ送信を繰り返し行った場合、
実行画面は以下のようになります。
実行中は [G] ボタンが反転表示になります。
実行中に [G] ボタンをクリックすると、実行が終了して
[G] ボタンは通常表示になります。
4) UART送受信の設定例 2
UARTで受信後、送信する動作を繰り返すための
Sequence Block の設定例を紹介します。
S0 の設定
B00 : R : 0 : データ受信
B01 : T : 012{CR}{LF} : データ送信
B02 : J : 0 : B00にジャンプ
S0 を実行したとき、
接続相手がデータ送信後、データ受信を繰り返し行った場合、
実行画面は以下のようになります。
実行中は [G] ボタンが反転表示になります。
実行中に [G] ボタンをクリックすると、実行が終了して
[G] ボタンは通常表示になります。
I2C Slave の場合の Sequence Block の設定例
シリアル通信試験器 I2C(SCTester I2C)を2台使用して
一方を Master もう一方を Slave に設定して送受信を行う例を紹介します。
1) Slave側の設定例 1
I2C Slave 動作の場合、次のように S0 B00 だけに T と R を設定しておけば
送受信を行うことが可能です。
以下のように、B00 に R と T の両方を設定します。
S0 の設定
B00 : R : 5 : 受信数
B00 : T : WXY{CR}{LF} : 送信データ
送受信を繰り返し行った場合の画面を以下に示します。
Slave側はモニタON画面で、[G] ボタンはOFFのままで送受信が可能です。
Master側は B00 S0 の状態で S0 を [G] ボタンで実行します。
( Sequence を選択して [S] が緑色の状態 )
2) Slave側の設定例 2
Block を複数使用して送受信を行う例です。
以下のように設定します。
S0 の設定
B00 : R : 5 : 受信数
B01 : T : WXY{CR}{LF} : 送信データ
B02 : J : 0 : B00にジャンプ
このようにした場合は、B00 S0 の状態で
Slave側の S0 を [G] ボタンで実行してから
Master側を実行します。
( Sequence を選択して [S] が緑色の状態 )
3) Master側の設定
上記の "1) Slave側の設定 1" および "2) Slave側の設定 2" に対応する
Master側の設定は以下の通りです。
S0 の設定
B00 : T : 01234 : 送信データ
B01 : W : 50 : 時間待ち 50mSec : Slave側の処理時間待ち
B02 : R : 5 : 受信数
B03 : W : 3000 : 時間待ち 3000mSec
B04 : J : 0 : B00にジャンプ
B00 S0 の状態で S0 を実行します。
( Sequence を選択して [S] が緑色の状態 )
送受信を繰り返し行った場合のMaster側の画面を以下に示します。
A+-2C (ええ加減にC) のページに戻る
メールアドレス: apm2c.sumi@gmail.com
なんでも、気軽に ご相談ください。
担当:おの
えがおのでんし 案内