FM音源プログラム

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

過去、いろいろなマイコンに対して FM 音源プログラムを移植して来ましたが、その中身自体は数年前に大きく書き直してからは基本的に変わっていませんでした。 8 ビット AVR 用を除けば、当初からフラッシュがたくさんあるマイコン用として、スピード重視で…

Nucleo-F401RE 用FM音源プログラム -- TGF401RE (1)

6 月 24 日付けの記事では、STM32F4-Discovery 用のFM音源プログラム TGSTM32F4 に手を入れて Nucleo-F401RE にも対応させるつもりでしたが、方針を変更して、Nucleo 用のプログラムは独立させることにしました。 周辺モジュールの操作部分は STM32Cube を…

STM32F4-Discovery/Nucleo-F401RE 用FM音源プログラム -- TGSTM32F4 (15)

STM32 の内蔵モジュールを利用するためのライブラリとして、これまで STMicroelectroics 社は「StdPeriph_Driver」を提供してきましたが、現在は後継の「STM32Cube」(総称) に移行が始まっており、「StdPeriph_Driver」は新規開発には推奨されないものとなっ…

STM32F4-Discovery/Nucleo-F401RE 用FM音源プログラム -- TGSTM32F4 (14)

久しぶりに秋葉原へ出かけて、 9.216 MHz 水晶振動子 (秋月) Nucleo-F401 (秋月) FM 音源チップ YMF297、YM2610 (FM 音源ガチャ) PIC32MX250F128B (秋月) などを買ってきました。 FM 音源チップや、PIC32MX については別の記事で触れることにして、今回は ST…

LPC11U35/トラ技 ARM ライタ (4) -- FM音源プログラム TG11U35 (4)

トランジスタ技術 2014 年 3 月号付録の「トラ技 ARM ライタ」用のFM音源プログラム「TG11U35」USB-MIDI サポート版のソース・パッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。 (2014/12/06 追記: パッケージ…

LPC11U35/トラ技 ARM ライタ (3) -- FM音源プログラム TG11U35 (3)

LPC11U35 基板用のFM音源プログラム「TG11U35」に USB-MIDI 機能を追加しました。 近日中にソース・パッケージを公開します。 USB に関しては VID/PID の問題 (基本的に VID は「誰か」の所有物) があるので、パッケージに同梱するオブジェクト・ファイル…

LPC11U35/トラ技 ARM ライタ (2) -- FM音源プログラム TG11U35 (2)

トランジスタ技術 2014 年 3 月号付録の「トラ技 ARM ライタ」用のFM音源プログラム「TG11U35」ソース・パッケージを公開しました。(→こちら) 上記リンクをクリックすると Yahoo! ボックスが開きます。

LPC11U35/トラ技 ARM ライタ (1) -- FM音源プログラム TG11U35 (1)

トランジスタ技術 2014 年 3 月号付録の「トラ技 ARM ライタ」用のFM音源プログラム「TG11U35」ができました。 フラッシュ上の (プログラム + テーブル) のサイズは約 52 kバイト、サンプリング周波数 15.625 kHz で同時発音数 9 音となりました。 CPU ク…

CQ-FRK-FM3 基板用FM音源プログラム -- TGFM3 (9)

インターフェース誌 2012 年 7 月号付属 DVD-ROM 収録の「PizzaFactory8 (CQ 版)」でビルド可能な TGFM3 の HEX パッケージと、ソース・バッケージを公開しました。 (→こちら) からアクセスできますが、ファイル本体は Yahoo ボックス上に置いてあります。

CQ-FRK-FM3 基板用FM音源プログラム -- TGFM3 (8)

gcc の「-mstructure-size-boudary=」オプションの指定による違いについて、ハードウェア・ウォッチドッグ・タイマにアクセスする部分を具体例として示します。 まず、「mb9b610t.h」中のハードウェア・ウォッチドッグ・タイマの union / struct 定義部分を…

CQ-FRK-FM3 基板用FM音源プログラム -- TGFM3 (7)

「インターフェース」誌 2012 年 7 月号の付属 DVD-ROM には、Eclipse/CDT + gcc ツールチェイン (gcc 4.6.0) による、無償で使える統合開発環境「PizzaFactory 8 (CQ 版)」が収録されています。 「CQ 版」という表現からは、6 月号付属の FM3 基板にカスタ…

CQ-FRK-FM3 基板用FM音源プログラム -- TGFM3 (6)

同じ Cortex-M3 コア搭載のマイコンでも、STmicroelectronics の STM32F シリーズや、NXP の LPC17xx シリーズには、シリアル入力オーディオ DAC とインターフェスするための I2S モジュールが内蔵されています。 これらのモジュールでは、インターフェース…

CQ-FRK-FM3 基板用FM音源プログラム -- TGFM3 (5)

FM3 には、シリアル・インターフェースの系統に属する UART、SPI、LIN および I2C の 4 つの機能を、ひとつの周辺モジュールに集約した、「マルチファンクションシリアルインターフェース」(MFS: Multi Function Serial interface) が 8 組内蔵されています…

CQ-FRK-FM3 基板用FM音源プログラム -- TGFM3 (4)

TGFM3 の HEX パッケージと、ソース・バッケージを公開しました。 (→こちら) からアクセスできますが、ファイル本体は Yahoo ボックス上に置いてあります。

CQ-FRK-FM3 基板用FM音源プログラム -- TGFM3 (3)

これまで、FM 音源プログラムのアプリケーションでは、周辺ハードウェア回路を実装し、マイコン基板を搭載するための「ベースボード」として、外形寸法 155 mm x 114 mm の秋月 A タイプ・ユニバーサル基板 (P-00185) を使ってきました。 しかし、今回は A …

CQ-FRK-FM3 基板用FM音源プログラム -- TGFM3 (2)

CQ-FRK-FM3 基板 (Cortex-M3 コア搭載富士通製マイコン MB9BF618T) 用の FM 音源プログラム「TGFM3」ができました。 近日中に公開します。 今回、新たに追加した機能はありませんが、従来のバージョンで実現されていた機能は全て盛り込んだ「フル機能バージ…

CQ-FRK-FM3 基板用FM音源プログラム -- TGFM3 (1)

インターフェース誌 2012 年 6 月号付属の CQ-FRK-FM3 基板 (富士通製 Cortex-M3 コア搭載マイコン MB9BF618T) 用の FM 音源プログラムを作り始めました。 プログラム名は、安直に「TGFM3」としました。 現状では、まだ、外部回路は作成しておらず、PWM 出力…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (13)

TGSTM32F4 版の機能が RX62N 版と同等 (V 1.2) となりました。 ステレオ・パンポット対応、サンプリング周波数 48 kHz でも同時発音数 16 を達成しています。 (→こちら) からアクセスできますが、ファイル本体は Yahoo ボックス上に置いてあります。 16 を超…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (12)

STM32F4-Discovery 用 FM 音源プログラム「TGSTM32F4」が、フリーの gcc ツールチェーンでコンパイルできるようになったので、ソース・パッケージを公開します。 (→こちら) からアクセスできますが、ファイル本体は Yahoo ボックス上に置いてあります。 フリ…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (11)

従来の STM32 用のソースを元にした STM32F4-Discovery 用 FM 音源プログラムができました。 (→こちら) からアクセスできますが、ファイル本体は Yahoo ボックス上に置いてあります。 今回は、HEX ファイルのみの公開としました。 と言うのは、使用している…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (10)

STM32F4-Discovery のユーザー・マニュアル「UM1472」が 2012 年 1 月 19 日付けで改定され、「リビジョン 2」となっていました。 rev. 2 では、総ページ数が 38 ページと、rev.1 に比べて 1 ページ増加しており、その追加されたページで、STM32F4 の OSC ク…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (9)

STM32F4-Discovery の外部接続用ヘッダ・コネクタ (P1、P2) に出ている信号で、ボード上のデバイスと接続されていない「未使用」のピンをまとめた図を作りました。 ポート名と信号名が併記されているのが、ボード上のデバイスと接続されているピンで、ポート…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (8)

STM32F4-Discovery の STM32F4 側の 8 MHz の水晶振動子 (X2) を取り外してソケットを実装し、水晶振動子を差し替えられるようにして 12.096 MHz での I2S の各種サンプリング周波数を測定してみました。 その結果、当然ですが、サンプリング周波数の相対誤…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (7)

HSE クロックの水晶振動子の周波数を 12.096 MHz に選ぶと、SYSCLK 168 MHz、USB クロック 48 MHz ジャストを維持したままで、I2S のサンプリング周波数の大部分を誤差ゼロで実現できることが分かりました。 (システム) PLL および PLLI2S のリファレンス周…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (6)

STmicroelectoronics のサイトに、STM32F4XX ファミリの (I2S クロックを含む) クロック設定のための ツールが用意されていることが分かりました。 Excel のマクロとして実現されていて、グラフィカルに表示されます。 ドキュメントとしては、アプリケーショ…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (5)

2 月 19 日付けの記事で、DAC 出力の左右非対称なリンギングは、アナログ部分の遅延特性によるものではないかと書きましたが、実際には、ディジタル・フィルタ部分で、あのような特性が生じていることが分かりました。 CS43L22 DAC のサンプリング周波数を 8…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (4)

STM32F4 の SPI/I2S モジュールには、オーバーサンプリング DAC 用のマスター・クロック (MCLK) を発生させる機能があります。 しかし、そのオーバーサンプリング比は 256 倍 (256 fs) に固定で、また、回路の制限により、SPI/I2S モジュールへのクロック (I…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (3)

前回のプログラムを実行して出力される、周波数 440 Hz の三角波と、のこぎり波の波形写真を下に示します。 DAC のオーバーサンプリングおよびフィルタリングによる帯域制限により、のこぎり波の立下り部分の両側に「リンギング」が生じますが、対称的ではな…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (2)

ボード上の外付けステレオ DAC (CS43L22) へ DMA を使用してオーディオ出力する簡単なテストプログラムが動くようになりました。 記事の最後にソースリストを示します。 単に、サンプリング周波数 48 kHz で周波数 440 Hz の音を、のこぎり波を左チャンネル…

STM32F4-Discovery 用FM音源プログラム -- TGSTM32F4 (1)

秋月で少し前に入手した「STM32F4-Discovery」用の FM 音源プログラム「TGSTM32F4」を作りはじめました。 暫定版として、以前の CQSTARM / STBee / STBee mini / STM32VL Discovery 用のプログラムに一部分修正を加えたものが動作しました。 ボード上にはオ…