MicroPython的午睡(143)RPi PicoでM5Stackを挿げ替える

RPIPCO_SOFTDMA_SRAM_schematic
Joseph Halfmoon

たまたまその上でMicroPythonやっていたというだけで「ソフトウエア制御DMAC」のシーケンサと化していたM5Stackです。折角のM5Stackを単なるシーケンサに使うのはモッタイナイ。そこで今回「シーケンサ」ホストを台数に余裕のあるRaspberry Pi Pico機に変更。M5Stackはお役目から解放。
“MicroPython的午睡(143)RPi PicoでM5Stackを挿げ替える” の続きを読む

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、ソフト制御でバスサイクル生成” の続きを読む

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ループで火を入れる” の続きを読む

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

HANDROMdutEC
Joseph Halfmoon

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

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

部品屋根性(116) MCP6S21、プログラマブル・ゲイン・アンプ、単電源レイルツーレール

MCP6S21_PGA
Joseph Halfmoon

別件シリーズでプログラマブル・ゲイン・アンプ(PGA)が欲しかったので入手。Microchip社製品であります。3.3V単電源で動作するレイルツーレールのオペアンプです。ホストのマイコンとの接続はSPI。これにてx1倍からx32倍まで8段階のゲインで増幅可能です。マイコンのアナログ入出力の御供に最適? “部品屋根性(116) MCP6S21、プログラマブル・ゲイン・アンプ、単電源レイルツーレール” の続きを読む

MicroPython的午睡(138)M5Stack、MCP23017をIO拡張アダプタ化

MCP23017Adapter_M5Stack
Joseph Halfmoon

前回、M5StackにMCP23017 IOExpanderを取り付けてGPIOを増やしてみました。しかし前回はブレッドボード上での実験でした。これでは実際に使おうというときにイチイチ組み立て必要でメンドイ(ちょくちょく配線間違いもするし。。)といことで例によってM5Stack側面に接続する「アダプタ・ボード」化。

“MicroPython的午睡(138)M5Stack、MCP23017をIO拡張アダプタ化” の続きを読む

レトロな(9) 現物(コンパチ品だけれども)入手。Z80, 8085, 8088

compatibles_Z80_8085_8088
Joseph Halfmoon

昨年、第5回で8080、8085、Z80のハードウエアについて知ったような事を記述。第6回では今度は8080、Z80、8086のレジスタセットについてこれまた記述。でも「記述」だけで現物動かしてなかったのが気になって夜も眠れなかったデス。そこで今回は現物デバイスを入手。感慨もヒトシオだけれども動かす算段を考えないと。 “レトロな(9) 現物(コンパチ品だけれども)入手。Z80, 8085, 8088” の続きを読む