CY8C29666-24LFXI(万能PSoC1)の観 察
Ver.1.007 2023.5.11

更新履歴
2022.9.29 Ver.1.000 新規作成
2023.1.24 Ver.1.001 追記
2023.2.12 Ver.1.002 追記
2023.2.25 Ver.1.003 文書、フイルタの設計手順、PSoC Desiner 5.4
2023.2.28 Ver.1.004 文書、PSoC Desiner 5.4に日本語データシートをすべて見る方法
2023.2.28 Ver.1.005 CY8C29666-24LFXIチップのはんだ付けの方法
2023.3. 1 Ver.1.006 評価ボードの設計他
2023.3. 9 Ver.1.007 実験ボードの試作
2023.5.11 Ver.1.008 コネクタの信号割り当て図追加



注意

CY8C29666-24LFXI,PSoC4200 CY8CKIT-049は、生産中止 品です。ところが、在庫があるという販売店 があります。

【詐 欺通販サイトにご注 意ください!】海外電子部品ディストリビュータの事例

これを読んで、十分ご注意ください。
CY8C29666-24LFXIは、秋月電子だけが在庫があるよう です。
PSoC4200 CY8CKIT-049は、どこにも在庫がないよ うです。

【はじめに】

CY8C29666-24LFXIは、PSoC1ですが、未だに秋月電子通商で売ってます。パッケージが、QFN48Pinです。ですの で、ET-PCB LQFP48(A-PC-E-00333)変換基板が必要になります。0.5mmピッチで、チップの下のサーマルパッドに対応するパ ターン が変換基板にないので、消費電力には注意がいります。この変換基板は、今は売ってないので、

0.5mmピッチQFP48ピン変換基板 [AE-QFP48PR5-DIP]
通販コード P-13520

になるのかな。小さくなっています。いい方向です。

CY8C29666-24LFXIの特長

CY8C29666-24LFXIは、CY8C29466と同じシリーズで、CPUの他に独立した32bitの積和器があり、

FLASH 32K SRAM 2K デジタルブロック数 16 アナログブロック数 12 I/OPort数 0〜4の40本とPort5の4本 で合計 44本

というもので、I/Oが44本もあるので、1MbitSRAM(DataBus8本、AddressBus17本、OE,WE,CSの28本)もつ なぐこと ができます。

ですから、raspberry piや、WROOMー02,32のI2C,SPIでつなげば、強力なI/Oエキスパンダになるのです。しかも、PSoCの得意なアナログ処理もできるし、 IOTにもってこ いの代物なんです。デジタルも必要なものは大概あり、更にチップ内配線をすれば、大概のデジアナ機能が作れるのです。

電源は、3.3Vと5Vと選べるし、コイルとショットキーバリアダイオードがあれば、乾電池1本でも、自分で昇圧し3.3Vか5Vかを選べて動く。

CY8C29X66のシリーズには、CY8C29866というものがあり、I/OPort数は0〜7の64本もあるのです。パッケージは、 TQFP100Pinです。

ICの外観

 

図 チップの表                            チップの裏 

左上の凹みが48pinと1pinの境目です。裏は、大きなヒートスプレッダが真ん中にあります。QFNパッケージなので足は、内側に曲げられてい ますので はんだ付けにはコツがい ります。

ピッチ変換基板     


図 変換基板

はんだ付け後

基板の四隅にピンヘッダーを立てます。

図 変換基板にはんだ付けして、変換基板に足をはんだ付けした表と裏


ライター変換基板

MiniProgに合わせて、変換基板を作ります。

図 これより、ライターに必要なのは、XRES,SCLK,SDATAとVdd,GND

XRESは、29Pin、SCLKは、17Pin、SDATAは、19Pin、Vddは42Pin、GNDは、18Pinです。


図 ライター基板

はんだ付け後チェックプログラム

はんだ付け後、各ポートを順に1Pinだけ、1にして、0に戻すというのをすべてのポートでやると、オシロスコープで、はんだ付けチェックできま す。このテ ストは、必須です。

main.cの例

//----------------------------------------------------------------------------
// C main line
//----------------------------------------------------------------------------

#include <m8c.h>        // part specific constants and macros
#include "PSoCAPI.h"    // PSoC API definitions for all User Modules


void main()
{
 PRT0DM2=0x00;
 PRT0DM1=0x00;
 PRT0DM0=0xFF;

 PRT1DM2=0x00;
 PRT1DM1=0x00;
 PRT1DM0=0xFF;

 PRT2DM2=0x00;
 PRT2DM1=0x00;
 PRT2DM0=0xFF;

 PRT3DM2=0x00;
 PRT3DM1=0x00;
 PRT3DM0=0xFF;

 PRT4DM2=0x00;
 PRT4DM1=0x00;
 PRT4DM0=0xFF;

 PRT5DM2=0x00;
 PRT5DM1=0x00;
 PRT5DM0=0xFF;
 
 while(1){
 
 PRT0DR=0x01;
 PRT0DR=0x02;
 PRT0DR=0x04;
 PRT0DR=0x08;
 PRT0DR=0x10;
 PRT0DR=0x20;
 PRT0DR=0x40;
 PRT0DR=0x80;
 PRT0DR=0x00;
 
 PRT1DR=0x01;
 PRT1DR=0x02;
 PRT1DR=0x04;
 PRT1DR=0x08;
 PRT1DR=0x10;
 PRT1DR=0x20;
 PRT1DR=0x40;
 PRT1DR=0x80;
 PRT1DR=0x00;
 
 PRT2DR=0x01;
 PRT2DR=0x02;
 PRT2DR=0x04;
 PRT2DR=0x08;
 PRT2DR=0x10;
 PRT2DR=0x20;
 PRT2DR=0x40;
 PRT2DR=0x80;
 PRT2DR=0x00;
 
 PRT3DR=0x01;
 PRT3DR=0x02;
 PRT3DR=0x04;
 PRT3DR=0x08;
 PRT3DR=0x10;
 PRT3DR=0x20;
 PRT3DR=0x40;
 PRT3DR=0x80;
 PRT3DR=0x00;

 PRT4DR=0x01;
 PRT4DR=0x02;
 PRT4DR=0x04;
 PRT4DR=0x08;
 PRT4DR=0x10;
 PRT4DR=0x20;
 PRT4DR=0x40;
 PRT4DR=0x80;
 PRT4DR=0x00;
 
 PRT5DR=0x01;
 PRT5DR=0x02;
 PRT5DR=0x04;
 PRT5DR=0x08;
 PRT5DR=0x00;
  }
}

応用例



図 1MbitSRAMをつないだ基板

1MbitSRAMとLCDディスプレイ、RS-232Cのインターフェイスをつけたものです。スイッチは、MiniProgをつけたときに、他の 部品に電 源がつながらないように、切るためにもので、5Pinの白いソケットは、書き込みのMiniProgを刺すためのもので、そのまま書き込めるようになって いま す。

今どき、どのパソコンもRS-232cはついてないので、USBシリアルインタフェースを使ったほうがいいでしょうね。

2023-1-24

久ぶりに、昔買ったUSBシリアルケーブルを引っ張り出しましたが、壊れていて使えませんでした。

上の1MbitSRAMボードにつないで、うまく行かないとやっているうちに、実験用電源の5V-0Vをうっかり、0Vの黒と-12Vの青を暗くて 間違え て、5Vと-12Vにつないで、17Vがかかって、壊れてしまいました。

図 CPU基板を4つ作ってありました。

液晶ディスプレイとメモリとCPU基板を交換して、プログラムを書けば、なおるでしょう。

追記(2023-2-12)

メモリとCPUを交換しました。RS232Cをとって、USBシリアルにしました。こうすれば、電源がUSBから5V来るので、実験電源のつなぎ間 違いもな いでしょう。


PSoC4200のkitprogをUSBシリアルとして使っています。



EEPROM WRITERとなっていますが、1MBitSRAMのメモリテストです。

文書

PSoC1 入門

PSoC® 1 - GPIO 入門

PSoC® 1のI2C入門

PSoC® 1 のアナログ構造およびPSoC Designer™を用いたコンフィギュレーション

PSoC® 1 Interrupts

PSoC 1スイッチモードポンプ(SMP)の出力電力の増加-KBA94769 - Community Translated (JA)

Getting Started with SPI in PSoC® 1

Understanding PSoC® 1 Switched Capacitor Analog Blocks

PSoC® 1 - Clocks and Global Resources

インクリメンタル ADC データシート ADCINC V 1.1

2 ポール バンドパス フィルタのデータシート BPF2 V 5.5

計測用アンプ データ シート INSAMPV 2.2

I2C ハードウェア ブロックのデータシート I2CHW V 1.1

SPI マスタ データシート SPIM V 2.6

16-Bit PWM (パルス幅変調器)のデータシート PWM16 V 2.5

SPI スレーブ データシート SPIS V 2.60

2 ポール ローパス フィルタ データシート LPF2 V 2.5

プログラマブル ゲイン アンプのデータシート PGA V 3.2

8-Bit PWM (パルス幅変調器)のデータシート PWM8 V 2.60

8-Bit シリアルトランスミッタ データシート TX8 V 3.50

8-Bit UART データシート UART V 5.3

16-Bit タイマ データシート Timer16 V 2.6

8-Bit カウンタのデータシート Counter8 V 2.60

16-Bit カウンタのデータシート Counter16 V 2.5

CY8C29466/CY8C29566 /CY8C29666/CY8C29866 日本語データシート

EZI2C スレーブ1.61

8-Bit シリアルレシーバーデータシート RX8 V 3.50

9-Bit 電圧出力 DAC Data Sheet DAC9 V 2.2

8-Bit 電圧出力多重 DAC データシート MDAC8 V 2.2

6-Bit 電圧出力 DAC データシート DAC6 V 4.3

なお、日本語データシートを直接すべて欲しい時は、ここに書いておいた。

フイルタ設計手順

PSoC Designerを起動する。


図2−1 HelpをクリックそしてDocumentationをクリック



図2−2 Filter Designのフォルダを開く



図2−3 フィルタ設計excelファイルがある。

LPF ローパスフィルタ
BPF バンドパスフィルタ
ELPF 帯域除去フィルタ

2,4は、次数。つまり、2次より、4次の方が急峻になる。

設計するフイルタによって、どれかをえらぶ。ここでは、LPF2 Designをえらんだとする。

excelでなくてもLibreOfficeのCalcでもよい。読み取り専用であるが、名前を変えるなりして、保存すると、読み取り専用が解除されて、 保存されるので、そのあとはそのファイルを使えば、気にすることはない。



図2−4 設計シート

ここで、左上の黄色のセルを目的とする値を入れる。6行から9行は典型的なフイルタのタイプで、どれかひとつだけを1にして、のこりは0にする。自分で フィルタを作るのであれば、6行から9行は全部0にし、10行と11行を使う。右中の黄色いセルを記入する。
フィルタを設計すると、右下のグラフに反映される。グラフを見ながら、設計値を修正する。これを繰り返し、完成させる。



図2−5 designerの右下のUser ModulesのFiltersのLPF2をマウスで、つかんで、回路に投げる。


図2−6 フィルタは構成方法が4つあり、アナログブロックに既に割り当てがあって、重なる様であれば、重ならないように、どれかをえらぶ。

ここでは、デフォルトのLPF2VAとする。


図2−7 LPF2の設定方法

C1〜C4を記入したら、34行のAdjusted divied by nの120を設定する。



図2−8 クロックの設定

Analog Colum Clock_0をVC2にする。 VC1は最大16なので、VC1で120はできない。VC2=VC1の分周なので、VC1とVC2で120にする。ここ では、VC1=10、VC2=12とする。なおVC1は24MHzのSysClkを分周した基準周波数である。

CPUI_Clockは関係ないが、SysClk/1つまり、24MHzとしよう。


図2−9 VC1,VC2の設定 なお、LPF2の入力はPort2_1にした。

以上である。

PSoC Designer 5.4

 PSoC Designerの最新は、5.4です。まだ、ダウンロードできるようです。

PSoC™ Designer Archive

にあります。

PSoC Designer 5.4を起動して、


図3−1 PSoC Designerの右下のUser Modulesにデータシートがある。

たとえば、Counter24は、マウスの右クリックをして、DataSheet ▶にマウスを置くとShow of Separate Windowをえらぶと

図3−1 データーシートウインドウ

これをマウスで端をつまんで拡大すると、


図3−2 データーシート

英文であるが、Web翻訳で、充分読める。すべての部品には、このようにデータシートがあるので、不自由しない。

なお、日本語データシートを直接すべて欲しい時は、ここに書いておいた。

CY8C29666-24LFXIチップのはん だ付けの方法

まず位置合わせを確認する。チップの丸いへこみは、48pinと1pinのマークです。



図4−1 チップの足とパターンとが重なるように4辺確認する。


図4−2 パターンにヤニ入り半田を予備はんだする。


図4−3 はんだ付けするので、ピッタリ4辺確認する。抑えるとヤニで固定されたように感じるが動かないよう注意する。


図4−4 おおめのチップの一辺全体を溶けた半田で、鏝でしばらく温める。鏝をゆっくり左にづらすと半田は流れ去る。


図4−5 残っても、鏝で溶かして、全部流し去る。


図4−6 4辺同様にする。


図4−7 はんだ付けの確認


図4−8 はんだ付けの確認


図4−9 はんだ付けの確認


図4−10 はんだ付けの確認

エーテルと綿棒で、きれいに掃除する。基板に足を立てるので、まっすぐになるように、ライターを兼ねた治具を作っておく。

2列のソケットヘッダーを使うのが味噌で、まっすぐ足が建てられる。治具に足をさして、足の上から、ICの載った変換基板を足に合わせる。


図4−11 ライター兼治具


図4−12

XRESは、29Pin、SCLKは、17Pin、SDATAは、19Pin、Vddは42Pin、GNDは、18Pinです。


図4−13 ライターは、このように挿します。

はんだ付け後チェックプログラムを書き込みます。



図4−14 書き込み終了したら、5V通電スイッチをONする。

 

図4−15 7pin SMP、29pin XRES、18VSS、42VDDを除いて全部のピンをチェック



図4−16 全部のピンが、こういう波形ならOK。これ以外の波形ならはんだ付けの不良

以上うまくいけば、完成。

評価ボードの設計(2023-3-1)

CY8C29666-24LFXIのPIN割り 当て

PINの固定割り当てを見てみましょう。CY8C29X66 のデータシートから、13ページに次のようになっています。



図5−1ピンの固定割り当て

P0[0-7]とP2[0-4,6]は、アナログ関係、P1[0,1,4,5,7]は、クロックとI2C関係で、P1[2,3,6],P2[5,7]が空 きです。
P3[0-7],P4[0-7],P5[0-3]も空きです。もちろん、固定割り当てがあっても、別の用途で割り当てできます。
ただし、プログラマーに割り当てられたXRES(29pin)、SDATA(19pin)、SCLK(17pin)も注意が必要です。
あと、外部クロックを使うときは、P1[4]も使えません。

I/Oとして、UART,SPI、LCDがありますが、P1[2,3,6],P2[5,7],P3[0-7],P4[0-7],P5[0-3]を使うこと ができま す。

アナログのピン割り当て

1.I/Oピンとレファレンスについて


PSoC® 1 のアナログ構造および PSoC Designer™を用いたコンフィギュレーション-AN74170の13ページの図14には、


図5−2 アナログのピン割り当て

P0[0-7]は、丸々使われていて、偶数と奇数でグループ分けされています。アナログ出力は4本あり、P0[2-5]です。
したがって、アナログ出力を使うとアナログ入力の割り当ては減ります。まあ、ASC,DにP2[0-3]の入力を入れられますが、それらにはPGAを使っ て、ゲイ ンを変えられません。


AGNDのことは、18ページの図20


図5−3 AGNDとは

AGNDというアナログGNDとは、電源のGNDとは、違って、浮いているということです。でも、差動入力ですから、AGNDは、直接関係しません。

AGNDのノイズ除去用のコンデンサについては、22ページの図25


図5−4 AGNDのバイパスコンデンサとノイズ

より、P2[4]には、10uFのコンデンサが必要となります。

P2[6]は外部基準電圧入力で、19ページの表5



図5−5 AGND、RefHi、RefLoの電圧

同じく19ページの図22


図5−6 リファレンスの設定と範囲
これの選択は、21ページのグローバルリソース図23で決められます。



図5−7 基準電圧の設定のグローバルリソース Ref Muxで選択する図26(23ページ)

ここで、注意しなければならないことは、図22のリファレンス範囲がGNDにまで達している場合で、ADCINCでや他のPGAを前段に使った場合、 PGAなどのアンプはレールツゥレールでなく、出力が50mV以上電源電圧の50mV以下となっているので、GNDから、50mVは使えなくなってしまう のです。そこで、GNDや電源から離れた範囲を選びましょう。



図5−8 PGAの入力範囲(緑)と出力範囲(赤)

具体的には (2 BandGap)+/-BandGapを使いましょう。

2.コンパレータパス



実験ボードのピン割り当て

IOとして、デジタル、アナログブロックをまったく使わないのは、LCDです。デバッグ用の表示器として、いいでしょう。
UARTは、デジタルブロックを2個使います。クロックをVC1,VC2,VC3で作れればの話で、VC1,VC2,VC3はグローバルなクロック源なの で、 PWM8が分周器として必要でしょう。すると、トータル3ブロックです。

SPIは、1デジタルブロックです。クロックはVC1,VC2,VC3で問題ないでしょう。P1[2,3,6]とCSのGPIOでできます。

デジタルブロックは、16個、アナログブロックは12個ですから、これを超えることはできません。

そこで、P4[0-6]をLCDに、P2[5,7]をUARTにし、USBシリアルに使い、UARTでデバッグするときは、LCDを外すことにします。

1.LCD


LCDとは、16桁2行のキャラクターディスプレイです。バーグラフ表示もできます。


図5−2 LCD 配線



図5−3 LCDのAPI

実験ボードの試作

実験ボードを作りました。



図5−4 実験ボードのベース基板

右上にESP-WROOM-32を置きました。SPIだとESP-WROOM-32は、マスタしか対応してないので、無線ランカードとして使うには不便で す。
そこで、シリアルで使うことにしました。無線ランカードとして、だけ使います。ESP-WROOM-32はそれだけでつかいます。

左中は、±15Vの絶縁DCDCコンバーターです。CPU基板の下のコネクタはCN1でPort0とDC±15Vと5Vが、来ます。CN2は Port2,5です。
中央の長いコネクタはPort1,3、下の長いコネクタはPort4です。Port4は、LCDが配線されていますが、外すとPort4は使えます。





図5−5 アナログ基板

アナログ基板は、Port0,2,5とDC±15Vと5Vを使います。半田面が表になってしまいました。



図5−6 デジアナ基板 あるいは デジタル基板

Port0,1,2,3,4,5まで、使うことができます。電源はDC±15Vと5Vも使えます。
デジアナ基板、デジタル基板として、使えます。



図5−7 コネクタの信号割り当て図




つづく






メインページに戻る