cronos雑記

[PSoC Advent Calendar 2016 14日目] 絶縁PSoCライタ

by on 12月.14, 2016, under PSoC

こんにちは。 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/

Leave a Comment more...

テストプローブ

by on 12月.13, 2015, under 未分類

ボードの検査を自動化したくて、環境整備を行っています。
基板1枚ごとに手動で5ステップの操作を行っていました。

(ループバック接続、2次側電源OFF)
1. TeraTermを接続
2. PCからテキスト送る → 応答が無い事を確認
3. 2次側電源ON
4. PCからテキスト送る → 応答があり、同じキャラクタが帰って来る事を確認
5. 2次側電源OFF

ここまでを自動化。

あとは基板に信号を繋ぐテスト端子の整備だけ。
テストプローブを作るメーカさんは何社かあって、そこに作っていただく事も考えましたが、どうしてもお値段が…。

最近、amazonでポゴピン(スプリング付き端子)が売られていると教えて貰い
試しに調達してプローブを作ってみました。というのが今日の記事。

01 02 03 04 05 07 08 09 10

Leave a Comment more...

PSoC5_EVB [R3]

by on 10月.01, 2014, under PSoC

PSoC5_EVB [R2]の廉価版、[R3]を作りました。
ここではR2とR3の差分について纏めてみたいと思います。

こんなフォーマットで行きますね。
●変更点
[R2]: R2での仕様
[R3]: R3で変更された仕様

●デバイス価格
[R2]: \6,000.-
[R3]: \4,700.- (頑張った!)

●PSoCデバイス
[R2]: CY8C5868LTI-LP038 (Flash:256kB, SRAM:64kB, EEPROM:2kB)
[R3]: CY8C5267LTI-LP089 (Flash:128kB, SRAM:32kB)

●USB I/F
[R2]: CP2102-GM http://bit.ly/1rt9UKm
[R3]: PSoC5LP USB I/F (w/BootLoader)

●電源
[R2]: 電源端子(3.3V~15V)
[R3]: 電源端子(3.3V~15V) , USBバスパワー

●クロック
[R2]: 外付け16MHz クリスタルオシレータ
[R3]: PSoC5LP内蔵OSC (オシレータ外付け可)

●I/O電源
[R2]: 3.3V固定
[R3]: 3.3V or 外部入力電圧(1.8~5.5V, EXTピンに供給、バンク毎の設定)

●付属品
[R2]: ヘッダピン セット
[R3]: なし

…とまぁ、ざっくり上記のような差分があります。
メモリを32kB以上使っていたりしていなければ、以前のR2のプロジェクトが
デバイス指定の変更だけで動く可能性があります。

★UARTを使っていると、若干手を入れる必要が出てきます。
1. USB_UARTに置き換えていただく
USB_UARTに置き換えることで、PCからシリアルポートして
認識させる事が出来ます。
USB_UARTでの通信例については、サンプルプログラムを公開しています。

2. 外付けでUSBシリアルを繋いでいただく
外付け回路が付いてしまいますが、ピンアサインの変更だけで済みます。
コードの変更は0で済むでしょう。
近日、スイッチサイエンスさんで頒布する事が出来ると思います。
ぜひご検討ください。

あ、そうそう。サンプルプログラム、回路図その他は、以下リンクにあります。
ここ

IMG_6346.JPG

Leave a Comment more...

しごと、やめました。

by on 9月.30, 2014, under 未分類

新卒から15.5年勤めていた、通信用部品メーカを辞めました。
2010年前後までは、やりたい事をやる事が出来る良い社風だったけど
ここ最近は、全くその面影すら無い状態になっちゃって
お客さんの要求納期を丸呑みして、歪を技術者に丸投げする
歪んだ環境になってしまってました。
3ヶ月ほど、別の事業所に出向してたのだけど、そこでも全く状況は一緒。
これはおかしいだろう。
という事で転職活動を開始。
無事、私を必要としてくれるメーカに巡り会いました。
私こと くろのすは、11月より株式会社Cerevoでハード屋として働きます。
Leave a Comment more...

2ch電圧源。

by on 9月.22, 2014, under PSoC, 未分類

微小電流源を別件で試作していて、評価のために細かく設定出来る
電圧源が欲しくなったので、横道に逸れて作ってみた。

手持ちで有った16bit 2chのDACの出力を任意に設定する方向で。
全体の制御はPSoC5LPで行って、エンコーダとOLEDで表示と設定を。
LiPOバッテリを内蔵して、残量管理と充電も出来るように。

 

写真 2014-09-20 0 10 58 写真 2014-09-19 23 21 53 写真 2014-09-20 0 06 10

概ね完成したので、後で資料を纏めて記事を書いてみよう。
電流源の方は、200pA~20mA辺りまでリニアな様子。

写真 2014-08-24 23 47 30 写真 2014-09-21 17 47 33 写真 2014-09-21 18 27 24

 

Leave a Comment more...

割り込み処理

by on 5月.19, 2014, under PSoC

割り込み処理を書くのだ。
いつも前プロジェクトを使い回しているので
テンプレを作ってblogに残して置こうと思う。

☆下準備
System/Interrupt を回路図に置いて、OEという名前を付ける。

☆コード
CY_ISR(OE_isr) {
SD_Access_Write(SD_Access_Read()?(0):(1));
}

void main()
{
OE_Start();
OE_StartEx(OE_isr); // 出力許可SW押下検出

CyGlobalIntEnable; // Enable all interrupts by the processor.

for(;;) {}
}
//——————————————
おやくそく0
回路図上で、hogeで宣言した割り込み端子の
割り込みハンドラはhoge_isr。

おやくそく1
CY_ISR(hoge_isr); は、main()より前に置く。

おやくそく2
hoge_Start();と
hoge_StartEX(hoge_isr);の順番だいじ。

Leave a Comment more...

[ PSoC5-EVB ] 試作。

by on 4月.07, 2013, under PSoC

PSoC5_TEST

以前、PSoC5の味見を目的にユニバーサル基板にQFNのPSoC5を載せて
SDカードをシリアルポート経由で読み書きするようなテスト回路を作って遊んだ。
SDカードの読み書きが出来るってのはとても素晴らしい事だと思ったので
PSoC5(3も載るけどね)用のDIP化ボードを作ってみた。

PSoC_EVB_PS PSoC_EVB_PS2 PSoC_EVB_SS

CPUはPSoC5 (3も、5LPも載るよ)
USB-UART I/F搭載(非絶縁)
MicroSDカードスロット搭載
SDカードアクセスLED x1 (GPIOへ接続)
デバッグ用LED x2 (GPIOへ接続)
電源3.3~15V入力(逆接続保護回路内蔵)
3.3V 0.8A出力 DC-DCコンバータ搭載
クリスタルオシレータ(16.0MHz)搭載
基板サイズは25 x 50mm

とまぁ、手持ちの回路総動員で、なるべくコンパクトになるように目指した。
外に出るGPIOは24本で、3.3Vの電源出力もある。
今回もSeeed Studioの基板製造サービスを使ったのだけど
最近Seeedさん、4層基板を始めたので今回はそれを使ってみた。
なので両面基板の時に常に悩みの種となる電源配線が相当ラクになった。

10pinのJTAG対応I/Fを載せたのだけど、デバッガとの間にケーブルは必要だわ
地味に場所喰うわであんまり良いこと無かったので、次のリビジョンを起こす時は
5pinのSWD対応I/Fで設計しようと思ってる。

今の所、頒布と同時に回路図、PSoC Creatorのプロジェクト一式を公開する予定。
みんなに便利に使って貰えたら幸い。

8/27追記
PSoC5ボードの情報を纏めたページを作りました。
ここ。

2 Comments more...

[DCDC180-HP] でけた。

by on 4月.07, 2013, under SW電源

以前、切手(くらいの)サイズのニキシー管用昇圧電源を作った。
あの時は180V 1W出力だったんだが、今作ろうとしているプロジェクトには
出力が不足するようなので、もうちょっとパワーが取れる電源を
作ろうかなと始めてみた。

1Wのは電源をUSBから取る前提で設計したので5V入力だった。
変換効率は約75%くらい。
今回は、出力が大きくなるので入力電圧を上げ、12Vとしてみた。
ダイナミック点灯で使う事を前提として設計したので、出力Cはフィルムで。
効率としては80%前後を期待して。

DCDC180-HP_PS DCDC180-HP_SS DCDC180-HP_PS2 DCDC180-HP_efficiency

ちょうど、秋月で売ってる小さいブレッドボードに乗っかるサイズ。
ICのデータシートの数式から、約10Wの出力が取れる計算だったんだが
出来上がってみたら、ぴったり半分の出力しか出ない。
よく式を見てみたら、出力電力を計算する式が電力を1/2するの抜けてる。
インダクタを充電する時、電流は右肩上がりの三角波になるのだけど
そこを矩形波としてモデリングしてるんだ。 そりゃエネルギ倍になるわ。

という事で約5W出力、変換効率は概ね計算通りの83%前後。
私の目的には合っていないので作り直しだけど、頒布はしてみようと思う。

Leave a Comment more...

[ PSoC5 ] ソフト書き。

by on 2月.13, 2013, under PSoC

さてさて、しばらく時間が開いちゃいましたが。
UART(と、その周辺)の前プロジェクトからの移植とか
ChaNさんのFatFSの移植なんぞをやってました。

とは言っても、FatFSの移植は一人の知識ではどうしようも無かったので
東大f-tecさんのblogからプロジェクトを頂いて、微修正で実装させて頂きました。
ありがとう、東大f-tecの人!

という事で、現状のソースをプロジェクトごと公開しときます。

UART I/F ~ ストリングバッファ+コマンドI/Fサンプル
上記 + fatfs(R0.08b) 上記 + fatfs(R0.09b)
共にPSoC Creator2.2で作成したものです。
MCUはCY8C5247LTI-089です。

最後に、上記サンプルを使ってテキストファイルを開いてみた時のお写真を。
PSoC5_fatfs

# 追記:130215
 書き込みが出来るようになったので、お写真を。
上に置いたプロジェクトファイルも差し替えました。
fatfs_fixed

2 Comments more...

[ PSoC5 ] 試食。

by on 1月.19, 2013, under PSoC

今までAVRを使ってきたのだけど、firmwareが不自由なcronosさんは
RAMを使いすぎてカツカツで、ツラい開発に疲れました。
昔、PSoC1の頃に紹介して貰って、デバイス色々見て回った結果AVRを
選択していた訳なんだけども、最近また、MFTの時にPSoCイイヨって
オススメされたので、ちょっと調べてみた。

PSoCも世代が進んでいたようで、PSoC3(M8Cコア,8bit) , PSoC5(Cortex-M3,32bit)
なるものが出ている事に気がついて。 Cortex-M3はちょっと気になっていたので
PSoC5を味見してみようかなって事に。

デバイスは、Digikeyでも買えるんだけど、Cypress本家のHPから買う方が安くて
しかも送料無料(現時点)。 これは使わない手は無いよね。
で、デバイス買った直後にCypressがPSoC5LPをMPにしおった。
スピードも速くて同規模が安い。Cypressめ…。

デバッガ(MiniProg3)もCypress本家から調達したんだけど、こっちは送料掛かった。まぁ良いけど。

という事で味見ボードを作ってみている。

psoc5_01 psoc5_02

何しろリソースが潤沢なので、あれこれ載せてみたくなって、こうなった。
まだデバイス載せただけで配線はこれから。
QFNパッケージのデバイスは、ピンピッチ0.4mm。

・追記 13/01/19 23:58
電源配線を途中まで進めている。
0.4mmピッチの手半田は久々だけど、まぁ何とかなるもんだ。

PSoC5_03 PSoC5_04

・追記 13/01/29 23:54
取り敢えず全配線が終わった。 電源も載せたのでテキトーな電源でも開発okだ。

x2_10ab3bbc x2_10ab3c35 x2_10b26e8e

Leave a Comment more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!