パワーアンプ付き電子ボリューム...page.9/10


8.EEPROMの変更・確認方法

EEPROMの変更で貴方のアイデアを加えたアンプに仕上げることができるようにプログラムしてみました。EEPROMの変更は容易です。


手順1.セレクタースイッチを押下しながら電源をONする。
"EEPROM R/W Mode"と表示される。
この表示が出ればセレクタースイッチを離してよい。
上段にアドレス、下段に16進とアスキーコードが表示される。

手順2.アドレスの変更方法
">"が上段左側にあるとき、ロータリーエンコーダーを回すことでアドレスが変化する。
ここで目的のアドレスを選択する。
※アドレスの変化と同時にデータ及びアスキーコードが確認できます。

手順3.データの変更方法
手順2で変更したいアドレスに合せたら、セレクタースイッチを1回押下する。
">"は下段左側に移動する。
ロータリーエンコーダーを回して変更したいデータにする。同時にアスキーコードも表示されるので文字の変更は容易である。
データを合せたらセレクタースイッチを1回押下する。
変更されれば"WAIT"と表示される。前回のデータと同一ならば"WAIT"とは表示されない。
これで手順2に戻される。

手順4.EEPROM変更・確認を終える
">"が上段左側にあるとき、セレクタースイッチを2秒以上押下する。
EEPROM内容が更新され、通常動作になる。
ね、簡単でしょ!




9.EEPROMアドレスマップ

いろいろ変更して、貴方のオリジナルなアンプに仕上げてね!

※ここでは、10進数・16進数・2進数の説明は省かせて頂きます。


アドレス 初期値 意味 備考
2100 0x32 電源オンのメッセージ表示時間(設定値×約0.1秒:初期値5秒)。
ミューティング時間と連動します。
0x00にすると電源オンのメッセージは表示されないと同時にミューティング出力も直ちにHレベルになります(正確には約50ミリ秒後にHレベル)。
TPA3122D2の場合は3秒〜5秒が最適です。
2101 0x01 入力端子数(入力回路数=設定値+1)。
初期値は0x01なので2回路入力になります。
設定値は最大0x03になります(4入力)。
0x04以上に設定しても0x03と同じことになります。
0x00に設定すると入力1のみになり、セレクタースイッチの意味がなくなります。
今回紹介している回路は0x01にしておいて下さい。
2102 0x01 ボリューム表示方法。
0:16点バー、1:文字+30点バー、2以上:文字+0〜64の数字)。
"文字"は2180~で変更可能。
2103 L レベルメーター1行目の文字(L相当)。 オリジナルキャラクタも使える。
2104 R レベルメーター2行目の文字(R相当)。 オリジナルキャラクタも使える。
2105 0x32 無操作からレベルメーターに移行する時間(設定値×約0.1秒:初期値約5秒)。
レベルメーターに移行させない動作はできません。
レベルメーターに移行すると同時にボリューム値と選択されているセレクターがレジュームのアドレスを書き換えます。
前回の記憶値と変化なければ書き換え動作はしません。
3秒〜10秒が使いやすい。
2106 0x3F セレクター1選択時のレベルメーター感度(初期値63)。
設定値を小さくするとメーター感度が上がる。
ただし感度を上げるとADCの範囲が狭くなるためメーターの動きは多少荒くなる(実際は注視しないと判断できません)。
フルスケール(45)=45*log(((1023*入力電圧/5)/設定値)+1)
信号を入力してメーターが平均して40%付近まで振れるようにしておくと見やすいよ。
2107 0x00 セレクター1選択時のレベルメーターオフセット(初期値0)。
メーター感度を上げると無信号でも電源やソースの残留ノイズなどでメーターが振れることがあるので、ノッチの数だけシフトさせることを可能にしました。

例えば、無信号で上図の場合になった場合(ディフォルトのキャラクタで描画)、Rchで最大7ノッチの振れがあるので、当アドレスに0x07を設定するとノイズによる振れをキャンセルできます。
L/R共にシフトさせます。
2108 0x3F セレクター2選択時のレベルメーター感度(初期値63)。
設定値を小さくするとメーター感度が上がる。
2109 0x00 セレクター2選択時のレベルメーターオフセット(初期値0)。
210a 0x3F セレクター3選択時のレベルメーター感度(初期値63)。
設定値を小さくするとメーター感度が上がる。
210b 0x00 セレクター3選択時のレベルメーターオフセット(初期値0)。
210c 0x3F セレクター4選択時のレベルメーター感度(初期値63)。
設定値を小さくするとメーター感度が上がる。
210d 0x00 セレクター4選択時のレベルメーターオフセット(初期値0)。
210e~210f 未使用。
2110 0x** セレクターのレジューム。設定変更禁止。 設定変更禁止
2111 0x** ボリュームのレジューム。設定変更禁止。 設定変更禁止
2112~211f 未使用。
2120~212f www.zea.jp/audio 電源ONメッセージの1行目。
16文字使える。途中に0x00又は0xFFがあると文字列終了としています。
オリジナルキャラクタも使える。
2130~213f      by Ishizuka 電源ONメッセージの2行目。
16文字使える。途中に0x00又は0xFFがあると文字列終了としています。
オリジナルキャラクタも使える。
2140~214f Rear:RCA セレクター1選択時の表示内容。
16文字使える。途中に0x00又は0xFFがあると文字列終了としています。
オリジナルキャラクタも使える。
2150~215f Front:JACK セレクター2選択時の表示内容。
16文字使える。途中に0x00又は0xFFがあると文字列終了としています。
オリジナルキャラクタも使える。
2160~216f input-3 セレクター3選択時の表示内容。
16文字使える。途中に0x00又は0xFFがあると文字列終了としています。
オリジナルキャラクタも使える。
2170~217f input-4 セレクター4選択時の表示内容。
16文字使える。途中に0x00又は0xFFがあると文字列終了としています。
オリジナルキャラクタも使える。
2180~2185 Volume 「音量」を表現する文字列。
6文字まで許可。
6文字に満たない場合はスペース0x20を挿入のこと。
オリジナルキャラクタも使える。
2186~218f 未使用。
2190~2197 +0:b0001 0000
+1:b0000 0000
+2:b0001 0000
+3:b0000 0000
+4:b0001 0000
+5:b0000 0000
+6:b0001 0000
+7:b0000 0000
レベルメーター1ノッチ用キャラクタ。
※ボリューム表示:文字+30点バーにも使います。

 ←デフォルト。
CG-RAM:00に相当
2198~219f +0:b0001 0100
+1:b0000 0000
+2:b0001 0100
+3:b0000 0000
+4:b0001 0100
+5:b0000 0000
+6:b0001 0100
+7:b0000 0000
レベルメーター2ノッチ用キャラクタ。
※ボリューム表示:文字+30点バーにも使います。

 ←デフォルト。
CG-RAM:01に相当
21a0~21a7 +0:b0001 0101
+1:b0000 0000
+2:b0001 0101
+3:b0000 0000
+4:b0001 0101
+5:b0000 0000
+6:b0001 0101
+7:b0000 0000
レベルメーター3ノッチ用キャラクタ。
※ボリューム表示:文字+30点バーにも使います。

 ←デフォルト。
CG-RAM:02に相当
21a8~21af +0:b0000 0100
+1:b0000 0110
+2:b0000 0101
+3:b0000 0101
+4:b0000 1101
+5:b0001 1100
+6:b0000 0000
+7:b0000 0000
ボリューム:16点表示用キャラクタ。

 ←デフォルト。
CG-RAM:03に相当
21b0~21b7 +0:b0000 0010
+1:b0000 0100
+2:b0000 1110
+3:b0001 0101
+4:b0001 0001
+5:b0001 0001
+6:b0000 1110
+7:b0000 0000
オリジナルキャラクタ。

 ←デフォルト。思い付かないので適当に作ってみました。
CG-RAM:04に相当
21b8~21bf +0:b0000 0000
+1:b0000 1010
+2:b0000 1010
+3:b0000 0000
+4:b0001 0001
+5:b0000 1110
+6:b0000 0000
+7:b0000 0000
オリジナルキャラクタ。

 ←デフォルト。思い付かないので適当に作ってみました。
CG-RAM:05に相当
21c0~21c7 +0:b0000 0000
+1:b0001 1000
+2:b0001 1000
+3:b0001 1000
+4:b0001 1000
+5:b0001 1000
+6:b0001 1110
+7:b0000 0000
オリジナルキャラクタ。

 ←デフォルト。アドレス2103で利用してみて下さい。
CG-RAM:06に相当
21c8~21cf +0:b0000 0000
+1:b0001 1100
+2:b0001 1010
+3:b0001 1010
+4:b0001 1100
+5:b0001 1010
+6:b0001 1010
+7:b0000 0000
オリジナルキャラクタ。

 ←デフォルト。アドレス2104で利用してみて下さい。
CG-RAM:07に相当
21d0~21df 未使用。
21e0~21ef 未使用。
21f0~21ff 未使用。




10.レベルメーターをカスタマイズするヒント

2行16文字LCDモジュールは上段にLチャネル、下段にRチャネルのレベルを表示します。
左側の1文字はL/Rの文字(変更可能)を常時表示させ、残り15文字でレベルを表示します。
1文字当たり1ノッチ、2ノッチ、3ノッチのキャラクターを用意して45点レベル表示になます。
このノッチのキャラクターは既に記述した通り変更ができます。

 ←デフォルト


応用として、1ノッチ、2ノッチのキャラクターを同一にして、3ノッチのキャラクター(又は1ノッチのキャラクターと、2ノッチ3ノッチを同一のキャラクター)を作ると30点レベル表示になります。
尚、ぎこちない動きには見えません。

 ←例です


1ノッチ〜3ノッチを同一のキャラクターにすれば15点レベル表示になります。

 ←例です


キャラクターを変更してオリジナルなレベルメーターにしてみてね!




11.電源ONから音が出るまでの簡単な説明

セレクターの役割をするリレー、ミューティングリレーの動作、ボリュームが上がるまでの簡単なフローを記述します。
電源オン

ボリューム「0」をLM1972に送る・・・・無音

EEPROM変更ルーチンか確認

各種パラメーター読み込み

以前の入力セレクターを出力

電源ONメッセージの表示・・・・数秒間

50ミリ秒のディレイ

以前のボリューム値をLM1972に送る

ミューティングリレー通電

メインルーチン・・・・ボリュームの調整が可能になる


BACKNEXT