Raspberry Pi

簡易外部クロック化について 補足

必要なスペック DAI(I2Sコントローラ)側 高いBCLK入力に対応可能であること NEO2(H5)では98.304MHzでも動いてた。ただし、12.288MHzより高い周波数はスペック範囲外となる。 RPi Zero(BCM2835)では24.576MHzまで確認。それ以上は未確認。 CBM_CFS動作が可能…

AK449Xの簡易外部クロック化について

旭化成のDAC AK449Xシリーズにて、複雑なクロック生成回路ではなく単純な発振器を用いて外部クロック化する手法の紹介。 前回(BCLK/LRCLK出力しかないRaspberry Piで旭化成のDAC IC(AK449xシリーズ)を鳴らす実験 - _tkz_ memo])は外部回路追加無しでしたが…

BCLK/LRCLK出力しかないRaspberry Piで旭化成のDAC IC(AK449xシリーズ)を鳴らす実験

Raspberry PiでDAI/ASRC/CPLDなどのクロック生成周辺回路を用いず、旭化成のDAC AK449Xシリーズを使用する方法についてメモ。 Raspberry PiのDACにAK449xシリーズの採用が少ない原因のひとつとして、AK449xの要求するMCLKをRaspberry Piから供給できない点が…

Linux向けAK449x Codec Driverの紹介

旭化成エレクトロニクス製 AK4490/AK4495/AK4497/AK4493向けLinux Driverの紹介です。NanoPi NEO2でAK449xシリーズを鳴らすために作成しました。 ALSA SoC Codecドライバとして実装しています。NanoPi NEO2/Raspberry Pi Zeroで動作確認済み。そのほかのSBC…

Raspberry Pi ZeroのI2Sオーディオドライバに非Codecドライバを追加登録する方法

概要 ALSA SoCドライバで電子ボリュームを利用する方法を調べてみた。 今回は電子ボリューム内蔵ヘッドフォンアンプIC TPA6130A2ドライバをhifiberry-dacドライバに登録してみる。 仕組み TPA6130A2のドライバはsound/soc/codecs/tpa6130a2.cを使用する TPA6…

Raspberry Pi ZeroのI2S DACとポップノイズの関係 その2 まっとうにMUTE制御

概要 NosPiDAC Zeroなどで音楽を楽しんでいるときに気になるポップノイズについて調べたこと・やったことをメモ。 その2はCodecドライバを修正し、外部MUTE制御との連動を試してみます。 外部MUTE制御用のサンプルコード付。 MUTE機能つきのHPA IC(MAX9722…

Raspberry Pi ZeroでRJフォーマットDACを鳴らす方法のメモ

概要 TDA1545AやTDA1543AなどRJフォーマットを採用しているDACをRaspberry Piで鳴らす方法のメモです。 NosPiDACでTDA1545Aを鳴らしたかったので、調査・検証してみました。 仕組み 通常ALSAのSoCドライバではdai linkを設定するdriverでPCMフォーマットを設…

Raspberry Pi ZeroのI2S DACとポップノイズの関係 その1 力技でポップノイズを抑制

概要 NosPiDAC Zeroなどで音楽を楽しんでいるときに気になるポップノイズについて調べたこと・やったことをメモ。 ポップノイズは再生・停止・曲間で発生します。 発生メカニズムが確定では無いですが、RPi ZeroのI2SドライバがI2Sのクロックを止めることか…

moode audioのカーネルをクロスビルドする手順メモ

moode audioで使用しているRaspbianのカーネルイメージをクロスビルドするにあたっていろいろハマったのでメモして置きます。 Ubuntu 18.04LTS AMD64環境で確認 ターゲットはRaspberry Pi Zero用。RPi3とか64bitの奴はツールチェインやビルドオプションが変…