コメを噛め

コメを噛め

rerofumi の電子工作メモ

hatena bookmark

dsc00910
Cypress から PSoC DEVELOPMENT BOARD CY8CKIT-001 が届く。意外にでかいプラスチックパッケージにちとびびり。

全国のピーソッカー(今適当に作った単語)待望の PSoC3/5 が姿を見せ始めている。この CY8CKIT-001 は PSoC3 の ES(Engineering Sample)版が付属した最初のテストボードとなる。注文を受け付け開始したと聞いて早速申し込み本日届いた次第。
dsc00911
中身はこんな感じ。

PSoC3/5 というのは、周辺回路がソフトウェアで(ある程度)配置決定可能なフレキシブルマイコンとして好評だった PSoC の新世代プロダクツ。
コンフィギュアブルな周辺回路といった部分はおおよそそのままにマイクロプロセッサコアをこれまでの M8C から 8051 と Cortex-M3 に変更したといった感じのもの。ちと非力でださかった M8C からパワフルなコアになって魅力倍増な感じ。
現在は MyCypress (https://my.cypress.com/) でひっそりと半クローズドベータ展開中。要アカウント登録。
8051コアの方が “PSoC3” で、Cortex-M3(ARM) コアの方が “PSoC5” となる。ちなみにこれまでの M8C コアの奴は “PSoC1” としてそれなりにスケーラブルに展開していく様子。
今回は PSoC3 のES2サンプルが出てきたので提供開始といった感じの開発ボード。PSoC5 はまだ存在していないためおあずけ。でも 3 と 5 は本当にコアが違うだけで構成とかは同じものっぽい。

現在のところは本当に Engineering Sample なんで Errata ももりもり存在している。ESをいち早く入手したいというマニア心とともに、Errataドキュメントを読んで笑うとかそんなレベルで。

とりあえず PSoC をよく知っているとして PSoC3/5 で何が変わったのかから眺めてみよう。

  • USB2.0/CAN2.0/CapSense が標準でつきました
  • 24ch のDMAがつきました
  • LCDダイレクトドライバがつきました
  • 温度センサがのっています
  • EEPROMが別枠でのりました(以前はフラッシュの一部を代用)
  • RTC がつきました(外付けで32768Hzの水晶が必要)
  • GPIOをアドレスバスとデータバスにして外部メモリをアクセスするメモリインタフェースがつきました(SRAMやNORフラッシュが直につなげる、アドレス幅は24bitまで)
  • プログラマがJTAGインタフェースになりました
  • オンチップデバッガでJTAGデバッグできるようになります(MiniProg3でデバッグ可能)

CY8C36xx/38xx にはAnalog部分にDFB(Digital Filter Block)なるものが 2ch 乗っている。
24bit fix IN/OUT のミニプログラマブルDSPで、IIRやFIRを実装できるらしい。独立したバッファメモリとALUを持っているので単体で動きそう。
今のところSRAMは 8KB までとなっているけれども、xdata のマップを見ると16KBが本当に上限っぽい。それ以上はI/Oアドレスとして使われているので。

なんか一部で誤解をされているっぽいけれども、PSoC3/5 になって CPLD が併設されたわけではない。確かにデジタルブロックにPLDがあるっぽいことは書いているけれども、それはブロックとシグナルのルーティングのために存在しているものだと思う。
わかりにくいのでデータシートから引用。
psoc_pld1
1つのデジタルブロックにはデータパスの前後に2つのゲート(PLD)を持っている形。どの線からデータが入ってきてどこへ出て行くのかをプログラマブルに指定できることでチップ内の回路が構成できる様になっている。
psoc_pld2
で、そのPLDのブロック図がこんな感じ。10入力の8AND、4ORにセレクタとか普通の構成。
これをデジタルブロックを無駄に使っても良いから、一部分を自由に利用できるLOGICとして使ってしまおうというのが PSoC3/5 での PLD 機能の事らしい。まあたしかにデジタルブロック一つが CPLD のマクロセル1個に似た構成なので、できなくもない気はする。
PSoC1 でもデジタルブロック1個を消費してバッファとNOTのLOGICに使う事ができたが、それがもちょっと汎用に AND や XOR も扱えるようになったと見るべきだろう。
でもちょこっとしたゲートでもデジタルブロックを消費するわけだし、デジタルブロックも最高で24個とかだから軽い補佐程度で、CPLDの様にロジックだけで機能を実装する向きではなさそうだ。

dsc00914dsc00915
CY8CKIT-001 最大のお目当てはなんといってもこれ。
PSoC Miniprog3。PSoC1/3/5 で使えるプログラマ。コレさえ入手しておけばPSoC3/5の開発ができるってもんだ。
白いコネクタは PSoC1 用の I2C で、リボンケーブルが PSoC3/5 用のJTAG。

psocprog01psocprog02
Miniprog3 が使える PSoC Programmer は 3.10 以降で、現在はベータ版。
3.10 を立ち上げてみるとプロトコルに JTAG が増えていて、JTAG を選択するとデバイススキャンができたりします。

dsc00913
CY8C38 チップにはセルフテストプログラムが書き込まれていて、電源を入れるとボード上の回路を簡単にチェックしてくれる。逸る心を落ち着けて一回は起動しておくべき。
まあ、このセルフテストのソースコードも付いてきているけれどもね。

dsc00912
開発環境が納められたCDが添付しているけれども、CD-R だったり。
別にめずらしくはないけれども。

次は PSoC3/5 の開発環境である PSoC Creator をブラウズしていきます。

Leave a Reply