FEPS5142を仕上げていきましょう! 2019.12.25

前編はこちら

DAC4499ができあがったこともあるので、次にはFESP5142を仕上げていきましょう。
※もうそろそろ年末モードだけど、こんなことしていていいのだろうか・・・・あああ、年賀状も・・・・。

しかし1ヶ月も作業を中断していたら、もうすっかり忘れてしまいました(笑
思い出すのに時間がかかります・・・・脳の劣化が進んでいく・・・・(泣

基本的には・・・でも欲張ったかも

基本的にはこの基板はSPDIFで入力して、SPDIFで出力するパラメトリックイコライザーの位置づけでした。

もともとのこんな形のシンプルな使い方を想定していました。

でも、ICがもつ機能をみていると、あまった端子ももったいないし・・ということで、基板には四方に
出力ででています。
 結局のところ基板のI/Oは下記のようになっています。


 基板の周囲は端子で一杯になりました。

SPDIFでの入出力以外に特徴的なところは
 ・PCM入力
   2つのPCM入力機能があります。SRC4137などの既存のDAIと接続するにはいいかもしれません。
 ・PCM出力
   外部のDACへの出力端子です。DIV5142などと将来的に接続することを想定しています。
 ・AD変換機能
   PCM9211を使用しているので、そのアナログ変換回路も使います。変換速度は96kHzまでサポートです。
 ・DA出力機能
   せっかくなのでPCM5142のアナログ出力も設けました。

画面が一杯になっちゃう・・・

外にI/Oを沢山設けると、それらの設定のためのメニューが必要になるので、
どんどん画面が増えていきます。プログラムの容量足りるだろうか???

(1)基本画面はこれ
 基本機能はパラメトリックイコライザーなので、それがメイン画面になります。
PCM5142のDSP容量・速度の制約から可変できる素子は全部で7個になります。
そのうち低域用のLOW-SHELFと高域用のHIGH-SHELFがありますので、
ピーキングイコライザーとして使うのは5個です。まあ、5個もあれば色々と設定できるでしょう。
 変更できるのは周波数とゲインとQ値です。
 周波数は20〜20,000Hzまで変更できますが、1Hz単位ではなくテーブルで全帯域を約70分割(対数分割)しています。
 ゲインは-15dBから15dBまで0.5dBステップで変更します。
 Q値は0.30〜30.0まで変更可で、こちらもテーブルで約60分割としています(対数分割)


パラメトリックイコライザーのメイン画面です。

(2)設定画面は・・・まだまだ増えそう
 設定画面はまだ、製作中ということもありますが、結構沢山でてきそうです。


設定画面1
 入力の選択と、それぞれの入力のフォーマットを設定します。



設定画面2
 ADCの変換速度やADCの設定ゲインを設定します。
 バックライトも常時点灯していると邪魔になるときもあるので、消灯できるようにもしています。
 全体のゲインも設定できるようにしておおきましょう。パラメトリックイコライザではゲインを上げることもあるので、
 最初に全体のゲインを減らしておかないと信号が飽和してしまいますから。

あれば面白そうなのは

メモリー機能はいるかもしれないですね。音楽や再生機器に応じて設定内容のSAVE/LOAD機能があるといいかもです(4メモリーくらいかな?)
ハード対応としては、現在使用しているLCDは秋月の128×64のグラフィックのものですが、パラレル接続なのでLCDを外付けしようとすると配線
が結構大変です(20Pのケーブルになる)。それと、1400円とすこしお高い!そこで、中華製のLCDも使用できるように考えてみたいとおもっています。
そうすればAMAZONでも700円程度で購入できるのと、なによりシリアル転送ができるので配線は電源を入れて5〜6本で足ります。ただし、
課題はシリアルなので表示速度が遅いので、実用的にするためにはソフトを工夫する必要がでてきそうです。

まあ、いろいろと考えながら作るのは楽しいです。いつできあがるかな?

簡単に試聴!

夜も遅いですが、基本機能ができあがっているので早速試聴してみましょう!
最近メインシステムに試聴用のコネクタをとりつけたので、簡単に接続できます。
ただ、夜なのであまり大きな音は出せません。


簡単に試聴してみました。試聴用のコネクタがあるので簡単にとりつけられます。

小音量なので、すこし低音を持ち上げると心地よい音になりますね。
そして、低音が持ちああるとそれにあわせて高音もすこし持ち上げました。
いわゆるラウドネス曲線というやつです。それと、ユーミンの曲を流しているということもあり、
すこし中音域の一部を持ち上げています。


こんな値に設定して試聴です。

実際に操作していて、ゲインを0.5dBや1dB変えたところで、なにも変化には気づけないです。
どうやって調整したかといえば、例えば中温域を例にとると、極端にゲインを大小させてその帯域での
聴感特性(変化の質)を確認したうえで、じゃあその帯域のゲインはすこしだけ上げよう、という感じで
での調整です。ボーカルの場合だと、中音域のゲインを8dBくらいにあげてやると、ちょっと声がうるさい感じに
なり、反対に-8dBくらいにすると、どこで歌ってるの?という感じになりますので、そうなればその帯域は
ボーカルにちょうどあった帯域という風にして、好みに応じてちょっとだけ上下させているわけです。

ああ〜! 2019.12.27

いま使っている128*64のグラフィックLCDですが、秋月のサイトをみたら
在庫切れになっていますね〜。1月下旬に再入荷の予定らしいです。

秋月での在庫が切れたみたいです。


こりゅあますます、中華製のLCDもつかえるようにしておかないとだめですね。

両刀使い?

秋月のLCDが在庫切れなので、中華製のLCDもつかえるように、ソフトを両刀使いに改造しました。
両者はLCDの制御用のICが異なるので、制御ソフトもまったく違います。そのため、マイコンの容量も
ちょっとだけ圧迫してきました。
 で、この両者をどうやって切り替えるかですが、基板上には操作スイッチがいくつかあるので、
特定のスイッチを押しながら電源を入れるとLCDを入れ替えられるようにしました。
 で、中華製のLCDですが、こちらはシリアル転送での接続としているので外付けするにはとても便利ですが、
やや表示が遅いです。といっても、気になるレベルではありません。パラレルで転送する秋月のLCDでは
画面の切り替えは全画面でも一瞬ですが、シリアル転送の中華製ではさすがに全画面の書き換えでは、
その過程がわかります。
 実際の操作では、一部の文字のみの書き換えしか行いませんので、まあ気になることはないでしょう。
 

中華製のLCDも使えるようにソフトを改造しました。

そろそろソフトも煮詰まってきました・・・・

最終のバク取りは明日(今日?)しましょう。眠たくなってきました・・・。

ついでに
中華LCDもパラレル転送ができるようにしてみました。速度は向上しましたが、秋月LCDには及びませんでした。
というか、中華LCDはあまりキャラクターの描画には適していないメモリーマッピングなので、そちらに処理の時間が
とられて、転送形式による差が出にくいんだろうな〜という感じです。
そういえばこのLCDは「ちょっとTea Time!?」でとりあつかっていました。

ちなみに備忘録代わりですが、LCDの切り替えは
 SW1を押しながら起動・・・秋月LCDを使用するモードに設定
 SW2を押しながら起動・・・中華LCD(ST7920)をシリアルモードで使用
 SW3を押しながら起動・・・中華LCD(ST7920)をパラレルモードで使用

としました。

AD変換の特性を確認しておきましょう。


FESP5142で使用しているDAIにはPCM9211を用いています。これはよく使うDIX9211とほぼソフトコンパチに加えて
AD変換機能が内蔵されています。それも最大で96kHzサンプルまで対応しています。
本基板でもADの入力のための端子を設けているので、それをつかって96kHzで動いているか確認してみましょう。


設定は96kHzにしています。あと48kHzでの設定も可能です。

入力のレンジはカタログでは0.6Vcppとなっています。ADブロックは5Vで動かしているので
3Vppまでの信号は入力できます。振幅でいえば1.5Vですね。
まずは1.5Vを入れてみると、問題なくAD変換できています。

 
下:入力(1V/DIV)、上:FESP5142のDAC出力(2V/DIV)
入力振幅1.5Vは綺麗に変換できています(2kHz)

ただし、その0.6Vcppを越えると出力がクリップしてきます。
このあたりは、カタログ通りですね。


下:入力(1V/DIV)、上:FESP5142のDAC出力(2V/DIV)
入力振幅1.5Vは綺麗に変換できています(2kHz)

周波数を上げてみる

96kHzのサンプルですので、原理的には48kHz近くまでADができることになります。
まずは40kHzの波形をみてみますが、問題なく変換できています。

下:入力(1V/DIV)、上:FESP5142のDAC出力(2V/DIV)
問題なく変換できています(40kHz)


45kHzになるとだいぶエイリアスがでてきましたね。


下:入力(1V/DIV)、上:FESP5142のDAC出力(2V/DIV)
だいぶエイリアスがでてきました(45kHz)


流石に53kHzになると変換はできません。まあ、当たり前ですが・・・・
でもカタログ通り96kHzサンプリングであることは間違いなさそうです。


下:入力(1V/DIV)、上:FESP5142のDAC出力(2V/DIV)
こりゃ無理ですね(53kHz)


ちょっと頭の中を整理

最終のデバッグの前に、このFESP5142の中での信号の流れを整理しておきましょう。
というのも、色々な切り替えができるのですが、PCMのフォーマットを間違えると勿論のこと
動きません。だからといって、すべての組み合わせを確認することは大変(入出力でのフォーマットの
組み合わせが無数にある)なので、ポイントを抑えて確認するために主要部分の設定を確認できるように
信号の流れを整理しておきました。

FESP5142の信号の流れ

この図をみて、「あれ、DSPの出力のPCM信号があればいいのに?」と思われるかもしれませんが、
これは配線1本で簡単に変更できます。というのも、DSP(PCM5142)の入出力の信号のうち、
MCK、BCK、LRは共通なのでDATA信号を入出力で入れ替えるだけで変更が可能です。
これについては、後述しましょう。
 いづれにしても要確認点は、入力切替では、ソースとDSPのフォーマットが一致していること、
またDITの入力切替でもソースとDITのフォーマットならびにMCKのFSが一致していることが、ポイントです。


この変更はDATA線1本の変更で済みます。後述しましょう。

フォーマットの確認は、最終的には外部機器を接続して確認するわけでが、
まずはソフト的にチェックできるように、素子内部の情報を読み出して、正しく設定できているかを確認します。
そのために、デバッグモードの画面を作成です。


おまじないのような画面ですが、デバッグモードになっています。


最終確認のため、色々な機材と接続しています。

ようやく完成?

色々とテストをしていると、大小のバグがでてきます。それもほぼ潰せたかな?
 現時点でROMの使用率75%、RAM40%です。
 PIC18Fの中でも大きな容量のものをつかいましたが、結構な使用率になりました。

あとは、実機に組み込んで最後の確認です。そのために、アクリルベースをとりつけて、
不意なショートに備えておきましょう。


アクリルのベースをとりつけてメインシステムに再度接続です。


裏面には滑り止めのゴム足もつけています。

もうひとつのFESP5142-Doにもソフトを移植!

FESP5142が各種の端子を設けた多機能版に対して、もうひとつのFESP5142-Doはシンプルに
SPDIF入力、SPDIF出力に特化したような基板ですが、基本的な構成は同じです。
違いは入力のためのロータリーエンコーダがないので、かわりにスイッチでパチパチとすべて設定
しなければならない点です。その分、基板の面積が小さくなっているわけです。

で、構成は同じなので、まずはあまり考えずに、スイッチ部分とLCD表示のソフトを変更・修正して
動かしてみました。


動いたかな?


画面が小さいので、眼鏡を外さないと文字が見えません(笑

とりあえず動いた感じです。この基板の怖いところは、LCDをI2C通信で動かしているため、
もし何らかの半田不良でI2C通信に問題が生じると、表示すらできないことになります。
そのため、どういったエラーなのかを表示から得ることができません。普通のキャラクターLCD
なら、その点では便利でしたが(すくなくもI2C通信が問題であることは表示でわかります)。

DACは動いているかな?

小さい基板ですが、一応DACの出力とAD入力のための小さいコネクタはつけられるようにしています。
下の写真のCN3がDACの出力で、CN2はAD変換器の入力です。
DACの出力はそのままアンプに接続できるようになっていますが、AD変換器に信号を入力するには
カップリングコンデンサを挿入する必要があります。なんせ、単にPCM9211からの入力ピンを外だし
しているだけですから。


小さい基板ですが、DAC出力とAD入力ができるようにしています

基板にSPDIFで信号を入れて、とりあえずDACから出力がでることが確認できました。


まずはDACは動いているようです。

まずは簡単にソフトを移植してみましたが、スイッチ周りのバグが沢山あるようです。
また、明日にでも見直していきましょう!!

明日から、冬休みだから、もうちょっと遊べるかな〜。

FESP5142を本格試聴してみましょう! 2019.12.29
さて、冬休みにはいったきたこともあり、本格的にFESP5142(PEQ)を試聴してみましょう。
装置の構成としては192KHzまでの動作確認もあるので、DAC1794-3.5をもちだしました。
メインでつかっているDAC1704-4DはDAIにDIR9001をつかっているので、96kHzまでしか対応できません。

構成は
 CDP → サンプルレートコンバータ → FESP5142(PEQ) → DAC1794-3.5 → アンプ
です。

試聴装置の構成です。

サンプリングレートコンバータの往年のものを引っ張りだしてきました。

昔(?)につくったサンプルレートコンバータです。このころはPICはないですね。

ん?

試聴を開始して192kHzで動作させますが、ちょっとロックがかからないときがあるようです。音がちょっととぎられたり、
止まったり? あれ? どうしたのかな? いままでは概ね48kHzで動かしていたこともあり、192kHzでは動く程度しか確認して
いなかったので、ちょっと困惑です。
 で、基板をしげしげ眺めてみると、原因がわかりました。PLLのループコンデンサの4700pと0.068uFのとりつけが反対になっていました。
普通、これだけ定数を間違えれば動かないと思いますが、反対でも192kHzでも動く場合もあることを考えると、
PLLの定数ってかなり余裕をもたせているのでしょう。

ついでに、SPDIFの入出力のカップリングコンデンサもセラミックからフィルムコンデンサに変更しておきました。ひょっとしてこちらの方が
主因だったりして(笑。
 

修正前                            修正後です。
PLLループフィルタのコンデンサの取り付けが間違っていました。

これで、192kHzも安定して動くようになりました。

試聴は大黒摩季さんで!

そういえば、ちょっと前に大黒摩季さんってTVのワイドショーの話題になってましたね〜。
というか、結婚されたのも知らなかったので、へえ〜という感じでしたが、
その話題ももあってか、また聞きたくなりました。

大黒摩季さんのCDって、テンポも速く、ドラムの音も結構でてきますので、低音が充実していると結構楽しく聞けます。
ただ、低音全体を持ち上げるととぼけた音になってしまうので、SPの再生限界近くをすこし高めに持ち上げてやると
スピード感を殺さずに、迫力のある音になってきます。このときQ値の設定ができることが結構役にたちます。

いまさらながら、大黒摩季さんの曲って、詞がものすごく具体的な内容が多いので、聞いていてわかりやすいですね。


設定画面もそろそろ煮詰まった?


設定画面を眺めていると、つねに添削したくなるのでそろそろ完成版にしようかな〜と思っています。
論文の添削なんかは、校閲すればするほど修正をいれたくなって、結局元にもどったり・・・なんてこともありますからね(笑

設定グループ 画面例 操作 説明
諸設定 INPUT SELECT:
 入力を選択します。
 SPDIF、PCM0,PCM1、ADC

DA VOLUME dB:
 内蔵DACのボリューム調整です。dBです。
 -103dB − 24dB
 DAC-VOLのほうがわかりやすいかな?

DIT OUTPUT:
 SPDIF出力を選択します。
  SPDIF、PCM0,PCM1、ADC,DSP
 これもSPDIF-OUTの方がわかりやすい?

SPDIF FORMAT:
 SPDIFの変換フォーマットを設定します。
 PCM出力を利用する場合に必要です。
 I2S,RJ24,RJ16,LJ24

PCM0 FORMAT;
 PCM0の入力入力フォーマットを設定します。
 I2S,RJ24,RJ16,LJ24

PCM1 FORMAT;
 PCM10の入力入力フォーマットを設定します。
 I2S,RJ24,RJ16,LJ24

ADC FORMAT:
 ADコンバータの出力フォーマットを設定します。
 PCM出力を利用する場合に必要です。
 I2S,RJ24,RJ16,LJ24

PCM0 MCLK:
 PCM0のマスタークロック周波数を設定します。
128fs,256fs,512fs

PCM1 MCLK:
 PCM1のマスタークロック周波数を設定します。
128fs,256fs,512fs
ADC SPEED:
 ADコンバータの変換速度を設定します。
 48kHz、96kHz
 ADC SAMPLINGのほうがわかりやすいかな?

ADC GAIN dB:
 ADコンバータのゲインを設定します。

DSP F-GAIN:
 DSPの入力時のゲインを設定します。通常はイコライザで
ゲインを上下させるので、全体の音量が飽和しないように最初に
ゲインを落として使用します。-12dBくらいが妥当かと思いますが、
あまりイコライザでゲインを調整しない場合は、小さくしたほうが、
他との音量差が生じなくていいでしょう。
 -20 to -0

F-GAIN RELATE:
 イコライザの中でもHigh Shelfを設定すると、全体のゲインが変わるので
それの補正の有無です。High ShelfはいわゆるTREBLEのようなものですが、
高域を上げるだけでなく、低域のゲインが下がりますので、その低域のゲイン
が下がらないように補正します。これによりHighShelfを操作したときに、高域の
音量変化が自然になります。
 Relate,Independ.

BACK LIGHT :
 バックライトの消灯時間を設定します。
 TURN ON, OFF T1,OFF T2,OFF T3


設定データの
LOAD/SAVE
設定定数のロードとセーブを行います。

パラメトリック
イコライザ設定
パラメトリックイコライザーの設定です。
全部で7素子あります。
LS : Low Shelf 低域のゲインを設定します。トーンコントロールのBASSに相当します。
P1〜P5: Peaking イコライザーです。周波数、ゲイン、Q値を設定します。
HS : High Shelf 高域のゲインを設定します。トーンコントロールのTREBLEに相当します。


う〜やってしまいました!
 2019.12.30

朝の寝ぼけ眼でACアダプタを接続して電源ON!
液晶が点かない・・・?あ・・・ヤバイ!
もっともヤってはいけないことをヤってしまいました。
ACアダプタを間違えて12Vのものを接続してしまいました。
ACアダプタのコネクタには電圧を間違えないようにタグをつけていますが、
うっかりしていたようです。こりゃ、数字じゃなくて色で認識できるようにしておいたほうが
よさそうだなあ。


薄いけど12Vて書いておいたんだけどな〜。

FESP5142は基本的にはロジックは3.3Vで動いていて、電圧レギュレータで一旦うけているのですが
ACアダプタの電源を直接入力しているところが2箇所あり、液晶表示器とPCM9211のアナログ電圧です。
PCM9211のADコンバータのブロックには5V電源を供給しています。

で、再度5VのACアダプタを接続して動作させてみることに。
つなぐと、液晶表示器は問題なく立ち上がりました。
で、問題なくオープニング画面もでたので大丈夫かと思いきや、
液晶表示器の裏から
白煙が!!!!

どうやらPCM9211が焼損したようです。煙の出た場所がアナログ入力段の近くなのは偶然でしょうか・・・。
一瞬助かった〜と思ったのですが、やっぱりだめでした。


焼損してしまいました。

気を取り直して、修正!

ICの取り外しも、もう何回目だろう〜という感じですが、PCM9211は比較的パッケージが小さいので
取り外しは難しくはありません。AK4499(QFP144)の時に比べるとはるかに簡単です。


まずはICの周りにリード線を配置して、半田をテンコ盛り。
2本の半田ゴテをつかって、半田が十分に溶けたころを見計らってICを動かします。


外した直後は周囲も含めて、ヤニと半田が飛び散るのでアルコールで綺麗に掃除しておきます。


付け替え完了です。

無事、元にもどりました・・・ホッ!

対策は!

ちょっと目立つように、プラグに赤色で印をつけました。

電圧表示を太く書き直し、アダプタのプラグに赤のマーキングをしました。

FESP5142-Doもソフト煮詰まる? 2019.12.30

FESP5142がほぼ出来上がったので、次はFESP5142-Doを仕上げていきましょう。
FESP5142-DoはSPDIFでの入出力に限定したイコライザー基板なので小型になっています。
でも、ちょっと貧乏性もあって、DACのアナログ出力と、AD入力端子もとりつけています。
ADC入力についても、カップリングコンデンサが裏面にとりつけられるようにしています。
表面実装部品専用なので、大容量(10uF以上)のチップセラミックをつけることになるでしょう。
まあ、ADCを使わなければ必要ありませんが・・・。

FEPS5142のミニ版です。こそっと(?)つかうため、外部拡張用の端子は少な目です。
それでもDACの出力と、ADC入力はつけておきました。


ADCの入力用にカップリングコンデンサを入れていたのを忘れていました。

画面はFESP5142をほぼ踏襲

画面についてFESP5142をほぼ踏襲していますが、PCM入力がないため、それに関する項目は
当然のことながら割愛しました。そのため、メニュー画面がちょっとだけシンプルになっています。


セッティング画面(1/2)です。


セッティング画面(2/2)です。


設定値のLOAD/SAVE画面です。


イコライザーの定数設定画面です。

FESP5142-Doで使用する表示器は秋月のOLEDをつかっています。
これはまだ在庫ありそうです。580円と比較的お手ごろです。


表示器にはこれをつかっています。580円と比較的お安いです。

この表示器は128×64のものですが、I2C通信で表示できるので接続ピン数が電源いれて4本で済みます。
さらにこれとコンパチのものが、AMZON等でも容易に手にはいります。またALIEXPRESSなどを探せば、送料含めても$2以下の
ものもみつかります。まあ、いつ届くかわからないのと、品質は不明ですが・・・(私は不良品をつかまされました)。
とくにLCDのガラスの角が割れやすいので輸送が荒っぽいと欠けてしまいます。この部分がかけると電極のパターンが入っているので、
表示がおかしくなる、あるいは表示されない状況になります。
 それと、ドライバ素子も気にしておく必要があります。秋月のOLEDはSSD1306をつかっていますが、同様のものでもドライバが
異なる(SH1106)ものも沢山あります。さらに、ピン配置の電源のGNDとVCCが逆になっていたりと、ちょっと気をつけなければいけません。
ただ、秋月の0.96インチサイズのものに対して、1.3インチタイプもあるので、それが使えると目にもやさしいです。

あ!

どちらのドライバ(SSD1306とSH1106)にも対応できるように、ソフトを改造しておきましょう。
SSD1306とSH1106はどちらも比較的よくにていて、どちらを選んでも表示がすこし乱れる程度なので、
ソフトメニューの中で変更できるようにしておきましょう。

OLEDの選択メニューを追加

ドライバーICがSSD1306あるいはSH1106の両方に対応できるようにドライバーを選択できるようにしてみました。
さらに、OLEDを正立でつかうか倒立でつかうかも選択できます。というのも、正立でつかうと1.3インチのOLEDだと
操作スイッチに被さるので操作がしにくいです。そのため、倒立でも使えるようにしておきました。


OLEDのドライバーICを選択できるようにしました。



正立で使うと1.3インチのOLEDだと、キースイッチに被さります。


OLEDを倒立で使うとキースイッチに被さりません。

ピン配置は重要!

これで、多くの128×64のOLEDに対応できると思いますが、大切なことはピン配置です。
この基板では
 1:GND、2VDD 3:SCK 4:SDA
のものが使えるような形になっていますが、前述したようにOLEDの中には
 
1:VDD、2:GND 3:SCK 4:SDA
の配置のものがあります。今回使用した1.3インチタイプのOLEDもピン配置が異なるものでした。


このピン配置のものもあるので要注意。

ピン配置の異なるものを使用するためには、VDDとGNDを変換して接続してやればいいわけですが、
今回使ったもののOLEDにはジャンパーピンで変更できるようになっていました。
そのため、それを利用してVDDとGNDを入れ替えています。ただ、単純に入れ替えてしまうと
シルクと逆になってしまうので、あとあと間違えないように紙に書いて貼っておきました。
 ちなみにジャンパーは0Ωのチップ抵抗がつかってあります。それを再利用して使いましたが、
鉛フリーでつけてあるので半田ごてを当てるだけでは溶けません。そのため、有鉛の半田を追加
してやって融点を下げてから溶かすようにしました。


VDDとGNDが入れ替えられるジャンパーが付いているものもあります。
デフォルトはシルクの通り、1:VDDで2:GNDです。


1:GND、2:VDDに変更しました。


間違えないように紙で貼っておきました。

意地悪テスト継続中・・・・

ソフトとハードのバグだしのため、色々と設定を変えながらテスト中です。
電源の入り切りも含めて行うので、間違っても電源電圧を間違えないように
しないといけません。なんせ、本基板は5Vで動いていますが、サンプルレートコンバータは
9Vの電源で動いていて、同じ形状のACアダプターなので注意しながらです。

大晦日だなあ〜 2019.12.31

年内にFESP5142は仕上げて年始にゆっくり聞きたいと思っていましたが、
なかなか収束しないです(笑。

またまた、基板のベースを作り変えることにしました。といううのも基板自体にはRCAコネクタとACアダプタ用の
コネクタがあるので、それ自体では完結するのですがアナログ入力ならびにアナログ出力をだそうとすると
線だし等が必要になってきます。
 それと、FESP5142-Doは基板単体なもので、基板の裏には鋭いリード線の端などがありますので、
リスニングルームの作業台に傷がついてしまいます。
 ということで、アナログ入出力のコネクタをとりつけたベース台をつくることにしました。
あ、そうそう! 以前に買った中華製のRCAコネクタを使ってみたくなったのも、その一つの理由です。


FESP5142-DoとFESP5142用のベース板です。3mmのアクリルの端材でつくりました。


FEPS5142をベース台にとりつけました。


こちらはFESP5142-Doです。

さらに機能追加!

出力信号の飽和(OVER FLOWW)を検知して表示する機能と追加しました。
DACの出力とイコライザの出力は個別にボリューム調整できるので、どちらの、あるいは両方が
の飽和を知ることができます。これにより、イコライザをかけてもぎりぎりまでゲインを上げることが
できるようになります。
 なお、音量の設定はどのようになるかというと

PCM5142のDAC出力(アナログ) は イコライザのゲイン × DACのゲイン

イコライザの出力(SPDIF)は イコライザゲイン

できまります。面白いのはイコライザゲインを上げて、イコライザ出力そのものが飽和していても、
DACのゲインを下げると、DACの出力波形は飽和していないということになります。


出力に飽和がないと、何も表示されません。


イコライザ出力が飽和するとEQU+が表示されます。


DAC出力(アナログ)が飽和するとDAC+が表示されます。


DAC出力とイコライザ出力の両方が飽和するとD&E+と表示されます。

中華LCDを外付け形式で接続してみましょう。 2020.1.1.

基板をケースに納める場合は、LCDもパネル取り付けになります。そのときの配線はLCDに必要な20本をそのまま
配線すればいいわけですが、結構面倒だったりします。そのときはシリアル転送のものを使用すると便利です。
秋月のLCDはパラレル専用ですが、中華製のドライバICにST4902を使用したものはシリアル、パラレルのどちらも
使用できます。まあST7902の場合はシリアル転送もパラレル転送もどちらも、速度的には大きな違いがないので
ST7902をつかうならシリアル転送でしょう。
 ただ、困ったことに中華LCDをAMAZON等で購入したときに、送られてくるのは現物だけですから秋月で使用されている
ドライバーかST7902のどちらかは不明な場合があります。商品説明にドライバが明記してあればいいのですが、
結構記載がない場合もみうけられます(ということは、ほぼST7902が標準なんだろうなと思います
)。


外見だけではドライバICの区別はできません(左:秋月、右:中華)


裏をぱっとみただけでもドライバICの区別はできません(左:秋月、右:中華)

ドライバーの区別は?
LCDの接続ピンのPjn15,16のシルクで確認できます。秋月LCDの場合はCS1,CS2となっていますが、
ST7902ドライバーの場合はPSB,NCになっています。PSBはパラレルとシリアルの切り替え端子で、
NCは無接続の意味です。
 ですから、PSB、NCとあればST7902のドライバということになるでしょう。AMAZONとかの商品説明でも
写真が拡大できますので、この部分を確認していまあす。でも、AMAZONで秋月タイプのLCDはみつけ
られなかったなあ〜。


秋月LCDの場合。CS1,CS2となっています。


中華LCD(ST7902)の場合。PSB,NCとなっています。

比較するとわかること

LCDの価格ですが秋月のLCDが1400円で、中華のLCDが700円くらいです。半田面をみると
部品の数もことなりますから、一概に比較はできませんが、バックライトの電流制限抵抗一つをとっても
その設計思想が見えてくるような気がします。

 中華LCDはバックライトの電流制限抵抗は30Ωで2012サイズのチップ抵抗1個です。バックライトLEDの
VF=3V(実測)なので、流れる電流は(5-3)/30=66mAです。で問題は、チップ抵抗の消費電力ですが
66mA×2V=132mWです。普通2012サイズのチップ抵抗の許容電力は1/8Wですから125mWで、これでは
仕様範囲を超えています。FESP5142にはバックライトの電流制限抵抗を追加で実装するようになっているのと
駆動のためのトランジスタの電圧降下がありますので、132mWを消費させることはありませんが、
別のアプリケーションでバックアライト電源に5Vを直接接続する場合などは注意が必要です。まあ仕様というのは
ある程度のオーバスペックがあるので、許容電力が越えたからといっていきなり発火することはないでしょうが、
結構な発熱が予想されるためあまり薦められた設計ではないです。
ただし、チップ抵抗1つで済ませているのでコストは抑えられます。

それに大して秋月LCDでは、LED電流制限抵抗は82Ωのものが2個パラになって41Ωとなっています。
また抵抗のサイズも3216をすこし大きいです。抵抗に流れる電流は一つあたり14.6mAですから消費電力は
29.3mWです。3216サイズの抵抗の電力は1/4W(250mW)ですから、かなりの余裕があります。ただし、サイズの
大きいチップ抵抗を2個つかっているため、おのずとコストが上昇します。

こうやって比較すると、秋月LCDを選びたくなるのですが・・・・お財布と相談すると・・・・てな結論になったりです(笑。


中華LCDのバックライトの電流制限抵抗は30Ωで、2012サイズのチップ抵抗1つです。


秋月LCDのバックライトの電流制限抵抗は82Ω×2で、3216サイズのチップ抵抗2つです。

シリアルで接続してみましょう!

接続の方法はいろいろあります。共通点はPSBをGNDへ、RSTとBLA(バックライトLEDのアノード)はVCCに接続しておきます。

(1)7本で接続する場合
 これが標準的な接続になります。BLK(バックライトのカソード)もFESP5142に接続していますので、
バックライトの点灯制御も可能になります。


図 7本で接続する場合


(2)6本で接続する場合
 バックライトの点灯制御が不要(常時点灯)の場合はBLKもGNDに落としちゃいましょう。
ただ、この場合は前述したように、LCDのバックライト電流制限抵抗の発熱が気になります。
もし手元のものが30Ωなら、BLAには抵抗を挟んでVCCに接続したほうがいいかもしれません。
(それに、そこまで電流を流さなくても十分明るいです)。


図 6本で接続する場合


(3)5本で接続する場合
 これが一番本数が少ない場合です。LCD側にコントラスト調整用のVRを実装してやれば
配線は5本で済みます。

図 5本で接続する場合


ちなみに、実際の接続は(1)の7本の場合にしています。バックライトに流れる電流は
トランジスタの電圧降下0.6Vもあるので(5-3-0.6)/30=47mAですから、抵抗の消費電力は
65mWですから、許容値の1/2ですから、まあ大丈夫でしょう。

中華LCDとシリアルで接続しています。

表示は問題なし・・・あれ?

表示はとくに問題ありません。ST7902ドライバであることとシリアル転送であることから、表示速度は
すこし遅くなりますが、許容範囲です。
 で、あることに気づきました。というのもバックライトの点灯制御をかけても、キースイッチの操作終了後から
一定時間すぎても消灯しません。正確には消灯のための時間が秋月LCDに比べて大幅に伸びてしまいました。


シリアル転送での表示も問題なしです。消灯時間が大幅に長くなったので修正です。

この原因はすぐに判明です。キーの操作がなくなった時点からカウンタで計数して、一定値になれば
消灯するようにしているのですが、カウンターの動かすループの中に液晶表示のルーチンが入っています。
そのため高速に動く秋月LCDでは、早く計数が進みますが、表示の遅い中華LCD(それもシリアル転送)では
計数がなかなか進まず、消灯時間が長くなるという顛末でした。

修正方法としては、接続するLCDタイプに応じて消灯のための計数の定数を換えればいいのですが、
またプログラムの実行速度を計り直す必要もあるので、これを機会に割り込みルーチンの中に計数の機能
を入れ込みました。割り込み処理では操作キーのセンシングを行っていますが、きっちりと1mS毎に行いまので、
消灯のための時間はLCDを変えても変化はありません。ただ、割り込み処理が重くなるので、メインルーチンに
つかうCPUの時間が短く(遅く)なります。が、この程度の追加は誤差範囲でしょう。

 なお、バックライトの消灯制御は4つから選択できるようにしました。
 TURN ON : 常時点灯
 OFF  T1  : キー操作後約10秒で消灯
 OFF  T2  : キー操作後約1分で消灯
 OFF  T3  : キー操作後約10分で消灯



割り込み処理の時間は全体の30%程度でした(Hレベルが割り込み処理中)。


PCM出力をだしてDAC4499と接続!

FESP5142のPCM出力は入力セレクタでの出力がそのままでるようになっています、
これをDSP出力後に改造してみましょう。こうすれば、直接DACにイコライザ後のPCM信号を
送り込むことができます。
 「最初からそうすればいいやん」と言われそうですが、もともとPCM出力は他の基板のDSPに
受け渡すことを前提に考えていたので、あまりDACと直接接続することは想定していませんでした。
 「それでも、PCM入力を2つも設けずに、1つはPCM出力に割り当てたらいいのとちゃう?」と
切返しをうけそうですが、それは・・・・・その通りです・・・・mOm。
 ただ、PCM9211の内部のルーティングの関係上、MPIO-Bを入力に割り当ててしまったので、
できないんです・・・(すみません、内部事情です(汗))。もともと、SPDIF入力、SPDIF出力を前提
に考えていたので・・・・ああ、言い訳モードです。

まあ、改造はそう対して難しくないのでやって行きましょう。

この様な変更を行います。DSPの出力を直接DACに接続することができます。


CN3がPCM出力端子(入力セレクタ後の出力)になっていますが、これをDSP後に切り替えます。

変更のポイントは1つだけで、CN3のPin1(DATA)をDSP出力のデータに入れ替えます。

手順は下記の通りです。
 ・CN3のPin1に接続されているダンピング抵抗Raを除去する。
 ・基板上のG3とシルクのあるパターンから、除去したRaのに接続する。


以上になります。以下に図解していきましょう。


まずCN3につながるダンピング抵抗Raを1つ取ります。


取り終わったあとです。


基板上のG3とシルクのあるパッドから除去したチップ抵抗のパッドの上側に接続します。G3の信号線は
上図のシルクの位置のパッド以外にも、黄色○の2箇所ありますので、配線しやすい場所から接続します。


改造例です。これでDSPの出力をPCMとして取り出すことができます。

DAC4499もすこしドレスアップ
とりつける側のDAC4499もドレスアップです。基板のままだと、電源のショートとかのトラブルに遭いかねないので
すくなくともベースとなるものに取り付けておきました。ということで、アクリルの端材をつかってDAC4499とIV基板
(DAC4499-IV(OPA))が搭載できるベースプレートを作りました。アクリルの幅が足りなかったので2枚つき合わせて
作っています。補強のあて板はありますが、十分な強度があります。

アクリルの端材でベース板をつくりました。

ここで使ったRCAのコネクタは中華製の安価なものですが、結構使えます。
もう一つ、バナナプラグとソケットは赤黒が5ペア(計10組)で400円弱の激安のものをAMAZONから買ったものです。
ただ、これはやはり値段相応です。かなり造りが貧弱なので、常用するにはちょっと怖いものがあります。
まあ、短い期間だけつかう使い捨てみたいな感覚でいたほうがいいかもしれません。


バナナプラグとソケットは計10組が400円の激安品です。


押さえキャップ(左側)はプラスチックのみなので、何回も締めこんだらネジをなめると思います。
(高価なものは、押さえキャップのネジは金属になっています)。



上等(普通?)なものは、押さえキャップは取れませんし、
中のネジは金属でできています。


それはさておき、アクリル板は端材を買い込んだので、色々なところに使っていますが、とても便利です。
なにが便利かといえば、

 ・そこそこ強度があるので、基板のベース材などの構造材に使える。
 ・アクリル専用の接着材を使えば、簡単に接着できて強度も高い。
 ・CNCでさくさくと切断ができる。切りくずも舞い上がらないので掃除も楽。
 ・出来上がりの見栄えも結構いい(透明度が高いためかな)。
 ・アクリルの端材は安価(10kgで1000円〜2000円。ただし送料は1000円ほどかかります)。

といったとことですね。ということもあり、台所の調味料入れなんかもつくったりしています(笑。

さて、DAC4499の搭載が完了しました。ベースプレートは基板に対してやや大きめです。
というのもWIDEサイズの基板も2枚のる寸法にしていますので、STDサイズの基板2枚だとすこしオーバです。


DAC4499とDAC4499-IV(OPA)がベースプレートに搭載でき、配線も完了です。

動かしてみましょう!

リスニングルームに持ち込んで、接続して視聴です。
構成は

 CDP → FESP5142(PEG) → DAC4499(2ch出力モード)→ DAC4499-IV(OPA)→アンプ
です。

動作は問題ありません。音もDAC4499の音ですね。暖かい音です。いや、前にも書きましたがOPアンプの音かも・・・。


FESP5142とDAC4499を接続して鳴らしています。

ちょっと気をつけることは・・・・

電源を入れるときはいいのですが、FESP5142の電源を入れたままにして、DACの電源を切って
再度DACの電源を入れても、DACが立ち上がりません。これは、電源の入ったFESP5142を接続しているため、
信号コネクターを通して微弱ながら電力が供給されてしまうためです。実際、FESP5142は電源を入れた状態とし、
DACの電源を切った状態で、DAC側の3.3Vラインの電圧を測定すると1.2Vあります。この電圧だとPICが
動作している、あるいはすくなくともシャットダウンしていない可能性があります。 ということで、
マイコンを完全にリセットスタートするためにはFESP5142の電源も一旦落とす必要があります。

もともとDAC4499はDAIは外付けであり、DAC4499の電源とDAIの電源は同時に入り切りされることを
想定していたので、バラックの状態のように個別に電源を入り切りする場合はすこし注意が必要です。

対策として・・・ 2020.1.2

DAC4499のソフトをプチ改造しました。ちょっとTea Time!?での検討結果を盛り込みました。

これで、FESP5142が通電状態でも安定してDAC4499のみ電源を入れなおしても立ち上がるようになりました。
同様の改造はFESP5142も施して起きましょう。
FESP5142-DoはPCM入力端子はないから必要ないかな? まあ、後の改造もあるかもしれないので入れておきましょう。

製作マニュアルができました。 2020.1.4

FESP5142用です。 FESP5142PEQ_Manual.pdf 
FESP5142-Do用です FESP5142-Do-PEQ_Manual.pdf



(つづく)