ネット偽善者でもいいじゃない

悩んでるなら面白いマンガ読もう

TWE-Strongにファームウェアを書き込む方法(てこずった)

TWE-Strongはピン配置が違って最初は難しい

2015/04/15 追記(TWE-Lite-Rを使った書き込み方法、一番下に記載)

TWE-liteを使って無線通信を行っています

今回は、TWE-liteのシリーズであるTWE-Strongを使って見てるのですが

まず、TWE-Lite DIPなどと違いピンの大きさが違います(ピンが0.4mm幅) そのため、簡単に書き込むには2.54mmピッチ変換基板が必要になります

TWE-Strongに使うピッチ変換基板

これ、ファームウェアなどを書き込みたい時(プログラムを書き換えたい時)に、コスモス電機さんのホームページには 「DIPと同じピン配置で、同じように書き込むことが出来ます」

みたいに書いてあるのですがどうみても難しいです・・・・ 電子工作初心者には厳しいものがあるかなと (電子工作歴長い方に聞いてみても「・・・これはわかりにくいよ」とおっしゃってました(^_^;))

とにかく、便利なツールではあるので苦労してなんとか使えるようにしました

とりあえず、配線を行う

ファームウェアの書き込みに使ったのが ・UART-USBケーブル or アダプター (シリアルピンを、パソコンのUSBと繋げるのに必要な部品) 今回はSWITCHSCIENCEさんのFTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)を用いました↓

FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)

FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)

Windowsパソコン(windows8を使いましたがwindowsであればなんでも良いと思います, コマンドラインを叩くのでもしかしたらMacでもいけるかもしれません(未確認)) ・ジャンパーピン ・ブレッドボード ・ブレッドボード用スイッチ(2.54mmピッチ変換基板があれば無くてもいけると思います) スイッチは例えばこんなのです↓

ELPA タクトスイッチ 小 HK-TKS01H

ELPA タクトスイッチ 小 HK-TKS01H

(ちなみに、最初はTWE-Liteのプログラム書き込み用の通信ケーブル接続可能なTWE-Lite Rで試してましたけど、うまくいかなかったのでアダプターを用いましたがたぶんTWE-Lite Rでもできます。 試してみたら追記しよう)

公式ページを参考に、配線してみたけど初心者にはわかりずらいです(笑)

UART-USBケーブルでの書き込み - TOCOS-WIRELESS.COM

そもそもピン配置が違うからな・・・

2.54mmピッチ変換基板にピンソケットをはんだ付して TWE-Strongを2.54mmピッチ変換基板に載せた状態にします こんな感じ↓

f:id:Yhei:20150413214130j:plain

次にブレッドボードと繋ぎます、配線は、行ったやつを書くと(5iとか20hとか書いてあったらブレッドボードのアルファベットと数字のことです) ピッチ変換基板のピン配置と名前は以下を参照

2.54mmピッチ変換基板 - TOCOS-WIRELESS.COM

シリアル変換アダプターとブレッドボードの接続

・ブレッドボードの+列(電源)とFTDI USBシリアル変換アダプターのVCCをジャンパーピンで接続 ・ブレッドボードの-列(グランド)とFTDI USBシリアル変換アダプターのGNDをジャンパーピンで接続

シリアル変換アダプターとピッチ変換基板の接続

・シリアル変換アダプターのTXとピッチ変換基板の8ピン(DIO7, UART Receive Data(input), RXピンのこと)を接続 ・シリアル変換アダプターのRXとピッチ変換基板の7ピン(DIO6, UART Transmit Data(output), TXピンのこと)を接続

ピッチ変換基板とブレッドボードの接続

・ピッチ変換基板の39ピン(VCC)を電源に接続(+列に直接でも、5iとかに橋渡しでもどちらでも。僕は5iにジャンパーピンを挿して、5jと+列をさらにジャンパーピンで繋ぎました。以下同様にしました) ・ピッチ変換基板の40ピン(GND)をグランドに接続(-列でも橋渡しでもどちらでも可) ・ピッチ変換基板の27ピン(RESETN, Active Low Reset, リセットボタン(RST)のこと)をブレッドボードの28iに接続(後でスイッチと接続します) ・ピッチ変換基板の23ピン(MISO, SPI Master In / Slave Out, これがプログラム書き込み用のピン(PMG)の代わりになります、ここが最初わからなかったので苦労した・・・)

ブレッドボードにスイッチを接続

スイッチには足が4つあります。スイッチは2つ使います(RST(リセット)用とPGM(プログラムモード)用)

・スイッチの一つは、足4つをそれぞれブレッドボードの20f, 22f, 20e, 22eに接続しました(PGM用) ・スイッチのもう一つは、足4つをそれぞれブレッドボードの28f, 30f, 28e, 30eに接続しました(RST用) ・ブレッドボードの22aとマイナス列(グランド)を橋渡し ・ブレッドボードの30aとマイナス列(グランド)を橋渡し

これを行うと、↓の写真のようになると思います(わかりにくいですが・・・)

f:id:Yhei:20150413210459j:plain

f:id:Yhei:20150413210524j:plain

ここまで出来たら、次に電源をいれてプログラムを書き換えていきます!

プログラムの書き込みはjenprogで行わないとできなかった

ToCoStickとか、TWE-Lite DIPなどはTWE programmerってアプリを使えばドラッグアンドドロップで書き込みが出来て便利なのですが

TWE-Lite専用プログラマ - TOCOS-WIRELESS.COM

おそらくこの書き込みソフトではStrongに書き込みできません、なんかCOMポートを認識しないってエラーが出ます ↓

f:id:Yhei:20150413222132p:plain

(このエラーのせいでよくわからなかったのでTWE-Lite Rは使ってませんが、たぶんTWE-Lite Rでも書き込めるので 後日やってみます)

パソコンにUSBケーブルを挿し、シリアル変換アダプターとつなぐ

書き込みするのに参考にしたサイト↓

Darkside

TWE-Liteのファーム開発・書き換え方法 - 天ノ岩戸

TWE-Lite RでTWE-LiteにFWの書き込み。 - Qiita

USBケーブルと接続するとパソコンを電源として電流が流れます(ちなみにシリアル変換アダプターは3.3Vとなるようにしておいてください。購入した時点では、ジャンパーピンが3.3Vになるように接続されてました)

FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き) - スイッチサイエンス

次に、PMGスイッチを押しながらRSTスイッチを押して、RSTスイッチから指を離してからPMGスイッチから指を離すと TWE-Strongがプログラム書き込みモードで立ち上がります (これでTWE programmerでも書き込めるのかなと思っていたのでハマってしまいました・・・) (ちなみに、ピッチ変換基板にもPGMボタンとRSTボタンがついてるので、こちらでも可能だと思います)

次に、jenprogを立ち上げます UART-USBケーブルでの書き込み - TOCOS-WIRELESS.COMのページからjenprog単体をダウンロードしてもよいですし、ToCoNet SDK - TOCOS-WIRELESS.COMのページからToCoNetのSDK全部入りをダウンロードしてやっても良いです。僕はパソコンにSDK全部入りをダウンロードしていたのでそちらを用いました

SDK全部入りのフォルダを開いて、ディレクトリ(フォルダ)の階層で TWESDK/Tools/jenprog/bin と開いていって、binフォルダのなにもない所でshiftキーを押しながら右クリックすると 「コマンドウィンドウでここを開く」が出てくるので開きます 参考

TWE-Lite RでTWE-LiteにFWの書き込み。 - Qiita

(コマンドライン(黒い画面)が出てくるけど怖くないです大丈夫です)

コマンドラインが出てきたら

jenprog

とうつと、接続されているポートの名前(USBの接続ポート)が出てきます

例えば、TWE-Lite RでTWE-LiteにFWの書き込み。 - Qiitaのサイトだと COM3 に接続されているので

jenprog -t COM3

と打つと、状態が表示されます

プログラムを書き込んでみる

プログラムを書き込むためには、書き込みたいプログラムが同じフォルダ内にある必要があります(そのほうが簡単)

なので、先ほどのbinフォルダ内(TWESDK/Tools/jenprog/bin)に書き込みたいプログラムやファームウェアを置いて 書き込みます。 例えば公式サイトから、標準アプリをダウンロードしてきて アプリ・ダウンロード - TOCOS-WIRELESS.COM

TWE-Strong用のファームウェアをbinフォルダに移します。 今回僕はApp_TweLite_Master_JN5148_1_6_7.binというのを用いました(JN5148はTWE-Regular/Strong用、JN5164はTWE-Lite DIPなど用のプログラムみたいです)

App_TweLite_Master_JN5148_1_6_7.bin をbinフォルダ内にコピーしたら、またコマンドラインから入力を行います

jenprog -t COM3 App_TweLite_Master_JN5148_1_6_7.bin

と入力してみましょう。そしたら参考サイトのように

writing...

と出てきて書き込みが始まるはずです

ここでerrorなど出てくる場合は、配線が間違えているか プログラム書き込みモードになっていないので、PMGスイッチとRSTスイッチを用いてモードを切り替えて下さい。

出来てしまえば簡単なことなんですが、なんの説明もないのでここまで辿り着くのに時間かかりました・・・

なんにせよ、これでTWE-Strongが使えるようになったので色々実験できます!

わからないこととかあったらコメント欄などにどうぞ

追記 TWE-Lite-Rを使った書き込み方法

TWE-Lite-RとTWE-Strongを接続して、jenprogを使うことで書き込みすることが出来ました。

配線は下記のようにつなぎます TWE-Lite-Rのピン配置はTWE-Lite DIPのピン配置の名前を参考にしてください (数字はピン配置) (リンク先PDF注意)

TWE-Strong(ピッチ変換基板) - TWE-Lite-R

VCC(39) - VCC(28)

GND(40) - GND(1)

RX(8) - RX(3)

TX(7) - TX(10)

RESETEN(Active Low Reset)(27) - RST(21)

MISO(SPI Master In / Slave Out)(23) - PE

TWE-Lite-RのPEは、下記リンクの使用例Cで用いている、先端の5Pピンヘッダの真ん中になります USBアダプター TWE-Lite R(トワイ・ライター) - TOCOS-WIRELESS.COM

つないだ写真

f:id:Yhei:20150415123735j:plain

あとは↑に記載しているように、jenprogでの書き込みが行えるようになります RSTボタンとPRGボタンはTWE-Lite-Rについてるボタンを押すことで出来ますので TWE-Lite-Rを持っている場合はこっちのほうが楽ですね