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® 3、PSoC 4、PSoC 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
全文書の取得と日本語化
全文書の取得と日本語化については、ここに書いてあります。
つづく