
前回、MicroPython制御のDMAコントローラもどきにSRAMモジュールを接続。一応、読み書き出来ているのですが、非常に不安定。その嫌疑はIOExpanderを接続しているI2Cバスにかかりました。I2C操作が失敗していることが多いみたいです。まずは信号品質のチェック?そして無理やりSRAMの初期化ができるところまで。 “MicroPython的午睡(142)M5Stack、SoftI2Cで無理やりSRAM初期化” の続きを読む
デバイス作る人>>デバイス使う人>>デバイスおたく
前回、MicroPython制御のDMAコントローラもどきにSRAMモジュールを接続。一応、読み書き出来ているのですが、非常に不安定。その嫌疑はIOExpanderを接続しているI2Cバスにかかりました。I2C操作が失敗していることが多いみたいです。まずは信号品質のチェック?そして無理やりSRAMの初期化ができるところまで。 “MicroPython的午睡(142)M5Stack、SoftI2Cで無理やりSRAM初期化” の続きを読む
前回、MicroPythonのソフト制御のDMAコントローラ一丁あがりとぬか喜び。早速制御対象のSRAMモジュールを組立。8085風味の8ビット・マルチプレクス・バス接続です。ジャンパ配線多過ぎ。MicroPython制御でメモリに読み書きは出来るみたいなんだけれども信頼性ダメダメ。嫌疑はI2Cバスに。。。
前回は古いハードを掘り起こし、M5StackのI2Cバス(3.3V)の先に5Vの外部電源動作のIOExpander MCP23017を2個接続OKなことまで確認しました。今回はMCP23017を制御して古代の8ビット8085風味のバスサイクルを作り出してみます。MicroPython制御のDMAコントローラ一丁あがり? “MicroPython的午睡(140)M5Stack、ソフト制御でバスサイクル生成” の続きを読む
前々回ハーフブリッジ駆動波形、前回フルブリッジ駆動波形とCWG機能を練習。別件シリーズで制御対象となりそうなパワーMOSFETにも触りました。そのくせCWGで生成した波形を直ぐにパワーMOSFETに接続しなかったのは信号レベルが違うから。PIC16側の3.3Vに対してパワーMOSFETのゲートは10V推奨みたいです。
前回は8085のREADY信号を操作して「ワン・ウエイト」挿入してみました。今回はHOLD信号を操作してバスを乗っ取ります。後で「ソフトウエア制御のDMAコントローラ」をバスに接続してこの後接続予定のSRAMに勝手アクセスする準備であります。モダンなマイコンにもDMAあり、でも自分でリクエスト信号つくったりしないな。
前回、前々回とI2C接続のIO Expander、MCP23017をM5Stackに接続するの回でした。シツコク今回も接続。以前と異なるのは「同じI2Cバスに2個接続」「I2Cバスは3.3VだけれどもIO Expanderは外部5V電源」という点。別シリーズで扱っている古代のマイコンのDMAコントローラにするためね。
“MicroPython的午睡(139)M5Stack、MCP23017 2個接続、異電源” の続きを読む
前回は8085をNOP無限ループに閉じ込めて動かした、という割には一部の制御信号をオシロで当たっただけで「バス動作」らしいところを観察してませんでした。前回の回路では「アドレスバス」が独立してなかったからデス。そこで今回はTTLの代表選手(個人の見解です)74LS373を投入。アドレス・バスを取り出しました。
“レトロな(12) ALEの御供といえば、74LS373だっ。その当時はね。” の続きを読む
前回、および別シリーズ回で着々と部品を準備。今回は遂にいにしえの8ビットプロセッサ8085(コンパチ品だけれども)に火を入れてみます。まあ無限NOPループの中でクルクル回るだけだけれども。これでもハードが動いていることは確認できるハズ。無限ループで練習した後はDMAアクセス可のSRAMを接続したいデス。
“レトロな(11) 8085(コンパチ品だけれども)無限NOPループで火を入れる” の続きを読む
単純なロジックにリセットかけるのであればクロック信号「数発分」の期間でこと足りるハズ。しかしマイコンのパワーオン・リセットのときは結構長いRESET期間が要求されることがあります。「レトロな」シリーズで現在取り組み中の8085の場合最低500μ秒。レトロだから長いわけでなく現代のマイコンでも長いものは長いと。なんでだ?
“定番回路のたしなみ(45) 素朴なRESET回路、リセット期間 500μsは確保してね” の続きを読む
前回、古代の8ビット・プロセッサ共(80系)を入手。まずは「火をいれて」最近ご無沙汰なパラレル・バスの動作などを愛でたいと思いました。しかし今時、昔の8ビットCPUを刺せば動くようなボードもなく、前回は「どうする?」で止まってました。今回は古代のプロセッサ共をNOP無限ループに陥らせるためのハードウエアを工作。
前回ハーフ・ブリッジ駆動波形を生成したので、今回はフル・ブリッジです。モータを駆動するためのHブリッジ回路を念頭にCWGを設定してみました。まあブリッジ回路の現物が無いのでとりあえずAD2のロジアナ・モードでCWGの出力波形を観察してみただけですが。まあ正転、逆転できそうな感じではあります。早く実験用の部品買えよ。 “PIC三昧(27) PIC16F18855、CWGでフル・ブリッジ駆動波形を生成” の続きを読む
M5Stackは筐体の側面に各種端子が出ています。結構な数があるようでいて、それぞれの用途を活かして使おうと考えると「単なるGPIO」の数がちょっと足らない感じがしないでもない。そこで今回はIO ExpanderをM5Stackに接続してみました。1チップの接続でなんと16本のGPIO増。最大8チップで128本MAX。
“MicroPython的午睡(137)M5Stack UIFlow2、IO端子数を大幅拡張” の続きを読む