2018年03月25日

ΣΔDAC (2) オーバーサンプリング

ΣΔDAC (1) の続き

ΣΔDAC はできたとして、普通のサウンドDAC として使うには、オーバーサンプリングが必須である。それをするためには、デジタルフィルタ(LPF) が必要だそうだ。もとのサンプリングデータに 0 のデータを挿入したものに LPF をかけると、綺麗に補間されたデータが出来るとのこと。デジタルフィルタには FIR フィルタというものを使う。この FIR フィルタを作ってみよう。

おさらい

    14.314 MHz から作った 45.8 MHz を 16 x 65 で分周して 44.056 kHz を作る。オーバーサンプリングは 65 で 16 までのタップ数の FIR フィルタを使う。

    もし NTSC 画面表示と同時に使うのであれば、44.056 kHZ の 15/16 にサンプリング周波数を下げる。
    (外部 PLL が使えれば、44.056 kHZ も可能になる。クロックが変わるだけで、コードは変えない。 )

    NTSC 画面表示は、14.314 MHz の 3倍クロックで検討する。
続きを読む
posted by すz at 16:55| Comment(0) | TrackBack(0) | MachXO2

ΣΔDAC (1)

次は、サウンド用 ΣΔDAC を設計してみよう。

ハードウェアのおさらい
icedip-dac.png

4bit DAC で スピーカ用 BTL アンプに接続。負帰還でゲイン2倍。(片側1倍)
テスト用なのに音が大きすぎるかも、そこは RI(R61) か RF(R60) で調整する。RI を N 倍にすれば、それだけ小さくなる。

とりあえずスピーカーに直結するつもりだが、LC LPF を入れたほうが良いだろう。でもそれは、音が出るというレベルをクリアした後で考える。

4 bit フルに使うつもりはない。1 bit もしくは 3 bit を予定。
続きを読む
posted by すz at 15:37| Comment(0) | TrackBack(0) | MachXO2

2018年03月22日

NTSC エンコーダー(1)

さて、NTSC エンコーダーを設計してみよう。

ハードウェアのおさらい
icedip-vdacpng.png

4bit DAC で 1Vp-p DC出力。0 = -40IRE , 4 = 0 0IRE, 14 = 100IRE (のつもり)。
輝度信号は、4 - 11 の 8 レベルしか使わない。U,V 信号は、-4 〜 +4 で 合成したときに 15 になる場合が出てくる。続きを読む
posted by すz at 22:44| Comment(90) | TrackBack(0) | MachXO2

2018年03月20日

iCEDIP 基板

iCEDIP-02ct.png
iCEDIP2-elec.jpg
 ・icedip-02-out.zip(発注ファイル)
 ・icedip-02.zip (EAGLE ファイル)
iCEDIP 基板の2つめを発注。iCEDIP24 基板の周囲に実験用回路と電源を配置した。大きさは 63mm x 37mm 。本当は、モジュールだけ作るつもりだったのだが、iCEDIP24基板 も付けて配線してしまった。電源は、MINI-360 を使う。モニタが 12V なので 12V が使えるものを選択。

これは、基本テスト用で モニタに画像が出力できて、ちょっと音を鳴らせたら良いなと考えている。その先は考えていないが、なにか入力する手段が必要だろう。一応ピンは、左上の 6 本と右中央の 2本が空いている。また、SPI 通信ができるホスト -- SBC を使って開発すれば、お手軽にテストできそう。

異種面付けのように見えるが、ばらせるようにしただけで、本来一枚の基板。寄せ集めなので、取り付け穴は付けられなかった。スリットを使って、ずれないようにしたうえで、ねじ穴を空けて固定する -- というのを考慮はした。左下、右のコーナーにある端子は、潰しても良い。また、0.1 インチにアラインしている。

    (メモ)画像は、Fusion PCB の Viewer 。 https://gerber-viewer.easyeda.com/ がオリジナル。

    elecrow で発注したが、63mm x 37mm 10 枚で、$4.9 + 送料$6.06 = $11.96 のところポイントが使えて $9 = 991 円だった。 昔は 50mm 角に収めようとがんばったものだが、気にしなくて良くなったのはありがたい。一方送料が上がった気がする。大元の中国郵便が値上げしたのかも。
続きを読む
posted by すz at 19:28| Comment(87) | TrackBack(0) | MachXO2

2018年03月17日

iCE40 を使ってみる

手始めに iCE40 UP5K で 以前作った MachXO2 QFN32 用の Verilog ソースを論理合成してみようと思う。iCE40 は、iCEcube2 というツールを使う。論理合成エンジンは、Synplify Pro と Lattice LSE で Diamond と同じである。だが、iCE シリーズは、買収した SiliconBlue Technologies が開発元であり、なにかと違うものと思われる。

    iCEDIP-01t.png

    icedip.png

alu181

    // iCEDIP24 modified 74181 iCEDIP24
    // 37 B0 1 24 VCC
    // 43 A0 2 23 A1 36
    // 44 S3 3 22 B1 35
    // 45 S2 4 21 A2 34
    // 46 S1 5 20 B2 32
    // 47 S0 6 19 A3 31
    // 48 Cn 7 18 B3 26
    // 2 M 8 x 17 N.C. 25 (/P)
    // 3 F0 9 16 Cn+4 21
    // 4 F1 10 x 15 N.C. 20 (/G)
    // 9 F2 11 14 EQ 19
    // GND 12 13 F3 18

大昔の 4bit Arithmetic Logic Unit(ALU) 74181 である。本物は今や超高価で取引されている。せっかく 24 pin にしたのだから互換品を作ってみよう。ただし /P と /G は、carry-lookahead generator 74182 と共に使用するもので、パス。
ALU は、FF を持たないただの組み合わせ回路で非同期に動作する。
1) alu181,v を デザインファイルに入れて、論理合成 -- 問題ない。
2) pin Constants Editor で ピンアサインを変更。

    不思議なことに、制限がある信号が出てきた。とりあえず割り当てられたものをロックして、再度やりなおすと 制限がなくなっている。さらに不思議であるが、とりあえずロックして pcf ファイルを作成。(alu181.pcf: 以降使用可能)
続きを読む
posted by すz at 12:58| Comment(0) | TrackBack(0) | MachXO2

2018年03月13日

最近の lattice FPGA

以前 QFN32 の MachXO2 について記事を書いたが、久しぶりに製品をみたら、いろいろと興味深いものが出ている。

    ピン数が多い FPGA は、BGA が主流で もはや 電子工作で扱える感じではなくなっている。QFP はまだあるが、沢山の線を使うということは、たいへんな配線をしてなにかデバイスをつなぐということであり、予算と気合いがいる。QFN は配線が結構難しく、はんだづけも厳しいのだが、それゆえに電子工作としては楽しいと思っていて興味があるのだ。

MachXO2 1200HC 4SG32C(QFN32) - 509円(mouser)

QFN32 パッケージの MachXO2 に 1200HC が追加されていた。256 では出来ることが限られていたが、これだとマイクロコントローラが入る。しかも、256 と比べてそう高くない。

ICE40 LP384 SG32 - 195円(mouser)

もうひとつ QFN32 のチップが出ていた。384 だからたいしたことは出来ないが、お安い。ただし、多電源だったりして MachXO2 のように お手軽な感じではないようだ。

ICE40 UP5K (QFN48) - 876円(mouser)
ICE40 LP1K (QFN48) - 462円(mouser)

UP5K は、1Mbit - 128KB の RAM がある。それとは別に 120kbit の RAM(EBR) も。LUT 規模も 5K だからそこそこ。 さらに DSP ブロック(16x16乗算器 or ACC)が8つ。多電源ではあるが、規模が大きいし、これなら許容できる。
LP1K は、安い。UP5K 用の基板を作る場合 LP1K でお試ししてみるのも良いかも知れない。(LUT 1100, EBR 64kbit,DSP 2)

    DSP は、16x16乗算器 または 32bit アキュームレータの機能があるそうだ。メモリもあって演算が出来るわけだから、なにか面白いものが作れそうではある。が、私はあまり知識がない。とりあえず MIPS 32bit プロセッサを作ってみたい程度。あるいは、相互に高速通信が出来るようにして、多数つなげる。。。みたいな何か。

    LP1K も MachXO2 1200HC とあまり変わらないから、自作 AVR いけると思ったが厳しい。せっかく乗算器があるんだから、 と思ったが使いこなせてようやくシュリンクできる気もする。

また、これらを載せた小型ボード TinyFPGA というものもある。
type A は、MachXO2 で部品がほとんどない。type B は、iCE40 LP8K だが、なにやら部品が沢山。三端子レギュレータが2つに、SPI FLASH 。あと書き込むための USB とコントローラ(おそらく PIC)。
続きを読む
posted by すz at 21:24| Comment(35) | TrackBack(0) | MachXO2

2017年11月15日

リフローめも

電子工作をやりだして長いのだが、はんだ付けに自信がない。最近は目も怪しくなってきてますます自信がなくなってきている。今は USB 顕微鏡 があるので確認ができるのだけが救い。

そんな状態でありながら、QFN など足のないパッケージにまで手を出して、積んでたり。一応 サイドに電極があるタイプのみを選択しているが、0.65mm ピッチぐらいがなんとか。0.5mm ピッチになると 無理そうなかんじ。しかし、0.4mm ピッチなんてのも 積んでる中にはある。あと サイドに電極がないタイプのクリスタルも苦手。

リフローなら簡単なのだろうか? なんて常々思ったりして。ただ、クリームはんだが厄介。まず管理がめんどうそう。フラックスが蒸発したりするので、すぐ使わないといけない。あと、ステンシルで刷り込むとか 相当に面倒な話に思える。

それ以上にリフロー炉をどうやって用意するのか? ホットプレート やら オーブントースターやら 食品用のものを使うわけだが、食品用と共用にするわけにもいかず、専用のものを用意しないといけない。だが、買ったところで1回やって失敗してヤメとなると目もあてられない。

というわけで、あきらめていたわけだが、やはり1回ぐらいはトライしてみたい。検討だけはしてみようかと。




リフロー炉について

かつては、オーブントースターを改造するというのが流行したように思う。改造キットがあったりもした。が、温度ムラができたりして難しいものらしい。今では、熱風を循環させる コンベクション・オーブンが出回っているので、これをベースにすると改善されるらしい。

その他、熱風の方がメインになるノンオイルフライヤーというものもある。ひとつ持っているが、このタイプは温度管理がすばらしい。しかし、プラスチック筐体のものは、最大温度が 200度あたりで、ちょっと低い。また、扉でないものは、出し入れの際ショックを与えて部品がずれる心配がある。

泉精機製作所 CA-OT56-K

コンベクション・オーブンで最も安価なもの。 温度設定は、230度まで可能。空気は循環させるのだから、ヒーターの熱を直接当てないようにするだけで、使えそうな印象。

安価なものには、シロカ crossline SCO-XXX というものもある。こちらは、中古も。

本格的にやるなら、こういうのをベースに 温度・時間管理をするコントローラを付けて改造するのが良いと思われる。しかし、やってみたいだけなのである。他の方法はないのだろうか?

ホットプレートでも可能である。ググれば記事が見つかる。しかし買ってまでやるなら、コンベクション・オーブンの方が成功する確率は高そうだ。

さて温度管理ができるものとして、他に卓上IHコンロがある。揚げ物用の温度設定が普通あるが、一般に最高温度は 200℃とかで低め。だが持っているものは、250℃までの「焼肉モード」設定がある。これにフライパン+蓋で良いのでは? とか思っていたところに、ダイソーで スクエアスキレットというものを見つけた。長方形で 長辺(内寸)は 100mm ちょっと。短辺は、80mm 弱で 最近作った DUO-DISK がぎりぎり収まらない。が、だいたいの基板は収まる大きさである。蓋はないが、2つ重ねることで蓋にできるとのこと。

値段も安いが、場所を取らないので 1回限りになっても困らない。これでようやく試してみる気になってきた。




さて、次の問題。クリームはんだ。あんまり使いたくないと思っていたのだが、ひとつ記事をみつけた。

予備はんだをしてリフローするというものである。見つけた記事では、ハンダを盛った後、部品を置きフラックスを塗っている。他の方法としては、適当でも とにかく手はんだして、リフローで綺麗にするみたいなことが出来るかも知れない。フラックスをどういう風にするのか --- なんかコツはありそうだが、敷居は低そうである。

また、クリームはんだを使うにしても、ステンシルなしという方法も考えられる。注射器タイプのクリームはんだも販売されていて、先の部分も様々な太さの針と交換出来るものがある。これは、直接 盛るということだろうか? これまたコツがいりそうだが、2012,1608 の CR 程度ならば 苦もなく出来るかも知れない。ピッチが狭い LSI などは、チップを載せるのに苦労するはずで、ステンシルを使ったからといって必ずうまく出来るというものではないだろう。 予備はんだ作戦の次に試すのは、この方法にしよう。

    サンハヤト「表面実装部品取付キット SMX-21」を使った 記事を見つけた。

    注射器(シリンジ)タイプで、手はんだ用? どうやら手はんだでも クリームはんだが有用らしい。それはそうと、注射器でうまく行くようだ。

    保存だが、冷蔵庫や冷凍庫で保存する。注意点は、室温に戻してから蓋をあけること。注射器の場合は、使ったまま冷蔵庫や冷凍庫に入れる。針の中のクリームはんだは数週間で固まってしまうらしいが、次に使うときに針を交換すれば良さそう。

    aliexpress だと このショップにいろいろとある。

    50Pcs SMT SMD PCB Solder Paste Adhesive Glue Liquid Dispenser+Dispensing Needle

    注射器と針一式。針は、細すぎるのと太すぎるのは使わない。使った後は捨てるように書いてあるのだが ...


    XG-50

    35g で 注射器 3本に見合いそうな分量。使い切れるような気がしない。保管は、0-10℃ で 製造から 1年 ?

      最初から 注射器に入っている XG-Z40 という製品がある。これが 10cc 25g みたいな。... ということは、XG-50 は 14cc 程度。3本には全然見合わない。


    10ml というのは、多すぎなのかも。3ml のタイプもあるようだ。付けるチップは互換性があるのだろうか?とか思ったんだが、3ml はダイソーで売っていた。チップも互換性があるように見える。--- これで良いのではないか?

      サイズをメモ
      Olive B1.55 2.1
      Amber 1.36 1.8
      Green 0.84 1.27 
      Pink 0.6 0.92  
      Purple 0.51 0.82
      Blue 0.41 0.72
      Orange 0.34 0.64
      Red 0.26 0.52
      Clear 0.21 0.42
      Lavender  0.16 0.3 

      Olive の B1.55 というのは、穴がなく蓋になっている。Amber で吸い上げて、0.5mm 前後を使う作戦でいこう。で、これらは、ダイソーの注射器にフィットする。10ml はいかにも多いので 3ml でやってみる。

      0.5mm が使えるなら、ここで買っておくと良いかも。どう使うにせよ、針だけは使い捨てそうだし。あと細すぎるのは、フタがわりに使えるかも。

    さて、これを注射器にうまく入れることが出来るのだろうか? 粘度が高そう。 吸い上げるしかないだろうから、心配しても仕方がなさそうなんだが、

      やはり・・というか、粘度高すぎで、吸い上げるのが厳しい。3ml の方は、1ml 弱がようやく。そして、クリームはんだが、随分と無駄になった。注射器作戦がうまく行けばの話だが、次回はもうちょっと考えたい。

    シリンジ充填機 だって。へぇー。




基板から部品を外してみる



リフロー可能であれば、外すことも出来るだろう。油で揚げて叩くと部品が外れるというのは聞いたことがある。熱した後、ショックを与えれば良いはずだ。

PAM8403 ボード と MINI-360 から、メインの部品を外す。後で、自作 PCB に乗せ換えてリフローするのだ。

    PAM8403 は、チップを買う気にならないので、外して使う。MINI-360 の方は パーツが欲しいわけではなく、MINI-360 が何故出来が悪いのか探るべく組みなおすのだ。


さて、熱する前に、スクエアスキレットの底に 耐熱の アライミドテープを張る。最初 シリコン加工されたアルミ箔でも敷こうかと思ったのだが、良いものを持ってることに気が付いた。

蓋をせず、スクエアスキレットにおいて、210 ℃に設定し加熱。3 分ほどで 温度に達してピーとなった。
ラジオペンチで部品をつまんだところ簡単に外れた。



    MINI-360 だが、IC の下ちゃんとパッドがある。10uH インダクタは、本来の性能なら余裕があるはずだがどうか?

とにかく、蓋をしなくても簡単にハンダが溶ける温度に達するのは確認できた。リフローでは、120℃とかに一旦予熱し、そこから一気に温度を上げるそうである。少し間をおいて冷却。スキレットは蓄熱するから、冷却が速やかに出来るか怪しい。普通の金属容器で良かったのではないかと思ったり。ステンレスのトレーで良いのかも。

小基板をリフローしてみる




すず 63% 鉛 37%の「共晶はんだ」の融点は 183℃ 。今度は揚げ物モードで試す。揚げ物モードは、160℃〜 200℃。まず温度を 160℃に設定し、しばらく余熱。その後 200℃ に設定しなおす予定。

ちなみに、鉛フリーハンダ(無鉛ハンダ)の 融点は、217℃ とかになる。リフローの温度は 240℃とかのようなので、鉛ハンダのみ揚げ物モードでいけるように思う。

実施


2枚の基板を手はんだで組んだのを 「揚げ物モード」で試してみたのだが、温度がどんどん上がって止まらない。最初に試した「焼肉モード」とは、制御のロジックが違う! はんだが溶けている状態でオフ。



左が before 右が after なのだが、写真では違いがほとんど分からない。

基板から浮いていたパーツが、基板に密着したように思う。あとはんだブリッジでかろうじて繋がっていたところが切れた感じ。ついでに言えば、全体に黄色くなっている。あとで無水アルコールで拭いておこう。

    よおく見ると、部品が 綺麗に収まったところがいくつか。( ダメなのはダメだが。)。次回やるときは、位置をちょいと動かせるなにか --- ピンセットはダメ 、竹串とか? を用意しておこう。

まぁ失敗かな。無駄に熱を加えて壊すリスクを増やしただけかも知れない。しかし得るものはあった。次は、クリームはんだ注射器作戦。注文したものが届かないことには、なにも出来ないが。

QFN に挑戦





外すことは簡単に出来ることが分かったので、PAM8610 モジュールからチップを外して、自作PCB に乗せ換えてみることにした。ダメもとである。

まず PAM8610 モジュールだが、裏のパッドがちゃんとハンダ付けされていないような。すごい適当な設計。

    PAM8610 は、チップも購入可能なのだが、このモジュールの方がチップより安く入手できる。そういえば、MINI-360 も チップとインダクタを買うより安いような。

さて、まずは、PAM8610 だけ載せてみる。ランドは一応予備ハンダをした。あまりハンダが載ったという感じではないのだが、ベタベタとフラックスを塗って置いてみた。目測だがちゃんと載ったように気がしたので、リフロー。

今回は、こげつくようになって使わなくなったフライパン。アライミド・テープを貼って使用。だいたい、3分で 210℃ --- 全然予定どおりではないのだが、それしか出来ない。その後 30 秒ぐらいおいて、オフ。

USB 顕微鏡で見ても、それらしい感じなので、他のパーツを手はんだで付けて、同様に加熱。加熱時間が短いのか、ハンダがうまくなじんでいない。

これが動くかどうかの確認は、ちょっと先になりそうだが、QFN も出来る! という気がしてきた。

    通電する前に、テスト環境を作らないといけない。テスト用のメインのボードを組み立てて、仮組。あとスマホと接続するケーブルの用意。動作が確認できたら、メインのボードに接着剤で張り付けるつもりで、そっちの準備も。

そろそろ、DUO-DISK のパネルに挑戦しようと思う。QFP なので難易度は低いはず。といっても動かせるような気は未だしない。

はじめてのクリームはんだ






(上) 注射器でクリームはんだを盛っていき、部品を配置した。QFP のところは、うまく塗れなかった。拭き取る自信もないし、どうなるか見ておきたいのでこれで行く。
(下) そのままリフロー。210℃に設定し、はんだが溶ける様子をみながら、停止。一見しただけだと、思いのほか綺麗に付いた。QFP の部分だが、きれいにまとまってダマになった。あちこちにツブが残ることを危惧したのだが、こんな感じだと、あのままチップを載せても良かったのかも知れない。

注射器ではんだを盛るのは、CR に関しては難しくはなかった。QFP は見てのとおり。リフローだと綺麗に仕上がるのが嬉しい。

注射器は 3ml の方に、紫のチップを付けたもの。1ml しか入れられていないが、使用した量は、0.1ml 程度。どうもクリームはんだの粘度が高い。注射器に入れるのも苦労するが、基板に盛っていくのも、ちょっとやりにくい。最初から、注射器に入ったタイプ -- XG-Z40 というのがあるので、次は、これを使ってみたい。

さらにリフロー





調子に乗って、DUO-CLOUD のリフローもやってみた。HUB のチップは後回しで、電源をまず確認しないといけない。インダクタも手はんだのつもりなので付けていない。ちょっと IC のほう盛りすぎてブリッジが出来てしまっている。これでも控えめにしたつもりだったのだが、なかなか加減が難しい。

今回もフライパン。スキレットには入らないのだ。やってみたところ、均一には熱が伝わらず、時間差ではんだが溶けていった。加熱時間は全体で 4分ほど。最初に溶け出して、全部がとけるまでは 1分ぐらいだったろうか。

電源は、OK であった。5V x2 と、3.3V , 1.8V を確認。ところで、3.3V,1.8V の PMIC だが、SY8089A を使った。2A 品というオーバースペックだが、10個 $1.60 で結構安いのだ。もっと安いのは、SY8008C (1.2A) 10個 $1.35。 あと、SY8008B (1.0A) 10個 $1.88 SY8009A (1.5A) 10個 $2.00 も互換性がある。

写真

次に、HUB IC を 付けてみた。クリームはんだを付けておいて、位置決めが決まったら、はんだごてで、熱して固定する作戦。作戦自体は良いと思うのだが、位置が決まってない上に、足が曲がってるところが。

2本連続で曲がってるところがあって、使っていない1本を取ってしまった。使っていないピンも多数あるので、なんとかなるような気もするのだが、通電するのが怖い。



卓上 IH コンロについて。

普段つかってるのだが、IH は温度管理が優秀だと思う。また、食品調理用と共用できるので、お勧めだと思うのだが、「揚げ物モード」がうまくいかなかったので、なんでも良いというわけではなさそうなのが難点。

一応持っているものを紹介しておくと、機種は、ツインバード IH焼肉グリル 味わい亭 IH-D935B 。7000円弱だったか安価に買えたのだが、生産終了モデルで、もう入手すらできないかも知れない。

現行品で、250℃まで設定可能なのは、パナソニックの IHホットプレート ぐらいで、KZ-HP1100 あたりが安価。といっても 14000円ぐらい。

他に興味深いのは、ドリテック 卓上IHクッキングヒーター ブラック DI-213BKDI。200℃までだが、1℃単位の温度設定が可能。... というか 温度設定だけが出来る。続きを読む
posted by すz at 23:37| Comment(93) | TrackBack(0) | 日記

2017年11月09日

Sunvell R69



cnx-software.com に Sunvell R69 という Android TV-BOX が紹介されている。この TV-BOX は、allwinner H2 採用で 非常に安価なもの。Gearbest でクーポンを併用すると $19.99 で買えるそうだ。写真は本体だけだが、AC アダプタと 本体より大きな赤外線リモコンが付属する。
コネクタ類は、2面のみ。主に後ろに集中していて、サイドは microSD と 2つ目の USB のみ。こういう所は使い勝手の点で悪くないと思う。

なんでこんなものを取り上げたかというと、OrangePi Zero, Nanopi DUO と、H2(+) 採用のものを取り上げてきたため。記事のコメントのリンクを見ると、既に armbian が対応している。

スペックを見ると

    Memory – 1GB DDR3
    Storage – 8GB flash + micro SD
    Video - HDMI 1.4 , AV port (composite video + stereo audio)
    Network – 10/100M Ethernet, 802.11 b/g/n WiFi (via XR819 chipset)
    USB – 2x USB 2.0 ports
    Power Supply – 5V/2A
    Dimensions – 9 x 9.5 x 1.8 cm

全部入りという感じで、コスパは良い。メモリが 1GB あって flash も付いている点は、ポイントが高い。紹介だけしておく。

    ちなみに、RK3229 採用の A95X R1 も同価格帯の TV-BOX で、同じように紹介されている。しかし、Linux を動かすといった話はさかんではないようだ。Sunvell R69 は、OPi Zero の armbian をベースにしたら、すごく簡単に動かせたのだろう。

    フォーラム見てたら、OPi Zero だけではなく、Beelink X2 など、H3 のイメージファイルとかが起動してしまうらしい。その際に問題になったのが、最大クロック。(後述)




内部写真 (armbian フォーラムより)

思ったよりは、内部のコネクターが多い。4pin のデバッグ用シリアル、隣の 5pin なんだろう? 裏面にはカメラ用と思われるコネクタも(18極だから違うかも)。



左下の QFN-20 のチップは 3 出力の DC-DC コンバーター。取り囲むように 1.5uH が配置されている。1.5uH が使えるということは、2MHz とか相当なスイッチング周波数。ダイオードがないことから同期整流型と分かる。こんなチップがあったんだと感心した。
探してみたが、LTC3569 ? 3mm角で 1.2A + 0.6A + 0.6A 出力。--- ちょっと出力が足りないような気も。

右上の 空きパターンは、おそらく Wifi+BT チップの AP6212 -- QFN44 で アンテナのそばにある。XR819 が使えなかった時用かな? ついでに書いておくと 左の空きパターンの中にあるのが eMMC Flash 。これの代わりに (低レベルの) Flash チップ も 使えるようになっている。OSでの扱いが面倒になるから eMMC を採用してくれて幸いであった。

RJ45 は、トランス外付けのタイプ。OPi Zero は、PoE の配線のためだが、これは背を低くするだけが目的のようだ。

メモリは 4つ載る。シールに 512*4 という 印刷が。本当なら 2GB になってしまうのだが? XR819 という印刷も意味深で、AP6212 モデルの可能性を示唆している。

 ・http://linux-sunxi.org/Sunvell_R69
  Vcore 電圧変更には対応していない。1.2V 固定なので 1008 MHz まで。
  
    OPi Zero と Nanopi DUO は、1.1V/1.3V の切り替え。

  microSD カードからのブート優先。

Vcore 電圧は、1.3V だと 1.2 GHz まで動作するらしい。標準の 1.2V だと 1.2GHz では暴走してしまう。1008 MHz までという条件は重要で、他の機種用のイメージファイルを流用すると、この条件に引っかかる場合がある。

サイドの USB は HOST だが、後ろの USB は、OTG に接続されている。Device として使うには、OS で なにか指定しないといけないと思うが、FEL の機能を使うためには、ボタンなどハード的な指定手段が必要になる。U-BOOT と書いてあるボタンがそれらしい。SDからブートするのだから FEL が必要だとは思えないが、一応メモ。




そう言えば、allwinner H2+ 採用の SBC がもうひとつ増えている。



Banana pi M2 Zero という機種で、cnx-software.com でも紹介されている

見ての通り、Rasberry pi Zero W 対抗である。価格は $15 (送料別) で少々高め。HDMI とカメラ・インターフェイスが付いている点、さらに Wifi+BT(AP6212) が付いている点は良いのだが、SPI-Flash は付けられない。あと、Wifi+BT用のアンテナが多分付属していないし、チップアンテナでもない。USB HOST, Ether , AV-OUT もない。

一応紹介だけしておくが、OPi Zero や Nanopi DUO とは、遠い存在。むしろ、TV-BOX の R69 の方が OPi Zero /Nanopi DUO に 近い印象がある。





さらに、何か出てきた

 ・Tritium IoT – Allwinner H2+ quad core Cortex A7 processor with Mali-400MP2, 512MB
 ・Tritium 1GB – Allwinner H3 quad core Cortex A7 processor with Mali-400MP2
 ・Tritium 2GB – Allwinner H5 quad core Cortex A53 processor with Mali-450MP2

だそうで。PCB は共通のように見える。H2+, H3, H5 は、同じパターンでいけるらしいのだ。共通なゆえに残念な点は、GbE が使えず 100M Eth のみという点。あと Rasberry Pi3 とデメンションが互換。

同じものは、もういらないので買わないが。

興味深い点としては、Ethernet コネクタ。Opi Zero と同じく トランスレスのコネクタに、トランス外付けのようである。・・・あの小さいので良いのか。あと、電源チップ。たぶん AXP シリーズ。AXP209 は持っているのだが、バッテリー充電機能+2スイッチング電源。確か バッテリー充電機能がない代わりに 3スイッチング電源の型番があったように思う。続きを読む
posted by すz at 19:48| Comment(93) | TrackBack(0) | 日記

2017年11月02日

D級アンプ めも

alixpress で D級アンプ基板が安く売っている。12V で動作する PAM8610 や 5V 系の PAM8403 を採用したものが特に安いようだ。なにかを作りたいような気がして、ちょっと調べてみた。

PAM8610




このタイプ は、$0.86 とかで買える最も安いもの。他にもいくつか種類がある。


    コネクタ類とボリュームが付いたものでも $2 程度。

    最も出来の良さそうなタイプ。放熱とか考えて設計してあるし、電子ボリュームを使っている。

    こっちも電子ボリュームで $2.5。放熱についても配慮されている。入力側電解コンデンサは 2200uF の大容量。(Super Slim 15W PAM8610 で検索)

    これらのタイプについては、今回はコメントしない。

さて、最初のタイプには、どうも2つのバージョンがあるようだ。右のタイプには、黒いチップが 4つ見える。これはフェライトビーズではないだろうか? また、このタイプはコンデンサが小さい。コストダウンが世の常なので、フェライトビーズありが古いタイプのような気がする。両方とも電源入力近くに、ダイオードのようなチップが2個。また、このボード実に抵抗が少ない。左でも 3つしかない。124 は、OSC の周波数を決める RC。下の 103 は LED の 電流制限抵抗。あとひとつの 103 (10K) は何だろう?

チップの機能について

PAM8610 のデーターシートを見ると MUTE と ~SD(SHUTDOWN) 機能がある。また ~FADE という機能もある。これは、SHUTDOWN 解除や 電源ON のときにボリュームを徐々に上げていく、逆にSHUTDOWN したとき下げていく機能。(MUTE とは連動しない)。それに加えて 32段階の電子ボリュームもある。また、出力からの負帰還が組み込まれている。昨今ではD級アンプも負帰還を入れるのが当たり前だそうだが、おかげで電源にあまり気を使わなくとも済む。

これらの機能は、ボードではどう扱われているのだろうか? 

電子ボリューム (#5):
ボード上で AVDD(5VLDO 出力 #3),AREF(#4) に接続されている。 パターンカットして改造している人も



    レジストを削って、#5 のパターンを分離する。なんだか厳しそうな改造だ。

増幅度は、+10db 〜 +33db まで 1db 刻み。+10db 以下は +5, 0, -5, -10, -20, -30, -40, -75db となっている。入力に入れる2連ボリュームでは、こういうきめ細かな芸当は出来ない。多分コンデンサを入れることでガリも対策できるはず。ちなみに db は +6 で 2倍だから、+10db だと 3.17倍 +33db は、45倍

~FADE (#8):

ポップノイズ軽減のために是非とも ON であって欲しいわけだが、現物を調べたところ GND に接続され有効になっているようだ。

MUTE (#25), ~SD (#29):

MUTE は H で音が出ない。~SD は逆で L で音が出ない。データーシートではそう読み取れる。
SW という 外部端子がある、どちらを使っているのか、どういう接続なのか?

多分 103 の抵抗が関係しているのだろう。~SD をプルアップして SW の片側。もう片方は GND とかで良いんだが ... 現物を調べたところ どうも MUTE (#25) - 103 - SW と接続されているようだ。

となると MUTE は、L で音が出ないというのが正しいようだ。

ポップノイズ対応は、電源ON のときのみ。OFF のとき MUTE を L にしてから電源を切るのが良いのだが。どうしたものか。

ダイオードのようなもの:

逆接保護のためのダイオードだった。Vf 0.6V 1A 品(多分)をパラ接続。 こんなもの有害なだけのような気がするが ...

    ひょっとして RC フィルタになるのだろうか? 小出力のときに R を大きくする効果になるから、ノイズが目立たないとか?

    最大電流が 2A だとして、そのとき Vf 1V だとすれば、0.5 Ω相当。0.12A のとき 0.6V だとすれば、5Ω相当。無音で 20mA みたいなので、50Ω相当にまでなる。 コンデンサはデータシート通りでも 50uF (以上)。LPF cutoff 周波数は、6KHz → 600Hz → 60Hzと変化する。 上記の 2200uF が付いたモジュールなんかだと、さらに 1/50 にまで下がる。ついでに書くと 2200uF が入っているモジュールなら、ダイオードの外側の電圧を元に MUTE を操作するような回路を入れれば、Off 時のポップノイズも削減できるだろう。

PAM8403




5V で動作するもので、PAM8610 よりさらに安い。(10個で $1.68 とか) 。これも複数のタイプがある -- 写真左のものは、端子の位置がずれている粗悪品ぽい印象。

PAM8403 には MUTE と SHUTDOWN 機能はあるが、電子ボリューム、FADE はない。2009 年あたりの情報では、3.15V まででないと動かないとか MUTE と SHUTDOWN のロジックが反転しているとか。この情報は古いものしかないので、今はデーターシート通りだと思える。

    古いチップを使ったものがあるかも知れない。マークの 4つ目の数字がYEAR 。左のものの 9 とかやばそう。右は 5 だから多分 2015 で大丈夫。

ブロック図には、負帰還に関した情報はない。今では当たり前の機能がない? 書いていないだけのような気もするが、なければないで逆に楽しみな面でもある。そう -- 自分で負帰還を入れてみるのだ。

~MUTE (#5), ~SHDN (#12)

データシートでは、両方 Active-LOW (L で音が出ない) 。内部でプルアップされている。ボードでは両方 5V に接続されている。写真のボードだと #4-#5 , #12-#13 のブリッジをパターンカットすれば良い。ドリルで穴をあけてブリッジをえぐってしまっても良さそうなかんじ。

パターンカット出来たとして、プルアップ抵抗値はいくつなのか? 1.34kΩという情報もあったが、そんなに低いはずはない。 100kΩとかそういうレベルではないのか?

仮に 100kΩで 0.1uF を接続するとして、1.4V まで電圧が上がってくる(0 - 28%) 時間。

    -CR x ln(1 - 0.28) = 0.0033 (3.3ms)

    コンデンサを 10uF にすれば 0.330 秒 。電荷を抜くための抵抗も必要だし、合成抵抗値が 10K ならば、この 1/10 -- 0.033 秒。もし 数KΩ だと 数百 uF が必要そうで たいへん厳しい。



内部プルアップ抵抗が、100kΩ以下なら こんなので良いはず。もっと高い値だとすると、1.4V まで上がらない可能性があるので、外部にもパラでプルアップが必要。古いキットで、100k + 100k + 1uF というものがあった。これが良さそうな気も。

    0.8mm のピンバイス (ダイソー)で、 ピン間をえぐってみた。次に、抵抗値を見てみたところ、数十MΩだった。となると、100kΩ で プルアップ+プルダウン。そして 1uF 程度で GND と接続というのが良さそうだ。

ゲイン:
24 db -- 16 倍固定。 0.5Vrms = 1.414 Vp-p が入力だとして、 出力 4.7 Vp-p だとすると、出力が 3.3倍で済む。この余裕分を負帰還を回せるのではないか? 具体的には、オペアンプ同様 負の出力から、Rf の抵抗を通して入力に入れる。入力側には、Ri = 10K の抵抗が入っている。Rf = 33K としてやれば、ゲイン 3.3 倍。うまくいくのかな? とか思うわけだが、パターンを入れるだけならどうということはない。 あと、そもそも (-) の出力が負なんだろうか? これが逆だったりすると正帰還になって全く意味がなくなるので、(+) 側にも抵抗のパターンを入れておこう。

    The PAM8406 sets maximum RF =142kΩ, minimum RI =18kΩ, so the maximum closed-gain is 24dB.

    という説明があった。Rf と Ri があるということは、負帰還がかかっているということ。また、124k/18k = 7.88 しかないから、24db は BTL 込み。というわけで、さらに負帰還を入れるのは意味がない -- やってみても良いけど。

PAM8406

新しいチップが出ているのを後で気が付いた。SOP-16 で PAM8403 と互換性がある。まず ON/OFF でポップノイズが出ない機能がついた。AB 級 と D 級を切り替えられる機能も。ピンは #9 で H: D 級 L: AB 級と書いてある。PAM8403 のデータシートでは、#9 は NC で 回路例では GND に接続。 パターンを流用すると AB 級 固定になる。

    番外 CS8508E (中国製なぞアンプ), CKE8002 (LM4890 互換)

    SOP-8 のサイズで 2.5V 〜 8.8V で動作する BTL スピーカーアンプ。AB 級 と D 級を切り替えられる仕様。そんなには安くない。(4個 $2 ぐらい)

    SOP-8 BTL スピーカーアンプ だと LM4890 が有名で、ピン互換のものが多数存在する。なかでも CKE8002 が、かなり安く入手できる。(20個 $0.86 とか)。ちなみに CS8508E は全く互換性がない。

    CKE8002 なんかはちょっとモニタ用にスピーカーを付けたいとき便利かも知れない。電源電圧は、2.2V 〜 5.5V

出力側フィルタ

PAM8610,PAM8403 ともにスイッチング周波数は 250kHz あたり。キャリアをスペクトラム分散するタイプらしくフィルタレスを謳っている。ただし、音に問題がなくとも、スピーカーケーブルがアンテナになって ラジオにノイズがのったりする問題が起きる場合がある。

データシートに載っているのは、フェライトビーズ + 220pF 。高周波が出ていくのを防げるとは思うが、AM帯はどうなのか? できれば、まともな LC フィルタを 出力段に入れたい。10uH + 0.22uF の組み合わせだと、cutoff 周波数は 107kHz 程度。

    cutoff = 1/( 2π SQRT(LC) )
    L も C も u 単位なら、周波数は MHz 単位。

PAM8610 では、12V 8Ωスピーカー時に 8W + 8W 出力。PAM8403 だと、5V 8Ωスピーカー時に 1.8W + 1.8W 出力。

どれぐらいの電流が流れるか? インダクタの選定で重要なことだが、よく知らない。BTL で 8W なら 片側 4W 。平均 6V とすると 平均 0.66A なんだろうか? 6V を中心に 12V まで振れるなら x2 x 1.41 ぐらい ? インダクタは、1.9A ぐらいの定格で十分そうな気がする。前調べた CD75 の定格は 10uH で 2.3A 程度。--- いけるじゃないか。

PAM8403 だと 片側 0.9W で 平均 2.5V なら 0.36A ということで、定格 1A 以上とか? CD43 だと 10uH で 1.1A --- これで十分そうだが、4.7uH しか持ってない。4.7uH + 0.47uF で cutoff だけはクリアできる。インピーダンスがどうのという話があるが、まぁいいか。

コンデンサは、積層セラコンでは(見栄え的に)イマイチという印象があるので、フィルムコンを使ってみたい。が、フィルムコンは高い。可聴域でもないし、違いが分かるとも思えないから、やっぱり X7R あたりで。一応 手に入ったときのために、リード間隔 5mm のものは考慮しておきたい。


この回路図は、TA2020-020 のデータシートに載っているもの。10uH を使う場合はフルコピーした方が良さそう。PAM8403 では、値がわからないし、部品点数も増えるしで、左の3つの CR をなしにする。

    ここを見たかんじでは、cutoff が同じならば、左の3つの CR は変わらないようだ。4.7uH + 4.7uF でも 107kHz なので、そのまま使えるっぽい。

    もし 22uH があるならば、22uH + 0.47uF で cutoff 50kHz にするのもあり。その場合 左の3つのうち R を 10Ω → 15 Ωに変更。

入力側

PAM8403 ボードでは、1uF + 10KΩを直列に接続して入力している。103 が2つ見える。PAM8610 では、1uF の コンデンサしかない。内部でゲインを変えるため Ri が内蔵されていて、20kΩ 〜 200kΩ の範囲で値が変わる。





PAM8403 採用のボードには、こんなものも。blutooth スピーカーを作るためのもの。PAM 側に抵抗が 3 つ。103 x2 は、入力の 10K のはず。104 (100K) + コンデンサが ~MUTE 側にあるようなのである。

それはともかく、こういう機能のボードが欲しいような。 ボタンも必要なさそうだし。ESP32 で同等機能を作ってみたい。

その場合、DAC はどうするのが良いのだろうか? 内蔵DAC もあるが、DAC 外付け? あるいは力任せで ΣΔ?

DAC を外付けするとしたら、とりあえず安いもので良いか。鳴らすということが最初の問題であって、それをクリアした後に不満が出ればまた考えればよい。とか思って探したところ CS4334 が見つかった。10個で、$2.25 とか。 このチップまだ現役なのか --- 大昔からあるような気が。これでも I2S 24bit 96kHZ に対応している。192kHz も行けるような話もあるようだ。問題点は、5V を用意しないといけないことと、出力にアナログフィルタを入れないといけないこと。フィルタは逆に楽しみな要素でもあるし、最初はこれで良いんでは?

自分でスイッチ出来るのであれば、ΣΔ ってのも良さそうだ。が、ひとつ問題が。PAM8610 なんかだと、電源 - GND でスイッチしているだけではない。負帰還がかかっていて、電源の影響を受けにくくなっているようなのだ。よほど安定した電源を用意できなければ、太刀打ちできない。

電源は、あとで検討することにして、次。12V をドライブする回路は面倒だから、モータードライバ使っても良さそうだ。手頃なものとしては、L9110 という SOP-8 のチップがある。フルブリッジ1個なので 2個使う。価格は 10個で $1.85 とか。
L9110 の データシートは手に入るのだが、詳しい情報はない、一応 3.3V 入力が可能で、12V までをドライブできる。流せる電流は、コンスタント 0.8A ピーク 1.5 〜 2.0A 。 これだと 10W ぐらいいけそうな感じ。

あと、スイッチング周波数。まぁ好きなようにすればよいのだが、LC フィルタ用の部品を潤沢に用意するわけにもいかない。できれば 10uH + 0.22uF の cutoff 107kHZ だけでいけるようにしたい。となると 250kHz 以上でのスイッチングになる。ESP32 は、360MHz の CPU を1つ占有させることが出来るから いけそうな気もするんだが、決めつけて良いものかどうか。

    ところで、Bluetooth A2DP でどれぐらいのレベルのデータが送られてくるんだろうか? 実は知らないので調べないと。
    どうやら、すべて圧縮形式で、まず必須なのが、SBC 225kbps 〜 345kbps 。注目されているのが aptX 352kbps 。その他 AAC,MP3 なども。 なかなか重そうな処理も同時にやらないといけないようだ。それはともかく 44.1 kHz とか 48 kHz サンプリングが最低レベルのデータを処理できる必要がありそうだ。で、それを直線補間とかしてオーバサンプリングで 250kHz に持っていくのだろうか?

    ちなみに ESP32 には、ON/OFF の時間 (80MHz クロック単位) を決めれば、その通りに出力してくれる機能がある (RMT)。バッファリングも可能で、計算までが間に合えば 良い。バッファリングは全体で 512 エントリ 8ch あるので最低 64エントリ x 2h 、256 エントリ x 2ch も可能。外部 DAC 出力 と比べて処理が重いというわけではなさそうだ。精度は 80MHz クロック単位なので、250 kHz スイッチングなら 1周期 320 クロック -- あれ?こんなんで良いんだっけ?
     ・ PCM 96kHz/24bitと DSD64 -- DSD 2.8MHz/1bit はだいたい同じ情報量
    こんな情報もある。DSD は、ΣΔ だと思って良いらしいから、超オーバースペック? 例えば 4MHz 単位で正確に ON/OFF できればそれで十分ってことか。となると、LC フィルタはやはり 低いところでカットすべきなのだろうか? -- 聞こえなくて電波として外に出なきゃ良いってものかも知れないし、実際のところは良く分からない。

    ところで、クロックは 80MHz である。どうやっても正確な 48KHz, 44.1KHz は作り出せない。リサンプリングして、都合の良いサンプリングレートに変換するしかない。その際に デジタル LPF を 通して エイリアシングを回避するとか面倒な話もある。

しかし ΣΔ がいけるのであれば、相当に魅力である。DAC がどうの アンプがどうのという話が 全てプログラミングに帰着する。私としては、こっちのほうが好みである。

電源について

自前でスイッチングする場合、電源に乗った低周波ノイズは、そのまま 出力されてしまう。ノイズの少ない電源を専用に用意すべきである。CS4334 もそうかも知れないのだが、15mA しか消費しないので、対策は楽だろう。

大昔のアンプ -- LM386 とか -- と違って、負帰還アンプはノイズがすくない。出力が入力通りかフィードバックがかかるためである。自前でスイッチングする場合は、フィードバックが出来ない。

    だいたいバッファリングしようとしているわけで、遅延が大きい。たとえリアルタイムで出力状態をモニタできたとしても無理。

スイッチング電源でも、電圧が正しく出ているかのフィードバックはある。ノイズが大きい印象があるが、一般にスイッチング周波数帯と、FET の状態遷移に関連したはるかに高い周波数帯のノイズが顕著らしい。では、可聴域ではどうなのか?

    前の記事で、リプルのレベルと 出力段 LPF のインダクタンス が 比例関係にあることが分かった。が、これも高周波数帯での話であって、可聴域への影響についてはよく分からない。

一方、リニアレギュレータは、可聴域では良好らしい。PSRR というのがキーワードで、10kHz までは 60db 以上みたいなのが普通にある。

とにかくリニアレギュレータ を通して電源供給したほうが良いのは、間違いなさそうなのだが、いかんせん 出力が小さい。その上 電圧がドロップするので、放熱などが面倒。

    ◎ MIC29302 370/600 $1.83/5
    〇 LT1764 340/450 $13.1/5
    △ LP3966 800/1200 $13.48/10 (入力 〜 7.0V)
    ? LT3083 310 $31.55/5

よくある 1.5A までのものでは話にならないので、3A 品を探すと、上記のものが見つかった。MIC29302 がコスパが良いようだ。電圧ドロップも小さいので、これを通して電源供給すれば良いのではないだろうか?





こういうわけで、いつものごとく、基板設計のネタ。ドライブ回路にフィルタ それに電源 (あとコネクタ) をセットにした Arduino 型のシールドをまず設計する。これがメインだが、いろいろ実験するために、D級アンプ基板 と 入力用 3.5mm ジャックも付けたい。あとボリュームも -- ESP32 にも ADC があるので、あっても良さそう。

D級アンプ基板は、PAM8610 のモジュールを使う。これはオプションでフルブリッジとは排他で組む。この場合(たぶん)シールドとして使わないので、裏面に付ける。入力は 4極の 3.5mm ジャック。電子ボリュームは、頑張って改造すれば使えるよう配慮しておく。

電源は、12V 入力にして MIC29302 で 1〜 1.5V 落とす。3A も電流は流さないとは思うが、もし流すことになれば、これだけで 3W 〜 4.5W も消費する。

ESP32 には、内蔵DAC があるが、これも一応 つなげたい。。100 Ω + 47uF を直列につないでから 3.5mm ジャックとパラレルに接続する。出力が大きければ、イヤホンを直接鳴らせるかも知れない。D級アンプ基板の入力としては、たぶん不適切。

出力レベルは、0V-3.3V (電源電圧) なので、3.3Vpp / 1.17 Vrms (1/2.828 ) 。ライン出力に使うには 2倍強 電圧が高い。十分な電流を流せるならば、イヤホンを鳴らせるが、出力が弱い可能性がある。どっちつかず。分圧抵抗も入れられるようにはしておきたいが、入れてしまうと、3.5mm ジャックから入力する場合に不都合。

    分圧抵抗は不要であった。レベルのスケーリングができる。1, 1/2, 1/4, 1/8 が可能なので 1/2 に設定すれば良い。分圧しなければ、HI-Z にすることで、外部入力に影響がないようにできる。

    DAC は、本来 RTC の電源を使って出力する。が、ESP-WROOM-32 では、すべて1つにまとめられているので、ノイズ低減をすることが出来ない。あまり期待することは出来なさそう。8bit ながら、Msps 以上の高速性がありそうなだけに残念。

コンデンサについて:
秋月では 2012 サイズの 47uF はないようだが、22uF なら 2012 (25V) 以外に 1608 (6.3V) もある。aliexpress では、2012(0805) 47uF 16V なんてのもあった。3225 のパターンを用意するぐらいなら、2012 x2 の方が良さそうだ。

ここまでがメイン基板の機能。この基板の周りにサブ基板をくっつけて、面付けというか、大きな基板にする。分割しても良いが、実験ではそのまま使う。配線しなおすのも面倒だし。


サブ基板1 CS4334 DAC

さて、まず入れたいのは、CS4334 。ESP32 では、I2S の機能もあり、出力ポートを任意に決められる。入力専用のポートにだけ気を付けて、都合のよいポートを使える。

ところで、DAC の出力を Line 出力にする場合、バンドパスフィルタを入れるものらしい。CS4334 のデータシートにも回路例が載っている。



3.3u - 10k - 560 - C の4つの RC が、バンドパスフィルタを形成している。RL だが、音圧レベルを決めるものだろう。3.5V p-p (1.24Vrms) なので、0.5 Vrms にするためには、分圧しなければならない。560 が入っているので、390 あたり。そうなると C は、22nF あたり。

こんどは、
 ・http://sim.okawa-denshi.jp/CRCRtool.php
で計算してみる。22nF だと落ち始める周波数が低すぎる。ググると コンデンサは 3.3nF のパターンが多い。 3.3nF だとまぁ良いかんじにはなる。

3.3u - 10k - 560 - 3.3nF がベストだとして、なんとかならないだろうか? 3.3uF も 3.3nF も持っていない。10nF なら沢山あるし、10uF または 1uF も沢山あるのだが。そもそも 560 というのは、何の値? -- これを もっと大きなあたいにするのはアリなのだろうか?

いろいろ数値をいれてみたが、10u - 30k - 1.5K - 1nF - 1.2K でもいいか。だいたい、直流成分と高周波をカットしたいだけだろう。あと、レベル変換。


サブ基板2 MP2307 電源基板

リニアレギュレータが良いのは分かったが、DC/DC コンでどれぐらい不都合があるのだろうか? 製作記事などを見ても電源について気にしてないような。あまり重要ではなかったりするのだろうか? MIC29302 の代わりに 付けられる 電源基板も用意しておこう。

MP2307 で組むつもりだが、面倒なら、MINI360をさらに載せる。あるいは、この基板を使わずに全然違う電源ボードに入れ替えられるよう配慮しておく。

あと、ΣΔをデバッグするとき、うるさいと困る。電圧を変更できるMINI360を使ったほうが良いかもしれない。

サブ基板3 PAM8610 基板

作るとは思えないのだが、チップ単体も売っている。電子ボリュームを引き出せなければ、いっそ基板から作ってしまえみたいなノリで設計だけしておく。0.5mm ピッチ QFN なので、作れるかどうかも怪しい。

この基板では、SW 端子の仕様を変更してみた。~SD がそのまま接続されている。MUTE は即 出力を落とすが、~SD は、~FADE が効く。

また、プルアップ、プルダウンを入れられるようにしてある。基本使わないから関係ないんだが。


サブ基板4 PAM8403 基板

PAM8403 も試してみたい。安い PAM8403基板も使えるようにするのは厳しいので、PAM8610 基板と同じサイズ・ピン配置のものを用意しておく。 12V を入力するわけに行かないので、上記 電源基板を使うつもり。

PAM8406 には配慮してない。#9 は GND 。

PAM8403 は、手持ちのモジュールから外そうかと。チップを買うなら、PAM8406 の方が良さそう。古いのを掴まされるのはイヤだし。しかし、PAM8406 は高いのであった。


サブ基板5 FAN コン基板

別にここで作る必要はないのだが、スペースがあるし、おまけで。8pin AVR を使うのだが、SOP-8 を想定。DIP-8 のように見えるのは、あくまで ISP 用のコネクタ -- スペースがないのだ。モータ類は、10kHz 程度の PWM で駆動。センサーは、1 回転で 2 周期らしい。



基板全体は、こんな形になった。elecrow で発注するとどうなるのだろうか。面付けと認定されると +$8 らしいが。

    スリットは 1mm 幅。ミリングなら角は丸くないとダメだろうということで、端は半円。凸になる部分はそのままで、凹になる部分は、カーブを付けている。
    ブリッジになる部分は、あまり細いと製造で問題になるらしい。適当に付けたが、ある程度強度があるよう配慮したつもり。
    あと基板の角部分には、ブリッジを作らないようにした。角部分を綺麗に処理するのが難しいのもあるが、のこぎり (丸鋸、クラフトのこ)での切り出しが楽になるようにしたつもり。

    この基板を切り離すのに、金のこを使いたいがスリットが狭すぎだったかも。ダイソーのファミリーソーで DUO-DISK の基板を切ってみたが、切れることは切れるが2枚ぐらいで刃のエッジがなくなってくる。整形は、#120 ぐらいのダイアモンド砥石で軽くこする。包丁用でも良いが、ハンドグラインダー用の円盤型を使ってみたが、楽だった。




11/1 elecrow に発注 。$9.7 (送料込み 1150円だったかな)。 -- 文句言われずに ステータスが、In production になった!

11/08 珍しく時間がかかったが、shipped になった。今回は 10枚ぴったりのようだ。



なんか、指定したのと微妙に違う。サブ基板間のレジストを外すように keepout の指定をしたのだが、レジストがかかっているように見える。修正してたから時間がかかったのかも? 来ないことには分からないが。

11/12 受け取り。



やはり、サブ基板間にレジストがかかるよう修正されていた。手間をかけて修正してるということは、理由は分からないが、やってはダメということだ。前の基板のタブは、指定通りだったから、外側は良いのだろう。あと、枚数は12枚。

これを切ってみた。




32山の金のこでゴリゴリ切断。ちょっと苦労する。残った部分は、配線してあることもあり、とりあえず切らない。もっとも、普通の金のこでは、無理。ファミリーソーの刃を一回外して通すとか工夫がいる。

    ファミリーソーはダメ。突起があって刃を通せない -- つかえないヤツ。
    金のこの刃だけ持って引き切りするのが楽だった。刃を寝かせ気味にして一気に切ってしまうのだ。ブリッジの切断部分が狭いので引っかかるとスムーズに行かない。
    後処理は、ダイソーのダイアモンド砥石が良かった。かかとヤスリみたいな形状のやつ。

さて、このボード最初は、PAM8403 と MP2307 電源ボードから作ろうと思う。ちょっとやってみたいことがあるのだ。
posted by すz at 18:52| Comment(117) | TrackBack(0) | 日記

2017年09月24日

Nanopi DUO

cnx-software.comの記事で知ったのだが、Nanopi DUO という SBC が発売されている。Orange pi Zero (以下 OPi Zero) と同じ SoC (H2+) , wifi チップ(XR819) を採用していて気になっている。



製品ページ:
http://www.friendlyarm.com/index.php?route=product/product&product_id=197

価格は $7.99(256MB モデル), $11.99(512MB モデル)。送料は いくつか買っても $5 。例によって専用のヒートシンクも用意されている (+$2.99) 。

サイズは 50mm x 25mm 程度で、なんと ESP32 の開発用ボード ESP32-DevKitC と同等のサイズで、より安い SBC なのだ。電源に 5V2A が必要なことや、技適がないなど、実際に使うのには難があるのだが、よくぞ作ってくれたと思える製品だ。



ピン配置はこんな風になっている。Ethernet や USB HOST さらには、コンポジットビデオ出力、オーディオ関係があるため、GPIO として使えるピンは OPi Zero より少ない。

また OPi Zero とは違って、ビデオ出力、オーディオ出力には回路が付加されていて コネクタを用意するだけで良い。ただし、ビデオ出力を使うには OS 側の対応がイマイチらしい。

電源は、USB OTG または 5Vピンから入力できる。OPi Zero と同じ回路で 電圧が高い方から入力される。また、USB OTG 側へは逆流しないので、PC の電源を OFF にしても問題が起きない。

ちなみに、レギュレータIC は、単電源のものが スイッチングDC-DC を含めて 6 つも使われている。(OPi Zero と数は同じ)。必要とはいえよく収まったと思うわけだが、さらに Wifi チップアンテナ や SPI Flash のパターンまで付いている。

    製造元の friendlyarm.com のフォーラムに Wifi Problem XR819 という話題が、なんでも Wifi の MAC アドレスが皆同じだとか。解決方法も書いてあるようなので要チェック。



NanoPi DUO には、Mini Shield というオプションがあって(+$9.98) Rasberry pi と同じディメンジョンになる。この Mini Shield には、各種コネクタが付いている。USB は HUB IC を介して 4port 。また、USB-SATA ブリッジも付いていて ハーフサイズの mSATA SSD が付けられる。

    DUO + Mini Shield を買うのであれば、Starter Kit というものがある。ヒートシンクやケース、USBシリアル などが付いてお得な感じ。特に 512M は、$19.98 (+ 送料 $7 )。

    USBシリアルだが、電源ケーブル代わりになるようだ。USB 5V が ボードの 5V に直結されている。電源コネクタは micro USB なので、こちらを使った方が良いかも知れない。

    ちなみに Mini Shield に mSATA SSD を付けるなら、オプションの 64GB SSD ($45) も同時に買うと良いようだ。mSATA ハーフサイズ の SSD は割とレアで 特に for industrial なのは他で買えないかも。

    ピンヘッダーが付いているが、18 ピン。Rasberry pi の #1〜#18 分だけ 互換になるようになっていて、I2C, シリアル TX,RX の位置が合っている。

    cnx-software にスターターキットのレビューが載った。
     ・ https://www.cnx-software.com/2017/09/25/nanopi-duo-starter-kit-review-part-1-unboxing-and-assembly/
    第二弾の記事
     ・https://www.cnx-software.com/2017/10/30/nanopi-duo-quick-start-guide-ubuntu-breadboard-mini-shield-msata-ssd/

    まず、SPI Flash が搭載済み? それも 128Mbit(16MB) 。気になる。

    コメントを眺めると、OPi Zero の イメージ (armbian mainline) がそのまま動くようだ。ただし、1つ問題があって、USB-SATA チップ の RESET が GPIOG11 につがっているため、u-boot で SATA が enable にならないといった(意味の)ことが 書かれていた。




さて、このボードをどうやって使うと面白いのであろうか?

形状からみて、なにか USB デバイスになる専用機というのが思いつく。
 1) USB シリアルボード あるいは、FTDI でできるようなもの (JTAG 等)
 2) USB サウンドボード とか AV 出力ボード
 3) Wifi ドングル
 4) mp4 エンコーダーボード
外付け回路がほとんどないようなものだとこんなやつ。ただのUSBデバイスに SBC を使うのは大げさすぎるが、コスト的には十分成り立つように思えるのである。標準の OS や armbian を入れた SDカードを作ってちょっと弄れば実現できてしまいそうなのだが、もっとシンプルに SPI Flash にインストールできて 専用機として動けばすごく嬉しいような。

 ・ http://linux-sunxi.org/Bootable_SPI_flash

SPI Flashの使い方はここに載っている。1MB が u-boot 専用。残りに カーネル+initrd を置くことが出来る。SPI Flash は 16MB まであるようだが、4MB 程度までなら、そこそこ安い。

昔は 1フロッピーで動く OS がいろいろあったと思うのだが、今はどうなのだろう? Linux カーネルと busybox あとちょっとした自製アプリぐらいなら 圧縮して 3MB もあれば ...とか思ってしまうのだが。

専用機であれば、Linux カーネルなどいらない。全部自製する -- いわゆるベアメタル・プログラミングというのも可能ではあると思う。H2+ のデータシートは手に入らないが、H3 と互換のようで 上記のリンクにも H3 のデータシートがある。本当の ベアメタル・プログラミングだと avrlibc 程度の環境もないから、本当にめんどくさい。たぶん レジスタの定義ファイルを作るだけで嫌になるだろう。すこし楽したければ、u-boot の環境を流用する -- というか u-boot の一部として実装するという手がある。

もうひとつ、作りたいアプリをカーネルモジュールとして作ってしまうという手がある。Linux カーネル API を知らないといけないが、レジスタ定義のヘッダーファイルや ちょっとしたライブラリ環境を利用できる。一部だけ自製して、あとはカーネルの機能を使うということも可能なので、個人的には、こっちの実現方法が好きかも。いずれは挑戦してみたいような。ただ、OPi Zero の時でもやりたいとは思っていたのだが、なかなか手をつける気になってこない。




Ethernet 関係の話題

このボード 100M Ether の PHY も付いているわけである。パルストランス入りの RJ45 なら結線するだけなので、使うのは難しくないのであるが、他の使い方も考えられる。


2台の Nanopi DUO を直結することは可能らしい。同一ボード上で短距離であれば、25Ωで3.3v にプルアップするだけで良いようなのだ。別のIC のデータシート(トランスレス AN1900 で検索)に載っていただけなので、うまく行くかどうかは不明。より一般的には、直流除去のカップリングコンデンサが必要になるとのこと。その場合回路も変わる。

とりあえず、これが出来るということであれば、2台のPC をUSB-to-USB でつなぐことも出来る。それをして何になるか?という話はあるのだが、キーボード切り替え器が とりあえず思いつく。

あと 1:1で接続する形態だと、ちゃんとパルストランスを入れれば、100m まで ケーブルを伸ばせる。物理的に離れたところに Wifi を届かせるルータにもなるだろう。(技適が通ったとしての話 一応)あるいは、離れたところにある USB 機器を 接続する USB ケーブル(?)延長器とかも可能だろう。




ボードの特徴を考えれば、こんなところかなと思うのだが、Mini Shield を使って サーバーに仕立てるような使い方ももちろん良いだろう。普通の使い方だと思うので、ここではコメントしない。

で、そうした使い方をした場合、mSATA が少々ネックになる。$45 もする SSD を買う気にならないので、無駄なのである。mSATA から 2.5in HDD 用の STATA コネクタに引き出せれば、嬉しいような気も。普通に SATA コネクタを付ければ良いだけだが、PC 用のケーブルは長すぎて収まりが悪いような・・・5cm 程度のケーブルというのはあるのだろうか? とりあえず基板設計ネタとして覚えておこう。


    探したら、SATA に変換するボードは安価に購入できる。左は背が高くなってしまうので却下 -- 右のタイプが良さそう。--- 作る必要はなかった。あとはケーブルか。


    ケーブルは、7cm, 10cm といったものがあるようだ。ただ、ストレートー(HDD側)ライトアングルでないと。それを前提として、横から回すので 10cm では短いような気が。15cm ぐらい必要かもしれない。また、7pin どうしをつなぐので、15pin の電源ケーブルも別に必要。これも ライトアングルが良いと思う。

あるいは、Mini Shield のようなものを自作するとか。HDD の裏面にマウントできて、ケーブルもすっきり というのは考えてみたいところ -- こういうのは他のボードでは難しい。ちなみに USB HUB IC は、FE1.1s が安価に入手できる。USB-SATA チップも GL830 が安価に入手できる。-- 実は Orange pi でこれらを採用していて、実際の回路を参考にできるのでお勧め。ただし、これは必要な場合に選択枝があるという話であって、コネクタだけ付けるのもあり。特に USB-SATA は ケーブルになっているタイプとか さらにその中身の基板のようなものが入手できるから、別のやりかたがある。

さらに、さらに、Ethernet が直結できるならば、Switching HUB IC を入手して、いくつかの DUO を接続したコンパクトなボードも作ることは可能だ。

 ・ https://fabiobaltieri.com/2011/08/19/5p-switch/
 ・ https://github.com/fabiobaltieri/5p-switch


HUB を自作した人がいて 回路図など 公開している。HUB IC は、KSZ8995MA というもので、現在でも入手可能 。Mouser なんかでも買えるけれども、aliexpress で 昔のものっぽいのが 安価で購入可能なのだ。どう有用なのか?というのを別にすれば、なかなかに興味深い。作ってみたいものだ。

    こういうのを作っても、有用ではないと思えるのは I/O の絶対性能が低いため。いまどき USB 2.0 + 100M Ether ではちょっと。allwinner の SoC はいろいろ出ているが、H6 という 最新 SoC が出てきている。特徴は 64bit , GbE は当然として、USB 3.0 , PCIe サポート。まともに使えるようになるまで時間がかかりそうだが、Orange pi も プロトタイプらしきものがリークされている。こういうのが、サーバ用途での本命だろう。

    秋月で扱いはじめた ROCK64 なんかでも良さそう。GbE , USB 3.0 だから、高速I/Oは備えている。RAM も 4GB タイプがあるので メモリ的に重い処理もこなせる。こういうのと比べると DUO + Mini Shield は本命の使い方ではなく、DUO 単体で電子工作的に使うのが良いのだろうと思わされる。



Mini Shield のようなもの を検討してみる。

やりたいことは、HDD と一体化するようなボードの設計。


この図は、HDD の上というか裏面に Mini-Shield を載せたイメージ。これをベースに考えてみる。例えば板で HDDマウンターを作って HDD に取り付ける。左上に寄せるとこんな感じ。mSATA からケーブルを上に引き出し、ぐるっと回して HDD に接続。これでも良いのだろうが、SATA のケーブルは太いし、電源ケーブルもあるから、あまりスッキリとは行かない。あとコネクタの向き。Ether などは裏面に配置するもの。となると HDDのコネクタ側が正面になる。正面がグダグダしているのはちょっと。



こういう部品を使って、HDD を接続し、かつ正面パネルになるものを作ってみたらどうだろう?だいたい 結構背が高いのである。HDD からスペーサーで 浮かさないといけないし、2段のUSBコネクタも高さが 15mm ぐらいある。HDD 自体もあるから 全体で 9.5 + 5 + 1.5 + 15 = 31mm ぐらいにはなる。一方 128x64 の OLED モジュールは 27.8mm である。これを付けて タクトスイッチがいくつかあるようなものは作れそう。

問題は、Mini Shield (のようなもの) と接続する ケーブル 。特に SATA だが、信号線は 4 本のみで、距離も 直線なら 4cm ぐらいだから、ツイストペアでいけそうな気はする。あるいは、USB-SATA チップも載せてしまって、USB DISK 化するボードにしてしまうとか。ちょっとこの方向で考えてみたい。一応汎用として考えるのだが、うまくいくようなら、Mini Shield のようなものも設計して完成形を狙う。

    バネル付き USB-SATA ボードというのは、割と良い考えのような気がしてきた。USB2.0 専用で QFP48 の GL830 を予定している。ちなみに、 Mini Shield のチップは、USB 3.0 にも対応の JMS567 である。 このチップは手に余るので無理。というか入手できない(かも)。入手できデータシートがある USB 3.0 対応チップは、ASM1053 (QFN) ぐらい。といっても手に余るわけだが。




こんな感じでレイアウトを考えてみた。サイズは 70mm x 30mm 。左の4ピンコネクタが USB で、右は I2C とボタンと 赤外線レシーバー。コネクタはケーブルを引き出しても良いし、専用基板にピンヘッダで付けることも出来る(ようにしたい)。SATA コネクタは、1.27mm ピッチのスルーホールなので、クリアランスが厳しい。ELECROW は OK みたいだが、DRC が通らないところがあるかも。


で、専用基板のプロトタイプ - ショートバージョン。本当は HDD の 100mm 長にしたいわけだが、別発注になるので、これでいけるかどうかのチェック用。ショートバージョン は随分奥まったところにコネクタが来る。HDD のネジ穴にも届かないので、ちゃんとマウントできない。右の穴は コネクタとの干渉をチェックするためのもので役には立たない。また、マウントの補助のために、左右 5mm づつ 耳を付けている。
要するにパネル部が本命で、ちゃんとパターンが引けるかどうか?これは、ボチボチやっていこうと思う。

ついでに書いておくと、USB は 2 段のパターンになっているが、HUB IC を入れないと、1つしか使えないので意味がない。その場合、普通のタイプを取り付けてもいい。ロングバージョンを作るときに、HUB IC を入れるかどうか検討してみるが、2段はおまけの扱い。あと、電源は DCジャックから 12V 入力を考えている。DC-DC コンは、12V → 5V を 2つ。1つは、HDD というか USB DISK 専用。

そう言えば、このショートバージョンは、もともとブレッドボードの片側に挿すためのものであった。途中で目的を変えたので、こうなったが、それも検討しよう。


あとパネル部分がうまく作れない場合でも、こんなボードを使えば、とりあえず HDD は使える。ショートバージョンでも USB のケーブルを 引き出してすっきりと接続できるはず。この場合は、ボードを HDD の端まで移動させることも出来る。・・・と言っても、移動してもやはり2か所でネジ止めできるだけなので、しっかりと取り付けることは出来ない。

    このボードがどういう チップを採用しているのか分からないが、随分と部品が少ない。目立つのは水晶ぐらいで、あとは RC 。GL830 も 似たようなものなのでパターンは作れそう。SATA 信号線は 数ミリ長でストレートにコネクタに配線するだけであり問題が起きようがないと思える。ーーなんか作れそうな気がしてきた。

    ちなみに、Orange pi の GL830 まわりの回路図を見ていたのだが、内蔵 USB にまで、電流制限 IC の SY6280 が使われている。 ちょっと驚いた。

    ショートタイプは、取り付けに難があるようなことを書いたのだが、アルミアングルなどを使えばいける。10mm x 7.5mm のコの字型のものがホムセンにあるが、基板の耳にネジ止めすれば、HDD のサイドのネジ穴で止めることが、出来そうだ。

さて、少し設計が進んだ。(問題も出てきた)

左側のコネクタだが、ブレッドボード に合わせることにした。BB-801 (EIC-801) タイプは 30穴あってサイズは 82mm と 84mm。この基板は 80mm で、センターを合わせたときに、穴の位置があうように調節した。次に コネクタから 13mm は、なにも置かないようにした。あと、コネクタの増設。一応デジタル信号は、コネクタに割り当てることが出来た。

    USB 5V - DM - DP - GND
    8pin#2 MO - MI - CLK - CS - GND - 3V3 - DTX - DRX
    8pin#1 GND - 3V3 - SDA - SCL - TX - RX - G11 - IRRX

こんな感じ。AV 出力は未だ考えていない。MIC は、取り付け パターンを付けた。

問題は、パネル部への信号線。ボタン3つに対して 2本 (TX,RX) しか割り当てられていない。I2C 以外の信号線は、4 つあって IRRX , TX, RX, GPIO G11。Mini Shield で G11 は、USB-SATA のリセットに使われているので、同じ目的に使おうとしている。GL830 搭載の Orange pi でも、やはり G11 が GL830 の電源制御に使われている。
ちなみに、GL830 にも GPIO があり、電圧低下の検出?(GPIO0) と LED (GPIO2) に使われている。ドライバのソーソコードを読めば使い方が分かるかも知れない。



今は、こんな感じ。パネル部を 使わなければ ロングバージョン(もどき)になるようコネクタと穴を追加。コネクタは電源以外配線しないので、あくまで、ディメンジョン評価用のつもり。



GL830 のパターン作成中。なんとも苦しい。電源ライン(3.3V, 1.8v, GND) が入り乱れているのが理由の1つ。もうひとつ、SATA 信号線は直結するものではなく、10nF (0.01uF) のコンデンサを入れるものだったこと。2012 を使うので、場所が取られてしまう。それでも、なんとかなりそうな感じにはなってきた。

ところで 12V → 5V 変換で MINI-360 を2つ使おうとしているのだが、変更。MINI-360 の IC - MP2307 を使って 自分で組んだ方が良いかも -- とか思ってパターン追加。MP2307 は本来連続 3A が可能な IC なので 1個で済むはず。MINI-360 は インダクタが電流を流せない上に、IC の 放熱も考慮されていないため 連続だと 1.8A 程度まで。 インダクタは、秋月で扱っている NRシリーズ (10uH) なんかが使えれば十分なのだが、10mm 角で大きく パターンを入れるのが無理だった。4.7uH にして、75mm 角であれば、2A 連続には十分ではないかと考えて、CD75 (7mm x 7.8mm) 用のパターンにした。あと上面からハンダ付けできる自信がないので、長穴を置いてみた。仮止めした後、裏からハンダを流し込むつもり。入力のコンデンサだが、一応 25V 耐圧のものを使いたい。こうしておけば、ノーパソ用の 19V までは使える。分圧抵抗は、30K + 6.8K にすると 5.00 V の計算になる。誤差がだいぶありそうなので、後で調整することになるだろう。

    MINI-360 は インダクタが電流を流せないと書いたが、間違っているかも。村田製作所の FDVE0630 というのを見つけたのだが、7.4mm x 6.7mm 3mm高 のサイズで 10uH 3.1A , 4.7uH 4.6A となっている。--- 調べてみたら、一体成型のメタルアロイ というタイプで 大電流を流せる特長があるとのこと。大電流を流しても磁束を保持し、熱にも強い。巻き線が固定されているので鳴きもない。すごく良いものらしい。
    aliexpress でも 同じ 0630 タイプ (7.3mm x 6.6mm 3mm高)で、10uH 4A (Isat 5.5A), 4.7uH 5.5A (Isat 8A) という商品があった。 PIHA06030 という型番のものが 同スペックなので、出鱈目でもないのだろう。
    さて、MINI-360 のインダクタも 0630 で見た目も近い。ということは、4A 品かも知れないのだった。それで何故出力が止まるほど熱くなるのか?という疑問はある。最も 2A 流すのに、2A 品ではダメということはある。2A + Vout/Vin x (Vin - Vout) / ( 2 x fs x L) の定格が必要で、12v , 5v , 10uH だと +0.43A という計算になる。-- これは問題なさそう。あるいは、単純に放熱できていないだけ? 効率が 85% 程度だとすると 5V2A - 10W で 1.76 W 発熱する。 これが MINI-360 単体では無理なのだろうか? データシートに 50℃/W と 10℃/W の数字がある。そのままだと 88℃上がってしまうが、放熱さえすれば、問題ないということだろうか?

      追記: DUO-DISK を組み立て確認した。インダクタは 10mm 角のメタルアロイ タイプ。12V 入力で 5V 出力だが、3A 流しても余裕。2.2 Ω + 4.7Ω パラ (1.50Ω) を 4.95V ぐらい。インダクタは全く熱くならない。MP2307 もあまり --- こっちは放熱が十分という印象。

    あと必要なインダクタンスについて、L = Vout/Vin x (Vin - Vout) / ( fs x ΔIL) という関係らしいのだが、ΔIL とは さっき計算した 0.43A x2 のことである。同じ式なわけで、2倍のΔILを許容できれば 10uH → 5uH にしても良いということらしい。

    さて、まともなインダクタだと思った CD75 だが、定格は 10uH で 2.3A 程度。4.7uH でも 3A ぐらいだろう。ちょっと無理そうなので、再検討しないといけない。


    再検討したパターン。メタルアロイ・タイプ用にパターンを作った。10040 用をメインに、6030 も付く。NRシリーズも付くようにした。これらは、電極の幅が狭いので、なんとか MINI-360 のパターンと重ねて配置できた。入出力のコンデンサは 3216 が 2個パラで付けられるようにしておいた。


    ついでなので、2.2uH も調べてみた。
    CD32 1.4A CD43 1.9A CD54 2.8A(前後) CD75 4.2A(前後)。
    5V から 1.8V や 3.3V を作る DC-DC コンで 1A クラスなら CD32 で良さそうだが、2A クラスになると CD54 を使わないといけないようだ。 あと、メタルアロイ・タイプなら、0420 2.2uH が 3A だが、少々高価になる。


だいぶ設計が進んで今はこうなっている。ボード名も決めた --- LANDISK じゃなくて DUO-DISK 。サイズは、ロングタイプにしたとき使いやすいように 80x100 に変更。電源は MP2307 一つでまかなうつもりだが、MINI-360 x2 でも出来るようにはした。一応 5V3A ちゃんと流せることを期待。実際には 3A も使わないと思うが、その場合効率 85% として 12V 1.5A ぐらいの容量が必要。あと 電源OFF 機能のコネクタを付けた。リモート強制リブートが可能なように配慮だけしておく。

パネル部分。スイッチを、GL830 の GPIO に接続してみた。ドライバを改造しないと使えないというハードルの高い仕様。無理がありそうなので、パターンカット+ジャンパはできるようにはしてある。
SATA コネクタの詳細が FIX すれば発注できそうなところまで来た。(現物で確認しないといけない)


さて、Ether HUB の KS8995MA だが、ついでに いくつかの Nanopi DUO を載せたボードも検討してみようと思う。

まずは、上記の KS8995MA を使ったボードの回路図を見てみる。QFP128 なのでピン数は多いのだが、使わない ピン(NC)が多い 。 PORT5 の MAC と PHY の間を切り離してそれぞれを MII インターフェイスで 接続できるようになっていたりするのだが、使わなければ NC で済む。あと LED が 15 ピン。これもいらない。SPI で、設定したりステータスを読み出すことができる。( SPI を使わない場合 I2C ROM (110バイト以上) を接続する。) SPI で設定をやりたいとは思うのだが、
次に多い線は電源。3.3V と 1.8v と GND だが、実に沢山ある。これらが、入り乱れて配置されるので配線がめんどくさい。

    1.8v は、結構消費するようで、市販製品でレギュレータが壊れるトラブルがあったようだ。1.8v には、DC-DC コンを使いたいところ。SY8008B ,RT8059 あるいは 2A クラスの SY8089A ぐらいか。 3A クラスだと MP2143DJ , SY8113B とかもある。これらは、Orange pi などで使われている。
    加えてメンドクサイことに 1.8v はコア用とアナログ、さらに PLL 用がある。電源は共通でも良いのだが (少なくとも PLLには)LPF を入れる必要がある。

    MII の機能はいらないと書いたが、そういえば ESP32 が MII (または RMII) で Ether に接続する機能を持っている。わざわざPHYチップを用意してまで使ってみたいとは思わないのだが、一応実験用に使えるようにしておくのも良いかも知れない。

電源は面倒なものの、思ったよりは、シンプルに扱える印象はある。多分扱いきれないということはないだろう。

こっちのボードも進行中。名前は DUO-CLOUD 。DUO x3 と HUB が一体になったボードで、DUO-DISK の上に取り付けることを想定。電源は、MP2307 x2 で 6A を想定。割り振りは、マスターの DUO + HUB と DUO 2台。入力は 12V3A ということに。DUO-DISK と合わせて 60W クラスのACアダプタを使う。あと、HUB には、1.8V と 3.3V が必要だが、SY8089A で 5V を降圧する。

左側裏面にある部品は、8ピンAVR ( オプション機能) 。I2C ROM の機能を持たせて HUB を自動で config させる。加えて ファンコン機能。本当に 60W 近くも消費するのかどうか不明だが、ファンは付けることが出来た方が良いだろう。--- この2つは DUO が動いていないときでも機能させたいものなので、独立したコントローラーがあると良い。本当は DUO のリセットなんかも制御させたいが、リセットピンが出ていないため、電源 OFF 機能で対策。外部コントローラで電源制御ができる可能性だけ残しておく。


回路は考えてみただけのもので自信がない。よくあるのは、NPN(Nch) で ファンの GND 側 を ON/OFF する回路だが、それでは回転数検出の回路が組みにくい。12V 側をドライブするように Pch + Nch を使おうと思う。回転数検出は、SENSE がオープンコレクタ(ドレイン)だったはずなので、プルアップして入力。このへんの機能も I2C で制御(予定)。他に3つのコネクタがあるが、DTX,DRX でコンソール用。また、DTX,DRX はとなりの DUO の RX,TX と接続できるようにもしてある。

といっても、オプションだし組むかどうかは分からない。それどころか、このボードの基本機能を動かせるのか? 自信が全くない。

    回路図のコネクタのピン番号は、逆。4pin ファンに合わせて
     (1) SENSE (2) 12V (3) GND (4) PWM
    とするのが正しいようだ。
    あと AVR の信号線

    DUO AVR HUB
    SCL/A11 PB2/SCK/SCL SPIC/SCL
    SDA/A12 PB0/MOSI/SDA SPID/SDA
    MI/A14 PB1/MISO SPIQ
    CS/A13 SPIS_N
    G11 RST_N
    MO/A15 RESET

    こんな風にした。DUO は、HUB の SPI に対しても、AVR の ISP に対しても GPIO で操作する。I2C のマスターも GPIO で操作できるが、I2C ドライバを使っても良い(かも知れない)





またまた外形を変更。Pico-ITX なる規格があることを思い出し、サイズ(100mmx72mm) を合わせることに。DUO-DISK はもともと 70mm で設計したので、部品の位置もほとんど変える必要はなかったのだが、DUO-CLOUD は、だいぶ苦労した。それは良いのだが、マウントするのに難があるように思い、小さいタブを付けることにした。ネジ止めしたり、レールを使って固定したりするのを想定したが、邪魔なら削ってしまえば良い。


    このボード2枚を組みにして使う場合、放熱の関係でボードを立てて使うのが良いのだろうと思うのだ。で上か下にファンを設置するとしたら、60mm ぐらいが丁度よさそう。ボード間隔は 25mm ぐらい。多分 DUO のヒートシンクまでが一番背が高く 8.5 + 2.6 + 7 = 18.1 mm 。次が 2段のUSB 15.6 mm で 三番目が RJ45 の 13.5 mm 。 基板厚を足して、ヒートシンク上部 5mm ぐらいで、25mm 。


    あと、DUO-DISK に 4極 3.5mm ジャックのパターンだけ付けることにした。PJ-393 という型番のもの。それは良いのだが、ピン配置が統一されていない。Mini Sheild は、先端から R-V-L-GND 。だが、日本で一般的なのは、どうやら L-V-GND-R 。 GND の位置が違うとどうにもならないのが難点。カモンのRCA 変換ケーブル 435 は 日本式なので、L-V-GND-R にすることに。

    最初 4極 3.5mm ジャックの位置は、DUO の下にしたのだが、どうにも気に入らない。コネクタ類は右側に寄せる方針なので、無理やり移動した。

    USB コネクタもこのタイプに変更して、場所を作った。使ったことのない部品が増えると不安なのだが、まぁやってみよう。ちなみに、このタイプは、DRC で Restring 10 mil だとエラーになるパターンになってしまう。-- 8 mil 以下でなければならない。SATA コネクタ と これは 業者を選ぶ。





ケースも具体的に考えることにした。一応 MDF で考える。配置は、向かい合わせにして、下にファンを置く。レールは 5mm 角の角材。割りばしでも良さそうだが、サイズが正確なので。メイン部分は 端から 3.2mm 部品を置かないようにしたので タブ 4mm と合わせて 7mm まで行けるのだが、HDD (の取り付け部分) が干渉するので、そこだけ 5mm ぐらいが限界。
5mm 角の角材は、補強にも使う。最初からバックパネルを用意できれば補強は必要ないのだが、自信がないし面倒だしで、最初は厚紙にするつもり。フロントパネルは未だだが、扉にして、前から基板を差し込む。LED が いろんな位置にあるので、できれば透明なものにしたい。


ファンを取り付ける底板。上にレールが来るのだが、ファンを塞がないようレールは短くしている。基板が前後に動かないようにするためのロックだが、あまり練れていない。タブのネジ穴に上から棒またはネジを刺すので良いのかなとは思っている。

あと奥行は未だ決まっていない。HDD と SATA コネクタで何 mm になるか、ちゃんと調べていない。



10/14 elecrow に、基板発注。
 ・duo-disk-01c2.zip
 ・duo-disk-01c-out.zip
 ・duo-cloud-01c.zip
 ・duo-cloud-01c-out.zip

    追記: 問題点の記録
    DUO-DISK: 回路図の LCR の値は基本適当である。よくよく確認しないとマズイのであるが、特に注意すべき点について。MP2307 の 6.8K と 30K が逆に書いてあった。

    DUO-CLOUD : Ether コネクタとの接続。
    HUB は、MDI-X として接続しないといけないが、MDI として接続してしまった。auto MDI/MDI-X の機能があるのでダメではない。内部接続のトランスレス接続は合っている。UP-LINK も MDI で良いので、1つだけ MDI-X であるべきだが、port 4,5 のうち どれを UP-LINK にするか決めていない。ローカルに使う方は、できたらクロスにするということで。
      トランスに CT という端子があるが、これの接続が良く分からない。Orangepi など allwinner 系の回路図では、0.1uF を通して GND に接続だが、例のHUB の回路では、+2.5V に接続している。その他、TX側では、3.3V 、RX側では無接続 というのもあった。

10cm x 10cm 10 枚が $4.9 + 送料 $4.8 -- 1129 円になってる。チェックするのも飽きたので、ダメならまた発注すれば良いかと思い両方発注してみた。

    10/14(土) 発注
    10/18(水),19(木) 発送(追跡OK)

    ボケボケの写真が添付されてた。それにしても 水曜日・朝は早すぎ。土日も働いているのだろうか?
    10/23(月) 通関手続中
     先に発注した DUO-DISK が 国内に来た! 水、木あたりには受け取れそう。
    11/25(水) 受け取り(予定) 火曜日に地元到着。DUO-CLOUD の方は、引き受けのまま。土曜日の4時間の差がこれ。

部品のなかで SATA コネクタの フットプリントだけが分からないままの発注。デジキーとかで買える MOREX (87779-1001) なら、分かるんだが 高いし、これだけのために発注できないし。7pin+15pin の部分さえ合ってればなんとかなる( ということにした)。

    SATA コネクタが来た。両端の 基板に止める部分の幅はぴったり (42mm)。位置はほぼ同じ。穴径は 2mmφにしたが、1.5mmφという感じ。

    HDD に接続したときの位置関係もだいたい分かった。手持ちのHDD だと、端から 105mm の位置に基板が来る。DUO-DISK と右端を合わせると、端のコネクタまで 6.5mm 。だが実際には、合わせられない。穴の位置を間違えた!長穴の端から端を使ってようやくネジを締められる! で、HDD は 2mm はみ出す。ということは、4.5mm 固定でほぼ調整できない。メインの基板の左端から、3.0mm はなれたところにパネルが来る。したかったことは、パネルとの距離を 0mm にすることなので、ここから 3mm ずらせるように修正しておこう。0mm にするには、メインの基板の右の穴から 3mm 右に移動したところにドリルで穴開けで対処できる。この場合 HDD は、右に 5mm はみだす。

    縦の関係は、HDD のネジ穴がある面から 下に 2mm がコネクタの位置。そこから、22.1mm 上が パネルのコネクタの位置で、5mm のスペーサで HDD をマウントするとすれば、メインの基板上面から 13.5mm にコネクタが来る。普通のピンソケット(8.5mm)を使うと、5.0mm 上にコネクタがあることに。対策は、Arduino で使われるような連結ピンソケットを使う。Arduino 用は 8pin, 6pin なので、USB の 4pin は切るかピンを抜いて使う。

回路については、Ether HUB と USB-SATA 以外は電源と配線だけみたいなものだから、一部がダメでもなんとか。2つのチップ回りが怪しいわけだが、元にした回路図があるわけなので動くかも知れない。






DUO-DISK 基板がきた。前の写真で 14 と手書きがあったが、枚数だった。14 枚も来たのははじめて。なにかと運が良い注文だったようだ。パネル部をメイン基板にぴたりと着けるには、赤丸のところに穴をあけなければならない。これはちょっと難しいかも知れない。タブは、予想以上に目立たない。良い感じだ。

最初に作るのは電源回りの予定 MP2307 も同時に到着。というかパネル部を除けば、コネクタと電源しかないが、コネクタは HR911105A(発注忘れ), USB, 4極 3.5mm ジャック (到着待ち)がなく、あるのは DC ジャックのみ。パネル部分の部品は、一応全部ある。GL830 は、紙の台紙にテープで貼った適当なものが来ている -- 動かない不安がある。

10/31 DUO-CLOUD の基板も来た。こっちも 13 枚。何枚も作るとは思えないが、あっても別に困らないか。




本当に動くものを作れるのかなぁ? 0.5mm ピッチならハンダづけは出来ると思うが、設計上の不安も多い。




電源回路の確認

DUO-DISK を組み立て確認した。インダクタは 10mm 角のメタルアロイ タイプ。12V 入力で 5V 出力だが、3A 流しても余裕。2.2 Ω + 4.7Ω パラ (1.50Ω) を 4.95V ぐらい。インダクタは全く熱くならない。MP2307 もあまり --- こっちは放熱が出来ているという印象。

10mm 角を使えば、MP2307 の性能を発揮できるということは分かった。DUO-DISK, DUO-CLOUD では 10mm 角しか使わない。では、MINI-360 と同じ 7mm 角 では本当にダメなのか? 7mm 角 でも 定格4A (サチるのは 5.5A) のはずで、3A 流せると思うのだが。あるいは 4.7uH にするとか。
posted by すz at 23:07| Comment(114) | TrackBack(0) | 日記