2018年12月07日

Nanopi M4 購入

RK3399 のボードを買おうかとずっと思っていたのだが、Nanopi M4 にした。

基本的には、ビルドしたりするだけのサーバマシンの用途。CPU が高速でメモリが多いものを希望していた。
I/O は、GbE は必須として、ストレージ。native SATA が良いことは良いのだが、USB 3.0 なら別に問題ないだろうと。そう割り切ると Nanopi M4 は、HUB 内蔵で 4 ポートも使えるので魅力的。

また、Nanopi M4 は、専用ヒートシンクがでかい。RK3399 にはヒートシンク必須だと思うが、自分であれこれするのも面倒だし、かなり魅力的に思える。

決め手になったのが、Black Friday セール。ギリギリになって気が付いた −− 日本では既に土曜日。深く考えずにポチってしまった。

一応お安かったようである。4GB + ヒートシンクで $86.98 + 送料 $7 。今の値段は $101.99 + 送料。

(続く) 
GPIO

購入した後で、wiki の情報を確認したりして。

 ・http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4

GPIO ピンヘッダは 2 つある。内側も2.54mm ピッチで USB 2.0 x2 と PCIe だそうだ。外側は、2.54 mm ピッチ 40pin ピンヘッダだが、良く見ると 1.8V I/O がかなりある。1-26 pin だけが Raspi 互換だと思った方が良さそうだ。互換と言っても I/O 電圧は 3V ですこし低い。使い方によっては注意が必要。

GPIO を積極的に使うつもりはないのだが、電源供給だけは別。Type C のポートであれこれするよりは、ピンヘッダでと考えている。

その場合、OTG はどうなるのか? PC と V-USB が直結になるようだと、ちょっとまずい。PC からは、V-BUS に接続しないよう 断線させた ケーブルが必要になる。

    なぜまずいかと言うと、PC に逆流がおきたり、逆に AC アダプタが外れたりすると PC から過電流を流そうとしたりすることになるから。

    回路図をチェックしたところ、FUSB302MPX というコントローラが入っていた。外部電源を使っているときは、USB Type C から電源を取らないように出来るようだ。そうしたところで、外部電源が OFF になったら PC から電源を取ってしまう。そうなったときに、USB外部機器の電源を OFF にするとか SoC の機能を OFF にしたり、CPU のクロックを落としたり・・・なんてことは原理的には可能そうだが、あんまり期待しないでおこう。

    ちなみに、USB 3.0 HOST の VBUS 出力には、2 個に1つ RT9724 という USB 用 スイッチIC が入っている。最大 2A 流せるが、上限以上電流を流すとスイッチが切れる。スペック上は、1.5A で切れる可能性もある。

    外部電源が 5A とか十分に電流を供給できれば、USB バスパワーの 外付け DISK を 1 つは使えるかも知れないが、その場合、組になっているコネクタの使用には気を付ける必要がある。

    ちなみに、ピンヘッダ 1本の定格電流は 3A である。2 本あるから 6A ! バカには出来ないのである。

こういうことはともかく、やはり USB-UART 前提で考えておこう。

UART は、
 4 Pin 2.54mm header, 3V level, 1500000bps
だそうである。1.5M bps が可能なものを使わなくては。CP2102 は最大 1Mbps なので使えない。また 3V なので、TX 側に抵抗を入れた方が良さそうとか。

OS は、Armbian を使いたい。ボーレートに変更があるか要チェック。


    1 VCC3V3_SYS 2 VDD_5V
    3 I2C2_SDA(3V) 4 VDD_5V
    5 I2C2_SCL(3V) 6 GND
    7 GPIO1_A0(3V) 8 GPIO4_C1/I2C3_SCL(3V)
    9 GND 10 GPIO4_C0/I2C3_SDA(3V)
    11 GPIO1_A1(3V) 12 GPIO1_C2(3V)
    13 GPIO1_A3(3V) 14 GND
    15 GPIO1_A4(3V) 16 GPIO1_C6(3V)
    17 VCC3V3_SYS 18 GPIO1_C7(3V)
    19 SPI1_TXD/UART4_TX(3V) 20 GND
    21 SPI1_RXD/UART4_RX(3V) 22 GPIO1_D0(3V)
    23 SPI1_CLK(3V) 24 SPI1_CSn0(3V)
    25 GND 26 GPIO4_C5/SPDIF_TX(3V)

    あ、8,10 は UART ではない。唯一の UART は UART4 の 19,21 。ちなみに デバッグポートは、UART2 。

Armbian:
 ・https://www.armbian.com/nanopi-m4/

大丈夫あった。ボーレートも変更なしで 1.5Mbps


https://forum.armbian.com/topic/7511-nanopi-m4/

https://forum.armbian.com/topic/8097-nanopi-m4-performance-and-consumption-review/
ここに面白そうな話題が。

M4_SATA_HAT.jpg

M4 SATA HAT ? プロトタイプみたいだが。 ASMedia ASM1061 だと 2-port だから、なにか違うチップを使っているようだ。

Nanopi M4 は、ヒートシンクが下だから、排熱を気にせずに HAT を作ることが出来る。これもメリットか。
ASM1061 2-port SATA ボード(Mini PCIe)をマウントできるような HAT なら自分でも作れるかも知れない。M4 SATA HAT の劣化版になりそうだが。

    mpci-sata-AMS1061.jpg
    例えば、このボードは $8 ぐらいで買える。mini pcie のコネクタも安く買える。

ただ、USB 3.0 DISK と比べて大したメリットがないというコメントも見られた。 SSD を使わないと関係なさそうだが、(1) ランダム I/O が速くなる。2台接続したとき USB 3.0 の帯域を分け合うことになるので、(2) native SATA の方が トータル・スループットが高い。この2点ぐらいだそうだ。

あと消費電力の話。アイドルで 2W 、CPUBURN を動作させて 10W ぐらい。GPU やらなにやら動かせば、もっと電流は増えるだろうし、USB つかえばまた増えるだろう。とにかくビルドなんかすると、常時 10W の可能性がある。そうなるとファンを付けたほうが良さそうな気が。

アイドルで 2Wというのも ちょっと多いような。OPi Zero とか 0.5W のはず。zero 4つ分の仕事はできるだろうが・・


電子工作ネタ

実は、ASM1061 は、チップ単体で買える。パッケージは QFN48 0.5mm ピッチで、ハンダ付けが困難とまでは行かない。チップのデーターシートも公開されている。

ASM1061brd2.jpg
ASM1061brd.jpg

MINI PCIe ボードの写真を2種類拾ってきた。これを眺めると配線はだいたい一層で済んでいる。ひょっとして二層基板でいけるのでは? そういえば、USB-SATA 基板など二層基板のことも多いのである。

ただ大きな問題が。ひとつは、データーシートにリファレンンス回路が載ってないのである。だいたいは分かりそうなんだが・・・。もうひとつは、SPI-FLASH である。一体なにのデーターが入っているのであろうか?

まぁ現物のカードを調べれば、両方とも解決しそうなんだが・・・。1つしかいらないのに、そこまでするか?という気持ちもある。だいたい、MINI PCIe スロットを付けた HAT を作れば解決ではないか。

そうやって作ることは、出来るだろう。しかし、かっこわるいのである。ピラミッドのように基板を上に重ねていって、頂点からさらに上にケーブルを出すのである。もうちょっとスマートにならないかと。

M4_SATA_HAT-dsgn1.png

こんなデザインのものが欲しい。
12V の AC アダプタ(5A) から入力して、5V 5A の DC/DC コンバータを内蔵する。これぐらいだと 3.5 インチ DISK への電源供給 も出来るだろう。その電源供給のコネクタだが、D 型の IDE ディスクのコネクタを使うとすれば、L 型で内側に出してから、SATA コネクタ側へケーブルを出す。コネクタとか面倒なだけだし、別に直付けで良いかも知れない。他に、ターミナルを使うという手もあるが、これも内側に端子を出す。

    安物の 5V 5A の DC/DC コンバータモジュールがある。IC は、XL4005 や XL4015 を採用している。どれもこれも、トロイダルコアのインダクタ 33uH 5A を使っているが、今だと キャラメル型のメタルアロイ・インダクタがある。10040 サイズだと 33uH 4A 程度なので、22uH に変更。計算したが、12V 固定入力ならこれで良いのだ。コンデンサだが、今は 2012 サイズで 25V 10uF , 10V 47uF のセラコンがある。これを複数付けて 電解コンを使わないようにする。

    IC は、XL4005 で良いかと思うのだが、今はもっと小さなものがある。周波数が倍になれば、インダクタンス値を 1/2 に出来て、もっと省スペース化が可能。ただ、当然ながら SBC 内部でさらに DC/DC コンバータを使って降圧している。あまりスイッチング周波数が近いとどうなのか?

    MP2380 -- これだと 4.7uH が使えて 5A 出力。コンデンサは 入力側 10uF x2 出力側 47uF x2 。こちらのほうが良いかも。どちらにしても 5A のショットキー・ダイオード が必要でこれが意外に大きく高い。3A を並列にしたらと思ったが、ダメだそうだ。

    TI の TPS565208 , TPS565201 あたりになると、2.2uH 。同期整流型で ダイオードもいらない。ちなみに、コンデンサは 入力側 10uF x2 出力側 22uF x2 で済むようだ。

    他に AP65550 というのがあって、3.3uH 。これも 同期整流型。スイッチング周波数は 650kHz 。

    村田製作所の FDSD0630 だと定格は、3.3uH で 5.6A 。中華の場合怪しいのだが、より大きい数字を提示している場合もある。インダクタンスは 大きくても問題ないが、飽和するとまずいのである。小さいとリプルが大きくなるが、飽和しにくくなる。また、入出力電圧、リプルが同じとした場合、スイッチング周波数とインダクタンスは反比例する。・・・ということは、350kHz ならば 6.8uH で済むということである。安物の 5V 5A の DC/DC コンバータモジュールでも同じであり、6.8uH にしても良い。巻き数を 1/2 にすると 33uH → 8.5uH なので 丁度良いのかも。

    また、入力電圧を 12V から 15V にしたりすると・・インダクタンスは小さくできる。また、出力電圧を下げても同じである。

    基本 12V の AC アダプタか車載の 最大15V ぐらい → 5V , 3.3V しか使わない。なのでこのパラメータは重要で、メモしておく。

    多分なにを書いているのか分からないということで整理しておく。

    1) まず、$1 とかで買える安物の 5V 5A の DC/DC コンバータモジュールの話。

    SBC に 5V にするのに便利だと思っていたのだが、連続して電流を流すと、熱くなりすぎるとかそういう話を見たのである。原因としてインダクタが飽和していることが考えられ、巻き数を 1/2 に減らす改造をすると安定して出力できるのではないか?

    他に、ダイオード SS34 とか使っているが 3A 品である。出力と直列に入っているものではないから、大丈夫なのかも知れないが、本来は 5A 品を使うべきである。また、コンデンサだが、220 -- 22uF である。データシートでは 入力 220uF 出力 330uF の例になっている。それは大きすぎだと思うが、入力 47uF 出力 100uF ぐらいは必要ではないかな。と、上の検討の結果思うのである。

    2) 2つめの話。今回の設計で採用する回路は何か?

    結論としては、AP65550 が良い。インダクタは、0630 メタルアロイ・タイプ 3.3uH 。入力コンデンサは、25V 10uF x2 , 出力コンデンサは 10V 47uF(22uF) x2 にしよう。

    MP2380 は、チップ自体は安いのだが、5A のダイオードが高い。合計しても AP65550 より安いのではあるが、5A 出力は 特殊用途であって、普通 3A の MP2307 で十分。必要な分だけ AP65550 を買うのが良いかなと。TPS565208 , TPS565201は、魅力的なんだが、放熱とか大丈夫?という不安があってパス。

    ・・・と書いたが、MP2380 で良いかなという気になってきた。とにかくお安いのである。ダイオードも効率がどうのと言うことを考えずに普通の SS54 を使うなら高くない。

SATA コネクタだが、水平のタイプを左側に付ける。プロが作るのなら、両面につけて 4 ポートにすることも可能だろう。
これぐらいのものだと、すっきり配線できるし、良いのだが・・・

あと付加機能として、ファン用コネクタは欲しい。PWM の 4ピンタイプでもいい。さらに言うと I2C 温度センサも欲しい。サーミスタ(NTC)を 付けられるタイプがいいな。

    ADS1115MOD.jpg
    ADS1115/ADS1015 モジュールが安いようだ。チップ単体は高いが、なぜかモジュールは安い。温度計ではなくて 16bit/12bit ADC だが。NTC 使うのであれば、抵抗値を測定すれば良い。4ch あって差動入力も使え、その上 ±6V まで測定できる・・・ということは、5V の電圧・電流を測定できる。 電流・電圧に 2 本使うとして、NTC 2ch いける。電圧を測定するだけだから、アナログ温度センサでもいい。何の温度を測りたいか・・というと ハードディスク温度? ヒートシンク温度?

    ・・・違う間違い。±6V までというのは、測定レンジであって、実際は VCC +0.3V を超えてはいけない。・・・ということは、ADS1115/ADS1015 だけ高い電圧で動かして、他は電流測定抵抗を通した電圧で動かせば良いか。抵抗値だが、5A も流すと 0.1 Ωでも 0.5V の電圧降下が起きて 抵抗だけで 2.5W も消費する。0.5W までが許容範囲とすれば、0.02 Ω (R020) 以下が必要で 電圧降下は、0.1V 。チップは 3216 0.5W がギリギリ。なお、ADS1115/ADS1015 は、フルスケール 0.256V という設定があるので 0.1V を測定するのに問題はないようだ。

    モジュールには、VCC へのプルアップ抵抗が付いている。VCC 5V+αで動かして、I/O 電圧は 3V だから外さないといけない。Nanopi 側にプルアップは付いていて、レベルコンバータ TXS0102 を通して GPIO ピンヘッダに接続されている。SDA,SCL,ADDR,ALART の 4 つプルアップされているが、全部まとめて外し、ADDR だけ 外部で 接続してやれば良さそうだ。

一応、設計可能な範囲で考えるとこんなところ。まぁ設計が出来たとしても、組み立てられるか?という問題があり、さらに本当に動くのか?という話もある。今のところ CAD に描いた餅である。




さて、12/8 にものが届いた。ヒートシンクはなかなか存在感がある。あまり考えてなかったのだが、ヒートシンクに短いスペーサーが出ていて M2.5 で基板をマウントする。HAT を付けるとすれば、オスーメスのスペーサを使って、スペーサーをヒートシンクに取り付けることになる。熱伝導シートも付属していて、RK3399 との間に装着する。

ヒートシンクの裏側には、ネジ穴が 6 つ。ケースに固定するためのものだろう。ファン用ではなさそう。




M4_SATA_HAT-dsgn3.png

設計は一応できた。動くかどうかはまた別だが。

SATA 部

    やっぱり自信を持って回路が正しいとまでは行っていないが・・合ってるんじゃないかと思えるレベルになった。

    ASM1061brd3c.jpg

    参考になったのは、こっちの M.2 ボード。まず、裏面には部品がない。信号線らしきものは、裏に一本、表に3組。表の3組のうち1つだけコンデンサが入っている。PCIe X1 では、TX,RX, リファレンスクロックの 3組を使う。コンデンサが入るのは、送信側 である。( Nanopi M4 側では RX になっている。最初間違えてた)。最後の1本は 多分リセット(PERST#)だろう。プルアップされていて無接続でも良いはずだが、GPIO を接続。3V の I/O 線にしておいて Hi-Z/L の操作をすれば、間違いなさそうだ。

    あと、水晶。20MHz の水晶振動子を使うが、コンデンサが1つしかない。不審に思って調べたら、XI - XO 間に接続するのだった。(これも間違えていた)

    もうひとつはっきりしないのは、インダクタ。スイッチングレギュレーターを内蔵していて、インダクタを接続する。その先にコンデンサをつなげて・・・までは分かるが、どこに接続するのか? 1.2V しかないからそうしたが、100% 正しいかというと分からない。外部の スイッチングレギュレーターを使っているボードも多いし、そうしたかったのだが、信号線の裏側にそういうデバイスを置くのはまずそうなので、あえて内蔵のものを使う。

      やっぱり保険に、外部スイッチングレギュレーター回路をいれておこう。インダクタも少し大きいサイズ(CD43) を選択。

    配線は、できるだけ細い線でタイトに。コンデンサは、常に 2012 サイズにしていたのだが、タイトになりそうにないので 1608 0.1uF 。 配線長は ペアの差が 1mm 以内になるようにした。この辺は SATA 信号線も同じようにしている。あと 表の GND とは距離を取る。-- この処理はめんどくさくて(まだ?)やっていない。

    あと SPI FLASH -- 64KB だけ使うようだが、オプションと書いてある。なくても動くのであればつけたくない。が、一応裏側に配線してある。また、つけた場合 nanopi から書き換えられるよう GPIO にも接続した。ちなみに、裏面は、SPI FLASH 以外にコンデンサ(パスコン) をいくつか。2層基板では表に置くのは無理。

      64KB 品などいまどき売ってない。W25Q32 (4MB)が 多分一番安価に入手できる。

    信号線でわからないものはない。他のボードを見て分からないパーツもないようだ。配線も頑張った。--- それでも動くのか?と問われれば分からない。4層基板が普通のものだから無茶は承知の上なのだ。

    SATA コネクタは、水平に付けるタイプ。切り欠きが上部にくるものを選ばなくてはならない。スルーホールのものを選択したが、表面実装のものも付けられる。その場合、スルーホール部分との間をパターンカット。なお、取り付け穴が見えていないが ミリングで指定してある。

電源部

    MP3480 を採用し 5V 5A 出力。余裕ありすぎではない。SATA DISK は結構大食いである。1A x 2 使われたら 余裕どころではないのだ。5A きっちり出せるかどうか怪しいというのに。

    DISK 用電源コネクタは、D型のシルクを入れてあるが、使わないというか径が小さくて使えない。ケーブルを直付けするか、5mm ピッチターミナルを使う。

      D型を SATA 電源コネクタに変換するケーブルは安価に売っているが、L型というのはないのだ。そんなものを自作するぐらいなら、ぶった切って使うのが良いのだ。

電源モニタ

    出力には、0.02 Ω 0.5W の抵抗 を入れて電流測定をする。また、入力電圧と出力電圧をモニターする。あと 1つだけだが、サーミスタ(NTC) を接続し、外部の温度を測定できるようにしている。

    これは、オプションで ADS1115 ボードを付ける。(要改造)

おまけ PWM ファンコン

    2つ目の GPIO コネクタに PWM 可能な 3.0V GPIO が付いている。これは、ファンをつなげということかなと思い、回路を入れてある。2,3 ピン DC ファンを想定したが、4 ピン PWM ファンにも対応。

    ただし、回転数検出はない。GPIO で回転数測定とかするつもりはない。というわけで、やはりおまけなのだ。

これ動くのだろうか?という不安はあるのだが、電源部だけでも有用といえば有用。もうちょっとチェックして基板を発注してしまおうかと。

    Fusion PCB では、$7.9 セールをやってるので、それを使う予定。

あと、全然ダメだったら、SATA 部の代わりに、電源をもうひとつ付けて、USB コネクタで大出力ボードにしてしまおうかなと。5A + 5A で USB コネクタ4つとか。そのうち 2 つには、USB 2.0 ホストの機能も付けられる。

一旦 FIX した。eagle ファイルとガーバーを置いておく。

 ・m4-pwr-sata-v1.0-out.zip
 ・m4-pwr-sata-v1.0.zip
 ・https://gerber-viewer.easyeda.com/ (ガーバービューワ)

    1) インダクタがまずい。ASM1061 のほうは、4.7uH で 少し大きくした方が良いと思い CD43 に変更。保険の分は 2.2uH で、むしろ小さくても良いぐらい。大きさは変えないが、位置を変更。

      CD43 用パターンには 0420 のメタルアロイタイプも使える。 少しだけ高価だが、背が低く高性能。
      特に保険の分は、裏面に付けたいので、背が低いほうが良い。

      0420, CD43 のデータ

      sumida 0420CDMC ARLITECH(AMPI0420) sumida CD43T125 XINWQNG(CD43)
      2R2 Isat 4.5 Irms 4.7 Isat 5 Irms 3 Isat 5 Irms 2.8 Irms 1.9
      3R3 Isat 4.1 Irms 3.5 Isat 4 Irms 2.5 Isat 4 Irms 2.5 Irms 1.7
      4R7 Isat 3.4 Irms 3.1 Isat 3 Irms 2.2 Isat 3.2 Irms 2.2 Irms 1.5
      6R8 Isat 2.8 Irms 2.6 Isat 3 Irms 2.0 Isat 2.6 Irms 1.9 Irms 1.3
      100 Isat 2.3 Irms 2.1 Isat 2 Irms 1.6 Isat 1.6 Irms 1.5 Irms 1.1


    2) SATA コネクタの取り付け穴を PAD に変更。ミリングで穴を空けただけだと、熱容量が大きくなって、はんだ付けが厳しくなるため。

      そう言えば、あえて縦型を付けられるかどうか? 多分スルーホールタイプは、取り付け位置が合わない。SMD タイプは付くような気がする。

    3) I2C の プルアップを付けられるよう修正。絶対いらないと思うが。他の Raspi 互換ボードがどうかまで知らないし。ついでだし。そう言えば、PRRST# も プルアップを付けられるようにしてある。I/O 電圧が明記されていないので、3.3V で プルアップするのはまずいかも。もともと内部でプルアップされてるし。

    4) 電圧測定では、抵抗と並列にコンデンサを入れるようにしているのだが、NTC は忘れていた。

      10Hz 前後の LPF が良いのではないかと。だいたい、数秒おきにしかサンプリングしないのであれば、コンデンサを 100 倍(0.1uF → 10uF) にしても良いぐらい。

    5) あと、最後。電流測定抵抗に放熱パッドを付けた。最大 0.5W ともなるとやはり放熱した方が良さそうということで。

    以上を変更して同名でファイル置き換え。次、ファイル置き換えすることがあれば、名前を変更する。

というわけで、発注! ダメかも知れないが・・・何日かかけた成果を形にしよう。




ASM106X 用ファームウェアなんてものがあることを今頃知る。新しい物は分からないが、version 3.70 というのが使えているらしい。しかし、無知なままボード設計とか無茶な話であった。

NGX-SPC1400 というボード用のファームウェアが見つかったので、ダウンロードしてみると

    ahci370.rom (38KB)
    ide370.rom (38KB)

というものが見つかった。なるほどこれを SPI FLASH に書けば良いわけか。PCIe 経由でなにかコマンドを送って SPI を操作して書き換えるのだろう。幸い GPIO を接続してあるので、横から 書けるのではないか?
ただし、チップをリセット状態にしたら SPI の信号線が Hi-Z になってくれないと横からは書けない。まだ出来るとは確定していない。

ASM1061 GPIO が3つある。この設定で動作がどうのということになると困るのだが、GPIO になにか接続したボードを見たことがない。たぶん、ボードごとにカスタマイズしているものではなく、全部同じなのだろう。

NGX-SPC1400 というボードの写真を見てみると、インダクタが付いてない。外部レギュレータによる 1.2V 供給である。内蔵レギュレータを使うボードと、内蔵レギュレータ用のパターンは付いているのに使わないボードがある。内蔵レギュレータは鬼門なのか? それはともかく ファームウェアによって、動作が違うとすれば、内蔵レギュレータの enable か。ドライバが送るコマンドによって enable/disable する可能性もあるか --- Linux ドライバの コードを確認しておいたほうが良さそうだ。

見たけれども、ドライバーには、なにも特別な機能はなさそうだ。drivers/ata/achi.c に IDを追加しているだけである。

/* Asmedia */
{ PCI_VDEVICE(ASMEDIA, 0x0601), board_ahci }, /* ASM1060 */
{ PCI_VDEVICE(ASMEDIA, 0x0602), board_ahci }, /* ASM1060 */
{ PCI_VDEVICE(ASMEDIA, 0x0611), board_ahci }, /* ASM1061 */
{ PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1062 */





SPI FLASH チップについて

https://www.win-raid.com/t239f13-Discussion-Firmware-for-Asmedia-Sata-G-Controllers-5.html

    replace the flashing chip, get a backup from this list: Atmel AT25F512B, EON EN25F05, MXIC MX25L512C,MX25L5121E, Pflash Pm25LD512C, Pm25V512A, Numonyx M25P05A, SST SST25V512A, AMIC A25L5120.

とかいう話が、しかし W25X040 を採用しているボードもあるのである。SPI FLASH の READ コマンドは共通で、なんでも同じである。都合があるとすれば、古い書き換えツールの方だろう。

チップ自体がID をチェックするとかないと思うが、どうしても読み込まないとかの問題がなければ、W25Q32 で行くつもり。

一応 MX25L4005AM2C (512KB) が安いようだ。
 ・https://www.aliexpress.com/store/1355196/search?SearchText=MX25L4005AM2C
といっても W25Q32 (4MB) とあまり違わない価格。

    Sat Oct 13, 2018

    I have modified the drivers & firmware disc.
    Now contains firmware for AHCI versions 0.951 , 0.97, 3.80 & 4.27. IDE versions - 0.951 , 3.70.

    Click HERE to download the ISO image.

最新の情報があった。OROM -- option rom image は、AHCI 版 3.8 , 4.27 ? というのがあるらしい。で、SPI FLASH を一回剥がして、プログラマで書き換えた強者もいるので、このイメージを書けば良いのは確定!

ただし、1 lane or 2 lane 用だとか良く分からない話が出ている。場合によっては、3.7 が良いのかも。

ところで、上の M.2 ボードだが、裏の信号線は、PERST# で合っているようだ。表だが、M.2 は 4レーンある。CLK のとなりだから、nanopi M4 の #0 につないでおけば良いのだろう。




ファームウェアについて分かったし、接続ミスがなければ動くような気がしてきた。だが、だいたい基板や部品が到着するのが、20日〜30日後。これが一体どうなるかは、だいぶ先の話になる。




ファイル更新。
 ・m4-pwr-sata-v1.1.zip
 ・m4-pwr-sata-v1.1dk-out.zip

回路は変えていない。ファームウェア添付 (とりあえず 3.70 のみ)。
・・・そして、新しいボードレイアウト m4-pwr-sata-v1.1dk 追加。

M4_PWR_SATAdim.png 
足を付けて、2.5 inch HDD をマウントできるようにした。ついでに 2つ USB 2.0 コネクタを付けた。意味ないと思うが、スペースがあるので。Nanopi M4 の上にこのボードが載り、その上に 2.5 inch HDD のイメージ。右側、Nanopi M4 のコネクタから HDD がはみださないような位置関係。切り欠きになってるのは、Ether とか背の高いコネクタと干渉しないように。左側も microSD があり、M4 の端まで。はみだせるのは、上方向のみだが、HDD のところまで。全体の取り付けはヒートシンクのネジ穴とか。 あるいは、2.5 インチベイに Nanopi M4 +このボードとかも可能。

M4_PWR_SATA.png
M4_PWR_SATAb.png

かなり不格好になってしまったが、どうせ HDD を付けるのであれば、2.5 inch の取り付け穴があると良いと思いついたのであった。ただし、回路は変えていない。作り直すことがあれば、これをベースにするつもり。



ファイル更新。
 ・m4-pwr-sata-v1.2.zip
 ・m4-pwr-sata-v1.2-out.zip

・・・とか書いたが、足などかざりですよ。ということでヤメ。他に作りたいものを面付け。
本体は、上に伸ばした部分を残し、コネクタ類を付けることに。

付けたコネクタは、右上にシリアル (UART4)。左上に I2C, POWER OFF , GPIO x2 。
主にクラスタのための、通信+遠隔操作の機能。
あと、I2C ADC のアドレスを変更できるように。−−これも I2C を相互につなぐための変更。

そして作りたいものとは、Dual port USB-SATA 。これもクラスタのためのもの。動くかどうか、どうやったら使えるかについては分からない。

    ちゃんとは調べていないのだが、使えるようにできる可能性はあるんじゃないかと。デフォルトで USB3 のポート(A) の USB2.0 を USB2 のポート(B) に回してしまっている。

    USB3 が USB2 を全く使わないのであれば、2台で同時にアクセスできるかも。初期化だけに必要なのであれば、GPIO でポートを A に回して、初期化後 B につなぐとか。

    全然ダメでも A が使用中は A に回しておいて、A の電源を OFF にすると B に回る・・・とか。

M4_PWR_SATA_v12.png

最終的にこんな形になった。上の3つは、DC/DC コンバータ。まさにおまけ。

ちなみに、ASM1061 の方に付ける 7pin SATA コネクタを 右の USB-SATA ボードに流用できる。(15pin+7pin 用なのだが、取り付け穴を余分に付けてある。) 表面実装なら問題なさそうだが、スルーホールは少し位置が違う。縦型実装もたぶん。その場合電源ケーブルは、15 ピンのパターンに適当に付ける -- のもどうかという気がした。4P Floppy コネクタ付けられるようには改修しておこう。

posted by すz at 14:21| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/185153544
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック