2010/02/02(火)ニコ技動画~アイデア発想ヒント講座~

おちゃをにごす

ということで、とりあえずTLに流れていたので御紹介。発想力は必要ですね。上下左右、どこにでも人はいるので、突出して目立つには難しいものです。特に真似しやすいものは、改良・改善・変形で過去のものになって逝きます。常に新しいコトを探し、発信しつづける必要があるわけですね。


まぁ、無理せず、必要に応じて得られたアウトプットを少し紹介する程度にしておくのが無難なのでしょうなぁ。無理し続けて継続しないほうがショックはでかいw

2008/08/28(木)USBDACエージングその後

USBDACエージング

火を入れてから一週間以上が経過しました.電源だけなら100時間は十分越えています.ヘッドフォンもほぼ新品同様だったので,音を流して放置したり聞いたりゲームしたり.


ということで,改めて目を閉じて試聴してみました.
エージング前と明らかに違う.
この不思議体験,ヒトには聞かされていましたが,初めて経験しましたネェ.コレを知っていれば,ヲデオタに走っていたかもしれません(笑).

比較的高音が澄んで聞こえる.
ハープ(竪琴?)系,弦楽器というほうが正しいのか,他の楽器に紛れていたものが聞こえやすくなりました.音声も,主に女性VOCALばかりを聞いているので,同様にクリアに聞こえてきます.
これを解像度があがったと表現するんでしょうかね.

さて,低音は?
正直判りません(^^;.もともと低音は大きな気がしますし,ヘッドフォンにしてからの差分といえばエージング前のものか,携帯するインナーヘッドフォンくらいしかないです.それらと比べると,高音の変化に比べるとあまり目だって変わっていない気がします.

具体的に正弦波を入れて確認したわけでもないので,どの程度の音域を指しているのか怪しいですが,こんな感じですかネェ.
ところが,現状はUSBDACの出力を直接ヘッドフォンにつないでいるので,PCで音量を下げています.これがネックでデジタルレベルで情報を失っているようです.
やはりヘッドフォンアンプを入れて,駆動力を得つつ,USBDACはフルボリュームで運用していきたいところですね.

ミニデテントは,(デテントに比べて)音質が悪いという記事を見かけました.ぶっちゃけ,最終形態は音響用抵抗とロータリースイッチで作る自作アッテなんでしょうねぇ.今回のアンプは携帯可能という事で,ミニデテントでいきます.

ん~,音響用コンデンサが手軽に変えないのは惜しいですネェ.秋葉いくしかないのか..ボリ松は本当に最後の手段.


おまけ

茅原実里 (HeroinE);(DVD付)(AA) Track5. 涙の記念日 を聴きながら書いていたのだけれど,今まで気にならなかった音が聞こえるw.
ねずみよけ?の高周波が聞こえてしまってうざったいという体質?なので,高音がクリアに聞こえるとすげぇ敏感に反応してしまうな.
まだUSBDACの本領を体感していない.早くヘッドフォンアンプを用意しないと,だな.

今週末はN:TMがあるので,目標は低く,来週の平日か,その週末ということでひとつ(ぉ

2008/08/26(火)[USB][HID] キーボードとマウスと.(その1)

USB接続のキーボード・マウス・GPIOを増設する

という目的をあげました.いろいろ着手しかかりで,どれも完結してないのはご愛嬌:)

コレも2年ほど前にGPIO+CapSenceやろうとして,頓挫したままになっていたプロジェクトです.せっかく復帰したので,基本的なUIのキーボードとマウスの機能も持たせたいと思います.

前提条件と手順は,以下のとおりとします.

  • ホストは Windows XP,開発環境は...任意w
  • cypress のPSocであるところの,CY8C24894を使う
  • マイコンとPCとをつないで,デバイスの認識を行う
  • HIDデバイスとして認識させ,Windows標準ドライバを用いることでドライバの開発を避ける
  • キーボード押下情報の送達確認
  • マウス操作情報の送達確認
  • 汎用IOとしての,マイコンとのデータ授受確認(非USB-UART Bridge)

注:正しい用語を使って説明できていないです.作業メモとしてざっと書いているのでご容赦を.もし万が一,パクられる参照される時は,ものの本を見ながら単語の修正をしたほうがいいです.


マイコンとPCとをつないで,デバイスの認識を行う

何もナシだと辛いので,とりあえず検索してみましょう.ただし,手元に資料も欲しいので,後述する資料をそろえておくことを推奨いたします.*1

HIDとしてテキトウIOデバイスを作る

まずは,参照場所-個人(1)を追いかけてみます.
PSoC Designer ver.5でnew projectを作って,USBFSモジュールを追加, Wizardでdescriptorを記述していきます.本家のツール*2よりも使いやすくてイイデスネ.
サクサクと終わるかと思いきや,PCからHIDデバイス,という認識まではされたけれども,ドライバがinstallされない事態に.デバイスマネージャでUSB/HIDのアタリをあさってみると,黄色いびっくりマークがついてます.propertyでVID/PIDを見ると,確かに作ったデバイスです.Setupは飛んでいるみたいですが,どこかで調子悪くなっているようです.昔々に同じことになっていた記憶が・・・.

packetが見たい

さて,何もいわずに黄色いびっくりマークを出すだけで,何を言いたいのかわかりません.そこで,USBのプロトコルアナライザーでもあればスイスイ?なのですが,(検閲削除)なので,ソフト的に対処してしまいます.
探してみると,USB Snoopy Proというフリーソフトが出てきました.使い方は解凍してでてくるREADME.TXTのとおりです.見ずにやるとうごかねぇぞゴルァとなるかもしれません:)

結果,どうやらHID Report descriptorを受けたあとで,RESET PIPEなるコマンドが飛んでいます.Descriptorの記述に不満がるようです...HIDの面倒なところはココですね.
参照個人サイト(1)の,絵を見ながらまねていたのですが,下記2点のミスによるものでした.

  1. 見落としがあったこと
  2. 見ているうちにマウススクロールでHID-ReportではなくHID-Physicalになっていた

これに気づくまでにいろいろと検索したり,本を見たりして時間を費やしてしまいましたわ.まぁ,次の予習になったので結果オーライってところでしょうかね.


キーボードとマウスもつけたい

汎用IOだけだと面白くない.せっかくなので,キーボードとマウス機能もつけてしまいましょう.
どうやって複数機能を持たせるのかナァと不思議に思っていましたが,今は納得.

同じように疑問を持っている人がいた*3ので,さくっと解決.HID Report Descriptorで,複数の機能を宣言するだけでよい.それにあわせて,EndPointもしっかりと割り振ってやる必要があるけれども..

やり方がわかったら早速実験.PSoC DesignerでUSBFSのdescriptorを編集していきます.これまたびっくりマークに悩まされたりするわけですが...
詳細は後日.とりあえず認識するまでのダイジェストだけ.

  • EP1は OUT INTERRUPT, MaxPacketSize=8. キーボード
  • EP2は OUT INTERRUPT, MaxPacketSize=8. マウス
  • EP3は OUT INTERRUPT, MaxPacketSize=32. マイコン通信用
  • EP4は IN INTERRUPT, MaxPacketSize=32, マイコン通信用
  • Packet Sizeは Report descriptorのサイズ以上ならOK
  • HID spec.のappendixにあるキーボードにはOUTもあるが,削除可能.これでEPを稼ぐ.複数キーボードがある状態で,制御キー(?)のLock状態が見えないようになるのではないか?(要確認)
  • HID Report Descriptorの書式は理解しづらかった.仕様書・書籍・WEB Site,実機をいじくってなんとなく理解したつもり..?

今日はココまで.乞うご期待(ぉ


*1 : WEBに書かれている個人の発信を全て丸呑みにせず,必ず本家の資料を見るように心がけましょう.

*2 : HID Descriptor Tool,dt2_4.zipというファイル.

*3 : usb.orgの掲示板にて,質問されてました.回答は日本人(^^;

今回の参照場所

書籍

USB 2.0とUSB On-The-Goを含むカスタムUSBデバイス開発のすべて USBコンプリート[第3版]
仕様書直訳したような文章ですが,すらすらと仕様書が読めない方(オレオレ),紙面で資料を持っていたい方にオススメ.下記のようにWEBで情報公開されている方も多いので,動くものをエイヤで作るだけならイラナイかもしれない.でもまぁ暇つぶしに読んでおくこともオススメする.


WEBサイト

(0) 総本山usb.org

何はともあれココから始まる.仕様書の類は一通り落としておきましょう.HID usage tableや descriptor情報など,必須な情報ばかりです.このアタリの情報をあわせて記述しているサイトがあまり見当たらなかったので,本記事を書くことにしました.
本日は記載しませんが,まとめてwikiネタとしてコンテンツにしておきます.動作確認できてから・・・.

(1) Flatol Lab

PSoCにおけるUSBと題して,モロに同じ石です.開発環境が1つ前のDesigner 4で紹介されていますが,操作方法は ほぼは同じです.

(2) PSoCでUSB

Snoopyの検索でヒットしました.みなさん考えること/やることは同じですね:)

(3) USB HID Notes

キーボード・マウスのReport descriptorと,デバイスから放り出すときのメモリイメージを参照.

2008/08/24(日)[製作] ヘッドフォンアンプ~その2

仮組み

先日の測定結果より,Vds=1.1Vの値を信じてテキトウに組み合わせた.
ペア組み+チャネルわけのおおよその選別思考は以下のとおり.*1

  • P-ch/N-chの電流差は0.2mA程度まで許容する.場合によりもう少し空いてもあきらめる.
  • 左右で,P-ch/N-chの総和が,それぞれ大きな差の無いこと.
  • 3~4パラの組み合わせとなるが,できるだけ左右に同じ程度の値を割り振る.(特性カーブをそろえるイメージ.一緒か?)

で,とりあえずブレッドボードに片チャネルだけあわせてみた.

FET_AMP_01.PNG

部品点数は非常に少ないので,両チャネル実装できるか?と思ったが,クリップ類が少なくて実装できなかった.*2


せっかくブレッドボードに組んだので,出力段のシリーズ抵抗を差し替えたり,FETのパラ数違いを聞いたり,入力に発振防止?のシリーズ抵抗をバイパスしたりと聞き比べてみた.無論,エージング前・暖気もそれほどやっていない状態での試聴であることをご容赦いただきたい.

出力段のシリーズ抵抗
MPCの1Ωと0.33Ωの2種類を用意してあった.1Ω→0.33Ωでは,同じ入力ATTで音量が増えたように感じた.シリーズ抵抗が減るのだから,ヘッドフォンに入る電力が入ることから当然である.
FET3パラ→2パラ
最低BLランク3パラ以上,といわれていたので,その差分を確認したかった.条件をイーブンにするため,入力ATTを同じ値(クリック数で調整)とした.
電流そのものが変わってしまうため,当然音量は下がる.また,音量を上げたときに,低音が弱まったような感じを受けた.歪んでいて,ヘンに聞こえた可能性もある.自分の耳を信じないなら,オシロで観測すべきなのだろうか...
少なくとも2パラはダメだと判断.4パラにすべきかなぁと考える.
入力ATTの直後のR
作例だと100Ω.よさげな抵抗は91Ωを入手していた.記事にあるとおり,min/maxにボリュームを振らなければ,0Ωでも良いとあったので,+1クリック状態でバイパスした.
確かに音が変わる.高音の伸びが変わったように感じる(気がする).好みにも依るのかもしれないが,この抵抗は取っ払ったほうが良い.エージングすれば変わってくるのだろうか...
取っ払ってGND電位(ボリュームを絞りきった状態)にしたが,特に変な音は聞こえなかった.*3

とりあえずこんな感じかな...Vランクへの換装も考慮して,基板に実装するのはFETと抵抗までにしよう.OSコンをFETに近接させるなら,同じ基板に載せないといけないわけだが,悩ましいな.2.5V品のOSコンは在庫に無いぜ・・・.電圧上げて,エージングのときだけ投入電圧を上げて回復させてみるってのもアリかな.


試聴に使った曲は,水樹奈々 Secret Ambition(高音ヴォイス確認,楽曲音が溢れてる?あたりの解像度確認?),神尾真由子PRIMO(AA)収録のヴァイオリン曲(高音ソロ確認?)
ヘッドフォンはaudio-technica ATH-AD1000 オープンエアヘッドホン(AA)を使用.他に持ってない(ぉ.コミケの試聴のときに,密閉式もいいなぁと思った.外の音をシャットアウトしやすいからネェ...

*1 : 測定結果のとおり,かなりばらついており,片チャネルでも3~4パラ,8組は必要となるので,手持ちだけで試行錯誤して決めた俺ルール.理想は全部同じIdssじゃないかな...
結果,左右でIdss総和に2mA程度の差が出る模様.チャネル内でも0.3mA程度は覚悟しないとダメかな..動作時の電流を見てみないとわかんないけど.

*2 : 今気づいたが,引き出しに在庫があった気がするな...

*3 : 誤って入力を浮かすとハムノイズが聞こえた(ぉ

次回

ということで,パネル加工しないとくみ上げられない罠.
ペア組だけであーだこうだと脳内懐疑を行い,小一時間は消費した気がする.ブレッドボードいじりも1時間弱いじっていたかもしれないw.方耳だけなので疲れたわ.
パネルと言っても,スイッチとボリュームと入出力端子(3.5φのジャックかな)だけですからねぇ.

先日の基板については,どうやらケース内部の干渉する領域にあわせて基板を加工する必要がありそう.加工したところでボリュームが入らなくなるのは自明.秋月のちっさい基板に詰め込むことが確定.空中配線でも良い規模だけどネ.FETの挿抜が予想されるから,両面スルホール基板で待ち構えておくのが良いだろう.コネクタ類は,接触抵抗が増えるだけなので,パネルとの接続はハンダ付けしてしまう.取り替えるときに面倒だが,致し方あるまい.

進捗悪いのは,まぁ,よくあること.N:TMで配るかもしれない名刺の作成とか,久しぶりにゲームやったら明け方まではまったとか(マテ

NTM_namecard.PNG

こんな感じ.絵はたむ師匠.年季バックナンバーの裏表紙から引用.該当バックナンバーの在庫があるので,これをもっていく予定.もちろん無料配布w

Mega128基板も希望者に配布するかなぁ.マイコンと抱き合わせで1kとかどうだろう.今は価格下がってるかナァ.バグ入り基板だからなぁ(ISP接続)

進捗が悪くてすみませんね...まとめてからうpするほうが,読者から見ればよいのですが,モチベーション維持のため小出しにさせていただいております.*4

*4 : 小出しというか,進捗状況をそのまま出しているので出し惜しみは無いです('A`

2008/08/23(土)[製作] ヘッドフォンアンプ~その1

動機

単3電池式 高音質ヘッドホンアンプ(改良型)の追試というか,製作をなぞってみる.

材料はそろえたハズなので,JFETのIdss測定を行い,実際の製作準備を進める.

Idss測定

Idss 測定 JFETで検索すると,いくつかのWebPageで測定例や冶具紹介をみることができる.私も冶具を作るかナァと考えていたものの,作らずじまいである.今回は手軽にブレッドボードと安定化電源・テスタ2つを用いて下記の要領で測定した.
ただし,個人的解釈による実践であり,文献の参照等,裏づけをもって作業をしているわけではないので注意されたい.データシートのIdss測定条件とも異なるので少々不安ではあるが,今回のヘッドフォンアンプの電源は乾電池であり,その電圧におけるIdsを汁必要があると判断した.

測定手順
  1. 測定方法は,G-Sを短絡し,接地.
  2. Vdsに電圧を印加して,Idsを測定する.

ただし,測定器の内部抵抗を考慮し,素子のD/Sに電圧計を並列に接続する.
素子と電圧計をまとめた端子に対して,電源から電流計を通して電力を供給する.
Vdsの電位が測定希望値となるように,電源の出力を調整する.

即定時の注意事項

素子の温度変化により電流値が変化するので,素子温度をあわせて測定することが望ましい.
素子によっては電圧印加時にばたつくことがあるようだ.*1

Vdsが低い場合,30秒程度で落ち着くことが多く,その後に測定することとした.
Vds=10.0V時には,時間が経つにつれIdsが増加した.パッケージを触ると暖かくなっており,息を吹きかけて冷ましてやると電流が減少することを確認できた.このことから,低電圧で安定させてから,10Vにあげて可能な限り早く電流地を読み取ることとした.2SK170の動作電圧付近のデータを取り終わってから,Vds=10の値も見てみたいと思い,2SJ74の即定時にのみ当該項目を加えた.

測定結果

千石電商で3個入りの個袋をそれぞれ5セット,15個購入しました.場所は大阪日本橋店です.関西にもできて助かってます.


2SK170BL

1.001.101.20
6.136.186.23
6.206.256.30
6.276.326.38
6.396.466.52
7.187.257.32
7.547.627.69
7.737.817.88
8.758.848.92
8.848.929.00
8.898.999.08
9.119.219.30
9.189.289.37
9.259.359.44
9.379.479.57
9.539.649.73

ただし,項目はVgsの電位を示す[V].各測定値の単位は[mA].


2SJ74BL

10.01.001.101.20
6.786.296.316.33
7.446.906.936.96
7.466.906.926.95
8.107.537.567.59
8.207.657.687.71
8.397.777.807.83
8.527.977.998.01
8.537.978.008.03
9.378.698.738.76
9.739.029.079.11
10.109.469.509.54
10.329.669.719.74
10.339.749.799.83
10.359.649.699.74
10.449.819.869.90

ただし,項目はVgsの電位を示す[V].各測定値の単位は[mA].
値の符号は全てマイナスを省略.


*1 : ぼろい電源を使ったので,ソレのせいかもしれないが・・・

下準備完了?

測定結果より,オフセットが出ないように旨くペアがとれるかどうか.片チャネルで3~4個使う必要があるようだが,コレは少し厳しいか.最終的に負荷にIdssの総和が等しければゼロ電位の際にオフセットがでなくなるが,特性曲線が全て相似ではないと考えられないだろうか.

甘い考えで行くと,多少,歪が増える程度か?
それよりも電流バランスが異なるということは,熱結合しておいたほうが良いということだろうな..電流流せる素子が,発熱して,より電流を流そうとしてしまい,ばらつきが大きくなる=歪が大きくなる,と考えられるのではないか.ペア品と言っても,カーブが違うから正弦波入力時に正負の入力に対してそれぞれの出力が異なるのだろうな..
ということで,真面目にペアを考えるなら,P-ch/N-chそれぞれの総和が等しい=オフセット電位を出さない,かつ,各チャネルのFETのIdssも,動作電圧において等しい必要がある,ということだろうか.

15個でコレだけばらつくと,確かに100個や200個以上選別する必要は感じるな・・・.コストと労働力が問題だナ.今回は・・・,左右のバランスも考慮して,できるだけ総和が等しくなるように選別しよう.かつ,FETの1対1ペアはVds=1.1付近で調整するか.eneloopを前提とするならば,1.2V程度の滞留時間(?)が長いようだしな.P-ch(2SJ78)のほうが,Vdsに対してIdssの変化がゆるいので,電池電圧によってオフセット電圧も変わってきそうだねぇ.細かいところだと配線の対象性も確保しておかないと,綺麗にはできない,と.

まぁ,ヘッドフォンにDC印加して,もしかすると寿命が縮むとか,性能を発揮できないという状況がでるかもしれない,といったところだろう.あまり気にせずに軽く作ってみるか.FETはパラ数を増減しやすいように蛇の目に配線しておくことにしよう.
その前にケースに入るよう,基板を調整しないといけなさそうだな..."入る"と書いていたのに,さくっと入らない罠.なんか間違ってるかな・・・.