PSoC5LP

PSoC5LP Prototyping Kit (16) --- DFB と Filter (8)

N タップ FIR (Finite Impulse Response) フィルタの構成を下の図に示します。 フィルタの「次数」で言うなら (N-1) 次のフィルタです。 ここで、角括弧 [] を伴った量は、時間方向に離散化 (discretization) されたサンプル値であるとします。 h[・] は「イ…

PSoC5LP Prototyping Kit (15) --- DFB と Filter (7)

DFB (Digital Filter Block) の「ミニ DSP」の命令語は 32 ビット幅で構成されています。 他のマイコンのような「演算命令」と「分岐命令」とには分かれておらず、プログラムの実行順序は「ステート・マシン」によって制御されています。 そのステート・マシ…

PSoC5LP Prototyping Kit (14) --- DFB と Filter (6)

DFB ハードウェアにはグローバル入力信号が 2 本、グローバル出力信号が 2 本、DMA リクエスト出力 2 本、インタラプト出力 1 本の、合計 7 本の入出力信号がありますが、Filter コンポーネントでは、DMA 出力 2 本、インタラプト出力 1 本の、計 3 本の設定…

PSoC5LP Prototyping Kit (13) --- DFB と Filter (5)

Filter コンポーネントのチャネル B を IIR バイクアッド構成とした場合のカスタマイザ (設定ダイアログ) の画面を下に示します。 (画像をクリックすると拡大します) これは、4 倍オーバーサンプリング用の補間フィルタとは直接の関係はありません。 単に IIR…

PSoC5LP Prototyping Kit (12) --- DFB と Filter (4)

Filter コンポーネントを回路図上に配置して、コンポーネントをダブル・クリックして開くカスタマイザ (設定ダイアログ) の画面を下に示します。 (画像をクリックすると拡大します)

PSoC5LP Prototyping Kit (11) --- DFB と Filter (3)

DFB (Digital Filter Block) で扱うデータは 24 ビット幅ですが、DFB は 8 ビット MCU の 8051 を搭載した PSoC3 にも内蔵されています。 当然、8 ビット MPU の 8051 では 24 ビット・データを一度に扱うことはできません。 8 ビットの読み書きを 3 回行な…

PSoC5LP Prototyping Kit (10) --- DFB と Filter (2)

DFB (Digital Filter Block) では、BUS_CLK がクロック入力となるように決められていて、他の選択はできません。 BUS_CLK は CPU_CLK としても使われるので、CPU の動作スピードと同じスピードで DFB も動作することになります。 PSoC5LP Prototyping Kit 本…

PSoC5LP Prototyping Kit (9) --- DFB と Filter (1)

今回からは PSoC5LP の DFB (Digital Filter Block) コンポーネントと Filter コンポーネントについての話題です。 DFB は UDB (Universal Digital Block) 上に実現されたファンクションではなく、「固定ファンクション」として実現されています。 PSoC5LP …

PSoC5LP Prototyping Kit (8) --- SPDIF_Tx と DMA (7)

ISR (Interrupt Service Routine) の作成方法について前回述べたのとは方針を変えることにしました。 インタラプト・コンポーネントの配置により自動生成される C ソース・コードには変更を加えず、ISR は main.c ファイル中で定義して、API の Start() 関数…

PSoC5LP Prototyping Kit (7) --- SPDIF_Tx と DMA (6)

DMA コンポーネントに接続したインタラプト・コンポーネントでも DMA 関係の定義を使うので、DMA Wizard で生成された C ソース・コードのうち、#define 文の定義などを集めてヘッダ・ファイル「main.h」として独立させ、ISR (Interrupt Service Routine) 側…

PSoC5LP Prototyping Kit (6) --- SPDIF_Tx と DMA (5)

PSoC5LP の DMA コンポーネントでは、カスタマイザで設定可能なのは、DMA リクエスト・ハードウェア入力 (drq) を設けるかどうか、およびその信号の種類の選択、DMA 停止ハードウェア入力 (trq) を設けるかどうかの 2 つのオプションのハードウェア入力に関…

PSoC5LP Prototyping Kit (5) --- SPDIF_Tx と DMA (4)

「ダブル・バッファ」は、その特性上、常にどちらかのバッファが「使用中」で、「空き」があるのはもう片側のバッファのみです。 オーディオ・サンプルを生産する側のソフトウェアから見れば、常にバッファ全体の半分の容量しか利用できません。 「ダブル」…

PSoC5LP Prototyping Kit (4) --- SPDIF_Tx と DMA (3)

PSoC5LP の DMA で使用する TD (Transaction Descriptor) には、 ソース・アドレスの下位 16 ビット デスティネーション・アドレスの下位 16 ビット 転送バイト数 (Transfer Count) 各種フラグ・ビット (Property) 次の TD 番号 (Next TD) の情報が含まれて…

PSoC5LP Prototyping Kit (3) --- SPDIF_Tx と DMA (2)

PSoC5LP では、周辺モジュールは「PHUB」(Peripheral HUB) と称するバス・マトリクスを介して Cortex-M3 コアの AHB と接続されています。 DMA コントローラは PHUB の機能の一部として実現されており、内部レジスタの名称としても「PHUB_〜」という形式で命…

PSoC5LP Prototyping Kit (2) --- SPDIF_Tx と DMA (1)

今回は PSoC5LP の SPDIF_Tx コンポーネントと DMA モジュールについて取り上げます。 SPDIF_Tx コンポーネントは UDB (Universal Digital Block) 約 4 個分を費やして実現されており、次のような仕様となっています。 サンプリング周波数の 128 倍のクロッ…

PSoC5LP Prototyping Kit (1) --- KitProg

「PSoC5LP Prototyping Kit」を購入しました。 今回は「KitProg」部分と、電源回りの回路について述べたいと思います。 「KitProg」は「MiniProg3」の SWD プログラマ / SWD デバッグ・プローブ / USB-I2C ブリッジ相当の機能を実現したものです。 「MiniPro…