2018/10/24

道具の更新




 HAKKOのIHはんだごて、FX-100を導入して2ヶ月ほど経った。
FX-951から乗り換えなので、両者の差異を書き出してみた。



小手台はコテ検出等の配線も無くなり、コンパクトで置き場を選ばなくなった。
(本体は結構大きく重くなった)
 立ち上がりは早く、コテはさらに細くなって持ちやすい。
 コテから持ち上げたときや小手先の温度変化に対して、かなり機敏に温度制御してくれる。 スリープ、シャットダウン、復帰も軽快。

 だんだんとRF特有のスルーホールだらけ多層基板などを手がはじめているので、無限に吸われる熱との戦いになる。  小手先としては、主にC型の大きいタイプを使うが、足の出ていない小さいQFNやUEW作業では小さい小手先に交換している。

 FX-951を全く使わないかというと、もっと熱容量の大きい小手先に付け替えて、表面実装以外のはんだ付けに使っている。 


 今まで仕上がりは目視とビクセンのマルチモノキュラー4x12にルーペスタンドをつけて確認していたけど、夏にHOZANのL-50を中古で手に入れた。
一昔前の構成のため、付属していた照明は蛍光灯式ですでに寿命を迎えていた。 あとから安いLEDリングライトを取り付けた。 オプション部品も入手しやすいので、そのうち0.5倍の対物レンズとか導入するかもしれない。
 特殊領域の設計試作はあまり数が出ないのと、数が出る場合は専門業者の領域になるので、リフロー量産の方面には手を出していなかったけど、そろそろ整備していきたい。

2018/08/24

ATmega4809(megaAVR0)を試す



megaAVR 0という新しいAVRシリーズを試してみた。
 小さいパッケージなのに、UARTが4本もあるのが気になったのがきっかけ。
登場すると噂のArduino Uno Wifi rev2 にも採用されるらしい。

簡単にデータシートを眺めてみると、アーキテクチャはXMEGAシリーズを8ビットMCUとして簡素化したもので、先に登場した新しいAttinyシリーズと共にAVR8Xと呼ばれている。
 CPU周りを見てみると、割り込みレベルなど、今までのクラシックなATmegaで足りないと思っていたものがかなり強化されていた。 ArduinoAPIを再実装するとしたら便利そうなペリフェラルもだいたい揃っている。

データシート P6
 DMAは無いが、個々のペリフェラルにイベント駆動用ネットワークが張り巡らされているのがわかる。

個人的にピックアップした特徴
・データメモリ空間(64kB)に統合されたFlashROMとEEPROM
・RAM 6kB
・ROM 最大48kB (メモリ空間制限)
・デバッグ専用の端子 UPDIを搭載
・優先度付きの割り込み(NMIと2レベル)
・豊富な16ビットタイマ
・16ビット リアルタイムカウンタ(RTC)
・非同期/同期シリアル(USART 4ch、SPI 1ch,TWI 1ch)が充実。
・内蔵クロックは20MHzと32kHz、 外部クロックは発振器と時計用水晶のみ
・ADCは10bit 16ch
・内蔵VREF電圧は5種類と多い(0.55V,1.1V,1.5V.2.5V.4.3V)
・DACREFが存在し、8ビットDACを通したVREF電圧を、コンパレータとADC入力で利用できる
・カスタムロジック(CCL) LUTを4つ内蔵

 新ATtinyと比べるとDAC出力やタッチ検出などのアナログ機能が若干削減されている。RAMとROMサイズ、ピン数とで差別化されている。

物は試しということで、早速石を入手して遊んでみた。
これだけ積んでいても小ロット単価が328Pより安い。
(2560や644Pなどになると、もう32ビットマイコンのほうが安い領域)

用意した開発環境
・Atmel Studio 7.0
・PICKIT4

 PICKIT4は5月に買っていたが、その頃に比べるとデバイス対応が徐々に進んでいて、最新のユーザーガイドには、各種デバッグインターフェースのピンアサインリストが追加されている。 もちろんUPDIも対応済み。
更にAtmel Studioでもちゃんと使える。 PICは概念になりつつある(?)

 実験用基板はQFNパッケージ用で作成。 デバッグ用のGHコネクタにUPDIとUART0、VDDを引き出し、他にLEDと32.768kHzのXT用パターンとSMDの発振器パターンを載せて最小限の構成とした。 リセット端子も、GPIOとして利用できる。マイコン動作に必要な受動部品は3つのバイパスコンデンサのみということになる。
 パッケージの外周に1mmピッチの手半田用パターンを設けているので、後で好きなように引き出せる。


試作基板は5x5cm角としては面積が余ったので、いくつかSHコネクタ用のパターンと、SPIROMパターン、PICKIT4の端子変換基板を相乗りさせている。 各パターンは、自前のPCBカッター(HOZAN)で切り出し加工した。

PICKIT用変換基板




UPDI


PICKIT4とは、UPDIで接続する。 1-Wireの半二重UARTプロトコルなので、必要な結線はVDD,GND,UPDIの三本だけだ。 (VDDは書き込みの際にターゲット電源を認識する関係で必要だが、電源供給はしない様子) 結線が圧倒的に楽になった。

Atmel Studio上での読み出し結果

Atmel Studio上でLチカも完了。 GPIOマクロはXMEGA用なのでちょっと戸惑った。

動作周波数と電圧
 メインクロックには水晶を使えないけれど、内蔵の20MHzオシレーターを最大で64分周することができる。
 20MHz動作は動作電圧が4.5V以上でないとデータシート上は保証されていないため、3.3V固定で使うなら2分周して実質10MHz駆動となる。
 5MHz動作なら1.8Vまで保証されているので、乾電池運用にちょうどよさそう。

Lチカ

MPLABでAVR開発を試す


 最近アップデートされたMPLABX 5.0も、ベータ版ではあるがAVRをプログラミングできるようになった。
 XC8もAVR対応が始まっており、2.0からベータ対応が始まっている。ただ、まだXC8 2.0でコンパイルすると、実機に書き込んだ後で挙動がおかしくなる。
 プロジェクト設定からAtmel Studioでインストールしたコンパイラを選択した場合は実機が正常に動作するので、しばらくアップデート待ちのようだ。





2018/07/30

G4 Modケースの改修と更新(2018)



ワークステーションとして、PowerMac G4 QuickSilver筐体を自作機にして早10年。
 https://blog.kemushicomputer.com/2010/03/powermac-g4-dosv.html

 昨年Ryzenに換装してからの悩みが、6年経過したATX電源の更新問題。
ケースそのものはATX電源が取付け可能だが、すでに絶滅した古い背面ファンモデルに限定されるため、交換候補が無くなってしばらく経っていた。
 電源が選べないとシステム規模も頭打ちになってしまう。ということで内装工事を行い、まともなmicroATXケースとして改修した。


 ATX電源を逆さまに設置するため、対応するネジ穴と開口部を加工した。
軟鉄なので電動ドリルとハンドニブラでなんとかなる。

 新しいATX電源は、ENERMAX REVOLUTION DUO 750Wにした。
最新の電源だが、昔懐かしい背面ファンと底面ファンの2つを搭載しており、排気性能が高い。

電源を取り付けたところ。狙い通り底部ファンをケース内に向けることができた。

また、HDDとSSDの設置位置を底部に戻した。
側壁につけていた自作HDDブラケットを撤去したことで、マザーボード拡張スロット周辺の空間が広がり、ハイエンドGPUのリファレンスモデルを取り付けられるようになった。
ショートモデル縛りからの脱却
 今回はRadeon RX VEGA 56(MSI)にして、システムをAMDで統一してみた。 OCしなければ電力もそこまで喰わず、広帯域メモリを積んでいてGPGPUとして面白いモデル。 ようやくマイニング需要が落ちてきて、価格も下がりつつあった。

 電源には8ピンx2本を要求する。REVOLUTION DUOに2本ついているPCI-Eケーブルは最初から8ピン(6+2ピン)x2構成なので問題なかった。
 以前まではシステム全体のピーク電力を300W以下に抑えてきたけれど、これで放熱が間に合う範囲であればパフォーマンスを追及できる。

Radeon RX Vega 56 (msi)

 もともとPowerMacG4は中学生の頃、ナショナルジオグラフィックの広告でギガフロップスの単語とともに載っていた事だけ覚えていた。 調べ直してみると、G4が発表された99年当時、PowerPC G4のSIMD性能が向上し、民生用パソコンとして初めてスーパーコンピューター扱いとなったとある。  講演ではスーパーコンピューターに認定されたことで、アメリカの輸出規制にかかったことを自慢していたようだ。
  時は流れ、16年の歳月を経たスーパーコンピューター(?)筐体に、単精度の理論値で10テラフロップス超えのGPUを取り付けている。  FLOPSだけ比較した乱暴な解釈なら、G4が登場した当時の大型スパコンクラスタの性能に近そうだ。

 ミドルハイエンドのGPUは初めてなので、個人的にはピーク性能よりも負荷時の排熱が気がかりだった。 組み上げたあといろいろな負荷テストを行ってみたところ、GPUコアが制御値の上限75度を超えることはなく、ファンによる排熱は間に合っている様子。

 負荷試験の間、GPUのスロットから吹き出してくる温風に手をかざしていると、マイニング用にハイエンドGPUを並べた知人の部屋が夏になって灼熱地獄となった話を実感することができた(完)