PSoC4200m CY8CKIT-043の観察

ver1.007  2023-03-04
更新履歴
2023-2-6 ver 1.000 新規作成
2023-2-6 ver 1.001 DDSもどき
2023-2-7 ver 1.002 DDSもどき-追記
2023-2-12 ver 1.003 SCB,TPCWM,UDB
2023-2-16 ver 1.004 SCB手直し DDS24
2023-2-20 ver 1.005 Analog,Display
2023-2-22 ver 1.006 文書
2023-3- 4 ver 1.007 全文書日本語化について追記

DDSもどき(2023-2-6)

PSoC4200m CY8CKIT-043でDDSもどきをやってみましょう。RAMは充分あるのですが、定数テーブルとして、プログラムにsinテーブルを埋め込みます。 Flashメモリは充分大きいので、これを使います。
RAMが4KBしかないPSoC4200 CY8CKIT-049でも、同じようにやることができます。

図1−1 main.c

なお、高調波を作 るには、Freq1を2倍なら2に、5倍なら5に書き換えます。テーブルが256なので、最大128ですが、その時は+,-,+,-となるので、フィル ターを通さないと正弦波になりません。三角波は、そういうこともできないので、数倍までかな?

sin_table.h、cos_table.h、triangle_table.hの作り方は、こ こを参考にしてください。

さて、


図1−2 三角波とsin波 周期は1.1424mSなので、875.35Hz

CPUクロックは48MHzです。



図1−3 sin波とcos波



図1−4 基本波と3倍波

さて、PSoC4200mには、DMAがあるのです。DMAを使えば、もっと高速にできるんじゃないかなあ?

なお、PSoC4200mのDACは、電圧源でなく、電流源です。

図1−5 電流源のプロパティ

電流源ですから、吐き出し(Source)と吸い込み(Sink)の設定が必要です。ここでは、吐き出しで、10KΩでGNDにつないでいます。 8bitと 7bitが選べますが、8bitにしています。Rangeは、0-306uAなので、最大電流306uAなので、10KΩですからmax3.06Vです ね。

DDSもどきー追記(2023-2-7)

IDACは、8bitが2個、7bitが2個です。つまり、4個まで使えます。
PSoC4200 CY8CKIT-049では、IDACは、8bitが1個、7bitが1個です。つまり、2個まで使えます。



図2−1 7bit IDACのプロパティ

8bit IDACの最上位をなくしただけですね。DACは、フルスイング10uSなので、100KHzまで使えるでしょう?

SCB(UART/I2C/SPI) (2023-2-12)(2023-2-13)

SCBは、4つあります。SCBは、UART、I2C、SPIを サポートしています。しかも、FIFOが送信、受信にそれぞれあります。

UART

UARTのプロパティは、


図3−1 UARTのプロパティ その1



図3−2 UARTのプロパティ その2

インタラプトとDMAが使えます。インタラプトは色々選べます。

SPI

SPIのプロパティは、



図3−3 SPIのプロパティ その1

Modeは、Slave、Masterがえらべます。サンプリングはオーバーサンプリングで、取りこぼしはありません。



図3−4 SPIのプロパティ その2

FIFO(サイズは変えられる)が、ありますので、取りこぼしはありません。

I2C

I2Cのプロパティは、


図3−5 I2Cのプロパティ

Modeは、Slave、Master、Multi-Master、Multi-Master-Slaveがえらべます。

TPCWM(Timer Counter/PWM/Quadratire Decorder)(2023-2-12)

TPCWMは、8個あります。

Timer Counter



図3-6 Timer Counterのプロパティ

プリスケーラは、x1,x2,x4,x8,x16,x32x64,x128がえらべます。カウンタモードは、Up,down,Up-down- mode0,Up-down-mode1がえらべます。
Run Modeは、連続、ワンショットがえらべます。

PWM

PWMのプロパティは、


図3-7 PWMのプロパティ

PWMは、とても多機能で、ちょっと簡単には説明しきれません。

Quadratire Decorder

Quadratire Decorderは、ロータリーエンコーダーの右回しで、カウントアップ、左回しで、カウントダウンのようなカウンタです。



図3−8 Quadratire Decorderのプロパティ

UDB(2023-2-12)

UDBは、4ブロックあり、自分でデジタル回路を書きます。大概のゲート、機能部品はあります。

回路図に、SCB,TPCWMの機能部品を使うことができます。

I2S(2023-2-16)

I2Sは、UDBを使って構成されます。



図3−9 部品リストのI2S

I2Sは、RX and TX とRX とTXの3つがあります。

ここでは、RX and TXを見てみましょう。


図3−10 部品



図3−11 I2Sのプロパティ その1



図3−12 I2Sのプロパティ その2

UDBには、ほかにも機能部品がありますが、これでやめておきます。



DDS24(2023-2-16)

DMAとIDACを使ってWaveformDACを構成したものがあります。

https://community.infineon.com/t5/PSoC-4/IDAC-with-DMA/td-p/188260

これに、DDS24を 組み合わせてDDSに仕上がります。ここでは、PSoC5lpを使っていますが、DDS24はこれを追っていくといきつきます。
さらにゆくとDDS32に行き着きます。

Analog(2023-2-20)

Analogの部品は、



図4−1 Analog部品

SAR ADC


ADCは、SAR ADCで、


図4−2 デフォルトの部品シンボル

入力は、それぞれ差動あるいはシングルエンドのえらべる8入力までです。もちろん、入力は1〜8で、自由に変えられます。
sdoneは、サンプル完了で、1クロックHになります。マルチプレクサを切り換えてよいということです。でも、変換はまだ完了していません。
eocは、変換完了で、インタラプト、DMA、ポートに繋げられます。



図4−3 SAR ADC プロパティ その1

Clock Sourceは内部、外部がえらべられ、Sample modeは、フリーランと外部トリガーをえらべられます。


図4−3 部品シンボル 左 外部クロック 右 外部トリガー



図4ー4 SAR ADC プロパティ その2

入力は、赤線のところをかえると、最大8本えらべます。 Modeで、差動とシングルエンドをえらびます。

Opamp



図4−5 Opampシンボル



図4−6 Opampのプロパティ

Modeで、オペアンプとフォロアーをえらびます。Outputで、出力が内部だけかIOピンに出すか決めます。

オペアンプの場合抵抗は外付けです。

AnalogMUX



図4−7 MUXの部品

アナログマルチプレクサです。チャンネル数と差動、シングルエンドをえらべます。

Analog Hardware Mux(GPIO)

Analog Hardware Mux(GPIO)は、マルチプレクサとスイッチをえらべます。スイッチとは双方向ですが、マルチプレクサは単方向です。



図4−8 デフォルトシンボル   差動入力のシンボル    スイッチのシンボル

マルチプレクサでは入力によって4ならば選択する2bit入力とクロックがあります。スイッチは、ON/OFFがそれぞれ別になり、4入力では選択は4本 必要になります。

Analog MUX


図  シングルエンド   差動

入力は、ハードウエアに余力があれば255まで、できます。

Analog MUX Sequencer

Analog Virtual MUX

Comparators

コンパレータには、



図4−9 コンパレータ

コンパレータは3種類あります。

Comparator


図4−10 コンパレータのシンボル



図4−11 コンパレータのプロパティ


Low Power Comparator


図4−12 シンボル



図4−13 プロパティ

Scannig Comparator


図4−14 シンボル デジタル出力なし        デジタル出力あり

入力は64、出力は64まで取れますが、ハードウエアの余力がないと制限されます。入力をスキャンしながらコンパレートします。
ですから、ソフトが要りません。

eos出力はend of scanで、スキャンの終了です。




図4−15 プロパティ その1

VDACは、VDAC Rengeが0-1.020Vならstepサイズは4mV、0-4.080Vなら16mVになります。つまり、256段階というこ とです。




図4−16 プロパティ その2

interrupt modeは、Leveと,Rising,Falling,Bothのエッジ、disableの5通りがえらべます。
DAC voltageはデフォルトではmaxの1/2なので、500mVか2000mVのいずれかです。

Display


図4−10 Display

Displayは、これだけあります。上2つは、キャラクタdisplayで、よくあるものです。下4つはグラフィックdisplayです。
PSoC 4 Pioneer Kit Community Project#09 – Graphics LCD Display

Programming graphil LCD

Graphic LCD Interface (GraphicLCDIntf) のデザインサポートの中に、日本語の

Graphic_LCD_Interface_V1.61-Software Module Datasheets-v01_08-JA.pdf

という文書があります。また、Segment LCDは、

AN87391 PSoC® 4 セグメント LCD の直接駆動

が参考になると思います。

文書

PSoC™ 4: PSoC 4200M データシート

PSoC® 4 - GPIO ピンの使用

PSoC 4 入門

PSoC®アナログ コプロセッサ入門

PSoC 4 I2C ブートローダ


PSoC 4 Direct Memory Access (DMA) Channel

PSoC 4 Interrupts

CE210558 - PSoC® 4 GPIO Interrupt

PSoC 4 および PSoC 6 MCU CAPSENSE™デザインガイド

PSoC 4 低消費電力 CapSense 設計

PSoC® コントロール エリア ネットワーク (CAN) プロトコル トラブルシューティング ガイド

PSoC® 3PSoC 4PSoC 5LP および PSoC アナログ コプロセッサ UART ブートローダ

PSoC 4 Sequencing Successive Approximation ADC (ADC_SAR_Seq)

ログ(AMuxHw)

CE224625 PSoC 4 Multiplexed and Scanning Comparator

PSoC 4 Current Digital to Analog Converter (IDAC)

PSoC 4 Timer Counter Pulse Width Modulator (TCPWM)

CE224594 PSoC 4 Timer/Count

CE224593 PSoC 4 PWM

CE195354 PSoC 4 Quadrature Decoder

PSoC 4 Serial Communication Block (SCB)

PSoC 4 SPI Master

CE224406 PSoC 4 UART

PSoC 4 I2C Master

PSoC 4 Operational Amplifier (Opamp

PSoC 4 Voltage Comparator (Comp)

UDB データパスを用いた PSoC Creator コンポーネントの設計

CE224787 PSoC 4 Lookup Table

Status Register

Control Register

全文書の取得と日本語化


全文書の取得と日本語化については、ここに書いてあります。


つづく