Nucleo
AC97 では、1 オーディオ・フレームは 256 ビットから構成されており、「BIT_CLK」 (ビット・クロック) の周波数は、 256 × 48 kHz = 12.288 MHz となります。 256 ビットの 1 フレームはさらに、16 ビット幅のスロットが 1 個、20 ビット幅のスロットが12 …
STM32F446RE などに内蔵されている SAI (Serial Audio Interface) モジュールの AC97 モードを使って、AC97 コーデックとの接続を試してみました。 「AC97 リンク・コントローラ」に「AC97 プライマリ・コーデック」ひとつと「AC97 セカンダリ・コーデック」…
STM32F446RE などに内蔵されている SAI (Serial Audio Interface) モジュールでは、通常の 2 チャネル・ステレオ・オーディオ DAC/ADC とのインターフェースに加えて、 3 ch 以上のマルチ・チャネル構成や、AC97 や SPDIF などのプロトコルに対応しています…
PSoC4 の内蔵 UDB (Universal Digital Block) を使った "OR" ゲート回路に EXOR を追加して、ハード的に MIDI ポート出力信号の極性を反転できるようにしました。 回路図を下に示します。
今回は STM32F4xx シリーズのチップを搭載した Nucleo-64 ボードでの話題です。 ハードウェアとしては Arduino 用の「ムライシールド(仮)」(→こちらとこちら) を使用し、ソフトウェアとしては CubeF4 HAL ライブラリを使用しています。 デフォルトでは、Ardu…
STMicroelectronics Nucleo シリーズ (より正確には Nucleo64 シリーズ) では、ST 独自の「Morpho」コネクタのほかに Arduino Uno R3 互換の Arduino コネクタを持ち、Arduino 用シールドが利用できます。 しかし、デフォルトではコネクタのピン D0、D1 には…
STmicroelectronics の STM32Cube では、MCU のファミリ別に HAL ライブラリが構成されています。 その中で F0 / F1 / F3 / F4 シリーズのライブラリしかダウンロードしていないのですが、いずれのライブラリにも Adafruit 1.8 インチ TFT LCD シールド用の …
Arduino 用の S6D0151 ライブラリは、Adafruit 製の「Adafruit_ST7735」を元に手を加えて、比較的簡単に実現でき、「tft_S6D0151」と名づけました。 Yahoo! ボックス上 (→こちら) に公開しました。 (2017 年 5 月 27 日追記: 画面の回転角が 90°および 270°…
STmicroelectronics 社製の STM32 マイコンの評価ボード「Nucleo」シリーズは、秋月価格で 1500 円 〜 1800 円と安価 (Nucleo-32、Nucleo-64 の場合) で提供されています。 しかし、「プログラマ/デバッガ」である ST-LINK/V2-1 にターゲット MPU の「ブレー…
2016 月 11 月 18 日付けの記事 (→こちら) で述べた EG クロック・プリスケーラの動作は、よく考えればレート・マルチプライア (rate multiplier) そのものでした。 パイプライン方式で複数オペレータを実現する場合に各オペレータ固有の内部変数として 8 進…
リニア出力のアナログ EG では、ディケイ/リリース回路に 1 次 RC 回路の放電特性のエクスポネンシャル・カーブを利用していれば、時間の経過とともに出力電圧はサステインあるいはグラウンド・レベルへ限りなく接近していきます。 リリース状態で「放置」し…
今回の小ネタは、OPL3 の EG パラメタ (AR/DR/RR) の値が有効になる (参照される) タイミングについてです。 結論から言えば、アタック/ディケイ/リリースで、その状態に対応するレート・レジスタ AR/DR/RR が選択されている限り、ラッチされることはなく常…
今回は、OPL3 の音色パラメタの「SL」(Sustain Level) と実際の EG 出力のサステイン・レベルの不一致についての話です。 音色パラメタの SL は 4 ビットの値で、dB 単位の出力レベルと各ビットとが下の表のように対応づけられています。 b3 : -24 dB b2 : -…
OPL3 の EG では、AR/DR/RR で指定するレートが 13 の場合に fs クロックごとに EG アキュムレータの値が変化するようになり、レートが 12 を含んでそれ以下になる場合には、EG アキュムレータを更新するクロックが fs を分周したもの (プリスケールされたも…
ほぼ 1 年前 (→2015 年 9 月 20 日の記事) に OPL3 モードに設定した YMF297 で、セルフ・フィードバックの経路に FIR LPF が存在することを確認しました。 そのときから気になっていたのですが、「普通」のモジュレーション入力のパスには LPF がなく、入力…
パイオニア PD00601 の測定を行ないました。 PD00601 は 2 DAC 出力モードのみをサポートする 8 倍オーバーサンプリング・ディジタル・フィルタで、 阻止域減衰量 53 dB 通過域リプル -0.046 ±0.023 dB SOP (1.27 mm ピッチ) 16 ピン・パッケージ というスペ…
パイオニア PD00601 の前に、NPC 製 SM5807ES の測定を行なうことにしました。 SM5807 も古い AV 機器から外してきたものですが、それが何の機器だったかは覚えていません。 SM5807 は 4 倍オーバーサンプリング用ディジタル・フィルタで、fs = 44.1 kHz に…
単体の (単純な) DAC と組み合わせてオーバーサンプリング DAC を構成するための、単体のディジタル・フィルタ IC の特性を測定してみました。 対象は YAMAHA の YM3434 で、昔の AV 機器 (MUSE-NTSC コンバータ) から外してきたものです。 昔、秋月で YM343…
ほぼ 1 年ぶりに、OPL3 モードに設定した YMF297 の出力を S/PDIF 経由でキャプチャしてみました。 それは、下の記事に示すように、フィードバック量が多い場合に出力波形が振動的になる現象を追求するためです。 FM音源プログラム(20) -- オペレータ(1…
前回までの測定で、同一 IC に対する VBE (の絶対値) がトランジスタの品種により違いがあることが分かりました。 そこで、NPN / PNP トランジスタの品種の組み合わせ方により、Arp 方式のアンチログ回路を単一電源動作させた場合の特性を改善する試みを行い…
以下に示す品種の PNP トランジスタも測定してみました。 2SA1015-GR、2SA1015-Y (東芝製) 2SA1618-Y (東芝製、2 素子封入、コモン・エミッタ、2SA1015-Y ×2 相当) HN03B02FU (東芝製、PNP + NPN、 2SA1015-GR + 2SC1815-GR 相当) 2SA1049-GR (東芝製) 2N390…
測定対象の NPN トランジスタとしては、以下に示す品種を選びました。 2SC1815-GR、2SC1815-Y (東芝製) 2SC2710-Y (東芝製, Ic_max = 800 mA) 2SC3113-B (東芝製, 高 hFE) TD62507 (東芝製, 5 素子独立トランジスタ・アレイ) 2SD2704 (Rohm 製、ミューティン…
TM7705N を使ってトランジスタの特性を測定してみました。 各種の特性のなかでも測定の対象とするのは hFE-IC 特性と IC-VBE 特性との 2 種に限ることにしました。 原理的な図を下に示します。 実際の回路では単電源での動作となりますが、この説明では両電…
Microchip 製のデュアル 12 ビット DAC、MCP4922 も測定してみました。 ディジタル・インターフェースは SPI で、電源電圧は 2.7 〜 5.5 V、2 ch 独立の外部 VREF 入力、DIP 14 ピン・パッケージです。 測定回路を下に示します。 TM7705N 側の回路は省略し、…
TM7705N を使って、実際の DAC の特性を測ってみました。 測定対象としたのは Maxim MAX518BCPA で、I2C インターフェースのデュアル 8 ビット DAC です。 5 V 単一電源で動作する DIP 8 ピン・パッケージの IC で、電源電圧 (VDD) をリファレンス電圧として…
TM7705N は 2 個購入して、そのうちの 1 個だけを測定していましたが、残りの 1 個について測定して見ると、セルフ・キャリブレーション後の残留オフセットが少なく、さらにディジタル・インターフェースの読み取りエラーの頻度は信号のドライブ能力に影響さ…
ネット上で検索しても TM7705 のデータシートは中国語のものしか見つからず、詳細が読み取れなくて困っていたのですが、「7705」という型番、スペック、ピン・アサイン、データシートの構成などから、Analog Devices の AD7705 のコンパチ品であることが分か…
STM32 シリーズの SPI/I2S モジュールを I2S モードで使用する場合、基本的には送信/受信いずれか一方だけの動作をする「半2重」モードに限られます。 送信/受信を同時に行う「全2重」モードで使用したい場合には、I2S モード専用、スレーブ・モード専用の…
aitendo で販売している次の 2 種の A/D コンバータを Nucleo で動かしてみました。 PCM1808 (TI (旧BB) 製)、単価 100 円、ディジタル・オーディオ用途 (2 ch ステレオ、96 kHz サンプリングまで、HPF 付きで DC 不可)、24 ビット・デルタ・シグマ方式、14 …
STM32CubeMX の「バグ」と思われる現象について触れたいと思います。 ただし、この状態を解消するのは簡単な操作ですみます。 発生する条件/タイミングについては不明ですが、発生した場合には生成された C コードでフラッシュ・メモリの読み出しのウェイト…