2007/07/26(木)verilog HDLのalwaysで悩み

verilog HDLを勉強がてら遊んでいるのですが、つまずいています。

よくあるサンプルですが、

input [1:0] SW;
reg   [3:0] counter;

always @(posedge SW[0] or posedge SW[1]) begin
	if (SW[1] == 1)	// reset
		counter <= 0;
	else
		counter <= counter + 1;
	end
end

と書くと正しく動作します。ですが、

always @(posedge SW[0] or posedge SW[1]) begin
	if (SW[0] == 1)
		counter <= counter + 1;
	else
		counter <= 0;
	end
end

と書くとまともに動作しません。SW[0]を押したとき、値が不定値になります。またSW[0]を押している間、counterの値が随時変化し全く定まりません。どなたかお助け。

追記

シミュレーションだとどちらも正常に動きます。なんかバグ(不具合?)っぽい予感がヒシヒシと(汗)

2007/07/18(水)LM4880 ヘッドホンアンプ

以前作成したNJM2073ヘッドホンアンプがあまりにもダメダメなので(その割に高価な部品が載っていて勿体ないので)、回路を分解してLM4880で作り直してみました。


※どうせ作るなら、部品点数が少なく音質が優れたLM4880-DC直結版をお勧めします。

LM4880

LM4880(LM4881含む)はナショナルセミコンダクターのポータブルプレイヤー向けアンプICです。外部部品が非常に少なく自作には扱いやすいICです。仕様外(保証外)ですが、単3電池2本で動作します。

マルツパーツ館で姉妹品のLM4881が、ネットではエリスショップなどで販売しています。DIPパッケージとSOP(1.27mmピッチ)のパッケージがありますが今回は後者を利用し、秋月の変換基盤を使ってDIP相当として使用しました。

回路図

lm4880_circuit.gif


仕様書の回路図そのままです。

  • Ci, Co はカップリングコンです。
    • Ciと入力抵抗の関係で低域の周波数特性が決まります。F特を稼ぐために、入力抵抗を大きくし過ぎるとノイズを拾いやすくなります。
    • 音質を優先するならば、Ciにはフィルムコンを使うといいです。例えば千石で売っている3.3uF程度のフィルムコンがやすくて良いと思います。
  • CBは中点電圧安定化のためのコンデンサです。仕様書では1uFです。小さいと低音が出にくくなります。あまり大きくすると、ウォームアップに時間がかかります。
  • 5ピンはシャットダウン用端子です。VCCに繋ぐとシャットダウンできます。特にこの機能を使わない場合は必ずGNDにつないでください。*1

*1 : FET入力のため、Openにするとものすごい勢いでシャットダウンとONを繰り返し使い物になりません。

実装について

lm4880.jpg
lm4880_2.jpg

仕様では電源として2.7~5.5Vとなっていますが、単3×2で使用しています。色々調べてみると、2.2Vが最低動作電圧で、2.1Vになると音が割れ気味、2.0Vでは全く動作しなくなりました。ニッケル水素電池×2でもだいたい駆動できます。

回路定数ですが、実際に作成するときは手持ちのオーディオ用抵抗の関係から「Ra=1k、Rf=2k」にしました*2。同じく手持ち部品の関係から、入力カップリングCiに「OS-CON 100uF」と出力カップリングCoに「OS-CON 470uF」を使いました。OS-CONはメーカー側でカップリングコンに使用出来ないと言われていますが、この程度の使い方ならば大きな問題はありません。(自己責任で)

なおカップリングコンに電解コンデンサを使う場合はオーディオ用コンデンサを使ってください。このアンプでは、カップリングコンの音がそのままストレートに出てきます。

またカップリングコンおよび中点保持用コンデンサとして電解コンデンサを使用する場合、電解コンデンサがハンダ熱によって失った性能を回復させるため、十分な電圧を加えて性能を回復させる必要があります*3

電源にはジャンクPCから外した低ESRコンデンサ 6.3V 1000uFを6個使用しました。過去に何度も書いていることですが、電源のインピーダンスを下げることは音質面やノイズ抑制の意味で最重要です。最近はOS-CONやオーディオコンデンサが売られていますので、東信のUTSJやOS-CON 6.3V1500uF(千石で固体コンデンサとして売られてます。マルツならば2.5V2700uF)をお勧めします。

抵抗は好みに応じてオーディオ用などを用いるといいと思います。抵抗は2ピンにできるだけ近づけて配線してください。2ピンが一番ノイズを拾いやすいので、ここの配線を長くすることは音質的に不利です。

ボリュームも音質に影響するので、ミニデテントあたりを薦めておきます。(10KAΩを使用しました*4

*2 : ボリュームの抵抗との関係を考えたら、やはり10k~20kぐらいが良いと思います

*3 : 例えばMuse KZ 25V品を使用する場合、25Vを加えた状態で100時間程度放置しないと本来の性能(音質)を発揮できません。ハンダ熱を加えたあとの修復前では中高域にモヤがかかったような音がします。

*4 : ここに100KΩなどを使用する場合は、Ra, Rfも大きな値にする必要があります。ノイズ面から10kΩ程度がいいと思います。

音質評価

クリアかつ明瞭でかなりの高音質です。ノイズも皆無で、NJM2073のノイズと戦っていたのがバカらしくなりました(汗)

カップリングコンの音がストレートに出てくるという印象があります。OSコンのクリアな音質です。カップリングコンにMuse KZを使った似た回路実装と比較させてもらいましたが、こちらはKZ特有の重い低音が鳴っていました。高域まで綺麗に伸びて、歪み感もなく、とても素直な音質です。

自作ヘッドホンアンプと比べると

  • 超高域や音の立ち上がりがやや弱い(若干まるい)印象があります。
  • 出力カップリングコンがあるから仕方ないのですが、低音の立ち下がり特性が悪いです(いわゆの低音しまりが弱い)。
  • カップリングコンの色づけが出ます。*5
  • 全体に明るい(軽快な)感じの鳴りです。
  • A500では気付かなかったのですが、(より高能率のヘッドホンで聴くと)わずかにホワイトノイズがあるそうです。

自作ヘッドホンアンプはこちらです

消費電力測定

電源電流
2.2~2.4V0.5~0.7mA
3.0V1.4mA
4.0V1.6mA
4.8V2.5mA

だいたいの数値です。続いて、インピーダンス34Ωのイヤホンに繋いだ場合の電流。平均電流ですので、瞬間最大ではこの何倍か行くと思います。

ボリューム位置減衰電流主観的な音の大きさ
9時-33dB0.5~1mAちょっと小さいぐらい。小さめで聞く人には丁度良い。
12時-20dB15~25mA結構な音量。かなり大きめで聞く感じ。
1~2時-10dB25~50mAうるさくて聞いていられない

*5 : 必ずしも悪いことではありませんが素性の音を求める人には向いてません。OSコンならば、ほとんど色はなくクリアですが。

まとめ

ポータブルプレイヤー向けに作られているだけあり、低価格ながら扱いも簡単で高音質です。1~2万ぐらいのオーディオカード付属ヘッドホン端子*6よりいい音がします。

組み立ても簡単ですし自作初心者向けに丁度良いと思うのですが、問題はチップの入手性でしょうか。そのうち秋葉原の店舗で扱ってくれそうですけどね。(希望的観測)

*6 : 複数の音が鳴ったときにガヤガヤとしたうるささがあるんですよね

Prodigy 192VEのオペアンプを交換

はてブ数 2007/07/17電子::オーディオ

Prodigy 192の廉価版として、デジタル入出力などを省略したサウンドカードProdigy 192VE。実売8千円前後ながらなかなかの高音質であり、気に入って使っていましたが、ヘッドホンアンプ作成後「どうも音が歪む」感じがしてオペアンプの載せ替えに挑戦してみました。

Prodigy 192VEの高音質化

192VEにはオペアンプとしてNJM4580が使われています。

NJM4580*1は決して悪いオペアンプではないのですが、自作ヘッドホンアンプで聞いていると、どうにもオペアンプに起因すると思われるうるささがあります。複数の音が混ざって聞こえてしまいガヤガヤしてしまいます。

オペアンプと言えばバーブラウンの OPA2604(約550円)や OPA2134(約300円)が有名ですが、最近登場でそこそこ評判のいいアナログ・デバイセズの高スルーレートオペアンプAD8066ARZ(約600円)*1に載せ替えてみました。(秋葉原だとサンエレクトロで売ってます。)

改造のポイント

Prodigy 192VEの出力部の回路図は次のようになっています。

Prodigy 192VE.gif

  • この回路図は出力チャンネル用です。
  • 部品番号は、Out1のものを記載しています。
  • Out1-2, Out5-6はヘッドホン出力との切り替えリレーを含みますが、回路図上では省略しています。
Prodigy 192VE各チャンネルと部品対応
チャンネルL-chR-chオペアンプ
Out1-2C42,C48,C54,Q5C43,C49,C55,Q6U9
Out3-4C44,C50,C56,Q7C45,C51,C57,Q8U10
Out5-6C46,C52,C58,Q9C47,C53,C59,Q10U11
Line INC41,R52,R53C39,R46,R47U7→U8
MIC INC36,R37-none-U6

ロットにより回路図や部品番号が違うことがありますので、改造時は必ず自らご確認ください。また改造は各自の責任で行ってください。著者は一切の責任を負いかねます。

出力チャンネルであるU9, U10, U11をそれぞれAD8066に載せ替えてみました。また、出力用カップリングコンデンサC48,C49(他チャンネルでは相当品)をジャンパーしてみました。この改造により最大1.5mV程度のオフセットが出力される可能性があります。高出力アンプなどに接続する場合は十分にご注意ください。またC42等はスルー(削除)できません。*2

192VE.jpg
192VE_4580.jpg
192VE_AD8066.jpg

オペアンプの外し方

無理矢理外してパターンを切り取ってしまわないように十分注意してください。サンハヤトの表面実装取り外しキット*3があれは完璧ですが、40W以上のはんだごてを使って、ハンダを上側下側ともにたっぷりたらして4ピンともブリッジした状態で交互に十分に熱すれば外すことができます。

よく熱した状態で、小さいマイナスドライバーなどを用いて少し力を加えます。このとき無理な力を加えないようにくれぐれも注意してください。

*1 : SOP, SOLパッケージ。1.27ピッチ8ピン2回路

*2 : これをジャンパすると大きなDCオフセットが出てアンプを損傷する恐れがあります。

*3 : 千石電商等で売ってます

音質評価

一度にかつ正確に評価するために、Out1-2をNJM4580のまま、Out3-4をAD8066に載せ替え、Out5-6をAD8066に載せ替えてかつカップリングコンデンサをバイパス(ジャンパー)した状態で、ドライバのオーディオ出力をクローン設定にして、Out1-2, Out3-4, Out5-6 で全く同じデータを再生。音量もすべてMaxの状態で評価しました。

なお再生ソフトからの出力にはASIOを用いました。

NJM4580

  • 決して悪い音ではない。
  • AD8066に比べるとガヤガヤとした音。
  • J-POPやオーケストラなど多くの楽器が一度に鳴ったときに、複数の楽器の音がまざりうるさく聞こえる。
  • 中域の音が若干細く(力感なく)感じられる。

AD8066(カップリングコンあり)

  • NJM4580とは違い、ガヤガヤとしない。
  • 複数の音が一度に鳴ったとき、それぞれの音をきちんと区別して聞き分けることができる。いわゆる音の解像度が高い。

AD8066+カップリングコンのバイパス

「AD8066+カップリングコンあり」と比較。

  • 低域が1段下に伸びている。低音がはっきりと再生される。
  • 音の明瞭さ、クリアさが増している。高域の音の歪み感が全くなく超高域までストレートに伸びきっている。高域のかすれ感が全くない。
  • 音が広がりが増している。左右だけでなく、前後の定位感がある。

逆に言えば、カップリングコンがあると次のような感じです。

  • 若干ながら高域に歪み感を感じ、高域がやや削れている(丸くなっていると言うよりはガリガリっと削れている印象)。高域のかすれ感がある。
  • 音の明瞭さがやや悪く、音の広がりが小さい(狭い)。

結果

大満足という結果になりました。特にAD8066+カップリングコン削除で別世界の音という感じです。高域の綺麗な伸び具合や低音の素直さは格別です。自作ヘッドホンアンプ(カップリングコンなしDCアンプ)と組み合わせるとピアノやストリングのリアルさが身震いするほどです。

二~三世代前のプロ用オーディオカードよりいい音してます。

追記 2007/12/07

onkyoのSE-U55SXを入手したので聞き比べたところ(SE-U55SX無改造状態)、192VEの歪み感が気になってしまいました。この「歪み」はDAC直後のカップリングコンデンサC42~C47(おそらく音響用ではない)によるもので、これを載せ替えたところ解消しました。

192ve_oscon.jpg

写真のとおりOS-CON(10v47uF)を突っ込みましたが*4、オーディオ用電解コンデンサとかなら何でも構いません。使用可能なのは6.3V/10uF以上のものです。物理的に小さいコンデンサを選んでください。

*4 : OUT 1-2はPCスピーカー用なので出力カップリングコン含めオリジナルのままです。

さらに改造(v2) 2008/04/22

ADC/DACチップのアナログ電源まわりのコンデンサを載せ替えて、同時にノイズ対策をしました。出力抵抗の100Ωをニッコームのプレート抵抗に置き換えました。SE-U55SX(改)と同等以上の音質になりました。

※他の記事では、この状態を192VE(改v2)と書きます。

最終改造(v3) 2008/06/18

オペアンプ電源のコンデンサをうち1組をUTSJ 16v470uFに交換しました。ほとんど変化ないかと思ったのですが、かなり効果的で音の透明度が増しました。

R56, R62, R68をそれぞれニッコームの抵抗RP-44C、10kΩがなかったのでR62/R68については多摩電気工業のLFに置き換えましまた*5。がやがやとした曇りが非常に透明度の高い音質になっています。

DAC音質比較も参照してください。

*5 : RP-24Cは大きさからして入らないので、RP-44かRP-88しかない。

2007/07/11(水)電池の定格一覧

電池動作機器を設計するのに、電池の情報がなかなか纏まっておらず集めてみました。実際に測定したわけではなく、ネット上の情報を適当にかき集めただけですので、あくまで参考程度でお願いします。

すべて単3電池
電池電圧容量内部抵抗
ニッカド1.2V500~1000mAh10mΩ
ニッケル水素1.2V2000~2500mAh25mΩ
オキシライド(ニッケル)1.7V2000mAh100~200mΩ
アルカリ乾電池1.5V2000mAh200~300mΩ
マンガン乾電池1.5V1000mAh4~5Ω

より正しい値や、他の情報がありましたらお知らせください。

どの程度歪むと変化を感じるか?

はてブ数 2007/07/10電子::HPA

自作ヘッドホンアンプの特性を色々計っているのですが、あれもこれもと色々と無茶した結果として*1、出力が多少歪んでしまいます(高調波歪みです)。歪み率計とかオーディオアナライザとか高度なものがあればいいんですが、そんな測定器は持っていないので、WaveGeneで1kHzの音を再生し、WaveSpectraでFFT表示させています。

でもFFT表示させるまでもなく人間の耳は敏感なもので、音がひずむとすぐに分かります。1kHzのsin波は人間の耳の歪み特性察知にもってこいです。どの程度で歪みを感じるのか、調べてみました。

測定値歪み率(THD+N)主観
thd01.gif
0.28%歪みをまったく感じない
thd02.gif
0.74%かすかに歪みを感じる
thd03.gif
1.01%明らかに歪みを感じる

「オーディオの科学の非直線性と歪」によると高調波歪みとして関知できるのは1%ということですので、大体合致しています。

アンプを作る際は、スピーカーやヘッドホンを繋いだ状態で(最重要)大体1~0.7%以下 (-60~-63dB以下)を目指すと良いようです。

*1 : ニッケル水素電池×2で動かそうとしていることが一番の大変なところですが(苦笑)