2015-09-01から1ヶ月間の記事一覧

FPGA 版 FM 音源 (42) -- YMF297 (OPN3/OPL3) 測定 (7)

次の 6 つの Verilog-HDL ファイルを示します。 tb_opl3_op.v —— テストベンチ opl3_op.v —— サイン波発生部本体 opl3_slb_rom.v —— log2 magnitude サイン波 ROM slbtab_opl3.memh —— 上記 ROM の初期化データ opl3_lb2lin_rom.v —— log2 magnitude — リニ…

FPGA 版 FM 音源 (41) -- YMF297 (OPN3/OPL3) 測定 (6)

OPL3 のオペレータの EG 部分とピッチ発生部分とを除く、サイン波生成部分を Verilog-HDL で記述し、ModelSim でシミュレーションしてみました。 出力波形は、ディジタル・データとして、実チップ (OPL3 モードの YMF297) の出力を S/PDIF 経由でキャプチャ…

FPGA 版 FM 音源 (40) -- YMF297 (OPN3/OPL3) 測定 (5)

ほぼ 1 年ぶりに、OPL3 モードに設定した YMF297 の出力を S/PDIF 経由でキャプチャしてみました。 それは、下の記事に示すように、フィードバック量が多い場合に出力波形が振動的になる現象を追求するためです。 FM音源プログラム(20) -- オペレータ(1…

新版FM音源プログラム (9)

STM32F4xx シリーズの DMAC は STM32F1xx シリーズの DMAC に比べて機能が拡張されており、ハードウェアで「ダブル・バッファ」機能をサポートしています。 これは、メモリ・ベース・アドレス・レジスタを「2 面」の DMA バッファに対応して 2 組持っていて…

新版FM音源プログラム (8)

BSP_AUDIO_OUT_Init() で初期化したあとは、 BSP_AUDIO_OUT_Play(uint16_t* pBuffer, uint32_t Size) で実際に DMA 転送によるオーディオ・データ出力を開始します。 第一引数 pBuffer は、配列要素がハーフワード (16 ビット) の DMA バッファ配列の先頭へ…

新版FM音源プログラム (7)

前回までの話は BSP (Board Support Package) ライブラリの「固定部分」を組み込むための手順でした。 手順 5. はユーザ・アプリケーションから API (Application Programming Interface) 関数を介して BSP ライブラリを利用する方法で、手順 6. は BSP ライ…

新版FM音源プログラム (6)

前回の記事の手順 3. に示した、開発環境にコンパイル/インクルード対象として登録すべき BSP_AUDIO_OUT 関係のファイルを下に示します。

新版FM音源プログラム (5)

STM32CubeFx ライブラリでは、HAL (Hardware Abstraction Layer) ライブラリ、BSP (Board Support Package) の他に、各ボード用のサンプル/デモ・プロジェクトが含まれています。 例として、STM32CubeF4 V1.7.0 の場合のフォルダ構成を下に示します。 主にST…

新版FM音源プログラム (4)

STM32CubeMX で新規プロジェクトを立ち上げる際のダイアログで「MCU Selector」タブではなく「Board Selector」タブを選ぶと、選択したボードで使われているピン (ポート) のコンフィギュレーションがあらかじめ設定されたプロジェクトが生成されます。 ただ…