こんにちは。 cronosです。
PSoC Advent Calendar 2016 14日目の記事です。
http://www.adventar.org/calendars/1796
PSoCまつり2016に参加した後の反省会の中で出たお話。
「cronosさん、次は絶縁PSoCライタとかどうですかね?」
C「おーいいですね! 3週間頂ければ作りますよ!」
…などと、気軽に請けてしまったところからお話は始まります。
PSoCアドベントカレンダなので、PSoCを使う話を書くべき所ではありますが
PSoCを使うためのツールの紹介と、その製作過程について書いてみたいと思います。
●PSoCライタとは
CypressのPSoCシリーズは、PSoC1, PSoC3,PSoC4そしてPSoC5LPと多くの種類があります。
PCで開発した回路やプログラムを書き込むツール、開発中にデバッグをするツールとしてPSoCライタというものがあります。
・絶縁PSoCライタ・デバッガ
KitProg1をベースに、ターゲットとPCの間をトランスで完全に絶縁したPSoCライタ・デバッガ(以降PSoCライタと呼びます)です。 ケースに入った完成品として最安(JPY6000, USD60)のツールです。
PSoC3/4/5LPに対応しています。(1はサポートしていません。)
ターゲット側電源はターゲットから供給してもらいます。ライタから電源を供給するモードはサポートしません。 なぜならターゲット基板にも電源回路が載っていて、その電源の出力側から供給する形になるため最悪は電源回路を壊してしまう恐れがあるためです。 また、USBで十分な電力を供給出来ないターゲット(USBで供給出来ない電力を消費するターゲットは沢山ありますね。)に対して供給しようとすることで、デバッガ自体を破損したりターゲットの動作が不安定になったりとあまり良い事が起こらないためです。
サイズはminiProg3の約2/3です。
USBコネクタには入手が難しくなりつつあるminiUSBコネクタに代えてmicroUSBコネクタを採用しています。
現在、絶縁PSoCライタ・デバッガはモータを含むメカトロ系の開発、工場のライン投入用ツールとして利用されています。
スイッチサイエンス様のマーケットプレイスにて販売しており、近日英語サイトでも公開される予定です。
http://ssci.to/3053
・miniProg3
Cypressの純正品では、miniProg3という製品があります。(USD89)
この製品は、1.5〜5.5Vで動作するPSoC1,3,4,5LPを対象にしたツールです。
SWD, JTAG, I2Cの3つのI/Fを持っていて、ターゲットに電源を供給する機能も持っています。
http://japan.cypress.com/documentation/development-kitsboards/cy8ckit-002-psoc-miniprog3-program-and-debug-kit
今まで私も開発にはminiProg3を購入して利用していました。
実は少し前までBluetoothマウスの開発キット(USD60くらい)にminiProg3が入っていました。
miniProg3を購入するには、このキットを買うのが一番安い方法でした…が、この度製品の終息がアナウンスされてしまいました。
・KitProg
その他にも、CypressさんからCY8CKIT-059というPSoC5LPの評価ボードがUSD10と格安で販売されています。 これにプログラマ・デバッガ機能が付いていて、ターゲットと切り離して単体のデバッガとして使う事が出来ます。(KitProg1と呼ばれています)
しかし、このKitProg1はそのままでは電源電圧が5V固定です。
3.3V電源のターゲットでは基板を改造する必要があります。
●製作過程
・ケース探し
最初はケースを探しました。
aliexpressなどで”plastic enclosure”で検索して、サイズ・価格・クオリティのバランスが取れるものを徹底的に探します。
今回は元々USBドングルのような使い方を想定している小型ケースを採用しました。
サンプルが届き、採寸をしたら3D CAD上でモデルを作ります。
使っているCADはOnShapeです。 https://www.onshape.com/jp
・基板設計、試作
ケースの内寸に合う形の基板外形を3D CADで作り、基板CADにインポートします。
設計した回路に従って基板の設計を進めます。
・部品調達、基板製造、部品搭載
この辺りを纏めているのは全て外注だからです。
部品調達・基板製造・部品搭載は、全て深圳の部品商、深圳の基板工場で完結しています。
一部日本から送り込む部品もありましたが、基本的に深圳の部品商から直接工場に送り込んでいます。
電車通勤の移動時間を利用して先方とコミュニケーションをして、見積もりを貰い発注します。
支払いはpaypalを利用しました。(5%程度の手数料が掛かってしまいますが。)
その他の送金方法として銀行間送金(T/T)が有りますが、窓口まで行かなければならない事と想像以上に手数料が高い事から見送りました。
・ボード着荷
ニヤニヤが止まりません。 この日をどれだけ楽しみに待った事か。
ボードの実装品質をチェックしてから通電、ブートローダをマイコンに書き込みんだ後にPSoC Programmerでファームウェアを送り込みます。
幸い、全数良品とする事が出来ました。
・ケース加工
ケースの一部がコネクタに干渉する事が分かっていたので、CNCフライスを利用して削る加工を行います。 ちなみにケースも深圳から調達しています。
・最終組立、出荷検査
ケースにひたすらボードを入れ、検査用ターゲットに接続して動作を確認します。
完成です。 結構手間が掛かるでしょう?
もう少しお時間をいただく事になると思いますが、スイッチサイエンス様を通じて海外発送も出来るように準備を進めています。 → 海外発送に対応しました: https://international.switch-science.com/catalog/3053/
cronos様
お世話になります。giichiと申します。
miniprog3のmouseキットを購入しようと考えていたら絶版になっていて、
他にお手頃なライタ/デバッガが無いかを探していたら、cronos様のサイトに行き着いた次第です。
2点ほど質問させていただきたく、
1. 本機器は、PSoC5LPのJTAGにも対応しておりますでしょうか?
2. JTAG対応していた場合、購入したいと考えており、国内発送の場合、どのように手続きをすればよろしいでしょうか。
急なご質問で大変恐縮ですが、お手隙の際に回答を宜しくお願い致します。
お問い合わせ有り難うございます。
こんな過疎なBlogまで起こしいただき有り難うございます。
>1. 本機器は、PSoC5LPのJTAGにも対応しておりますでしょうか?
私が製造しているプログラマ・デバッガで(正式に)JTAGに対応しているものはありません。
SWDとJTAGで出来る事に差分はありません。 SWDをご採用頂けますと幸いです。
(少し興味があるのですが、JTAGを選択されたいのはなぜでしょう? JTAGの方が有利なことがあれば理解しておきたいなと
>2. JTAG対応していた場合、購入したいと考えており、国内発送の場合、どのように手続きをすればよろしいでしょうか。
SWD対応のみですが、現状はスイッチサイエンス様に販売を委託させていただいております。
https://www.switch-science.com/catalog/2490/
https://www.switch-science.com/catalog/3053/
どちらかご選定頂けますと幸いです。
この製品を購入しました。ところで、KitProg のデバッガには、UART ピンもでていて、Windows からは COM ポートとして使えます。I2Cだけで無く、UART も使えると便利だと思います。
こんにちは、お買い上げありがとうございます!
スペースの都合で現状はUARTを出していないのですが
今後のアップデートで対応を考えたいと思います。
ターゲットの電源を切ってしまうとターミナルが切れてしまうので、宜しければ絶縁USBシリアル変換基板も併せてご検討ください。こちらはターゲットの電源が落ちても切れずに維持できて便利です。