I2C送受信試験器
SCTester_I2C_ADT7410_S0_G_ON   I2Cの送受信試験を行う装置です。SCTester I2C と呼びます。
  SCTester : Sereal Communication Tester

  Master および Slave の送受信を試験することが可能で、
 また、100kHz または 400kHz の速度を選択可能です。

  このI2C送受信試験器は Sequence と Block というものを
 使用して送受信試験を行います。

  Sequence は S0 ~ S3 の4個あり、
 それぞれに Block を B00 ~ B63 の64個持っています。

  Block は個別に、
 処理終了、送信データ、受信数、待ち時間、指定Blockにジャンプ の
 5タイプを設定でき、複数のBlockを連続的に動作させることができます。

  上の写真は、I2C対応 温度センサモジュール
 ADT7410 を接続して送受信を行っている様子です。

  I2C対応 温度センサモジュール ADT7410 は、
 秋月電子通商で購入できます。



目次

SCTester Block について
 SCTester Block の説明 をご覧ください。

SCTester Sequencee について
 SCTester Sequenc の説明 をご覧ください。

I2C送受信試験器の外観

SCTester I2C インターフェース部の回路図
I2C-1 : 4ピンコネクタの型名
I2C-T1 : 4ピン ターミナルブロック

SCTester I2C とI2Cデバイスとの接続について


IF-Board-I2C基板
 IF-Board-I2C基板の説明 をご覧ください。



SCTester I2C の動作設定

I2C送受信試験器 SCTester I2C の基本動作について
I2C Master側の基本動作
I2C Slave側の基本動作

I2C送受信試験器 SCTester I2C のSequence動作

SCTester I2C のメニュー画面

SCTester I2C のAddress設定

I2C送受信試験器 SCTester I2C の モニタ画面操作について
 I2C送受信試験器 SCTester I2C の モニタ画面操作 をご覧ください。



I2C送受信試験器の外観
 以下に、I2C送受信試験器の外観を示します。

SCTester_I2C_Master_100kHz SCTester_I2C_Back



SCTester I2C インターフェース部の回路図
 以下に、回路図を示します。

SCTester_I2C_IF_SCH



I2C-1 : 4ピンコネクタの型名

   メーカー名 : JST : 日本圧着端子製造株式会社
   シリーズ名 : EHコネクタ

   ベース付きポスト(基板側コネクタ) : B 4B-EH

   ハウジング(ハーネス側) : EHR-4
   コンタクト(圧着端子) :
      BEH-001T-P0.6 (バラ状)
      SEH-001T-P0.6 (リール)

   EHコネクタのピンは 2.5mmピッチですが、
  2.54mmピッチの基板で、問題なく使用できます。



I2C-T1 : 4ピン ターミナルブロック
   リード線などをねじ止めすることができます。
   プラスの精密ドライバーでねじを締めてリード線をとめます。



SCTester I2C とI2Cデバイスとの接続について
  I2C-1 コネクタ(EHコネクタ)の信号は、以下のようになります。
                   
I2C-1信号名
1SCL : PB6
2SDA : PB7
3GNDD
4VDD


  I2C-T1 ターミナルブロックの信号は、以下のようになります。
                   
I2C-T1信号名
1SCL : PB6
2SDA : PB7
3GNDD
4VDD

 1) 接続デバイスが電源(VDD)を持っている場合
  接続デバイスが電源(VDD)を持っている場合は、VDDを接続しないでください。

  SCL, SDA, GNDD の 3信号 のみを接続してください。

 2) 接続デバイスが電源(VDD)を持たない場合
  I2C対応 温度センサモジュール ADT7410 などを接続する場合は
 VDD を接続して電源を供給します。



SCTester I2C の動作設定
  下の写真の黄色い四角で囲んだディップスイッチ SW1 により
 I2C動作の種類を設定します。
SCTester_I2C_Title_DipSW_Mark

 1) ディップスイッチ SW1 の選択
  ディップスイッチ SW1 による各動作選択は以下の通りです。

  a) Master 選択
   ディップスイッチ SW1 の 1 を OFF にすると Master になります。

  b) Slave 選択
   ディップスイッチ SW1 の 1 を ON にすると Slave になります。

  c) 100kHz 選択
   ディップスイッチ SW1 の 2 を OFF にすると 100kHz になります。

  d) 400kHz 選択
   ディップスイッチ SW1 の 2 を ON にすると 400kHz になります。

   以下に ディップスイッチ SW1 の設定による
  それぞれの動作モードを示します。

 2) Master : 100kHz
  ディップスイッチ SW1 の 1 を OFF
  ディップスイッチ SW1 の 2 を OFF
SCTester_I2C_Master_100kHz

 3) Master : 400kHz
  ディップスイッチ SW1 の 1 を OFF
  ディップスイッチ SW1 の 2 を ON
SCTester_I2C_Master_400kHz

 4) Slave : 100kHz
  ディップスイッチ SW1 の 1 を ON
  ディップスイッチ SW1 の 2 を OFF
SCTester_I2C_Slave_100kHz

 5) Slave : 400kHz
  ディップスイッチ SW1 の 1 を ON
  ディップスイッチ SW1 の 2 を ON
SCTester_I2C_Slave_400kHz



I2C Master側の基本動作
  SCTester I2C のMaster側の基本動作について説明します。

  [G]ボタンをクリックするとBlockに設定した処理を実行します。

  [B]を選択して、[G]ボタンをクリックした場合は、
 選択されているBlock番号の処理を単体で実行します。

  [S]を選択して、[G]ボタンをクリックした場合は、
 Sequenceに並んでいるBlockの処理を順次、実行します。

  [G]ボタンが反転表示されている状態を GO処理ON、
 通常表示されている状態を GO処理OFF と呼びます。

 1) データ送信
  Slave機器に対して、データを送信します。

  Master側の送信データ数とSlave側の受信データ数の設定は
 一致している必要があります。

SCTester_I2C_Master_B00_T
  Slave側が正常に応答した場合、送信したデータは、
 モニタ画面に表示されます。

 2) データ受信
  Slave機器に対して、受信データを要求します。

  Master側の受信データ数とSlave側の送信データ数の設定は
 一致している必要があります。

SCTester_I2C_Master_B01_R
  Slave側が正常に応答した場合、受信したデータは、
 モニタ画面に表示されます。



I2C Slave側の基本動作
  SCTester I2C のSlave側の基本動作について説明します。

  [G]ボタンをクリックするとBlockに設定した処理を実行します。

  [B]を選択して、[G]ボタンをクリックした場合は、
 選択されているBlock番号の処理を単体で実行します。

  [S]を選択して、[G]ボタンをクリックした場合は、
 Sequenceに並んでいるBlockの処理を順次、実行します。

  [G]ボタンが反転表示されている状態を GO処理ON、
 通常表示されている状態を GO処理OFF と呼びます。

 1) データ受信
  Master機器から送信されたデータを受信します。

  Slave側にはあらかじめ受信データ数を設定しておきます。

  Master側の送信データ数とSlave側の受信データ数の設定は
 一致している必要があります。

SCTester_I2C_Slave_B00_R
  Slave側が正常に応答した場合、受信したデータは、
 モニタ画面に表示されます。

 2) データ送信
  Master機器から受信データ要求があった場合、データを送信します。

  Slave側にはあらかじめ送信データを設定しておきます。

  Master側の受信データ数とSlave側の送信データ数は
 一致している必要があります。

SCTester_I2C_Slave_B00_T
  Slave側が正常に応答した場合、送信したデータは、
 モニタ画面に表示されます。



SCTester I2C のSequence動作
  SCTester I2C のSequence動作について説明します。

  SCTester I2C を2台使用して、
  Master側とSlave側をそれぞれ以下のように設定し場合の動作です。


 Master側の設定は以下の通りです。

  S0 の設定

B00 : T : 01234 : 送信データ
B01 : W : 50    : 時間待ち 50mSec : Slave側の処理時間待ち
B02 : R : 5     : 受信数
B03 : W : 3000  : 時間待ち 3000mSec
B04 : J : 0     : B00にジャンプ

 Slave側の設定は以下の通りです。

  S0 の設定

B00 : R : 5           : 受信数
B01 : T : XYZ{CR}{LF} : 送信データ
B02 : J : 0           : B00にジャンプ

  以下に、SCTester I2C のMaster側とSlave側のSequence動作について説明していきます。

  以下の画面のようにSlave側の[G]ボタンをクリックして
 GO処理ON状態にしてから、Master側の[G]ボタンをクリックして
 Sequence動作を開始します。

SCTester_I2C_Sequence_GO_ON

  Master と Slave で5回送受信を繰り返し、Master側をGO処理OFFにした時の
 様子を以下に示します。

  Master側
SCTester_I2C_Master_B00_S0_GO_OF

  Slave側
SCTester_I2C_Slave_B00_S0_GO_ON
  Slave側は GO処理ON の状態のままです。

  再度 Master側の [G]ボタンをクリックして GO処理ON の状態にして
 しばらく実行した後、Master側を GO処理OFF にしたときの様子を以下に示します。

  Master側
SCTester_I2C_Master_GO_OF

  Slave側
SCTester_I2C_Slave_B01_S0_GO_ON
  Slave側は、Master側が送信したデータ "01234" を受信した後、[B]01 の
 "XYZ[CR][LF]" の送信待ちになっています。

  この状態で、Master側の [G]ボタンをクリックすると、以下のように
 Master側はデータ "01234" を送信した後エラーになって GO処理OFF になります。

  SCTester I2C は GO処理ON のときに通信エラーが発生すると GO処理OFF になります。
  Master側 も Slave側 も同様です。

  Master側
SCTester_I2C_Master_Error

  Slave側は以下のように "01234" を受信して GO処理ON のままです。

  Slave側
SCTester_I2C_Slave_B01_S0_Wait

  ここで、Slave側の [G]ボタンをクリックして GO処理OFF にすると、以下のようになります。

  Slave側
SCTester_I2C_Slave_GO_OF

  GO処理OFF になり、Block番号も [B]00 に戻ります。

  ここで、Slave側の [G]ボタンをクリックして GO処理ON にして、
 Master側の [G]ボタンをクリックして GO処理ON にした後、
 すぐに GO処理OFF にすると、Slave側は、また [B]01 で待ち状態になりました。

  Slave側
SCTester_I2C_Slave_Continue

  そこで、Master側のBlock番号を以下のように [B]01 にして GO処理ON にしてみると
 Slave側は正常に動作を開始しました。

  Master側
SCTester_I2C_Master_Error

  Slave側
SCTester_I2C_Slave_B01_S0_GO_ON

  Master側が実行しようとしている動作と、Slave側が実行しようとしている動作が
 一致していないと正常に動作しません。

  Master側とSlave側の動作が一致しなくなった場合、いったん両側を GO処理OFF にして
 両方を [B]00 にします。
  そして、Slave側を GO処理ON にしてからMaster側を GO処理ON にすれば、
 正常に動作を開始します。


  それでも、正常に動作を開始できない場合は、Master側とSlave側の両方を
 モニタOFFにしてください。

  その後、再びモニタONにして、Slave側をGO処理ONにしてから
 Master側をGO処理ONにすると、正常に動作を開始します。


  最後に、Master側、Slave側 の両方の [ON]ボタンをクリックして、
  モニタOFFにした様子を以下に示します。

  Master側
SCTester_I2C_Master_Moni_OF

  Slave側
SCTester_I2C_Slave_Moni_OF



SCTester I2C のメニュー画面
  タイトル画面にタッチすると、以下のメニュー画面になります。
SCTester_I2C_Menu

  それぞれのボタンについて、以下に説明します。

 1) [ADR]
  I2Cのアドレスを設定する画面を開きます。

  [ADR] ボタンをクリックすると、以下の画面になります。
SCTester_I2C_Adr_F
  HEXデータを入力して、アドレスを設定します。


 2) [BLK]
  Block を設定する画面を開きます。

  [BLK] ボタンをクリックすると、以下の画面になります。
SCTester_Block_E_F
  Block のタイプを選択して設定します。

 3) [TST]
  I2C送受信試験を行うモニタ画面を開きます。

  [TST] ボタンをクリックすると、以下の画面になります。
SCTester_TST_OF
  送受信試験と送受信データのモニタを行います。


 4) [Save]
  I2Cアドレス と Block設定データ を内蔵Flash Memoryに格納します。

  [Save] ボタンをクリックすると、以下の確認画面が表示されます。

  a) Save 確認画面
SCTester_Save_OK_Cancel
  [OK] ボタンをクリックすると、格納を実行します。
  [Cancel] ボタンをクリックすると、何もしないで終了します。


 5) [Load]
  内蔵Flash Memoryに格納されている
 I2Cアドレス と Block設定データ を読み込みます。

  [Load] ボタンをクリックすると、以下の確認画面が表示されます。

  a) Load 確認画面
SCTester_Load_OK_Cancel
  [OK] ボタンをクリックすると、読み込みを実行します。
  [Cancel] ボタンをクリックすると、何もしないで終了します。



SCTester I2C のAddress設定
SCTester_I2C_Menu
  上記のメニュー画面で [ADR] ボタンをクリックすると、
 以下のAddress入力画面が表示されます。

SCTester_I2C_Adr_F

  Addressとして 0x3E を入力してみます。
  [3] と [E] を入力することにより、0x3Eが入力されます。

  最初に [3]を押した時点では、データは表示されず、下の画面のように
 [A] ~ [F] の上の部分の表示が HEX 2 となります。

SCTester_I2C_Adr_HEX_2

  次に、[E] を押した時点で、下の画面のように 0x3E が表示され、
 [A] ~ [F] の上の部分の表示が HEX 1 に戻ります。
SCTester_I2C_Adr_3E



  送受信試験器 SCTester の販売
   購入はこちら



A+-2C (ええ加減にC) のページに戻る




 メールアドレス: apm2c.sumi@gmail.com

 なんでも、気軽に ご相談ください。
 担当:おの

マスコット
  えがおのでんし 案内