まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

M5Stack Faces入手

 スイッチサイエンスでM5Stackの扱いが始まったのでM5Stack Facesを購入した。

M5Stack[公式]
M5Stack Faces(9軸IMU搭載、各種カバー付き)[スイッチサイエンス]

紹介記事:
M5Stackであそぼう[スイッチサイエンス]
M5Stack −LCDとWi-Fi付きの小型マイコン− と開発環境M5Cloudをためしてみる #m5stack[Developers.IO]
M5Stack : ESP32を利用した開発モジュール[Visuariddim]
M5Stack Faces Pocket Computer[macsbug]

 M5Stack FacesはM5Stack Grayのモデルの電池・裏蓋部分がキーボード取り付け可能なベースになったもの。キーボード部分は3種類のパネルを選んで取り付けることができる。1mくらいのUSB Type-Cケーブルとジャンプワイヤー、ネジ類が付属。説明書はない。

2018M5-1

 LCDコントローラはILI9341。ArduinoではAdafruit-GFXライブラリで制御。
2018M5-2

 キーボードパネル側にはATMega328が乗っていて本体側のESP32とはI2Cで通信する。これらのArduinoスケッチも公開されている。https://github.com/m5stack/FACES
今のところとりあえず作った感がありますね。例えばGameBoy.inoは同時押しには対応していないみたい。

2018M5-3

 Arduino IDEによる開発環境は以下の方法でインストール。たぶんWindows環境ではいちばん簡単。
公式サイトからDownloadを選択し、CP2102ドライバとEPS32-Arduino-IDEをインストール。これだけ。

 クレードルが付属しており置くだけで充電できる。ただし充電中かどうかはわからない。クレードルはI2C端子がポゴピンで出ているが、クレードル側には特に何もないようだ。
2018M5-4


 M5Stackはモジュール間の接続を2x15のコネクタと磁石で固定しているのでスチール机にひっつく。側面の電源ボタンは1回押すとON/リセット、2回カチカチと押すとOFF。ただし側面からUSBで電源供給している場合は電源断になりません。バッテリー駆動かクレードル経由の給電だとOFFになります。
2018M5-5

TFT_graphicstest_PDQを走らせてみたら4〜8時間程度動いていたようです。

 プロトモジュールを付けてみた例。こんな感じになります。
2018M5-6


M5Stack 公式ストア



SBC6800のクロックアップ

 モトローラ6800伝説はすでにお持ちのことと思いますが、製作することで追体験ができるキットが販売されています。

SBC6800ルーズキット(スイッチサイエンス)
SBC6809ルーズキット(スイッチサイエンス)

 SRAMは32Kx8bit品を使っていますが問題ありません。
2018SBC6800

 この回路ではPIC12F1822によるクロックジェネレータがうまくMC6800用の二相クロックを生成していますが、せっかく2MHzまで動くBタイプ品を使っているのでソースをいじってサイクルアップに挑戦してみます。
 モトローラ6800伝説のp.100に掲載されているソース(CD-ROMでも提供)で以下の箇所を修正:

PR2 = 7; → PR2 = 5;
CCPR1L = 4; → CCPR1L = 3;

 これでビルドすると1.33MHzのクロックジェネレータになります。上限1.5MHz動作のAタイプでもOK。

2018MC6800clk

 すみませんが雰囲気で修正したのでこれ以上PWMで速いクロックが生成できるかはわかりません。たぶん無理。ただPIC12F1822は32MHz動作で古いマイコン用のクロック源として活用できそうなので色々調べている所です。


モトローラ6800伝説モトローラ6800伝説
鈴木哲哉

ラトルズ 2017-12-16
売り上げランキング : 42896

Amazonで詳しく見る
by G-Tools

4ICs Z80ボード(1) ATMega32LのArduinoブートローダ書き込み

 もあ(@morecat_lab)さんに4ICs Z80ボードを譲っていただきました。ありがとうございます。

手持ちの部品があったのでとりあえずすべて実装。10cm×10cmのサイズ。
2018-ATMEGA32-ALL

 このボードは40pinのAVRがすべてを制御してZ80を動かすしくみなので、AVR ATmega32Lにソフトウェアを書き込んでやらないといけません。まずはArduinoのブートローダーから。

 AVRISPmkIIで書き込めるようにICSP端子を空きエリアに用意。
2018-ATMEGA32-ISP-CONN

 ATMega32Lの pin6 - MOSI , pin7-MISO , pin8 - SCK , pin9 - *RESET
2018-ATMEGA32-ISP-CONN2

参考:
ATmega DIP40 in Arduino IDE 1.6.4
Burning Arduino Bootloader to Atmega 32A-PU Using Arduino As ISP

ハードは以上。次はソフト。Windows10からAVRISPmkIIを使うには若干の手順が必要らしい。
windows10でAVRISP MKIIを使う方法 @yoshihiroo

 まずドライバをインストールし、AVRISPmkIIをPCに接続。次にlibusb-win32-devel-filter-1.2.6.0.exeをインストールする。ここでデバイス一覧が出るのでAVRISPmkIIの箇所を選択して完了する。
libusb-win32というのはどうも署名などをうまくバイパスするような仕組みみたい。

 以上の方法はどうしてもAVRISPmkIIを使いたい時の方法で、Arduino UNOが手持ちにあれば Arduino as ISP で書き込んだほうが楽。

 さて書き込み器の準備はできたので、Arduino IDEに40pin AVRのライブラリを設定する。ライブラリは複数あったのだが以下のMightyCoreを使ってみた。
MightyCore : An Arduino core for the ATmega16, ATmega32, ATmega324 and more…

 Windows10上でArduino IDE 1.8.4を起動し、[ファイル]→[環境設定]をクリック、追加のボードマネージャのURL欄に
https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json
を書いて[OK]で終了。
 次に[ツール]→[ボード]→「ボードマネージャ…」をクリック。ここからMightyCore by MCUdude バージョン1.0.8をクリックしてインストールする。
 インストール後
[ツール]→[ボード]をクリックするとMightyCore以下にATmega1284など40ピンのAVRが追加されている。ATmega32をクリックしてボード"ATmega32"を選択すれば、次に[ツール]→[ボード]をクリックしたときに項目が追加されている。この4ICs Z80ボードには水晶発振子がないので Clock 8MHz Internalを選択。

 以上で準備ができたので[ツール]→[ブートローダを書き込む]をクリック。これでATmega32LがArduinoになった。なお実際の書き込み前にZ80やSRAMは誤動作を防ぐため外しておきます。
2018-ATMEGA32-ISP-Write


 動作確認のため、基板上のシリアルポートにUSB-シリアル変換器を接続して"Blink"のスケッチをシリアルポート経由で書き込んでみる。基板上のD0 LEDが点滅すればOK。
2018-ATMEGA32-ISP-OK


 ここまでが準備でした。
 なお40pin AVRのライブラリやClock 8MHz Internalの設定は今後変わるかもしれませんがまずは動作確認ということで つづく。

PICKit3でPIC12F1822の書き込み

 PICの開発環境のメモです。

ホストはWindows10、書き込みツールはPICKit3、ターゲットはPIC12F1822。

(1)開発環境をダウンロードしてインストール。現時点で最新はv4.05。
MPLAB X IDE(Microchip)
MPLAB X IDEインストール後、8bit用のコンパイラ XC8をインストール。
MPLAB XC Compilers
(Microchip)

(2)PIC書き込みジグの製作

以下を参考にした。
PIC12F1822を使ってみる(OVERDRIVE)
MPLAB X IDEの使い方(東京海洋大学 田原研究室)
ICSP Programming Adapter

 8/14/20ピン対応のつもり。外部電源とPICKit3給電の切り替え付き。

2017PIC-JIG

 実体配線図です。
2017PUIC-JIGhaisen

(3)書き込み操作
 MPLAB X IDEを起動。プロジェクトファイルを読み込むかNew Projiectを開始する。

書き込み器の選択は[File]→[Project Properties (プロジェクト名)]をクリックするとウィンドウが出てくるので、そこで指定。PICKit3から給電するかどうかはCategoriesで表示されてるツリーからPICKit 3をクリックすると右側にOption Categoriesが表示されるので、そこから[Power]を選択して指定する。

TRS-80修繕仕切り直し

 さて、しばらく間が空いたがTRS-80の修理を再開する。その前に今回の方針。

 現象としては、Z80が動作するとビデオ出力の水平方向が乱れる。

TRS80HDRVSHIFT

 水平同期信号は LS157 Z43-9 CHAINクロックをZ65で8分周した後、Z50で14分周してHDRVが作られる。これはLS93 Z50-11 ピン。
 表示されるデータは2つのLS166 Z10 キャラクタ / Z11 セミグラフィックスの出力のOR。このシフトレジスタ用のクロックはSHIFTで、 LS157 Z43-4 。これはMODESELによって原発振10.6445MHz(64文字モード)かその半分(32文字モード)に切り替わる。
 水平方向にゆらぎが生じるということは水平同期信号と表示データのタイミングがずれてしまうためと考えられる。これはSHIFTとHDRVのタイミング差だが、HDRVの元はCHAINなので SHIFTとCHAINのずれがCPUのバス駆動によるなんらかの原因で発生するようだ。
 CHAINはSHIFTクロックを受けたLS92 Z58 で生成されるので、このあたりに絞っていじってみる。
具体的にはLS92 Z58のソケット化、ノイズ対策、10.6445MHzの2倍のオシレータからLS74で二分周して安定した原発振クロック信号を与える、など。

 ノイズ発生源としてはZ80のアドレス/データ/制御信号だが、アドレスバスと制御信号は常に暴れているのでこのあたりから対策する。LS367出力にダンピング抵抗、またはメッキ線でバイパス、これでDRAMの駆動が苦しいと考えられれば32Kx8のSRAMにリプレース、など。

 そんな感じで。

大型LEDサイズ比較

 単なる比較の写真です。

30101BS

左から:
A-2301SR(秋月電子)
30101BS(Ali Express)
50101BS(共立エレショップ)

30101BSは50101BSの半分以下、A-2301SRは50101BSの1/4サイズ。

SandyBridge世代のマザーボードと最新のNVIDIAビデオカード

 前回の続き。そして解決編。

 PCIeの+12V供給を疑い、ジグを作って安定化電源から外部供給。これでやってみても不安定な現象は変わらず。+5%の12.6Vに振っても同様。

2017GPU3

 スロットでの差はないし、あとはどこに違いがあるんだろうかと情報収集を再度行ったら次のページが当たった。

NVIDIA GTX 1070 が正常作動しない時のチェックリスト(ぼくんちのTV別館)

 読んでみると「GTX7xx以降で」「2012年頃のマザーボード」と該当する話が。いま取り付けているGTX750ではBIOS画面に行けないのでGTX640に差し替え、これは問題なく起動してBIOS設定画面が開く。ここで PCI ROM Priorityを EFI Compatible ROM から Legacy ROMに変更。GTX750に戻して起動。

 たったこれだけでビープ音もなくWindowsが起動した。今までの苦労は。

 ついでにPCIe 2.0設定を3.0に変更したら起動しなかった。これは2.0のままにしておくことに。ぼくんちのTV別館さんに感謝。


※GTX1050については確認ができたら追記します。→問題なく起動しました。

PCIeの引き出し

 前回の続きでビデオカード GTX 1050Ti の修理があがってきたものの、取り付けて電源を入れるとWindowsは立ち上がらず再起動を繰り返すという現象を繰り返す。以前使っていた GTX 750 のボードは数回再起動を繰り返した後NVIDIAの文字を表示、崩れた画面を表示してからWindowsが立ち上がる。これもおかしい。これらのビデオカードは別のPCでは問題なく動く。さらに電源は600W品に交換しているのでマザーボード側の問題のように思える。消費電力を疑い手持ちのビデオカードで切り分けると:

GTX640 : 65W 問題なく起動
GTX750 : 60W 数回再起動を繰り返した後Windows起動
GTX 10650Ti : 75W  再起動を繰り返し、ブラックアウト

 GTX640とGTX750では消費電力は逆だがこれはTDPの値を拾ってきたので電源ON時の突入電流の違いが影響するのだろうと推測。さて、マザーボードを取り外すのはちょっと面倒なのでうってつけのジグを使うことにした。


Longruner USB 3.0 PCI-E Express 1x - 16x エクステンダー ライザーカード アダプター (ビットコイン採掘)+ 20cm電源ケーブル+ 60cm USB 3.0延長ケーブル 新型 LK81-1Longruner USB 3.0 PCI-E Express 1x - 16x エクステンダー ライザーカード アダプター (ビットコイン採掘)+ 20cm電源ケーブル+ 60cm USB 3.0延長ケーブル 新型 LK81-1

Longruner
売り上げランキング : 19177

Amazonで詳しく見る
by G-Tools
 主に仮想通貨のマイニング用途で複数のビデオカードを接続するのに使われるものだが、これを経由して外部から12Vを供給するようにする。ただしリンクはx16からx1となる。マザーボード側には小さなカードエッジを差し込み、USB3.0ケーブルを流用して9ピンを延長し、外部に引き出す。

2017GPU1

 このように外部に引き出してパソコンを動作させることができた。外部電源の端子で電圧を確認すると定常運転で11.79V。x16スロットのあるほうの基板裏側からみると電源は以下のように接続されている。3.3Vはケーブル経由では来ていない。この基板上で作られているようだ。

2017GPU2

 で、外部電源供給のかたちで使ってみたが再起動する現象はかわらない。PCIeの2,3,4番目のスロット経由でやってみても同様。少なくともスロット経由で供給される3.3Vは関係なさそうに思われる。次はここから線を引き出して電源投入時を観測してみるか。このパソコン使ってるのでレオポンさんチームのように走りながら修理するような感じなのだ。

 今回ちょうどインターフェース紙1月号の付録、コンピュータ手帳2018にPCIeの信号一覧が載ってたので役に立ったよ。これは便利。

Interface(インターフェース) 2018年1月号Interface(インターフェース) 2018年1月号

CQ出版 2017-11-25
売り上げランキング :

Amazonで詳しく見る
by G-Tools

連続パソコントラブル

 SandyBridge世代のCore i5-2400に2TBのHDDでWindows10というのがメインに使用しているパソコンなのだが特売のWD RED 4TBを入手してから連続してトラブルが発生した。やっと復旧したのでメモ。

 別にこいつが悪いわけではない ↓

WD HDD 内蔵ハードディスク 3.5インチ 4TB WD Red NAS用 WD40EFRX-RT2 5400rpm 3年保証WD HDD 内蔵ハードディスク 3.5インチ 4TB WD Red NAS用 WD40EFRX-RT2 5400rpm 3年保証

Western Digital 2016-12-03
売り上げランキング : 1704

Amazonで詳しく見る
by G-Tools

 使用していたHDD、CrystalDiskInfoで見るとS.M.A.R.T.の警告が出るようになっていたのでこの際交換してしまおうと確認したらマザーボードのSATAの設定がIDEモードになっていた。Windows7の頃から使っていたしこの際AHCIモードにしてしまえば若干性能アップだろう、と「Windows IDE AHCI」で検索してやってみた。これ自体は結果的には問題なかったのだが、ブートしなくなるという。さらにビープ音と共にOSまで至らず再起動を繰り返すようになってしまった。これは2つの問題が同時に起こってしまったせいが当初はわからず焦ってしまった。

 まずHDDを外し確認。BIOS画面まで行かず再起動の繰り返し。この時点でWindowsの設定変更は関係なくなった。ビデオカードを外し、CPUの内蔵グラフィックスで確認。これはうまくいく。ビデオカードを取り付けているとダメなようだ。ビデオカードは以前奮発してNVIDIA GTX1050Tiに交換したのだが故障か?それとも経年で電源が耐えられなくなったのか?使っていたのは400WのATX電源、これを600W品に交換して確認する。

玄人志向 STANDARDシリーズ 80 PLUS 600W ATX電源 KRPW-L5-600W/80+玄人志向 STANDARDシリーズ 80 PLUS 600W ATX電源 KRPW-L5-600W/80+

玄人志向 2015-07-17
売り上げランキング : 959

Amazonで詳しく見る
by G-Tools

 しかし現象は変わらず、再起動を繰り返す。これはビデオカードの故障と判断し、販売店に修理に出すことにした。一ヶ月しか経ってないのに。ということで手持ちのGTX640にダウングレード。なんでCPU内蔵グラフィックスではだめなのかというと、4K解像度に対応していないからなのだ。

 さてWindowsの方だが、HDDは2TB以上に対応させようと思ったためMBR形式からGPT形式に変更していた。しかしGPT形式だとブートしない。Windowsインストール時に媒体からUEFIモードでブートしていないとダメだということだった。使用マザーボードはZ68MA-G45 (G3)で、ブートメニュー自体にはUEFI CD/DVDの項目は出てくる。しかしこれでDVDに焼いたWindows10のインストールディスクから起動してまっさらなHDDにインストールしてもMBR形式になってしまう。USBメモリ経由のインストールでも同様。これはあきらめて起動ディスクは2TBまでの容量で新しいHDDにクローンし、MBR形式で使用するしかない。AHCIモードにはできたのでSATAディスクのホットスワップは可能。この結論に至るまで相当遠回りをした。

ST2000DX002 [FireCuda(2TB SSHD 3.5インチ SATA 6G 7200rpm 64MB)]ST2000DX002 [FireCuda(2TB SSHD 3.5インチ SATA 6G 7200rpm 64MB)]

AXIOM MEMORY SOLUTION LC
売り上げランキング : 432

Amazonで詳しく見る
by G-Tools

 ついでながらSSHDにクローンしてもたいして性能は変わらんかった。ちょっと今はこれを追求する気にもならん。

 ということで結局は最初に買った4TBのHDDは単なるデータディスクとして使うことになった。電源とSSHDとビデオカードの修理発送代が余計な出費となった。
 今のパソコンを使いはじめたのが2011年で、この頃はまだWindows7、UEFIでないレガシーBIOSの機種がまだまだ存在し、HDDは2TBが最大という時期。で、2017年の今にこれをちょっとはみ出したら連鎖的にトラブルが発生してしまった。ビデオカードの故障はまあ関係ないが問題の切り分けをさらに難しくしてくれた。時間も相当かかった。

 最近立ち寄ったブックオフ、パソコンなども扱うようになっていてCore i5-8500のOSなしケースもろもろ一式が2万円であった。今回の出費から考えると最初からこういうのを手に入れたほうがよかったんだろうか。それともまた楽しいトラブルが発生したんだろうか。

 疲れた。はやくビデオカード修理あがってこい。

ピコソフトの4bitマイコンエミュレータORANGE-4

 ピコソフトから発表されたマイコン演習キット、ORANGE-4が先行販売されたので組み立ててみた。
なお先行販売分なので仕様は変わる可能性があります。ファームがPICKit3などで書き換えられる環境のある人向け。

ORANGE-4(picosoft)
ピコソフト、教育用4bitマイコンボードを開発(ICT教育ニュース)
機械語プログラミングを学習できる——教育用4ビットマイコンボード「ORANGE-4」(fabcross)

学研大人の科学No.24付録の4bitマイコンGMC-4と互換で、さらにさかのぼるとGMC-4は電子ブロックFXのマイコンR-165が元になっているそうだ。GMC-4が出たときに作られたプログラム例がネット上にあるので遊べますね。

 キット内容。
2017O4-1

 コンデンサが多めにはいってた。PIC32のMX120F032Bが使われている。
2017O4-2

 背の低い部品からハンダ付けが基本なのだけど、LED7個を先に片足ずつハンダ付けして位置を調整したほうが見栄えがよいです。
2017O4-3

 主役のタクトスイッチ20個は対角の足をハンダ付けしてから目視できちんと並んでいるかどうか確認して修正。実際はパチンとはまるのでそこまで気にしなくてよい。
2017O4-4

 ここまでで動作確認。7セグLEDに"F"が表示され、キースイッチを押して音が出ればまずOK。
このあと添付のTK-80を思わせるキートップを印刷している紙から丁寧に切り取ってキーキャップ内側に付けていきます。
2017O4-5

 学研GMC-4と。
2017O4-6

 電流は無操作状態で0.02Aでした。
2017O4-8

 ショートを防ぐためのハンダ面に取り付ける板が普通のプリント板だったのにはなるほど、と。アクリルなど別に手配するよりも同じ基板製造で同時に入手できる、と思いました。
 現在、非互換部分や拡張機能などについてはfacebookのグループで先行して公開されています。facebookで"picosoft ORANGE-4"と検索すれば出てきます。

 キースイッチのおかげか存在感のあるボードです。遊びましょう。


で、現状シリアルポートが見えないんだよなあ。半田不良がないか確認中。
microUSBのD+、D-は無接続で電源供給のみ。シリアル通信は右側にある拡張端子を使用。


記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ