FN1241を使ったDAC&DFは実現するか? 2014.1.16
以前にこんなやりとりがありました。
FN1241自体は48kHzまでの対応なので、あまり触手がうごきませんでしたが、「福島の球使い」さんから悪魔のささやきならぬ
資料を送っていただきました。
なんと、フルーエンシーのみのディジタルフィルターとしてつかえる技があるそうです。
ref: http://akizukidenshi.com/catalog/g/gI-02222/
FN1241はいろいろな意味で遊べそうです。
おもしろそうなRSV端子
FN1241は48pパッケージですが、RSV(予約)端子が一杯あります。実はこれが、隠れた機能を顕在化させるためのピンらしいです。
FN1241にはRSV端子が一杯あります。
FN1241がディジタルフィルター単体でつかえることは、新潟精密のHPにもでていたようです。
ちょうど、下図のような配線にすればいいようです。
FN1241をディジタルフィルターとしてつか場合の接続
PCM1704との接続が面白そう・・・しかし
PCM1704用のディジタルフィルターとしてはDF1704やDF1706が一般的で、かつ高性能なものですが、
フルーエンシー型のディジタルフィルーターはいわゆる多次のFIRフィルターとは違う趣があることが想定されます。
しかしながら、単純にFN1241をディジタルフィルターとして使うには問題があります。
一般的なDAIやDFの出力はMSBが最初にきますが、FN1241の場合は下図のようにLSBが先にきます。
FN1241をDFとして使った場合のデータ出力
アプリケーション例ではFPGAをつかっていますが、MSBとLSBの反転はシフトレジスターを並べればできるので
わざわざFPGAを使う必要はありません。いや、正確には私にはFPGAがハードルが高い代物です(笑)。
でも、上図ではデータビットは23ビットのようです。
やはりここはFN1241を買ってみて色々と調べてみる必要がありそうです。
いろいろと制約が・・・・
FN1241をつかってみるのは面白そうですが、色々と制約があります。
ひとつは受付可能な周波数が最大で48kHzということですが、これは許容するとしても下記の問題がります。
パッケージが0.8mmピッチの48pQFP
これについては変換基板がなかなかみつかりません。いきなり基板を作るのはリスクが大きいので、なんとかして
動作テストをしてみたいものです。ちょうど、秋月には0.8mmピッチで44pQFPの変換基板があるので、これをつかって
なんとかなるか試してみたいとおもいます。
クロックが384fs、512fsに限定
これはかなり厳しいです。いつもつかうCS8416では128fsあるいは256fsなので使うことができません。
つかえるDAIとなればDIR9001になりそうです。
まずは準備! 2014.1.17
FN1241と変換基板を秋月電子に注文している間に、DIR9001をつかったDAIを用意しましょう。
部品箱にはまだDIR9001があったので助かりました。
これを変換基板にのせて、ついで発振用の水晶回路も変換基板上に載せておきます。
この変換基板は私のオリジナルですが、数少ないですがパッドを設けているので、
こういったちょっとの回路を搭載するには便利です。
DIR9001がありました。
ついでに水晶発振子もとりつけました。
動作確認!
DIR9001の入力はロジックレベルなのでSPDIF信号をロジックに変換するためのアンプとして74HCU04を使います。
その出力をDIR9001に入力します。
ブレッドボードの一番下に写っているフィルムコンデンサはPLL用のコンデンサです。
ちょうどの値がなかったので、コンデンサをパラにして値を調整しています。
それでも、ピッタリの値になっていませんが、まあ動作するでしょう(楽観主義です)。
動作確認用はブレッドボードで!
無事動きました!
DIR9001の設定は384fsのシステムクロックに設定しています。
そのため44.1kHzを入力すればクロック周波数は16.9344MHzになりますが
無事その周波数がでてきました。
これでDIR9001が動作していることを確認しました。
無事動きました!
FN1241も到着! さて、実装が大変だ〜
秋月電子からFN1241と変換基板が到着しました。さて、変換基板の上に無事乗るかな?
部品が到着しました!
FN1241が48pinで変換基板は44pですが何とか実装できるかとおもいましたが、外れました(笑)。
チップの方が圧倒的に大きいです。
レジストをかなり剥げばなんとかなるかもしれませんが・・・どうしよう????
全然変換基板にマッチしません。そりゃそうですよね〜
えい!!!
腹が立って変換基板を割ったんじゃないですよ。ちょっとl工夫してみることにしました。
それにしても、この変換基板は1.6mm厚なので、半分に割るのに苦労しました。
腹が立って割ったんじゃないですよ〜
こんな感じで実装です!!
こうすればレジストを剥がなくても実装できます。
でも、ピンが8本ほど余ってしまいますから、これらはリード線で接続する必要があります。
こんな感じで実装しました。 未接続のピンはリード線を接続します。
0.8mmで助かりました!
ICのリードから直接半田付けするのは大変ですが、リードピッチが0.8mmなのでなんとかできました。
これが0.5mmだったら無理だろうな〜。
未接続ピンから無理やりリード線を接続します。
電源関係の配線もあらかじめしておきましょう。
電源関係を配線しました。GNDラインならびにVDDラインは一杯あるので、裏面に銅箔を貼りました。外周がVDD、内側がGNDです。
さて、ここまでやったら疲れました。
また明日・・・。
そうこうしているうちに
BBSで教えてもらった通販サイトからの変換基板がとどきました。
48pQFPの0.8mmピッチのものです。
変換基板がとどきました。
一番ピンの位置が面白いところにあります。
早速実装しましょう!
折角なのでFN1241を搭載しました。1番ピンの位置は変えています(笑)。
変換基板にFN1241を載せました。 必要な配線は変換基板上で済ませています。
動かしてみよう!
さっそくDIR9001と接続して動かしてみましょう。
動作確認の様子です。
あれ?なるほど!
FN1241の出力波形をモニタしてみました。あれ、なぜかディジタルです。
あ、そうか!
ICの接続をみていていなぜ出力がたくさんあるかようやくわかりました。
このDACってPWM出力だったんだ。
アナログ出力になれているととても新鮮な感じです。
出力波形はディジタルです。
出力はPWMなんですね。
出力を合成すると
ちゃんとアナルグ出力になります。理屈で判っていても、なんとなく奇妙な感じです。
抵抗2本で出力合成するとアナログ出力が得られます。
アナログ回路を入れてみました。
折角なので、出力アンプを組んでみました。簡単なサレンキーのLPFも入っています。
アナログ回路を組んでみました。
フルーエンシーのDFらしい出力が得られますね。
インパルス信号の出力です。多次のFIRフィルターとは一味違います。
さて、さてディジタルフィルターの出力は?
あれ?SDOは512fsの場合、その1周期の間に64個のSCKが入るはずだけど、
オシロで数えてみると16個しかありません。何か設定を間違えているかな?
本来はSDOの1周期の間に64個のSCLKは入るはずだけど・・・・
上:SCK(512FS)、下:SDO なぜか間隔短い・・・。
ちょっとした設定違いでした・・・
ちゃんと出力がでていることを確認できました。
何が悪かったかといえば、単純なところで・・・・
DFを構成する出力が出ていることを確認しました。
もう少し速いオシロで
最近350MHzのオシロを中古で購入したので、それをつかって波形を観察してみましょう。
流石にいつもつかう20MHzのオシロでは観察は無理です。でも、周波数や電圧が画面に出るので
とても便利なんですよね。古いオシロはこれらが表示できないんですよね〜。
目を凝らしてみて、データ数は23Bitみたいです。上記のタイミングチャート通りですね。
内部の処理は24Bitで行って、出力は23Bitということのようです。
データ数を数えてみたら23bitでした。
確認のために・・
1Hzの矩形波をいれてみてデータをみてみました。+−でフルスイングで振るので、そのときのデータで
信号の並びがわかります。
これは0x400100って感じかな? これは0x3FFF00でしょうか?
たしかにLSBが先に来ていますね。
まずはタイミングチャートを描いてみましょう。2014.2.4
規定どおりの信号がでているようなので、ロジック回路を考えるためのタイミングチャートを描いてみましょう。
具体的な信号をイメージすることで、必要なロジックも見えてきます。
本来はFPGAなどが使えばはやいのでしょうが、なかなかそこまで使いこなす技量がありません。
でも、ロジックICは昔から慣れ親しんだところがあるので、なんとなくイメージできます。
タイミングチャートを描いてみました。
やっぱりDAC基板を!
まずロジック回路を考えてみようとおもいましたが、IC数としては片チャンネルあたり10個程度は必要になりそうです。
そうなると、DAC回路と変換回路を同居することはむずかしそうです。
そうであれば、まずはFN1241のみをつかったDACを描いてみることにしました。
FN1241をつかったDAC基板です。
あとはベタ塗りです。
さて変換回路を作ってみましょう!
まずは簡単に回路図を書いてみました。
片チャンネルはこんな回路です。
ブレッドボードでくみたてましょう。
ブレッドボードは簡単でいいですが、心配は高周波数に耐えられるかどうかです。
配線長はおのずと長くなってしまいますからね。
ということですくなくとも各ICにはパスコンをとりつけることにしました。
組み立て途中です。
動作確認中です。
一気に回路をくみたてました。早速電源を入れて波形を確認してみました。
波形だけみればなんとなくうまく変換できているようです。
実際にはDACを接続しなくいとわからないですけどね。
まあ、それは週末のお楽しみにとっておきましょう。
なんとなくそれらしい出力になっているかな?
----------
なんとなく風邪気味かな〜???? 急に寒くなったもんな〜。
----------
早速つないでみましょう! 2014.2.6
RJ24らしい波形もでていることなので、動作確認をしたくなりました。
DAC1704と接続してチェックです。
DAC1704と接続してみました。
問題ないようですね!
フルーエンシーフィルターの特徴をみるのには、矩形波とインパルスが適しています。
多次のFIRフィルターでは、リップルがたくさん生じてしまいますが、このフィルタでは非常に素直な出力がでてきます。
ただ、このフィルターが原波形の復元に数学的に正しいかどうかが別ですが・・・・
でも少なくともこのフィルターがFN124×の音作りの根幹になっているとおもいます。
矩形波を入れた状態です。 インパルスを入れた状態です。
まあ、今日は回路が正しく動いていることが確認できてうれしかったです。
基板化できるかな?
まずは描いてみました。
ジャンパー設定がありますが、これは出力ビットを可変にするための設定ジャンパーです。
16ビットから24ビットまですべてに対応することができるはずです。
ICは全部で25個です。結構半田付けが多くなりますが、1.27mmピッチのICばかりなので簡単でしょう。
基板にするとこんな感じです。
基板データ完成! 2014.2.22
ついでにR−2R基板も作ってみましょう!
基板はできれど 2014.3.4
全然つくる時間がとれそうにありません。また明日からしばらく出先です。。。。体もつかな〜〜。
基板はできました。
いざ、製作! 2014.3.15
しかし、基板を設計してから2〜3週間もたってしまうと、何をつくったのか忘れてしまいそうです(笑)。
それだけ、歳とったということかな?(短期記憶が劣化してくる?)。
まあ、思い出しながら製作しましょう。
まずは、ディジタル部のみを組み立てて動作確認をしていきましょう!
まずはディジタル部のみを組み立てました。
ジャンパー設定はアナログ出力とするので、まずはJP1,2はすべてGND接続です。
やっぱり・・・・
ひとつバグをみつけました。電解コンデンサ(C6)の負極がGNDに接続されていませんでした。
ということで、近くのベアGNDに接続です。
やっぱりバグがありました。まだまだでてくるかな?
動作確認!
電源をつないで、SPDIF信号を入れてアナログ信号を見れるようにしておきます。
そして、電源ON!
あれ、動いてないな〜。
オシロでDIR9001のディジタル出力をみてみるとうまく動いていないようです。
動作確認の様子。
まだありました!
どうやらDIRのGNDがベタGNDに接続されていなかったようです。
3箇所あるので、それらをGNDに接続しました。
GND接続忘れたPAD。 近くのベタGNDのレジストを剥ぎます。 ジャンパー線で接続!
とりあえず動いたかな。
DIRのパターンを修正したら、動き出しました。まずはFN1241の出力までは確認できました。
FN1421の出力の確認です。
一気にアナログ部も組みましょう!
アナログ部(オペアンプ)も一気にくみたてましょう。
オペアンプにはOPA2134Aをつかっています。このICはすっきりした音でC/P比がとてもよくてお気に入りです。
でもFN1241などにはバイポーラ系の4580などの中域に厚みのあるものがあうかもしれません。
このあたりは、OPアンプをソケットにしておけば色々と楽しめるでしょう。
アナログ部分の部品もとりつけました。
だんだん動作確認のための接続ミノムシクリップが増えてきます。
やはり、LPFを通ると波形も綺麗です。
アナログ部はポストアンプですが、LPFも含みます。ICから直だしの出力では、どうしてもデルタシグマなので高調波がのりますが、
LPFを通すと綺麗になりますね。FN1241の特徴であるフルーエンシーフィルターのおかげで、リンギングの無い波形が得られます。
サイン波出力 矩形波出力
インパルス出力
いよいよ、ディジタルフィルター変換基板に着手です。
部品はフラットタイプのICと少々の抵抗なので、それほど製作に時間はかからないでしょう。
まずは基板とICを準備しました。
一気に組み立てました。
動作確認してみましょう!
DAC基板側の設定を変更する必要があります。JP1はすべてをHigh側に接続しなおします。
JP2はT1,T4をHigh側に変更します。
外部ディジタルフィルターを使う場合のDAC側の変更です。
DAC基板と変換基板との接続は
10Pのフラットケーブルをつかって接続してもいいのですが、コネクタの位置は同じ位置にあるので、
ストレートにコネクタで接続することにしました。秋月にちょうどリードの長いコネクターがあるので、
これを使いました。
DAC基板と変換基板とは直接コネクターで接続しました。
基板間は15mmのスペーサで結合しています。
いざ!電源ON! あれ?
電源ON!すんなり動く予定でしたが、やはりうまく動かないです。で、パターンを追ってみると、
一箇所間違いをみつけました。なんでこんなところ間違えたのかな?という感じですが、
1箇所パターンカットして、1箇所をジャンパーです。LR両方あるので、合計2箇所のパターンカットと
2箇所のジャンパです。まあ、1.27mmピッチのパターンなので修正はさほど難しくはありません。
修正箇所がありました。
無事動き出しました!
この修正で問題なく動き出しました。
出力信号は問題ないようです。無事に動きそうな予感です。
RenewDAC1704に接続して動作確認です。
動作確認の様子です。
波形をみてみましょう。やはりFN1241特有のフルーエンシー型ディジタルフィルターの特徴がでています。
RenewDAC1704の出力は差動型なので、上下でその出力を表示しています。
サイン波(1kHz) 矩形波(1kHz)
パルス波(4kHzインターバル)
これで、動作確認完了です。
Renew Simple R-2R DAC もつくってみましょう。 2014.3.16
同時に試作したRenew simple R-2R DACもつくってみました。
こちらは部品種類は少ないのですが、ひたすらチップ抵抗を取り付ける必要があります。
チップ抵抗ではなく、一般的なリード型の抵抗も取り付けることができます。
なお、抵抗値の選定については、過去の記事を参照してください。
Renew simple R-2R DAC
チップ抵抗を使う場合は、すべて同じ値のものがつかえるように、裏面にもパラ接続できるパターンをもっています。
すなわちR-2Rの「2R」の値のチップ抵抗を使い、2個並列接続することで「R」の抵抗値を実現します。
チップ抵抗をつかう場合はすべて、同じ値で済ませることができます。
Renew DAC R-2Rの動作確認!あれ? 2013.3.16
まずは動作確認のためにFFASRCと接続してみました。
最初は問題なく出力がでるので、大丈夫かな〜と思っていましたが、
fs=192kHzにアップサンプリング出力としたら、出力にノイズが発生します。
なぜだろう?
オシロでディジタル信号を確認してみると、1つのシフトレジスタの出力電圧が安定しません。
というかGNDレベルがふらふらしています。よく基板をみると、なんとICのGND接続が抜けていました!
お粗末な間違いです。
FFASRCと接続して動作確認です。
fs=48kHz入力時 fs=192kHz時
高fsでノイズがでています。
ありゃー、間違い発見!
シフトレジスタのGNDを他のICのGNDに接続し修正は完了です。
これで問題なく動作することが確認できました。
ジャンパー線でGND接続しました。
DAC1241-1→データ変換基板→Renew Simple R-2R DAC で動作確認!
さて、ここまでくれば大丈夫でしょう。全体を接続して動作確認です。
DAC1241-2とデータ変換基板を接続して、その出力をR-2Rに接続して動作確認です。
問題ないようですね。
無事、出力がでることが確認できました。やはり、綺麗な波形がでると安心します。
1kHzのサイン波出力 4kHzタイミングでのインパルス出力
修正版の基板が完成しました。 2014.3.29
3種類の基板はいづれもバグがあったので修正版を作りました。
修正版が出来上がりました。
バージョンはいずれもv2にしました。
(つづく)