TWE-Lite の覚え書き

最終更新  2015.12.1


◆◆ 基本機能 ◆◆


28 pin のマイコンである。
親機と子機の間で双方向通信を行う。

> 使い方

子機は

1  --- Gnd
28 --- Vcc (2.3 V -- 3.6 V)

の接続をするだけで動作する。
5 V には対応しない。3.3 V で動作させるため、
AC アダプタを使う場合は 3.3 V の三端子レギュレータが必要。

親機は上記に加えて

13 --- Gnd

> 親機と子機の関係

親機が送信した信号は、全ての子機が受け取る。
子機(複数 OK)が送信した信号は、親機が受け取る。

> 端子配置

analog in    22 23 24 25   (a.ch.1-4)
digital in   15 16 17 18   (d.ch.1-4)
PWM out      4 6 7 11      (a.ch.1-4)
digital out  5 8 9 12      (d.ch.1-4)

UART out     10
UART in      3
UART speed   20  Open(115.2k) Gnd(38.4k)

mode set  M1(13)  M2(26)  M3(27)

モード設定用端子は open/Gnd のどちらかにする

子機は 4 つのモードがある

M3 M2 M1
O O O 連続送受信
O G G 連続受信 0.03 秒ごとに送信
G O O 間欠 1 秒
G G G 間欠 10 秒

PWM の周波数はオシロで見ると 1 kHz


◆◆ ToCoStick (USB ポートに差す) の使い方 ◆◆


COM ポートとして認識される。
親機としてふるまう

< teraterm の設定 >

速度  115.2 k
改行コード  送信は cr + lf   受信は cr / cr+lf のどちらでも良い

子機が連続モードのとき、入力が変化したときと、
1 秒に1 回くらいの割合でデータを受信する

例

:7881150163810040FA781AC3000A531E0001FFFFFFFFFF07

:   先頭を表す
78  送信元デバイス id    78 は子機 連続モード
81  コマンド番号         81 は受信
15  パケット識別子
01  プロトコルバージョン 01 固定
63  受信電波品質
810040FA  相手の個体識別番号  TWE-Lite 製造時に設定される 変更不可
78    受信端末の論理デバイスID   78は子機連続モード
        書籍では親機(00) となっているが、なぜか私が購入したものは
        親機として動作しているにも拘らず 78 となる。
1AC3  タイムスタンプ
00    中継フラグ         01 : 中継    00 : 中継でない
0A53  送信機の電源電圧
1E    未使用
00    デジタル入力  順番は   - - - - D4 D3 D2 D1   (0:5V  1:0V)
01    その状態変更  同上  変更があったなら 1 になる
      バグ? のためか、1 回でも変更したら、その bit は永遠に 1 になる
FFFFFFFF  アナログ入力  順番は A1 A2 A3 A4
FF        その補正値 (2 bit × 4)  順番は ef4 ef3 ef2 ef1
          電圧は ch.1 なら ( (A1 × 4 ) + ef1 ) × 4 [mV]
07        チェックサム

< 設定変更 >

+++   を入力すると設定モードに移行

親機 device id = 121  79h
子機 devide id = 120  78h

S で再起動


◆◆ インストールされているプログラムを書き換える ◆◆


https://mono-wireless.com/jp/products/TWE-APPS/LiteProg/index.html

に接続して書き込み用アプリをダウンロードする。
TWE-Programmer.exe を実行する。

書き込むプログラムは以下にある。

https://mono-wireless.com/jp/products/TWE-APPS/App_Twelite/download.html

・UART 専用にする

(1) 内蔵プログラムの書き換え

TWE-Programmer.exe を起動する。

「接続再チェック」を押して、PC が TWE-Lite を
認識しているか否かを確認する。

背景色が薄赤色になっている場合は、
接続先を正しいポートに設定する。

認識できたら、薄青色になる。

App_Uart_Master_JN5164L1-0-6S_1_2_15.bin  を書き込む。

(2) TeraTerm で接続して設定する

・通信の設定

接続してから以下のように設定する

設定 --- 端末           改行(送信)  CR+LF
設定 -- シリアルポート  ボーレート  115200

画面クリアしてから、TWE-Lite の RST ボタンを押す。
!INF TOCOS ..... という応答が返ってくる。

・設定の変更

+++ と打つ。0.2 秒間隔くらいで打つ。
速すぎてもゆっくり過ぎてもいけない。
間隔が不適切だとインタラクティブモードに
入らない。極めて微妙。

Device ID --> 121 (0 を押す) 親機    1-100 子機
UART baud --> 9600 or 38400 (デフォルト)
UART mode --> T

に設定し直す。

S を押してセーブする。

(3) 動作チェック

私の場合は Raspberry Pi のシリアル出力に接続してチェックする。

9600 bps の場合、4 byte 送信すると、
受信波形は 1 バイト目とそれ以降が離れている。

38400 bps の場合、送信波形と受信波形は 4 バイト分くらいずれる。

オシロで観測する場合、時間のレンジによっては
受信波形を見落とす可能性があるのに注意。

(注意1)

上記の設定は TWE-Lite プログラマで、プログラムを再度書き込んでも、
デフォルトには戻らない。

一旦、透過モードに設定すると、こちらから何を打っても透過する。
+++ と打ってインタラクティブモードに入らない限り、全く反応がない
ように見える。再度接続した場合の操作法は注意3を見ること

(注意2)

UART baud の設定は、20 番ピンを Gnd にした場合のみ
有効になる。デフォルトは 115200 になる。
また、USB から TeraTerm で接続するときも常に 115200 である。

(注意3)

一旦 UART 用プログラムを書き込んで、設定した TWE-Lite を
再設定する方法

1. TWE-Lite 用ソケットに TWE-Lite を差す
2. USB ケーブルをソケットに接続する。
3. TWE-Lite プログラマを起動する
4. TWE-Lite プログラマの「接続再チェック」をクリック
5.「TWE-Lite のリセット」をクリック(不要かも)
6. TeraTerm で接続し、以下のように操作
   コントロール --- 端末リセット
   編集 --- 画面クリア
   設定 --- 端末    送信を CR + CF
   設定 --- シリアルポート   ボーレート  115200

8. TWE-Lite を差しているソケットのリセットスイッチを押す

9. TeraTerm
   +++ を押す(トントントンという感じで 0.2 秒間隔程度。かなり速く)
   かなりしつこく何回も試す


◆◆ 故障のチェック ◆◆


UART 通信ができないという現象に悩まされた。
原因は TWE-Lite の故障であった。

故障しているか否かのチェックは以下のように行う。

TWE-Lite プログラマを起動し、接続に成功してシリアル番号を
取得できるかチェックする。