2021年5月13日木曜日

SANYO LC7881 DAC その12 (PIC32MX編)

PIC32MXのプログラムがXC32でコンパイルできないか
調べた。色々調べた結果XC32 v2.50でコンパイルに成功
した。情報が書いてあるサイトもあるが、簡単な話だった
ので一応書いておく。

①xc32-v2.50-full-install-windows-installerをインストール
②PIC32 Legacy Peripheral Libraries.exeをXC32 v2.50の
 フォルダにインストール

結果XC32 v2.50でコンパイルでき、O2の最適化が可能に
なる。最適化でサイズが減り、早くなるかもしれない。

この条件で自分で改良したプログラムのバッファを少し減ら
してコンパイルしたところ、PIC32MX210F016Bで使える
事がわかった。

なおXC32 v3.0も試したが、エラーが出るのでオプションを
指定する必要があるのかもしれない。

2021年5月11日火曜日

SANYO LC7881 DAC その11(ロジック編・試運転)

ブレッドボードに回路を組んでロジックアナライザで動作
確認した。想定に近い動作をしたが、フリップフロップが
1段足りなかった。ロジックアナライザはなかなか良い
仕事をした。

回路修正とPICのプログラム修正をし、ロジックアナライザ
で動作確認してLC7881接続しても問題無さそうなので接続
してみた。

ロジックICがたった3個なのに配線が多すぎなので、とても
じゃないがMCKの周波数に耐えれないと思ったが意外と問題
無く動作した。

PICのプログラム修正不足でノイズが混じった音が出たが、
それも修正してノイズの無い音が鳴った。

今回の回路はこの様な感じだ。クロックのタイミングを調整し、
少ないICで鳴る様にしてみた。74HC00・74・161の3個で
動作する。LC7881の回路はデーターシート通り。

但し動作はしているが最後のDFFが非同期で動作しているので、
DFFからJKFFに交換する必要がある(手持ち部品が無かった)。
ICが数個だからCPLDを使う程でも無いと思ったが、不足部品を
通販で買う事を考えたらCPLDでやれば良かった気もする。

動作原理を簡単に書くと、PICプログラムは元々のAK4645Aの
クロックを外部から入力するモードと同じにして、クロックを
一部カットしている。

PICから見れば外部入力のBCK・LRCKはMCKと非同期で動作して
いるので、LC7881側が欲しいタイミングでクロックを入れれば
良いだけの話だ。

PICプログラムの修正点はMCKを48fsにし、DATAフォーマットを
右詰めか左詰めにすれば良い(元々のプログラムはI2S)。

間違って無いとは思うが、間違っていたらPICプログラム修正で
対応できるとは思う(LRの上下が逆とか)。

JKFFを注文して、動作確認が問題無ければ基板を焼けばハードは
終わりだ。PICのプログラムで修正したい部分があるにはあるが、
実際にやるかは決めてない。

2021年5月6日木曜日

ロジックアナライザとブレッドボード買ってみた

ロジック回路を考え作ると、動作しても正しいタイミング
になっているかどうしても気になる。

昔、会社勤めの時も正しく動作しているか確認したかった
ので、当時はカメレオンUSBを購入して動作確認した。
カメレオンUSBは100MHzまで測定できるが100MHzの
タイミングで測定すると言う意味なのでパルス信号なら
50MHzになってしまい、当時100MHzくらいで動いている
品物の動作確認だったので帯域がもう2倍必要だったので
失敗した。まあ、実際には測定データからなんとか正常
動作したのを確認したのでなんとかはなったが・・・。

今回は格安ロジックアナライザを買ってみた。24MHz対応
らしいのでクロックなら12MHzくらいだろう。44.1KHzの
256fsだと12.288MHzなので、この辺りは厳しいかもしれ
ない。

ついでにブレッドボードも買ってみた。まあ食わず嫌いなの
だが、どうも周波数が高い時・配線長・接触不良等でうまく
動作しない気がするので今まで使わなかった。

現在作っているSANYO LC7881 DACと別件の回路の検討を
するのにCNC切削も面倒だし試しに買ってみる事にした。
まあ、うまく動作しなかってもクロックを下げたら回路が
想定通りになっているくらいいは判るだろう。

いつもならAliexpressで買うのだが、今回はすぐに欲しかった
のでAmazonで買ってしまった。

ロジックアナライザはUSBで認識したので、とりあえず中身
確認をした。

サーチエンジンで画像検索してみたが、同じ基板は無かった。
ICはCypressのCY7C68013Aで他の品物と同じだが、ピン数が
多い品物の様だ。おそらくピン数の多い品物が余って安かった
のだろう。

裏面は部品が無く、左下に3.3Vのレギュレータらしき物もあり、
この品物は3.3V入力専用だろう。本当は5V入力が欲しい所だが、
まあDACを作る分には問題無いだろう。