2018/08/24

ATmega4809(megaAVR0)を試す

Atmel印。 今後貴重になるんだろうか・・・


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

簡単にデータシートを眺めてみると、アーキテクチャはXMEGAシリーズを8ビットMCUとして簡素化したもので、先に登場した新しいAttinyシリーズと共にAVR8Xと呼ばれている。 

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

8bit MCUとしては豊富なRAMを持ち、core independent peripheralを搭載し、割り込みが強化されたことで、デジタルバスを活用した省電力なコントローラーとしてバランスが良い。  今までのクラシックなATmegaで足りないと思っていたものが強化されている。

(新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を並べた知人の部屋が夏になって灼熱地獄となった話を実感することができた(完) 

2018/07/21

デスクトップ地球軌道

1億分の1地球儀で遊ぶ



 昨年の年末、無印良品で販売されている白地図地球義を購入した。 



 実は昭和カートン製で、けっこうしっかりした作り。
 2種類の大きさがあったが、小さな1億分の1スケール(直径約12cm)のものを購入。

一億分の1スケールだと、1mmが100kmに相当するのでわかりやすい。

 宇宙スケールで物思いにふける場合、宇宙から肉眼で地球を見るときのスケールが気になることがあった。地球儀をスケールの基準として計算してみると、1億分の1の地球近傍空間はこんな縮尺になる。

  • ISS(低軌道) 地表から4mm
  • 静止軌道 約35.7cm
  • 月 約3.8m 
  • 太陽-地球系L1 15m

 静止軌道からの眺めを机の上に再現するならちょうど良さそうだ。

机の上で、静止軌道の位置に顔を置くことで、気象衛星の視点が得られる。
両目の視差だけでも1億倍すると6千km、経度にして9度ほど離れているので、片目で見ないと本来見えないはずの地平線の向こう側を見通せてしまう。  

 地球大気は1mm以下となり、 ISSの軌道も表面からわずか4mm。 
大半の観測衛星も1cm以内の低軌道に集中している。

 地球儀に輪ゴムを張り渡すと、任意の低軌道衛星の経路を模擬できる。 輪ゴムが赤道と成す角度が軌道傾斜角だ。 なお、きちんと円形に張るのは慣れが必要だった。
 冒頭の写真ではISSの軌道傾斜角を模擬している。 

 ここはひとつ、地球近傍軌道を巡るツアー旅行に参加していると仮定し、手持ちのカメラで地球を撮る構図を体感してみた。  月着陸以前の1950年代の予想であれば、現在の通信衛星の代わりに有人の大型通信基地が置かれていた静止軌道から始める。 


 静止軌道から地球全体を撮るには、35mm換算で70mm程度の焦点距離があれば大丈夫だった。 現在でいうと3倍ズーム機能付きのコンパクトカメラがあれば、画面一杯に地球を撮影できる。 
 アポロ計画の有名な地球写真"The Blue Marble(Wikipedia)" は4万5千km彼方から80mmのハッセルブラッドで撮られたらしいので、 だいたい合っているようだ。

  45万キロ離れた月面の距離から地球を画面一杯に映すには、35mm換算で800mm程度必要だ。 単純に静止軌道と比べて10倍くらい離れているということでわかりやすい。月面は大気も無く、地球から月を狙うよりシャープな画像が得やすいと思う。 
 観光客としては、ズームして地球を撮影するよりも、極域で月面と地球を一緒のフレームに収められるスポットが人気になりそうだ。地球の満ち欠けで、短期旅行プランの料金が変動するかもしれない。

実際に800mmで撮影した地球儀画像


観測画像で遊ぶ

 高画質の定点観測画像が高頻度で配信されており、白地図を飛び越えて本物の景色を手元で再現することができる。
 GoogleEarthや、ひまわり8号リアルタイムWebを画面に表示し、画面上の地球画像の直径を定規などで測り、距離と地球直径の比率(下の数値)を掛ければ画面から離れる距離が算出できる。
  • 静止軌道 地球直径の2.81倍
  • 月 地球直径の30.1倍
  • 太陽-地球系L1 地球直径の117.7倍

iPhone8でひまわり8号リアルタイムウェブを表示させてみると、地球の直径は43mmだったので、
  • 静止軌道 約12cm
  • 月 約1.2m 
  • 太陽-地球系L1 4.9m 
ということになる。
この縮尺だと、静止軌道はちょっと近すぎるけど、月やL1からの眺めをなんとか部屋の中で再現できる。
明かりを消して、壁に置いたiPhoneをこの距離から眺めると再現度が高かった。

ラグランジュポイントからの眺め


静止軌道や月からの眺めを堪能したので、次は地球近傍空間の探査機からの眺めを模擬してみた。
 太陽-地球系L1は、地球と太陽の2体の重力の平衡点となる領域で、太陽方向、約150万kmに存在する。 反対側の位置にあるL2とともに、わずかな推力があれば地球との位置関係を保つことができる。  
 このL1を巡る軌道には、太陽観測の使命を帯びた宇宙機が数多く投入されている。 その中でも、NOAAが運用するDSCOVRは太陽と地球を同時に観測するユニークな探査機だ。搭載された地球撮像カメラ(EPIC)によって、多波長で高解像度の地球観測画像を撮影している。
配信画像のタイムラグは約1日遅れだが、1時間おきの画像を閲覧することができる。 
https://epic.gsfc.nasa.gov/

 サイトでは地球との距離のほか、太陽と地球を結んだ線と探査機のなす角(SEV angle)が確認できる。
https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20150018272.pdf
実際にL1点に静止するのは力学的に不安定で、また地球側のアンテナに太陽が発する電磁波が入射するため、通信が妨害されてしまう。軌道図を見ると、地球から見て宇宙機が太陽を横切らないように軌道が調節されていることがわかる。 (リサジュー軌道)


 iPhoneにDSCOVRのサイトを表示してみると、直径が34mmだったので、4m離れて観てみた。
L1のステーションの展望窓から肉眼で地球を眺める地球人という設定で、暗い廊下の先のスクリーンを見つめてみる。 
 肉眼で観る月よりやや小さく、かろうじて雲の濃淡や明るい大陸が判別できた。

 天体観測の際、見かけの大きさは視直径で表現される。 予備知識無しの体験に答え合わせをすると、地球から月を観た場合は約0.5°で、 L1から地球を観た場合が約0.45°になる。 再現時の感覚は間違っていなかったようだ。
 最も、地球上でのんびり眺めるのと、数週間宇宙船に滞在し、地球を観測する機会がいくらでもある中で見るのとでは着目点がだいぶ変わるかもしれない。

 EPICの視野についてはサイトに詳しい技術情報がある。
https://epic.gsfc.nasa.gov/about/epic
 L1を巡る軌道の位置によって、地球の視直径は0.45~0.53°の間で変動するため、EPICの視野(FOV)は0.62°で設計されているとのこと。

 探査機の位置やカメラの仕様を探り、人間の視野に当てはめて空間を把握するのは楽しい。
 このへんはVRが普及したらもっと感覚的に体験できるようになっていくだろう。 まだVRリグを持っていないので、いつか試してみたい。