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は、PSoC1ですが、未だに秋月電子通商で売ってます。パッケージが、QFN48Pinです。ですの で、ET-PCB LQFP48(A-PC-E-00333)変換基板が必要になります。0.5mmピッチで、チップの下のサーマルパッドに対応するパ ターン が変換基板にないので、消費電力には注意がいります。この変換基板は、今は売ってないので、
0.5mmピッチQFP48ピン変換基板 [AE-QFP48PR5-DIP]
通販コード P-13520
になるのかな。小さくなっています。いい方向です。
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です。
図 チップの表 チップの裏
左上の凹みが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シリアルインタフェースを使ったほうがいいでしょうね。
久ぶりに、昔買ったUSBシリアルケーブルを引っ張り出しましたが、壊れていて使えませんでした。
上の1MbitSRAMボードにつないで、うまく行かないとやっているうちに、実験用電源の5V-0Vをうっかり、0Vの黒と-12Vの青を暗くて 間違え て、5Vと-12Vにつないで、17Vがかかって、壊れてしまいました。
図 CPU基板を4つ作ってありました。
液晶ディスプレイとメモリとCPU基板を交換して、プログラムを書けば、なおるでしょう。
メモリとCPUを交換しました。RS232Cをとって、USBシリアルにしました。こうすれば、電源がUSBから5V来るので、実験電源のつなぎ間 違いもな いでしょう。
PSoC4200のkitprogをUSBシリアルとして使っています。
EEPROM WRITERとなっていますが、1MBitSRAMのメモリテストです。
プログラマブル ゲイン アンプのデータシート PGA
V 3.2
8-Bit PWM
(パルス幅変調器)のデータシート PWM8 V 2.60
8-Bit シリアルトランスミッタ データシート
TX8 V 3.50
8-Bit カウンタのデータシート Counter8 V 2.60
16-Bit カウンタのデータシート Counter16 V 2.5
CY8C29466/CY8C29566 /CY8C29666/CY8C29866 日本語データシート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
なお、日本語データシートを直接すべて欲しい時は、ここに書いておいた。
図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を起動して、
図3−1 PSoC Designerの右下のUser Modulesにデータシートがある。
たとえば、Counter24は、マウスの右クリックをして、DataSheet ▶にマウスを置くとShow of Separate Windowをえらぶと図3−1 データーシートウインドウ
これをマウスで端をつまんで拡大すると、
図3−2 データーシート
英文であるが、Web翻訳で、充分読める。すべての部品には、このようにデータシートがあるので、不自由しない。
なお、日本語データシートを直接すべて欲しい時は、ここに書いておいた。まず位置合わせを確認する。チップの丸いへこみは、48pinと1pinのマークです。
図4−3 はんだ付けするので、ピッタリ4辺確認する。抑えるとヤニで固定されたように感じるが動かないよう注意する。
図4−4 おおめのチップの一辺全体を溶けた半田で、鏝でしばらく温める。鏝をゆっくり左にづらすと半田は流れ去る。
図4−5 残っても、鏝で溶かして、全部流し去る。
図4−6 4辺同様にする。
図4−7 はんだ付けの確認
図4−9 はんだ付けの確認
図4−10 はんだ付けの確認
エーテルと綿棒で、きれいに掃除する。基板に足を立てるので、まっすぐになるように、ライターを兼ねた治具を作っておく。
2列のソケットヘッダーを使うのが味噌で、まっすぐ足が建てられる。治具に足をさして、足の上から、ICの載った変換基板を足に合わせる。
図4−11 ライター兼治具
図4−12
XRESは、29Pin、SCLKは、17Pin、SDATAは、19Pin、Vddは42Pin、GNDは、18Pinです。
図4−13 ライターは、このように挿します。
はんだ付け後チェックプログラムを書き込みます。