トラ技 2019 年 5 月号付録 PSoC4100S 基板 (3)

 2015 年 5 月 23 日付けの記事 (→こちら) と 2015 年 6 月 30 日付けの記事 (→こちら) で「PSoC 4200 Prototyping Kit」用に作った「タッチ鍵盤付き無限音階オルガン」基板を改造して、トラ技 2019 年 5 月号付録基板用に作り変えました。
 この基板のタッチ電極は「PSoC4 CapSense デザインガイド」で推奨される基準に即しておらず、「誤動作」する「失敗作」ですが、とりあえず手間を省いて機能を確かめるためにトラ技基板用に改造しています。
 CapSense コンポーネントの仕様変更により、ユーザプログラム部分も一部変更する必要がありましたが、「機能」は確認できました。
 元の基板の写真を下に示します。

続きを読む

トラ技 2019 年 5 月号付録 PSoC4100S 基板 (2)

 CY8C4146LQI-S433 (PSoC 4100S シリーズ) での FF (Fixed-Function) モジュールの入出力は、任意のピンに割り当てることはできず、数か所の選択肢の中からひとつを選ぶ形になります。
 その割り当て表は、デバイスのデータシートやトランジスタ技術 2019 年 5 月号の 114 ページと 115 ページとの間にはさみこまれた紙に記載されていますが、ちょっと見にくいので、書き直した表を下に示します。 (図をクリックすると拡大します)

続きを読む

トラ技 2019 年 5 月号付録 PSoC4100S 基板 (1)

 トランジスタ技術 2019 年 5 月号には、付録として Cypress CY8C4146LQI-S433 (PSoC 4100S シリーズ) を搭載した基板が付いています。
 以前の記事で取り上げた「PSoC 42xx Prototyping Kit」(CY8CKIT-049) に搭載されている CY8C4245AXI-483 (PSoC 4200 シリーズ) とは、内蔵ペリフェラルに違いはありますが、ソフトウェア的にはほぼ同等に扱えます。
 以前に作成した FM 音源のオペレータ (スロット) 計算のサイクル数を測定するための CY8C4245 用のプロジェクトも一部の変更で CY8C4146 用に対応でき、ほぼ同等の結果が得られました。
 両者の仕様の一部について比較した表を下に示します。

続きを読む

dsPIC33FJ64GP802 (28) --- 周波数シフター (12)

 現状の周波数シフター・プログラム (2019 年 2 月 7 日付けの記事に hex ファイルを掲載) では、処理に余裕があったので、 2019 年 1 月 16 日付けの記事の実質 507 タップのヒルベルト変換器ではなく、タップ数を増やして実質 763 タップとしたものを使っています。
 GNU Octave による設計プログラムをまだ掲載していなかったので、下に示します。

続きを読む

dsPIC33FJ64GP802 (27) --- 周波数シフター (11)

 2019 年 3 月 24 日付けの記事では、方形波を表すフーリエ級数表現の式を積分して、三角波フーリエ級数表現が得られることを示しましたが、サイン/コサイン入れ替え版の式は求めていませんでした。
 1.442-3. 式の左辺の積分を計算すると次のようになります。

続きを読む

Web サイト移転

 2019 年 3 月 31 日に Yahoo! ジオシティーズのサービスが終了するのに対応して、ジオシティーズ上にあったWeb サイト「JO-MIDI-FM」

http://www.geocities.jp/pcm1723/

XREA 上の

http://pcm1723.g3.xrea.com/

に移転しました。
 2019 年 9 月 30 日までは、 従来のジオシティーズの URL をアクセスしても、XREA の方にリダイレクトされる設定になっています。
 Yahoo! ジオシティーズ無料版のホームページ容量 50 MB (当時) をほぼ使い切り、新たなコンテンツの追加をしなくなってから数年放置したままですが、とりあえず、内容は残しておくことにしました。

dsPIC33FJ64GP802 (26) --- 周波数シフター (10)

 解析的には積分が難しい関数でも、べき級数としての表現が得られれば、その式を項別に積分して結果の式を求めることができます。
 得られた級数を必要な精度を満たす項まで計算すれば、数値としての値が求まります。
 Maxima にはテイラー級数 (Taylor series) を求める taylor() 関数が用意されており、それを利用して逆グーデルマン関数 agd(x) を展開し、積分すると、

のようになります。

続きを読む