PSoC4
トランジスタ技術 2019 年 5 月号付録 PSoC 基板 (CY8C4146LQI-S433) 用の無限音階オルガン・プログラム "st_p41s" のパッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。
2015 年 5 月 23 日付けの記事 (→こちら) と 2015 年 6 月 30 日付けの記事 (→こちら) で「PSoC 4200 Prototyping Kit」用に作った「タッチ鍵盤付き無限音階オルガン」基板を改造して、トラ技 2019 年 5 月号付録基板用に作り変えました。 この基板のタッチ…
CY8C4146LQI-S433 (PSoC 4100S シリーズ) での FF (Fixed-Function) モジュールの入出力は、任意のピンに割り当てることはできず、数か所の選択肢の中からひとつを選ぶ形になります。 その割り当て表は、デバイスのデータシートやトランジスタ技術 2019 年 5…
トランジスタ技術 2019 年 5 月号には、付録として Cypress CY8C4146LQI-S433 (PSoC 4100S シリーズ) を搭載した基板が付いています。 以前の記事で取り上げた「PSoC 42xx Prototyping Kit」(CY8CKIT-049) に搭載されている CY8C4245AXI-483 (PSoC 4200 シリ…
gcc の「インライン・アセンブラ」で書いた ARMv6-M (Cortex-M0) 版の acc_calc_slot() 関数のリストを下に示します。 「中身」は armcc 版と同等です。
今回からは実行サイクル数の検討に入ります。 まずは、ARMv6-M アーキテクチャの Cortex-M0 である NXP LPC1114、Cypress PSoC4 から始めます。 アセンブリ言語で書いたスロット (オペレータ) 計算プログラムをコンパイルして得られたオブジェクトを逆アセン…
PSoC4 の内蔵 UDB (Universal Digital Block) を使った "OR" ゲート回路に EXOR を追加して、ハード的に MIDI ポート出力信号の極性を反転できるようにしました。 回路図を下に示します。
「富豪版」つまり出力ポートの数だけ UART を用意するハードウェア構成の上で、ソフトウェアも「富豪版」にする場合のブロック・ダイアグラムを下に示します。
PSoC 4200 Prototyping Kit (CY8CKIT-049-42xx) 用の無限音階オルガン・プログラム "st_p4" のパッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。
タッチ・センサ電極は、形状や配置を自由に設計できるプリント基板で実現するのが本来ですが、ここでは前回と同様に、片面ユニバーサル基板に銅箔テープを貼り付けて実現することにしました。 ただし、前回とは違って、「裏面/ランドのある面/ハンダ面」に銅…
CapSense テクノロジは、「タッチ」の有無をタッチ電極の静電容量変化として検出する方式なので、精密な動作のためには精密な設定が必要になります。 「机上」の設計段階で、正確なストレ容量を推定することやノイズ環境の影響を正確に見積もることは不可能…
無限音階オルガン・プログラムが、ほぼできあがりました。 近日中に公開できると思います。 PSoC Creator 3.0 SP2 の GCC4.7.3 の最適化レベルを「速度優先」にした設定で、現状ではフラッシュ・sizeが約 27 Kバイト (約 81 %)、SRAM サイズが約 2.6 Kバイト…
いまさら新鮮味はないのですが、PSoC4 の CapSense 機能を利用してタッチ鍵盤を実現した無限音階オルガンを作っています。 無限音階オルガンでは、鍵盤は 1 オクターブ分の 12 鍵だけあればよく、PSoC4 の独立したピン 12 本に電極をつなぐだけで実現できま…
多重帰還 (Multple-Feedback) 型 3 次 LPF を試してみましたが、PSoC4 内蔵の OP アンプを使って、2 次および 3 次高調波のレベルが -80 dB 程度、歪率が 0.02 % 程度の結果が得られました。 フィルタの回路図を下に示します。
2015 年 3 月 2 日付けの記事 (→こちら) に示したように、LPF 出力で観測した 2 次高調波のレベルは基本波のレベルの -40 dB 〜 -60 dB 程度となっています。 アナログ部分を色々いじると高調波のレベルも変動するので、この特性はシグマデルタ変調 DAC のデ…
UART Bootloader Host GUI のプログラムで、DTR / RTS を操作して PSoC4 をブートローダ・モードに投入した後に (ホスト側の) 受信バッファをクリアするのを忘れていて、エラーになる場合がありました。 これは、すでに書き込まれている PSoC4 のユーザ・プ…
ホスト PC 上で実行する、PSoC 4200 Prototyping Kit (CY8CKIT-049-42xx) 用の「オート・リセット」版 Bootloader Host アプリケーション "p4ubhost" パッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。 (2015 年…
STmicroelectronics 社の STM32 シリーズでは、リセット時の BOOT0 / BOOT1 という 2 本の信号線の状態で 内蔵フラッシュから起動するか 内蔵システム ROM から起動するか 内蔵 SRAM から起動するか を選べるようになっています。 内蔵システム ROM にはブー…
今回はアプリケーション・ノート AN68272 で触れられている、もうひとつのタイプの UART Bootloader Host GUI についてです。 関連アーカイブ・ファイル AN68272.zip に含まれる UART Bootloader Host GUI サンプル・アプリケーションは Visual C# 2010 によ…
アプリケーション・ノート AN68272 では、次のふたつのタイプの UART Bootloader Host のサンプル・コートについて説明されています。 Bootloader Host コア部分の C ソース・コード Visual C# 2010 による UART Bootloader Host GUI サンプル・アプリケーシ…
ブートローダ経由で Prototyping Kit へのフラッシュ書き込みを行なうためにホスト PC 側で実行するアプリケーションのことを、Cypress では「Bootloader Host アプリケーション」と呼んでいます。 PSoC Creator には I2C / SPI / UART / USB HID それぞれの…
PSoC 4200 Prototyping Kit (CY8CKIT-049-42xx) 用のプロジェクト "pcnt_dac" パッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。
これまでの周期カウンタや DAC などを、ひとつにまとめたプロジェクトを作成中です。 近日中に公開します。 以下のようなコンポーネントをまとめたと言うか、「寄せ集めて」います。
電荷平衡型 VFC のディジタル・モノマルチのトリガ部分のディジタル回路を変更して、外付けアナログ部品を増やさずに、さらにハザードが出る可能性を減らしました。 ディジタル・モノマルチ部分の回路図を下に示します。
SdmDac16 のテスト・プロジェクトでは、1 ビット DAC 出力に下図のような内蔵 OP アンプを利用した Sallen-Key トポロジの 2 次バタワース LPF (fc = 4.8 kHz) を接続してアナログ電圧を得ています。 (このシリーズの記事の 1 回目に PWM DAC 用に使った LPF…
「入力モード」の FIFO、つまり CPU 側からデータを書き込み、UDB ハードウェア側からデータを読み出す設定の FIFO では、CPU「バス側」には FIFO の「空き容量」を示すステータス信号が、UDB ハードウェアの「ブロック側」には FIFO エンプティを示すステー…
カスタム・コンポーネントの作成法や、Datapath Configuration Tool の操作方法などについては詳しい説明を省略します。 以下の文書を参照してください。 AN82156: "PSoC® 3, PSoC 4, and PSoC 5LP – Designing PSoC Creator™ Components with UDB Datapaths…
UDB (Universal Digital Block) 内の「データパス」(datapath) モジュール 2 個と、サンプリング・タイミング発生用の TCPWM コンポーネント 1 個を使って (オーディオ帯域の) 16 ビット・データ入力シグマデルタ変調型 DAC を作りました。 シグマデルタ変調…
PSoC4 の内蔵アナログ・ブロックの OP アンプとコンパレータ、内蔵 UDB (Universal Digital Block) 上の PWM コンポーネントを利用して電荷平衡型 VFC (Charge Balancing Voltage to Frequency Converter) を構成し、内蔵 8 ビット電流出力 DAC (IDAC8) の特…
レシプロカル周波数カウンタ (周期カウンタ) のプログラム (の断片) を示します。 pcnt 変数、pcnt_Start() 関数、pcnt_Stop() 関数、calc_crt() 関数の定義はヘッダ・ファイル (pcnt.h)、C ソース・ファイル (pcnt.c) として独立させ、main.c と同じフォル…