いつもありがとうございます
SMD工房です
 

本日開催予定だった同人ハードウェアmeetupに参加予定でしたが、

コロナウィルスの影響で中止になってしまったので、前回の更新から活動の内容をここで紹介します。

 

■作成したもの:  Visual Memory Console (STM32H7版)

昨年の11月開催のゲームレジェンドでも一部の人には言いましたが、次はNEOGEO動かすことにしました。

また悪魔合体とか言われそうですが、まぁいいじゃないですか。

とにかく、NEOGEOを動かしましょう。

Let's MAKE!

 

<主な変更点>

変更点はCPUのみです。

MegaDriveでも若干処理落ちしていたので、よりパワーが必要なNEOGEOはそのままでは厳しいと感じていました。

そこで、最新のSTM32が出るのをずっと待っていました。

前モデルと比較してみましょう。

  変更前 変更後
型番 STM32F769  STM32H747
Clock  216MHz 480MHz
ROM 2M 2M
RAM 512k 1M
Core Single Dual

CPU Coreは両方ともCortex-M7なのですが、STM32H7ではClockが480MHzになっています。

STM32F7が216MHzだったので、倍以上のパフォーマンスアップになっています。

しかも、240MHzのCortex-M4も搭載しており、DualCoreになっています。

現状ではCortex-M4は使っておらず、SingleCoreとして使っています。

将来的にはSub CPUのエミュレーションとか別Coreで動作させたら面白いかも知れません。

 

単純にClock UPしただけだから、変更は簡単だろうと思っていたら、かなりハマりました。

同じ176pinなのに、ほぼ共通なpinは無く、全部配線し直し。

しかも、電源周りがSMPSになっており、かなりの変更を強いられました。

なので、一度基板作成に失敗しています。

<失敗した基板(表)>

<失敗した基板(裏)>

一部Jumperで修正したものの、CPUの下を通っている配線を修正する必要があり、

結局基板を作り直すことに。

 

<作り直した基板(表)>

<作り直した基板(裏)>

今年に入ってJLCPCBでレジストを黒指定にした場合ExtraCostが

かかるようになってしまったので仕方なく緑色にしました。

 

<結果>

NEOGEOはスムーズに動作します。

MetalSlugはSDRAMの容量の関係上、初代しか動作できないのが残念です。

 

<問題点>

リチウムイオンバッテリの残量を計測するためのICが偽物でした。

MAX17043というICなのですが、これをAliexpressで購入し、何個も実装しているのにもかかわらず。

I2Cの通信を試みても応答が無かったので、半田不良 or プログラムミスかもしれないということで

調査は後回しにしていました。

と・こ・ろ・が、いくら調査しても原因が掴めず悩んでいたところに

外国の掲示板でAliexpressで販売しているMAX17043のほぼ全部がfake品である書き込みががが・・・

fake品はI2Cのアドレスが違うので、試にfake品のIDで通信してみると応答があり。(正規品0x6C、fake品は0x64)

ビンゴ!です。見事に騙されました。

ちなみに、fake品ではまともにバッテリ残量が計測できません。

仕方がないので正規品をDigikeyとかMouserで買おうとしたのですが、ディスコンになっているみたいで売ってません。

MAX17048という新しいモデルならば入手可能なので調べてみると、pin互換でこれならイケる!

と思ったらFootprintが違うじゃないですか、なんで変えるんだ?アホか?

というわけでまた基板を作り直しなのですが、コロナの影響でかなり遅れそうです...orz

 

<感想>

販売してほしいという意見を聞いているので、なるべく現時点でまとなものを出したいという気持ちから

改良に改良を加えてと繰り返しているうちに時間だけが経ってしまっています。

気長にお待ち頂ければ幸いです。