オーディオ用のDACのわりには外付け部品が少なくてすむが、気を付ける点がいろいろある。SSOP(0.65mmピッチ)なのではんだ付けも慣れてないとしんどいが、3.3V駆動で絶対定格が3.9Vなので電源電圧も気を付けないといけない。電源の逆電圧も絶対定格で-0.3Vとなっているので電源の逆接続もあぶない。
なので半年ぐらい手を付けないでいた。
データシートからわかること
I2SのDACなので基本的には電源とWS、SCK、SDの3本の入力、ROUT、LOUTの2本の出力が基本だが、20Pinにいろいろと機能が割り当てられている。I2Sのクロックは12pinのBCKだが、別にSystem用にSCKというクロックも入力としてある。PCM5102Aには内部にPLLが入っていてSCKをGNDに落としておけばBCKからSysytemクロックを生成してくれるようだ。(3-Wire I2S)
CAPxxという名前のPinは負電圧を作るためのチャージポンプ回路用のキャパシタを入れる。
DEMPはデ・エンファシスとなっているがよくわからない。クロックの波形をいじるのかな?
FLT、FMT、XSMTは動作設定用で、LDOO、VNEGは使わなくてもよいようだ。
応用回路例
基本的にこの回路図通りに配線した。SCKは3-Wire I2Sとして使うのでDGNDに落とした。
ブレッドボード図
PSoC 5LPのプロジェクトはTDA1503用に作ったものを16bit/48kHzに設定して使った。
https://github.com/ryood/TDA1543/tree/master/PSoC/I2S_Test/PrototypingKit_DDS.cydsn
16bit/48kHzだとI2Sのクロック(BCK)は1.536MHzにしないといけないがクロックをPSoC 5LPの内蔵クロックを使っているので設定できない。
データーシートではクロック周波数は「±4% tolerance」となっているので
1.50048MHz~1.62552MHzでOKなのでそのままやってみた。
電源電圧(実測)
DVDD - DGND: 3.25VI2S信号
AVDD - AGND: 3.22V
ch1:SCK(BSK) ch2:WS(LRCK)
クロックは1.5556MHzで許容範囲内。サンプリングレートは48.54kHzになっている。
ch1:SDO(DIN) ch2:WS(LRCK)
データーはL/Rで同じものが送られるはずだがちょっとおかしい?
出力波形
ch1:ROUT ch2:LOUT
1kHzのSin波が出力されているが、ch1:1ROUTの波形がおかしい。
ch2:LOUT(拡大)
LOUTはきれい。
ch1:ROUT(拡大)
ROUTは変な波形が重畳している。カーソルで測定すると(Δ43.600us/22.94kHz)だった。やっぱりI2Sのデータが変なのかもしれない。
メモ:
データを32bit/384kHzまであげられるかテストする。384kHz×32(bit)×2(ch)=24.576MHzなので80MHzのPSoC 5LPではDDSの演算が追い付かないかもしれない。
PCM5102Aはデジタル・フィルタが入っているのでゆるいLPFでも波形はガタガタがなくてきれい。
384kHz出せなくてもやっぱり5102Aでやろうかな?
0 件のコメント:
コメントを投稿