PSoC5LP
逆チェビシェフ・フィルタや楕円 (連立チェビシェフ) フィルタなどの「伝送零点」を持つフィルタは、バタワース・フィルタなどの (伝送零点を持たない) 全極型のフィルタに比べて遮断特性を鋭くできます。 しかし、アナログ・フィルタ回路では、一般に伝送零…
1/12 オクターブバンド・フィルタをディジタル・フィルタとして実装した例として、すべて PC 上のソフトウェアで記述した場合と、PSoC5LP の DFB (Digital Filter Block) を用いて「ハードウェア」として実現した場合との、ふたつについて述べます。 まず、P…
「オクターブバンド・フィルタ」とは、バンドパス・フィルタの通過域上端の周波数 (f2) と、通過域下端の周波数 (f1) との比がちょうど 1 オクターブの f1 : f2 = 1 : 2 となっているフィルタのことを言います。 同様にして、1 オクターブの帯域幅を N 個に…
実際に NJW1159 を使った状態変数型フィルタを作成し発振させて、その周波数を測ってみました。 回路規模が大きくなるので、Arduino 用の小さなブレッド・ボード・シールドではなく、大きいブレッド・ボード上に回路を組み、コントロール用のマイコンとして…
PSoC5LP 内蔵 OP アンプ/TIA (Trans-Impedance Amplifier) を使った状態変数型 2 次フィルタのトップ・レベルの回路図を下に示します。 (図をクリックすると拡大します) 外部回路も記述してあります。
PSoC5LP 内蔵の OP アンプと、SC/CT (Switched Capacitor/Continuous Time) ブロックの PGA (Programmable Gain Amplifier) 機能を利用して、状態変数型の 2 次フィルタを構成する実験をしてみました。 ただし、PGA で可変できるゲインの最大と最小の比が約 …
私の手持ちの USB オーディオ・インターフェース (のひとつ) は、アナログ・ソースを 24 ビットで取り込めることをうたっていますが、マニュアルでは SPDIF 入力からも 24 ビットでチャプチャできるかどうかについては言及されていません。 中を開けて SPDIF…
オーバーサンプリング DAC を接続して測定して、sinc^4 補償フィルタで十分にフラットな周波数特性になることをダメ押しで確認しました。 この作業中に、PSoC5LP Prototyping Kit の外部接続ヘッダ J2 の 3 番ピン RST には、何も接続されていないことが判明…
デルタ・シグマ ADC に CIC 補償フィルタを接続した場合の周波数特性を測定しました。 まず、出力を SPDIF 経由でディジタル・データそのものとしてキャプチャした場合の結果を下に示します。
CIC 補償フィルタを使用する場合に追加する回路を下に示します。 DFB (Digital Filter Block) のデータ入出力は DMA を使って行なわれるので、DMA コンポーネントとの接続があるだけで、他の部分との回路的な接続はありません。 フィルタは「インターリーブ…
PSoC5LP 側を SPDIF 出力にして測定した結果を示します。 残念ながら私の手持ちの USB オーディオ・インターフェースでは、SPDIF 入力からのディジタル録音と、 DAC 経由のアナログ信号出力による再生とを 1 台で同時に両立できるものがありませんでした。 …
PSoC5LP では、OP アンプ / コンパレータ / DAC / 多用途に使えるスイッチト・キャパシタあるいは連続時間ブロックなどを含むアナログ・サブシステムを 4 系統内蔵しています。 さらには逐次比較式 ADC を 2 個、デルタ・シグマ方式 ADC を 1 個内蔵していま…
高知工科大学 Advent Calendar 2015 の 12/25 の記事 「PSoC のコンポーネントを作ろう」 に PSoC5LP のアナログ RC LPF をコンポーネント化して利用する例が説明されていました。 RC LPF はアナログ・プリミティブとして定義されており、パラメタ設定の方法…
PSoC では、低スキューで各ブロックにクロックを分配できる配線網が専用に用意されており、そのクロック専用線を使うクロックを「グローバル・クロック」と呼んでいます。 ただし、その数には限りがあって、PSoC5LP ではクロック分周比を任意に選べるディジ…
実は、spdif_dma プロジェクトで使っている I2S フォーマットの WS 信号を標準フォーマット LRCK 信号に変換する回路は「論理的」には正しくありません。 一方、論理的に正しい回路にすると、期待しているような動作になりません。 これは、変換回路のクロッ…
前回示したように、USBMIDI コンポーネントを「USB-MIDI コンバータ」として利用するために必要なコード量は 10 行程度なので、「USB 接続の音源」を作る場合には、「レガシー MIDI 入力の音源」+「USB-MIDI コンバータ」という構成にするのが最も容易です。…
標準ライブラリとして用意されている「USBMIDI」コンポーネントでは、下の図のように、USBFS コンポーネントと、UART、入出力ピン、インバータの回路がセットになったものがデフォルトとして定義されています。 「USB_MIDI」サンプル・プロジェクトは、これ…
PSoC5LP のサンプル・プロジェクト「USB_MIDI」を試してみました。 プロジェクトが想定している開発ボードは CY8CKIT-001 で、プロセッサとしては CY8C5868AXI-LP035 が選択されています。 これを CY8C5888LTI-LP079 に変更し、ポートの割り当ても適当に変更…
PSoC5LP Prototyping Kit (CY8CKIT-059) 用の "spdif_dma" のパッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。
spdif_4x / spdif_dma プロジェクトは「4 倍オーバーサンプリングのテスト」とは言いながら、192 kHz サンプリングの S/PDIF 信号を受信できる機器を所有していないので、48 kHz サンプリングでの実験にとどまっていました。 今回 spdif_dma プロジェクトに …
Filter コンポーネントで生成される DFB (Digital Filter Block) プログラムでは 2 チャネル分のフィルタがサポートされています。 これをステレオ 2 チャネルのストリームとして利用し、データ転送の全てを DMA で行なう場合には、DFB データ入出力の合計が…
DFB (Digital Filter Block) コンポーネントへの入出力を全て DMA で行なうプログラム「spdif_dma」ができました。 近日中に公開したいと思います。 トップレベルの回路図を下に示します。
PSoC5LP Prototyping Kit (CY8CKIT-059) 用の "spdif_x4" のパッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。
今回は PC 上のオーディオ録音/再生デバイスを利用したリアルタイム・スペクトラム・アナライザ・ソフトである「WaveSpectra」によるフィルタ特性の測定方法について説明します。 「WaveSpectra」の操作方法自体は、ソフト付属のヘルプにも記載されています…
「spdif_4x」プロジェクトで使う外部回路を下に示します。 使う部品は、「TOSLINK」光送信モジュール、12.288 MHz 水晶振動子、コンデンサ 3 個です。 S/PDIF 信号を発生させるクロックには周波数精度が必要なため、内部クロックでは不十分で、水晶振動子あ…
DFB (Digital Filter Block) のハードウェア DMA / 割り込み要求は「出力データ・レディ」の条件により発生するので、データの流れとは逆向きに後段から前段へとデータ転送要求を出す流れとは一致しません。 「入力データ・エンプティ」のようなハードウェア…
久しぶりに SPDIF_Tx コンポーネントと DMA (と Filter コンポーネント) の話題に戻ります。 PSoC Creator の PSOC5LP 用の、Filter コンポーネントを使ったサンプル・プロジェクトのひとつとして、「Filter_ADC_VDAC01」があります。 そのトップの回路図の…
Filter コンポーネントで作成される IIR バイクアッド・フィルタの計算プログラムでは、2 次セクションの伝達関数 の分子多項式の計算をまず行い、ついで分母多項式の計算を行なう「直接型 I」と呼ばれる方式で行なっています。 図示したものを下に示します。
今回は Filter コンポーネントで生成される実際の FIR フィルタ・プログラムについて説明します。 1 行が長くて折り返して表示されるので見にくいですが、フィルタ・チャネル A の計算前準備 / たたみ込み演算 / 後処理部のリストを下に示します。 各ステー…
DFB (Digital Filter Block) の「ミニ DSP」エンジンの命令語では ACU (Address Calculation Unit) に対しては、32 ビットのうち、 ACU A へのコマンド — 4 bit ACU B へのコマンド — 4 bit ACURAM のアドレス指定 — 4 bit の、計 12 ビットが割り当てられて…