AIの片隅で(31) Googleの生成AI、Gemini、PIC16にメモリを接続してね

No2_FromGemini
Joseph Halfmoon

皆さま既にご活用の生成AIをおっかなビックリ触っている年寄です。Googleの生成AI、Gemini様に、Verilog論理回路トランジスタ増幅器デジタルフィルタ設計などお願い済。それなりのご回答あざーす。今回お願いしてみるのはマイコンとメモリの接続です。どちらも業界大手MicroChip社の具体製品を指定。

“AIの片隅で(31) Googleの生成AI、Gemini、PIC16にメモリを接続してね” の続きを読む

レトロな(17) 8085、SRAMへのリード、ライトサイクルを観察、OKよ。

HandAssemble
Joseph Halfmoon

前回作業で、古代の8ビット、インテル8085に接続したSRAMにRaspberry Pi PicoをDMACとして接続、ホストから書き込んだ機械語コードを実行できるようになったみたいっす。余勢を駆って?今回は短いプログラムをメモリの書き込み、SRAMへのメモリ・リード、メモリライトが出来ている確認をいたしました。 “レトロな(17) 8085、SRAMへのリード、ライトサイクルを観察、OKよ。” の続きを読む

レトロな(16) 8085にソフトDMAC初期化のSRAM接続、動いてるみたいね

8085DUT_BB
Joseph Halfmoon

前回、MicroPython制御の「ソフトウエアDMAC」によるSRAMの読み書きが不審な原因が判明、暫定対策したところ安定して読み書きできるようになりました。そこで一気に進捗を取り戻すべく、真のホスト8085をSRAMモジュールに接続してみました。ソフトウエアDMACでメモリ初期化したらそれらしく動いているみたい。 “レトロな(16) 8085にソフトDMAC初期化のSRAM接続、動いてるみたいね” の続きを読む

レトロな(15) ソフトDMACがダメダメな理由はアドレスバス上位側のせい

SIGNAL001EC
Joseph Halfmoon

第10回作成の「手動プログラム」主記憶では大したことができないので、ホスト8085にSRAMを接続しようとしています。別件シリーズでMicroPython制御のDMACモドキを作製、SRAMに読み書きできるようにしてみたのですが、その挙動が不審。ソフトウエアでぐちゅぐちゅやってないでロジアナあてたら原因判明。やっぱり? “レトロな(15) ソフトDMACがダメダメな理由はアドレスバス上位側のせい” の続きを読む

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