MicroPython的午睡(142)M5Stack、SoftI2Cで無理やりSRAM初期化

SOFTI2Connection
Joseph Halfmoon

前回、MicroPython制御のDMAコントローラもどきにSRAMモジュールを接続。一応、読み書き出来ているのですが、非常に不安定。その嫌疑はIOExpanderを接続しているI2Cバスにかかりました。I2C操作が失敗していることが多いみたいです。まずは信号品質のチェック?そして無理やりSRAMの初期化ができるところまで。 “MicroPython的午睡(142)M5Stack、SoftI2Cで無理やりSRAM初期化” の続きを読む

MicroPython的午睡(141)M5Stack、SRAMモジュール読み書き、ダメダメよ

M5Stack32KBSRAMmodule_schematic
Joseph Halfmoon

前回、MicroPythonのソフト制御のDMAコントローラ一丁あがりとぬか喜び。早速制御対象のSRAMモジュールを組立。8085風味の8ビット・マルチプレクス・バス接続です。ジャンパ配線多過ぎ。MicroPython制御でメモリに読み書きは出来るみたいなんだけれども信頼性ダメダメ。嫌疑はI2Cバスに。。。

“MicroPython的午睡(141)M5Stack、SRAMモジュール読み書き、ダメダメよ” の続きを読む

MicroPython的午睡(140)M5Stack、ソフト制御でバスサイクル生成

M5Stack8085SoftDMA_busCycleEC
Joseph Halfmoon

前回は古いハードを掘り起こし、M5StackのI2Cバス(3.3V)の先に5Vの外部電源動作のIOExpander MCP23017を2個接続OKなことまで確認しました。今回はMCP23017を制御して古代の8ビット8085風味のバスサイクルを作り出してみます。MicroPython制御のDMAコントローラ一丁あがり? “MicroPython的午睡(140)M5Stack、ソフト制御でバスサイクル生成” の続きを読む

お手軽ツールで今更学ぶアナログ(180) インダクタンスの自己共振周波数

SimulationResults
Joseph Halfmoon

アナデバ社(ADI社)のWeb記事『StudentZone』、学生でもないのに勝手にフォロー、実験などしてまいりました。最近変調あり。以前は1か月にほぼ1度英文記事が公開され、約1か月後くらいに日本語版が公開というペース。しかし英文版は2023年12月号で更新停止。日本語版は11月号までです。何かあったのか?心配っす。

“お手軽ツールで今更学ぶアナログ(180) インダクタンスの自己共振周波数” の続きを読む

PIC三昧(28) PIC16F18855、CWGの駆動波形をフォトカプラで電源分離

DRV_WAVEFORM
Joseph Halfmoon

前々回ハーフブリッジ駆動波形、前回フルブリッジ駆動波形とCWG機能を練習。別件シリーズで制御対象となりそうなパワーMOSFETにも触りました。そのくせCWGで生成した波形を直ぐにパワーMOSFETに接続しなかったのは信号レベルが違うから。PIC16側の3.3Vに対してパワーMOSFETのゲートは10V推奨みたいです。

“PIC三昧(28) PIC16F18855、CWGの駆動波形をフォトカプラで電源分離” の続きを読む

レトロな(14) HOLDかけてバスの使用権リクエスト、アクノリッジを観察

hold_holda_waveform
Joseph Halfmoon

前回は8085のREADY信号を操作して「ワン・ウエイト」挿入してみました。今回はHOLD信号を操作してバスを乗っ取ります。後で「ソフトウエア制御のDMAコントローラ」をバスに接続してこの後接続予定のSRAMに勝手アクセスする準備であります。モダンなマイコンにもDMAあり、でも自分でリクエスト信号つくったりしないな。

“レトロな(14) HOLDかけてバスの使用権リクエスト、アクノリッジを観察” の続きを読む

MicroPython的午睡(139)M5Stack、MCP23017 2個接続、異電源

M5Stack8085DMA_BB.PNG
Joseph Halfmoon

前回前々回とI2C接続のIO Expander、MCP23017をM5Stackに接続するの回でした。シツコク今回も接続。以前と異なるのは「同じI2Cバスに2個接続」「I2Cバスは3.3VだけれどもIO Expanderは外部5V電源」という点。別シリーズで扱っている古代のマイコンのDMAコントローラにするためね。
“MicroPython的午睡(139)M5Stack、MCP23017 2個接続、異電源” の続きを読む

レトロな(13) 74HC74で漏れなく1ウエイト、必要ないけど入れてみる

1WaitEC
Joseph Halfmoon

「バスウエイト」、現代でも縁の下ひっそりと働いているハズですが今や滅多に聞きませぬ。みな自動で良きに計らってくれるシステムばかりだからか。昭和の御代ではまず間違いなくココは何ウエイト、あそこはいくつと設定せねば動かぬシステムばかりであったのでありますが。今回はそんなウエイトをかけてみます。実際は要らないのだけれども。

“レトロな(13) 74HC74で漏れなく1ウエイト、必要ないけど入れてみる” の続きを読む

レトロな(12) ALEの御供といえば、74LS373だっ。その当時はね。

SN74LS373N
Joseph Halfmoon

前回は8085をNOP無限ループに閉じ込めて動かした、という割には一部の制御信号をオシロで当たっただけで「バス動作」らしいところを観察してませんでした。前回の回路では「アドレスバス」が独立してなかったからデス。そこで今回はTTLの代表選手(個人の見解です)74LS373を投入。アドレス・バスを取り出しました。
“レトロな(12) ALEの御供といえば、74LS373だっ。その当時はね。” の続きを読む

レトロな(11) 8085(コンパチ品だけれども)無限NOPループで火を入れる

8085DUT
Joseph Halfmoon

前回、および別シリーズ回で着々と部品を準備。今回は遂にいにしえの8ビットプロセッサ8085(コンパチ品だけれども)に火を入れてみます。まあ無限NOPループの中でクルクル回るだけだけれども。これでもハードが動いていることは確認できるハズ。無限ループで練習した後はDMAアクセス可のSRAMを接続したいデス。
“レトロな(11) 8085(コンパチ品だけれども)無限NOPループで火を入れる” の続きを読む

定番回路のたしなみ(45) 素朴なRESET回路、リセット期間 500μsは確保してね

waveformShort
Joseph Halfmoon

単純なロジックにリセットかけるのであればクロック信号「数発分」の期間でこと足りるハズ。しかしマイコンのパワーオン・リセットのときは結構長いRESET期間が要求されることがあります。「レトロな」シリーズで現在取り組み中の8085の場合最低500μ秒。レトロだから長いわけでなく現代のマイコンでも長いものは長いと。なんでだ?
“定番回路のたしなみ(45) 素朴なRESET回路、リセット期間 500μsは確保してね” の続きを読む

レトロな(10) NOPループ用手動プログラミングROM作成

HANDROMdutEC
Joseph Halfmoon

前回、古代の8ビット・プロセッサ共(80系)を入手。まずは「火をいれて」最近ご無沙汰なパラレル・バスの動作などを愛でたいと思いました。しかし今時、昔の8ビットCPUを刺せば動くようなボードもなく、前回は「どうする?」で止まってました。今回は古代のプロセッサ共をNOP無限ループに陥らせるためのハードウエアを工作。

“レトロな(10) NOPループ用手動プログラミングROM作成” の続きを読む

PIC三昧(27) PIC16F18855、CWGでフル・ブリッジ駆動波形を生成

FullBridgeFwdRev
Joseph Halfmoon

前回ハーフ・ブリッジ駆動波形を生成したので、今回はフル・ブリッジです。モータを駆動するためのHブリッジ回路を念頭にCWGを設定してみました。まあブリッジ回路の現物が無いのでとりあえずAD2のロジアナ・モードでCWGの出力波形を観察してみただけですが。まあ正転、逆転できそうな感じではあります。早く実験用の部品買えよ。 “PIC三昧(27) PIC16F18855、CWGでフル・ブリッジ駆動波形を生成” の続きを読む

MicroPython的午睡(137)M5Stack UIFlow2、IO端子数を大幅拡張

M5Stack_MCP23017_DUT
Joseph Halfmoon

M5Stackは筐体の側面に各種端子が出ています。結構な数があるようでいて、それぞれの用途を活かして使おうと考えると「単なるGPIO」の数がちょっと足らない感じがしないでもない。そこで今回はIO ExpanderをM5Stackに接続してみました。1チップの接続でなんと16本のGPIO増。最大8チップで128本MAX。
“MicroPython的午睡(137)M5Stack UIFlow2、IO端子数を大幅拡張” の続きを読む