
デジタル信号処理を学び直すべし、ということで三上直樹先生著のご本を購入、部品も購入し回路を作成、そして関連の雑誌記事発見、と準備に3回もかけてしまいました。いよいよネタバレにならない程度に本文を学んでいきたいと思います。まずはプログラムがビルドできるところからかな。インポートできるみたいだし、何もすることがない?
デバイス作る人>>デバイス使う人>>デバイスおたく
デジタル信号処理を学び直すべし、ということで三上直樹先生著のご本を購入、部品も購入し回路を作成、そして関連の雑誌記事発見、と準備に3回もかけてしまいました。いよいよネタバレにならない程度に本文を学んでいきたいと思います。まずはプログラムがビルドできるところからかな。インポートできるみたいだし、何もすることがない?
前回別件に行ってしまいましたが、今回は前々回の流れに戻ってMQTTのSubscribeを行ってみたいと思います。使用するMicroPythonは ESP32用の”generic” portです。M5ATOM Lite上での運用ですが、”generic”なので他のESP32デバイスでも動くと思います。
前回、RISC-Vのアセンブラを再開できたので、今回からは1命令づつ命令を動かしていきたいと思います。最初はMOVE(RISC-VのニーモニックではMV)命令です。単なるレジスタ間の転送。しかし、そこにある「仕掛け」をみるとRISC-Vのやり方というものが理解できる感じがします。単なるMOVE、されどMOVEか。クセが強いのう。
前回『初回が0なのはプログラムの仕様<バグともいう>です。』など勝手なことを書いて「逃げて」しまいました、すみません。今回はバグ修正版? ArmのWFI(Wait for Interrupt)命令を使って、割り込みが発生するまで「低消費電力で」待ちを入れたいと思います。まあこれとても根本的な対策ではないのでありますが。
前回は、ラズパイPicoのユニークなPIO(Programable IO)でパラレル入出力をやってみました。ただし、出力タイミングはCPUからの書き込み次第でした。今回は、CPUタイミングを排除し、ハード側の一定のタイミングで出力するとともに、パラレル出力には必須のストローブ信号を付加してみたいと思います。
久しぶりのCQ出版さんの「トランジスタ技術」誌です。2021年10月号。特集も「お役立ち」ですが、ちょっと気になる新連載が始まりました。三上直樹先生、『STM32マイコンではじまるPC計測』です。あれ、何か見覚えあるような。そうです前回のデジタル信号処理のご本の著者による連載。ちょうど準備済なんですわよ。
前回に続き、Microchip社ATSAMD51マイコンをローレベル(ハードに近いレベル)でプログラムしていきたいと思います。今回は内蔵ペリフェラルの発生する割り込みの受けです。「割り込み源」としては前回使用してみたTRNG(真性乱数ジェネレータ)を使います。今回は単なる割り込み源としての登場です。
ラズパイPicoのPIO(Programable IO)、前回は任意のデータの8ビットパラレル出力を行ってみました。今回は、前回の8ビット出力に加えて、4ビットのパラレル入力を追加してみたいと思います。実験用に外付け回路を追加。でもまだまだPIOアセンブラは数行、極めてシンプルであります。
ラズパイPicoのPIOですが、MicroPythonから使う方が簡単かな~などと思う今日この頃です。でもこちらのシリーズでは気を取り押してC/C++SDKでやります。さて、前回は単純bit-bangingでしたが、今回は任意の多ビットの値をPIO使って出力してみたいと思います。こんな進捗では何時までかかることやら。まあ急ぐ理由もなし。
超小型デバイスM5 ATOM Liteに、MicroPythonのESP32向けgenericポートを書き込んで動かしております。前回は nptサーバに接続してRTCに時刻を設定しました。今回はMQTTブローカにPublishして、Node-REDのダッシュボードにATOM LiteのRTCの時刻を表示させてみます。
近代的なマイコンの多くにはセキュリティ目的の周辺回路が含まれており、Microchip社ATSAMD51マイコンも例外ではありません。本日はその中からTRNG(True Random Number Generator)、真性乱数生成器を使ってみたいと思います。乱数素人なので乱数についてどうこうできるわけではないのですが。 “IoT何をいまさら(92) ATSAMD51、TRNG、「真性」乱数ジェネレータ” の続きを読む
他のマイコンでPIOと言えばパラレルIOでしょうが、ラズパイPico(のRP2040マイコン)では違います。プログラマブルIO。CPUとは独立に動作するIO専用のステートマシン。「MicroPython的午睡」シリーズで何度か使ってみましたが、C/C++から使うときはお作法が違う、ということで今回はPIO使ったオブジェクトのビルドのサンプル、bit-bangingを。