Sim's blog

電子工作はじめてみました

改訂 はじめてのPSoCマイコン

2010-04-10 01:09:23 | PSoC
惜しまれつつも絶版になった「はじめてのPSoCマイコン」が改訂されて帰ってきます(CQ出版のページ)。2010年4月26日発売だそうです。一番の違いは対象としているマイコンがCY8C27443から現在の主流といえるCY8C29446に変更になったことです(秋月のPSoCのページ)。

目次を比較してみます。
旧版は、「基礎編」と「応用編」の2つの構成でしたが、新版は「応用編」が「製作編」になって、新たに「応用編」が増えています。

新版の目次

基礎編

第1章 PSoCチュートリアル
第2章 アナログ・ブロックを使った正弦波駆動によるLEDの点灯
第3章 入出力/割り込みのしくみとスイッチ/LEDを使った実験

[タイトルからすると旧版の第1章~第3章に対応した内容と思われます]

第4章 コーディング不要のシステム・レベル・デザインを試す

[第4章は旧版にない新しい内容みたいです]

製作編

第5章 温度センサIC LM35を使った氷点下も測定できる温度計の製作
第6章 1Hz~20kHzの方形/正弦/三角波を発生するテスト・オシレータの製作
第7章 抵抗測定の基本テクニックとサーミスタ温度計の製作
第8章 交流インピーダンスの測定テクニックとインピーダンス&容量&湿度計の製作
第9章 超音波距離計の製作とPSoCブロック連携動作の実験

[タイトルからすると旧版の第4章~第8章に対応する内容のようです。旧版は第8章でおしまいでした。第10章以降は新版になって追加された内容です]

第10章 FirstTouchを使ったLED表示温度計の製作
第11章 FirstTouchを使ったパソコン表示照度計の製作
第12章 FirstTouchを使った近接検出とスライダ入力の実験

[第10章~第12章はトラ技2008年4月「PSoCで作るLED表示のワンチップ温度計」、2008年5月「PSoCで作るパソコン表示のワンチップ照度計」、2008年6月「PSoCで作る静電容量センシング・アプリケーション」の記事が元になっていそうです。]

応用編

第13章 アナログ・ブロックを駆使したギター・エフェクタの試作
第14章 内蔵SRAMを使ったディジタル・エコーの製作
第15章 疑似乱数PWMを使ったモータ・コントロールの実験
第16章 動作中に回路構成を変更するダイナミック・リコンフィグレーションの実験
第17章 積和演算器MACを使った電子オルゴールの実験
第18章 内蔵昇圧回路SMPの実験と白色LEDドライバの製作
第19章 振幅変調の実験とAM/DSB送信機の製作
第20章 スーパーヘテロダイン方式AM/DSB受信機の製作
第21章 USBコントローラ内蔵PSoCを使ったUSBリモートI/Oの実験

[応用編の第13章から第21章はトラ技の過去の記事を元にしたものと思われます。]

新版の目次はここまで


桑野さんは過去に2回(?)PSoC関連の連載をトラ技に載せています。最初が2004/4~2004/9の「PSoCマイコンで行こう!」という連載で、2回目が2005/6~2006/4の「PSoCマイコン活用講座」という連載です(トラ技のホームページのバックナンバーを手で探したので間違いがあったらごめんなさい)。
いくつか元になった記事と思われるものがあります。今となってはCD-ROMでしか入手できない過去の記事が本になって手に取ることができるのはとてもうれしいです。特にAM受信機が気になります。

トラ技「PSoCマイコンで行こう!」
2004/4 第1回 外付け回路を飲み込むワンチップ・マイコン
2004/5 第2回 内部機能に見るPSoCの先進性
2004/6 第3回 CY8C27443を使ったギター・エフェクタの試作
2004/7 第4回 CY8C27443を使ったギター・エフェクタのプログラミング
2004/8 第5回 スイッチト・キャパシタ回路部の動作原理
2004/9 第6回 アナログPSoCブロックの理解を深めよう!

トラ技「PSoCマイコン活用講座」
2005/6 第1回 PSoCデバイスと開発キットの現状
2005/7 第2回 マイコン・システム設計ソフトウェア PSoC Expressの試用
2005/8 第3回 モータを静かに回転させる擬似乱数PWMの実験
2005/9 第4回 ダイナミック・リコンフィグレーションの実験
2005/10 第5回 電子オルゴールの実験と製作
2005/11 第6回 スイッチ・モード・ポンプの実験とLEDドライバの製作
2005/12 第7回 静電容量方式タッチ・センサの製作
2006/1 第8回 AM送信機の製作(前編)
2006/2 第9回 AM送信機の製作(後編)
2006/3 第10回 AM受信機の製作
2006/4 第11回 USBを使ったリモートI/O制御の実験


はやくPSoC3とかPSoC5も手軽に入手できるようになってほしいものです。

PSoC3キット増殖中

2009-11-26 20:03:57 | PSoC
CypressPSoC3の純正キットが増えています。前回調べたのは9/18でした。そのときは、001,002,003,008,009の5種類でした。006、007、029が追加になって8種類になりました。やはり番号が飛んでいたのは、間の番号のキットを作ってたんですね。となると、004と005あたりが気になるところです。

CY8CKIT-001 PSoC® Development Kit ... 開発ボード、CPUモジュールを取り替えることができる
CY8CKIT-002 PSoC® MiniProg3 Program and Debug Kit ... MiniProg3
CY8CKIT-003 PSoC® 3 FirstTouch™ Starter Kit ... 入門向けキット
CY8CKIT-006 PSoC® 3 LCD Segment Drive Evaluation Kit ... (新)セグメントLCDドライブ評価キット
CY8CKIT-007 PSoC® 3 Precision Analog Voltmeter Demo Kit ... (新)アナログ電圧計デモキット
CY8CKIT-008 PSoC® CY8C29 Family Processor Module Kit ... 開発ボード用のPSoC1モジュール
CY8CKIT-009 PSoC® CY8C38 Family Processor Module Kit ... 開発ボード用のPSoC3モジュール
CY8CKIT-029 PSoC® LCD Segment Drive Expansion Board Kit ... (新)開発ボード用のセグメントLCD拡張モジュール

CY8CKIT-006の写真

PSPみたいな形です。

CQのPSoC本、Arduino本、液晶マイコン本

2009-10-25 00:01:02 | PSoC
今日発売のインタフェース12月号p.201に「試しながら学ぶ液晶表示プログラミング」という本が11月下旬発売という広告が出ていました。液晶マイコン基板付き、価格未定だそうです。マイコンボードの写真も出ています。CPUはセイコーエプソンのS1C17702というマイコンだそうです(セイコーエプソンのニュースリリース、S1C17ファミリーのページ)。載っている液晶は72x32ドットだそうです。
残念ながらCQ出版のホームページには掲載されていないようです。


今日発売のエレキジャックNo.15に、マイコンと電子工作No.1という11/30発売予定の雑誌(?)の広告が出ています。別冊CQ Ham radio増刊ということなので、エレキジャックと同じ扱いです。そのNo.1の広告ですが「だれでも使える電脳Arduinoの使いこなし」というタイトルがついています。Arduinoのチュートリアルとか、色々な作例、スケッチが載っている本みたいです。
同じくCQ出版のホームページにはまだ掲載されていないようです。


上の2冊の情報が載っていないかとCQ出版のweb shopを覗いてみたんですが、新しいPSoC本が出るようです。タイトルは「PSoCマイコン・スタートアップ[PSoC基板&書き込み器]」で3990円だそうです(11/12発売予定)。PSoC基板と書き込み器がついて、この値段だとかなり安いことになります。書き込み器が何なのかとか、PSoC基板が何なのかはよく分かりません。
10/25 追記 nさんに教えていただきました。表紙の写真をクリックすると拡大します。書き込み器はMiniProg1で、基板に搭載されているPSoCはCY8C21434です。


さてさて、どんな本なのか楽しみです。

PSoC3でキャラクタLCD

2009-10-15 01:10:41 | PSoC
PSoC CreatorでLチカ(2)の続きになります。

デバッグとかにも使えるし、とりあえずキャラクタLCDを使ってみることにしました。

PSoC3のI/OはVddioというI/O専用の電圧まで扱うことができます。ただし、VddioはVdda以下にしないといけません。PSoC3 FTKでは、VddioとVddaは同じソースから電力が供給されるようになっています(回路図はcy8ckit003userguide.pdfに載っています)。

PSoC FTKに2つあるジャンパーJ1とJ4を両方1-2間につなぐことで5Vを使えるようになります。デフォルトは2-3間になっていてレギュレータで作った3.3Vになっています。正確には5Vの方はUSBのVBUSとの間にショットキーバリアダイオードが挟まっているのでVfの分だけ電圧降下しています。測ってみると4.8Vくらいでした。

なんで動作電圧やI/O電圧のことを気にしているかというと、キャラクタLCDを3.3Vで動作させるのは面倒なので、5Vで動かしたかったからです。

キャラクタLCDは秋月の超小型LCDキャラクタディスプレイモジュール(通販コード P-01675)です。
コントラスト調整は、迷走の果てさんの「LCDのコントラスト調整について2」を参考にして、抵抗一本(2kΩ、写真の赤黒赤)で済ませています。
電源電圧が4.86V、2kΩの両端が0.472Vだったので、抵抗には0.236mA流れています。LCD内部の抵抗は18.6kΩ(=4.86/0.236-2k)くらいということになります。

PSoC Creatorですが、Character LCDモジュールだけを使います。

このモジュールは入出力がありませんが、リソースの設定で、どのピンを出力にするのかを決めます。多少制約があって、7個連続したポートを使わないといけないようです。P0-0~P0-6みたいな感じです。PSoC3 FTKは裏に端子が出ていてP0が7-0全て使えます。P0-6:0とP0-7:1はどちらでも使えますが、前の方が多少効率がいいそうです。

ダブルクリックして設定の画面にします。

名前をLCD1に変更したのと、ユーザー定義フォントを有効にしました。右側はクリックすると絵を作れます。自動で読み込んでくれたりする機能があるかもしれないと思って、いくつか試してみましたが、そのような機能はないみたいでした。

書いたコードです。
#include <device.h>

// ..... 00
// o.o.. 14
// .o... 08
// ..o.. 04
// ...o. 02
// ....o 01
const uint8 negi[] = {
    0x00, 0x14, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, // 8byte/char
};

void main()
{
    LCD1_Start();
    LCD1_LoadCustomFonts(negi);
    LCD1_Position(0, 0);
    LCD1_PrintString("Hello, PSoC!");
    LCD1_Position(1, 13);
    LCD1_PutChar(0xdf); // ゜
    LCD1_PutChar('o');
    LCD1_PutChar(0xdf); // ゜
    for(;;)
    {
        LCD1_Position(1, 12);
        LCD1_PutChar(0x00);
        CyDelay(200);
        LCD1_Position(1, 12);
        LCD1_PutChar('_');
        CyDelay(200);
    }
}

使いそうな関数はほとんど用意されています。フォントの設定は1文字8バイトで8文字分設定できるみたいです。今回はズルをして1文字分しか設定していません。

秋月液晶のバックライトですが、100Ωをつないだところ、抵抗の端子間の電圧は0.96Vでした。全体が4.86Vなので、Vfは3.9Vということになります。また流れている電流は9.6mAです。結構明るいわりに、意外と少ない感じです。

PSoC CreatorでLチカ(2)

2009-10-13 23:29:28 | PSoC
PSoC CreatorでLチカの続きになります。

LEDチカチカはもっと簡単にできました。

こんな感じで、クロックに直接デジタル出力をつないでやります。プログラムは不要です。発振周波数はClock_1をダブルクリックして出るダイアログで設定します。

本来なら、1行だけClock_1_Start();と書いてやる必要があるような気もするのですが、何もなしでも動作していました。


試しにフィルタを使おうと思ったら、PSoC 1のスイッチトキャパシタフィルタでなく、FIRでした。つまりアナログでなくディジタルフィルタでした。PSoC 3にはディジタルフィルタブロックという専用ハードがついているみたいです。一応、昔のスイッチトキャパシタブロックもあるのですが、モジュールとしてアナログフィルタは、今のところ用意されていないようです。
でもって、フィルタブロックの入出力の設定の仕方が分かりません。

PSoC CreatorでLチカ

2009-10-12 22:25:34 | PSoC
PSoC3/5用のPSoC Creatorをインストールしました。試しに作ってみたLEDチカチカの手順を忘れないようにメモしておきます。PSoC Creatorはまだベータ版なので手順や画面等は変更される可能性が高いです。

PSoC Creator 1.0 (Beta 3.1 1.0.0.5311)の起動直後の画面


Create New Projectをクリックして新しいプロジェクトを作ります(赤丸のところにあります)。


New Projectのダイアログが出てきます。

Nameのところにプロジェクト名、Locationにプロジェクトを作るフォルダの親フォルダを指定します。この場合だとD:wordPSoC3Design02というフォルダにプロジェクトが作られます。OKを押せばプロジェクト作成完了です。

プロジェクト作成直後の画面です。

前回の作業のときのレイアウトを覚えているみたいなので、完全に同じ画面になるかどうかは分かりません。

これから、LEDチカチカを作るわけですが、まずは右側のコンポーネントカタログから中央のキャンバス(?)に部品をドラッグドロップして、線でつないでいきます。

Ports & PinsのDigital Output Pinをドラックドロップ


Digitalの下のRegistersの下のControl Registerをドラッグドロップ


Control RegisterとDigital Output Pinを線でつなぎます。
まずは、矢印のところにあるWire Toolをクリックします。


次にControl RegisterとDigital Output Pinの四角い端子を順にクリックします。

実は、線でつながなくても、四角い端子を重ねるだけでもつながります。

Control RegisterやDigital Output Pinの部品をダブルクリックすると色々な設定ができます。もしくは右クリックして出るメニューでConfigureをすることで同じ設定ダイアログが現れます。今回は、そのまま使います。

次にDigital Output Pinを実際のPSoCの出力ピンに対応づけます。

メニューのProject → Design02 Resourcesを選びます。Design02.cydwrという新しいタブができます。もしくは左側のDesign02.cydwrをダブルクリックします。

いかにもピン配置という感じの画面です。

右側のPin_1を配置したいピンにドラッグドロップします。もしくは右側のPin_1のPinと書いてある列のドロップメニューでピンを選びます。今回はP2[0]にしました。


ここまでくれば、後はプログラムを書くだけです。
左側のmain.cをダブルクリックするとmain.cのタブがあらわれます。


ここにコードを書きます。


書いたのはこんなコードです。
#include <device.h>

void main()
{
    uint8 LED = 0;
    for(;;)
    {
        Control_Reg_1_Write(LED);
        CyDelay(100);
        LED ^= 1;
    }
}

Control_Reg_1_Writeは制御レジスタに書き込むAPIです。CyDelayは指定したミリ秒待ちます。

あとは、ビルドして書き込めばおしまいです。
ビルドはBuildメニューからできます。
書き込むのはProgramボタンを使います。もしくはctrl+F5です。デバッグするときはExecute Codeボタンを使います。もしくはF5です。

PSoC3 FirstTouch Starter KitでLチカしている様子です。


まとめると、
部品をドラッグドロップする(つなぐ) → 部品を設定する → ピンアサインする → コードを書く → デバッグして書き込み
みたいな流れです。

ほとんどPSoC3の入門ビデオそのままなんですが、ビデオの方はデジタルポートみたいなのを置くだけでLチカできることになってますが、現在のバージョンでは制御レジスタ+デジタル出力ピンの組み合わせにする必要があります。

どうせ、ここに書いたのも少し経つと全く通用しなくなる可能性大です。

PSoC3/5正式発表

2009-09-18 01:10:43 | PSoC
CypressはPSoC3/5を正式に発表したみたいです(ニュースリリース)。


マイコミジャーナルの記事「Cypress、PSoCファミリに「PSoC3」と「PSoC5」の2ファミリを追加
日経BPのTech-On!の記事「米Cypressがプロセサ性能を高めた新たなPSoCの概要を発表,Cortex-M3版など」(ログインが必要かもしれません)
コメを噛めさんの「こんにちは!PSoC3 ~ 開発ボードがやってきた

マイコミジャーナル記事転載サービス(β版)は、貼り方がよく分かりませんでした。

PSoC3 FirstTouch Starter Kit「CY8CKIT-003」なんてのが出るんですね。また秋月でも扱ってくれたりするんでしょうか。

他のCY8CKITシリーズ
CY8CKIT-001 PSoC Development Kit (digikey 428-2961-ND)
CY8CKIT-002 MiniProg3 Program and Debug Kit (digikey 428-2975-ND)
CY8CKIT-003 PSoC 3 FirstTouch Starter Kit (digikey 428-2977-ND)
CY8CKIT-008 PSoC CY8C29 Family Processor Module Kit (digikey 428-2978-ND)
CY8CKIT-009 PSoC CY8C38 Family Processor Module Kit (digikey 428-2979-ND)

008はCY8CKIT-001に付属のPSoC1のモジュールみたいです。009の方は同じくPSoC3のモジュールです。
003のFTKはドキュメントが見れます。ユーザーガイドには回路図も載っています。

「これならわかる! PSoCマイコン活用術」

2009-08-02 23:00:28 | PSoC
オーム社から「これならわかる!PSoCマイコン活用術」という本が出ています。PSoC本としては3冊目、CQ出版以外だと初めてということでしょうか(除くGainer本)。

最初にCQ出版から出た「はじめてのPSoCマイコン」は既に絶版で、現在入手可能なのは「PSoCマイコン・トレーニング・キット」ですが、こちらは入門書というよりはライブラリリファレンスなので、ある程度分かっている人向けです。他にないので入門書があるのはいいことです。一つ問題があるとすると、Cypressの開発ツールって、バージョンが変わるとがらっと操作方法が変わることなんかがあるので、本だと情報が古くなる危険性があることです。

目次を見る感じだと、実際に色々なサンプルを作ってみせているようなので、入門としてはよさそうな気もします。

さてさて、どんな感じの本なんでしょう。

PSoC3/5?

2009-07-30 23:18:22 | PSoC
今までのはPSoC1ということで、新しくPSoC3とPSoC5が出るらしいです。PSoC3はcpuが8051に、PSoC5はcpuがARM Cortex M3になって、より高速、大容量になるみたいです。
すでにパステルマジックさんではPSoC3の評価キットを販売しています。PSoC3はESという注意書きがあります。
Cypressのサイトで、ログインすると一応データシートとか見れます。
以前参加したセミナーではARMを載せたPSoCをそのうち出すとか言っていましたが、ついに出るみたいです。

Gainer mini

2008-11-10 18:29:02 | PSoC
11/7からGainer miniのサイトがオープンしています。アールティロボットショップさんのcopyrightがついています。GainerやArduinoも扱っているショップさんです。
製品概要を見るとPIC18F2550を使うことでUSBシリアルチップを搭載しなくてもいいようにしています(このあたりはgingerと同じ思想です)。
Gainerは通信プロトコルしか既定していないので、その先につながるマイコンを選べる利点があります。
Arduinoってどうなんでしょう。AVRしばりはあるんでしょうか。


秋月に「USBマイコンボード 完成品(PIC18F2550)」(通販コードI-2161)というのがあるんですが、これってソフトさえあれば互換品になったりしないのかな。

CyFi

2008-10-31 01:06:15 | PSoC
CypressのメールマガジンにCyFiというのが載っていました。PSoCを使った無線ソリューションのようです(CyFiのページ)。PSoC FirstTouch Kitの先端につながるキットCY3271が販売になっています。
販売ページには「FREE WORLDWIDE SHIPPING UNTIL 1 NOV 08」と書いてあります。11/1までは送料無料みたいです。
2.4GHz帯を使って1Mbps出るみたいです。無線のことはよく分かりませんが日本国内だと法律の問題(ギテキ?)とか大丈夫なんでしょうか?

PSoC NV

2008-09-29 23:53:25 | PSoC
EDNに「Cypress社、不揮発性SRAMを統合した「PSoC」の新ファミリを発表」という記事が出ていました。電源電圧の遮断を検知するとSRAMの内容を不揮発性メモリに自動で退避してくれるんだそうです。「なお、データ退避時の不揮発性メモリーアレイの電源としては、68µFの外付けコンデンサを使用する。」なんて書いてあります。どういう用途を想定しているんでしょうね。
うーん、自分ならこう使うとか、思いつかないのがちょっぴり悲しい。



秋月でPSoCEVAL1を扱いはじめました

2008-08-03 01:56:54 | PSoC
秋月でPSoCEVAL1の取扱いが始まりました(通販コードM-02483)。パステルマジックさんだとここdoggieさんによると、現在cypressでは半額セールをしているそうです。
cypressページ。ドキュメントと回路図がダウンロードできます。

CY8C29466-24PXIがついてくるので、挿して使います。中央にブレッドボードがあって好きな回路を作れます。LCDをつなげることができて、COMポートもついています。MiniProgもついてきます。これから始めてみようという方にはお勧めです。


PSoCといえば、共立エレショップでGainerモジュールの取扱いがはじまっています(註881312)。

秋月でPSoc FirstTouchを扱いはじめました

2008-06-10 23:28:02 | PSoC
秋月でPSoC FirstTouch Starter Kitの取扱いを始めました(商品番号M-02416)。
価格は3200円です。Cypressのオンライン販売で$29.95なので格安です。

◎PSoCチップ4個がもれなくもらえる・キャンペーン実施中(詳細はパッケージをご覧ください)
ということなので、さらにお得です。

FTKはトラ技の2008年3月号~6月号、Interfaceの2007年12月号で紹介されています。

以前試してみたときの記事です。
PSoC FirstTouch KitでLEDチカチカ
PSoC FirstTouch KitでLEDほわーん

6/12 追記 digi-keyだと3393円です(リンク)。