dsPIC33FJ64GP802 (3) --- DSP 命令と DSP ライブラリ (1)

 FIR (Finite Impulse Response) フィルタの計算では、FIR フィルタの「タップ」ひとつあたり 1 回の積和演算が必要です。
 積和の乗算ではオペランドを 2 つ必要とするので、メモリ・アクセスが 2 回必要となります。
 したがって、タップひとつ分の計算を 1 サイクルで実行するためには、ふたつのオペランドのフェッチをそれぞれ別のデータバスを介して同時に行うか、あるいは、2 つのオペランドがひとつのワードに「パック」されたデータを単一のデータバスから読み出す必要があります。
 積和演算などの「DSP 命令セット」を持つプロセッサは多いのですが、データバスが 2 重化されているものは少なく、タップひとつあたり 2 命令以上を必要とする場合が多いです。
 dsPIC の場合には、X-バスと Y-バスの 2 系統のデータバスを備えており、タップひとつあたり 1 命令、1 サイクルで実行できます。
 単に DSP 命令を追加しましたというレベルにとどまらず、古典的な固定小数点演算の専用 DSP に匹敵するアーキテクチャとなっています。
 しかし、クロックが最大 40 MHz と遅いので、タップひとつあたり 2 サイクル以上かかる他の高速クロックのプロセッサにトータルでは負ける場合があります。

続きを読む

dsPIC33FJ64GP802 (2) --- DAC の周波数特性 (2)

dsPIC マイコン本体のプログラムで固定周波数の正弦波、あるいはリニア周波数スイープの正弦波を発生させ、DAC に出力し、アナログ信号をホスト PC のオーディオ入力に接続して「WaveSpecta」で周波数特性を観測した結果を示します。
他に注記のない限り、WaveSpectra やプログラムの設定は下のようになっています。

  • 録音コーデック設定: 16 ビット 96 kHz サンプリング
  • FFT ポイント数: 131072 (128 K)
  • 窓関数: フラット・トップ窓
  • サイン波テーブル: 16 ビット精度、1 周期 4096 エントリ
続きを読む

dsPIC33FJ64GP802 (1) --- DAC の周波数特性 (1)

Microchip 社の dsPIC33F ファミリは、DSP 命令を持つ 3.3 V 電源の 16 ビット・マイコン・ファミリで、秋月電子では次の 2 品種の取り扱いがあります。

  • dsPIC33FJ32GP202-I/SP (単価 380 円)
  • dsPIC33FJ64GP802-I/SP (単価 480 円)

型番中の「GP」は「汎用」(General Purpose) を表しています。 他に、モータコントロール用や電源制御用に特化したシリーズもあります。
型番の 202/802 の最後の「2」は 28 ピン・デバイスであることを示しています。
802 の方は 100 円高いのですが、オーディオ用途に適した

  • 16 ビット・デルタシグマ・オーディオ DAC が 2 チャネル (サンプリング周波数最大 100 kHz)
  • AC97 コーデックとの接続機能を備えた DCI (Digital Converter Interface)

が内蔵されています。

続きを読む

はてなブログへの移行のお知らせ

これまで、「はてなダイアリー」を利用してきましたが、2019 年 春ごろにサービス停止となる予定を受けて、「はてなブログ」へ移行しました。
新しい URL は下のようになります。

https://pcm1723.hateblo.jp/

なお、「リダイレクト」機能により、旧・はてなダイアリーの URL でアクセスしても、新・はてなブログが開くようになっています。

FPGA 版 FM 音源 (87) -- OPLx 実チップ上の ROM

以下のサイトで、YM3812 (OPL2) および YMF262 (OPL3) チップを「デキャップ」してダイ表面の写真を撮影し、ROM 内容を読み出したレポートが見られます。

Matthew Gambrell and Olli Niemitalo, 2008/04/20

OPLx decapsulated - Google ドキュメント

これまでソフトウェアや FPGA で使用してきたサイン波テーブルおよび対数-真数変換テーブルは、結論から言うと、(実質的に) 実チップ上の ROM と同内容であることが確かめられました。

続きを読む

FPGA 版 FM 音源 (86) -- TX7 (OPS) 測定 (13)

「ロー・レート」動作の上限、つまり、EG プリスケーラの設定が 1/1 になり、オクタル・レート・マルチプライアに fs レートのクロックが直接に入力される場合の rate99、rate63 の表を下に示します。

続きを読む

FPGA 版 FM 音源 (85) -- TX7 (OPS) 測定 (12)

検索ワード「FM音源 OPS レジスタ解析」でググると、

FM音源 EGS/OPSのレジスタ解析

と題された、作者不明の web ページが見つかります。
このページには、TX7 のファームウェアを解析して EGS/OPSレジスタの仕様を探った結果が示されています。
その中で、EG のレートに関して、音色パラメタの 0 〜 99 の 100 段階の値から 5 ビット幅のレジスタに設定する 0 〜 63 の 64 段階の値へとマッピングする計算式が示されています。

続きを読む