うさちゃんと一緒(9) HTTP Serverになってもらう、Rabbit4000

Rabbit4000onPrototypingBoard
Joseph Halfmoon

Z80上位互換のCPUは数あれど、うさちゃん印のRabbitはEthernetインタフェースまで搭載した強力なものであります(コマケーことを言うと完全な上位互換ではないようです。)ともあれ8ビットのZ80の64kバイトのメモリ空間の制約をバンクスイッチ的なハードで大拡張しているところは他の拡張CPU同様かもしれません。

“うさちゃんと一緒(9) HTTP Serverになってもらう、Rabbit4000” の続きを読む

ブロックを積みながら(70) Node-RED、rpi-gpio out ノード

RpiOUT_B0
Joseph Halfmoon

今回からRaspberry Pi上でNode-REDを走らせているときに使えるノードをいくつか実験して行きたいと思います。Raspberry Piの持つ拡張端子を直接操作していくものども。制約事項もままありますが、外部回路を接続できるので応用無限大?ホントか?

“ブロックを積みながら(70) Node-RED、rpi-gpio out ノード” の続きを読む

帰らざるMOS回路(19) ゲートレベル回路図で論理SIMでもあるまいに。GoでVCD生成。

GTKWave000
Joseph Halfmoon

別シリーズにてゲートレベル回路図の論理シミュレーションをやってみたらば結構よかったです。MOSトランシスタ記述も可能。昔ながらのシミュレータとはちょっと違う感じもしますが使いでが良いです。ただ「回路図レベル」です。とうに開発停止状態。そのシミュレータ出力をGo言語で変換してVCD波形ビューワーに接続してみました。

“帰らざるMOS回路(19) ゲートレベル回路図で論理SIMでもあるまいに。GoでVCD生成。” の続きを読む

ぐだぐだ低レベルプログラミング(68) ARM64(AArch64)、算術命令エイリアス#2

ArithAliasTable2
Joseph Halfmoon

前回に続きARM64の算術演算命令のエイリアスを動かしていきたいと思います。テーマはNegate、「符号反転」命令です。「2の補数」世界なので符号ビットの操作では終わりませんよ。上の表をみていただけばお分かりのとおり、NEG、NEGS、NGC、NGCSと4命令もあります。まあみんなSUB系命令のエイリアスですが。

“ぐだぐだ低レベルプログラミング(68) ARM64(AArch64)、算術命令エイリアス#2” の続きを読む

やっつけな日常(20) Raspberry Pi 3、5V IO Expander動作確認

DUT_schematic
Joseph Halfmoon

前回、ラズパイ3機からとりだしたI2C配線を5V化するところの配線の接続確認で疲れてハードだけで終わってました。今回は動作確認用のソフトウエア(Python スクリプト)を走らせてIO Expander MCP23017が動作OKなことを確認します。動作確認方法は吉例LEDの点滅です。

“やっつけな日常(20) Raspberry Pi 3、5V IO Expander動作確認” の続きを読む

忘却の微分方程式(48) 反復練習12、固有値と固有ベクトル、対角化 Maxima

eigenEC
Joseph Halfmoon

このシリーズ、1か月ほど間が空いてしまいました。老人の忘却力とて、1か月もお休みするとMaximaの使い方も危ないです。か細い記憶をたどりつつ、前回の流れで今回は固有値と固有ベクトルの計算、そして対角化へと入っていきとうございます。みんな大好き P-1AP ってやつ?

“忘却の微分方程式(48) 反復練習12、固有値と固有ベクトル、対角化 Maxima” の続きを読む

手習ひデジタル信号処理(40) CICフィルタ使ったデシメータ利用狭帯域フィルタその1

DS_DUT
Joseph Halfmoon

デシメーションというのは古代ローマの恐ろしい刑罰にその名を発するようです。長い歴史の中でも実例はそれほど多くないみたいです。しかしデジタル信号処理業界?ソフトウエア無線などではすこぶる頻繁にお目にかかります。サンプリング周波数を低い方に変更するダウンサンプリングとそれに伴う低域通過フィルタ処理を行うもの。

“手習ひデジタル信号処理(40) CICフィルタ使ったデシメータ利用狭帯域フィルタその1” の続きを読む

データのお砂場(34) R言語、Personal Expenditure Data

USPersonalExpenditure plot
Joseph Halfmoon

今回も米国の古い時代のデータです。戦前(第2次大戦ですぞ。応仁の乱でもウクライナ戦争でもありませぬ)から戦後にかけての米国の消費支出のデータらしいです。戦後の「順調な拡大」が読み取れる一方、米国といってもまだまだエンゲル係数高そうな感じです。今と比べると大分様子が異なります。だいたいタバコが重要な支出となっているし。

“データのお砂場(34) R言語、Personal Expenditure Data” の続きを読む

AT SAMの部屋(17) XiaoでもGo!TCCインプットキャプチャへの遠い道のり

EVSYS_Route
Joseph Halfmoon

ATSAMD21のタイマ・カウンタ機能、インプット・キャプチャとか周波数計測などに触ってみるために、今回からイベントというものを調べていきたいと思います。いつも泥縄、ソースを書きながらデータシートを眺めているので、今回は先にデータシートを読んでみた編。でも端子からタイマ・カウンタまでのイベントの経路の長さ。。。

“AT SAMの部屋(17) XiaoでもGo!TCCインプットキャプチャへの遠い道のり” の続きを読む

ブロックを積みながら(69) Node-RED、HTTP in / outノードその2

ThreeStepFlow
Joseph Halfmoon

前回 HTTP in/outノードを試用してみましたがinとoutの間に何も処理を挟まなかったのでそれらしくありませんでした。今回はtemplateノード一つ挟んで、HTTPらしくGETして、POSTして、とやって見たいと思います。まあ、Node-REDで普通のWebサイトを作る気はないのですが、やれば出来る、と。

“ブロックを積みながら(69) Node-RED、HTTP in / outノードその2” の続きを読む

AT SAMの部屋(16) XiaoでもGo!RTCの歩度調整機能の補足

Joseph Halfmoon

前回、TinyGoのATSAMD21上でのRTC設定についてホンワカしたことを書いてしまったので今回は図入りで補足させていただきます。また、RTC内蔵の「デジタル歩度調整機能」の制限(なぜTinyGoの使い方とは両立しないか)についても述べさせていただきます。結局時計にしたければアナログ歩度調整してからなのよ。。。

“AT SAMの部屋(16) XiaoでもGo!RTCの歩度調整機能の補足” の続きを読む

ぐだぐだ低レベルプログラミング(67) ARM64(AArch64)、算術命令エイリアス#1

ArithAliasTable
Joseph Halfmoon

前回ようやく終わったadd系(足し算)の次はsub系(引き算)かというと似たことを繰り返しても仕方ないなと思いました。そこで算術演算命令の中で「微妙な」cmp系へ行きたいと思います。RISCあるあるの「実はcmp命令なんて無い」というオチの命令群です。勿論ちゃんと動作します。裏ではsub系命令が暗躍?していますぞ。

“ぐだぐだ低レベルプログラミング(67) ARM64(AArch64)、算術命令エイリアス#1” の続きを読む

AT SAMの部屋(15) XiaoでもGo! TinyGoのRTC設定状況と周波数補正

Result
Joseph Halfmoon

TinyGoを使ってATSAMD21マイコンの周辺回路を制御しています。前から気になっていたのがRTCです。TinyGoのデフォルトを調べていると動いているっぽいです。この際調べておこうと。その過程でこのMCUにはRTCの精度をあげられる仕組みがあることに気づきました。TinyGoは使ってないみたいですが。

“AT SAMの部屋(15) XiaoでもGo! TinyGoのRTC設定状況と周波数補正” の続きを読む

手習ひデジタル信号処理(39) M系列信号を使う白色雑音の発生その2

Spectrum
Joseph Halfmoon

前回、白色雑音(ホワイトノイズ)の生成に使うLFSR(Liner Feedback Shift Register)を「わざわざ」ゲートレベルの回路図でシミュレーション。LTspice使う荒業?です。今回は三上先生のプログラムを実機STM32マイコン上で動作させてみます。Cで書けばLFSRなど何ということもない?

“手習ひデジタル信号処理(39) M系列信号を使う白色雑音の発生その2” の続きを読む