MicroPython的午睡(71) ラズパイPico、uctypesとuarray

uctypes_uarrayEC
Joseph Halfmoon

前回は「絶対番地アクセス可能なヤバイ奴」uctypesモジュールと structモジュールが「相互運用可能」ということで便利だと喜びました。「絶対番地」でアクセスできるので当たり前っちゃ当たりまえです。今回は、arrayモジュールの配列もまたuctypesでアクセスできるというこれまた当たり前の件を実習してみます。 “MicroPython的午睡(71) ラズパイPico、uctypesとuarray” の続きを読む

モダンOSのお砂場(48) Mbed OS6、SPI接続ADC、AVR から STM32付替

KeilStudioCloud_ADCtest
Joseph Halfmoon

別シリーズでSPI接続のADCをArduino Unoに取り付け、SPI接続の確認を実施。今回は同じことをNucleo-F401REでやってみます。OSはMBed OS v6.15を使用、開発環境には最近使い始めた Keil Studio Cloudを利用。慣熟訓練?Arduinoよりコード短いんじゃないかい。
“モダンOSのお砂場(48) Mbed OS6、SPI接続ADC、AVR から STM32付替” の続きを読む

うさちゃんと一緒(23) Z80の魔改造? Rabbit4000でアセンブラしてみる

addA_asm
Joseph Halfmoon

前回までの4回でRabbit4000のオペコードマップに色を塗って「理解」したつもり。かなりな大拡張ですがアセンブラレベルでは「ほぼほぼ」Z80の上位互換にみえないこともないです(バイナリ互換ではないです。)今回からRabbit4000上でアセンブリ言語ルーチンを動作させていきたいと思います。敷居が低いんだ、これが。 “うさちゃんと一緒(23) Z80の魔改造? Rabbit4000でアセンブラしてみる” の続きを読む

IoT何をいまさら(107) SPI接続のADC、AD7920をArduinoで制御してみる

AD7920DUT
Joseph Halfmoon

昨日「アナログ」の別件記事で、ADコンバータAD7920を単体動作させてみました。アナログねたの続きだったので単体でしたが、本来はマイコン等SPIインタフェースを持つデバイスに接続して使用するチップです。今回は、昨日結線したAD7920搭載のブレッドボードをArdunio Unoに接続してみます。

“IoT何をいまさら(107) SPI接続のADC、AD7920をArduinoで制御してみる” の続きを読む

MicroPython的午睡(70) ラズパイPico、uctypesとstruct

structEC
Joseph Halfmoon

前回前々回とuctypesモジュールを使ってCの「構造体」的なものにアクセスしてみました。しかしMicroPythonには、その名もズバリのstructモジュールがあるのです。こちらはCの「構造体」的なものにパックしたりアンパックしたりできるもの。「似たもの同士」だから、相互に運用可能じゃないかい?やってみました。 “MicroPython的午睡(70) ラズパイPico、uctypesとstruct” の続きを読む

うさちゃんと一緒(22) Z80の魔改造? Rabbit4000のオペコードマップその4

6DpageEC
Joseph Halfmoon

最強?のZ80後継機、Rabbit4000のオペコードマップを見てきましたが、ようやく完結です。今回はオペコードの第1バイトが0x6Dで始まるRabbit4000独自命令の面です。この面は「しがらみ」が無い分うさちゃんの「意思」がありあり。この面の全命令のニーモニックはLDなのですが、実は転送だけでもない、と。 “うさちゃんと一緒(22) Z80の魔改造? Rabbit4000のオペコードマップその4” の続きを読む

MicroPython的午睡(69) ラズパイPico、構造体アクセス、ビットフィールド含む

CtypesEC
Joseph Halfmoon

前回はMicroPythonのuctypesモジュールを使って、ラズパイPicoのCPUレジスタを直接読んでみました。しかし読み取りだけ、書き込みもビットフィールド・アクセスもやってないです。直接IO制御するなら練習しておかないと。今回はメモリ上のバイトアレイを練習相手に書き込みとビットフィールド操作をやってみます。
“MicroPython的午睡(69) ラズパイPico、構造体アクセス、ビットフィールド含む” の続きを読む

IoT何をいまさら(106) SAR型ADCの原理回路をArduinoで制御してみる

SAR_PROTO_DUT
Joseph Halfmoon

別シリーズでSAR型ADCの原理回路の実験をしました。しかしアナログ部分のみ、SAR(逐次比較)らしいデジタルの2分検索のステートマシンは実装せず、「また後で」などと書いてました。そこで今回はArduinoを使って「2分検索部分」をプログラムしてステートマシンで制御できそ~(でも不安あり)なところをやってみます。

“IoT何をいまさら(106) SAR型ADCの原理回路をArduinoで制御してみる” の続きを読む

IoT何をいまさら(105) MicroNavRingセンサをArduinoに接続してみる

NavRingArduino
Joseph Halfmoon

別シリーズでリング型の「タッチパッド」センサを入手。圧力の変化を抵抗の変化に変換するタイプの素子です。薄いドーナツ型形状なので、指でぐるぐる回したりする操作を検出するのに向いてそうです。しかし別シリーズでは手動で動作確認したのみ。マイコンで動かしてみないと。そーゆー時にお楽なのが伝統のArduinoであります。 “IoT何をいまさら(105) MicroNavRingセンサをArduinoに接続してみる” の続きを読む

うさちゃんと一緒(21) Z80の魔改造?Rabbit4000のオペコードマップその3

rabbit 4000 Opcode Map ED
Joseph Halfmoon

最強(最恐)のZ80後継機、Rabbit4000のオペコードマップを前々回前回とみてきた3回目です。今回は、オペコードの第1バイトが0xEDで始まるZ80の拡張命令(i8080に対しての拡張)面です。第1バイトでは命令の移転先を作ったりして殊勝なうさちゃんもED面では手厳しいです。自由自在どころが傍若無人な勢い。 “うさちゃんと一緒(21) Z80の魔改造?Rabbit4000のオペコードマップその3” の続きを読む

MicroPython的午睡(68) ラズパイPico、IOレジスタへの直接アクセス

Joseph Halfmoon

前回記事から約4か月もMicroPythonご無沙汰です。別処理系に手を伸ばしたせいで棚上げ状態。これではイケナイということでMicroPython再開でございます。しかし忘却力です。どうやってMicroPythonしたらよかったんだけ?まずはターゲットになるボードを取り出さないと。。。ラズパイPicoであります。 “MicroPython的午睡(68) ラズパイPico、IOレジスタへの直接アクセス” の続きを読む

うさちゃんと一緒(20) Z80の魔改造?Rabbit4000のオペコードマップその2

DD_EC
Joseph Halfmoon

前回は、Rabbit4000の、Z80「魔改造」第1バイトのオペコードマップを眺めてみました。しかしZ80にはDD、FDなどの第1バイトによって「拡張」されるオペコードマップも存在します。Rabbit4000の場合、DD,FD系も期待に違わぬ大拡張です。ただしここではZ80の元の命令には手は加えてません。

“うさちゃんと一緒(20) Z80の魔改造?Rabbit4000のオペコードマップその2” の続きを読む

うさちゃんと一緒(19) Z80の魔改造?Rabbit4000のオペコードマップ その1

OpcodeMainPage
Joseph Halfmoon

Rabbitシリーズ(販売元Digi社)のプロセッサはZ80「オマージュ」製品といっていいでしょう。しかし、Z80の盲腸化した仕様をチマチマ活用して拡張していた3000シリーズまでと比べると、4000シリーズ以降では大胆に拡張してます。そのレベル、もはや魔改造。Z80大好きな「中の人」が好き勝手やり放題でなかったかと。 “うさちゃんと一緒(19) Z80の魔改造?Rabbit4000のオペコードマップ その1” の続きを読む

手習ひデジタル信号処理(50) SDR、アンダーサンプリング、ナイキスト周波数より高い信号

UnderSamplingEC
Joseph Halfmoon

前回、三上先生のサンプルプログラムで、甲子園中継が受信できたと喜びました。しかし1点疑問あり。サンプリング周波数は900kHz(ナイキスト周波数は450kHz)なのに、受信したNHK第1放送(東京)は594kHzです。なぜ受信できるの?ここで登場するのがアンダーサンプリングとBPF(バンド・パスフィルタ)です。 “手習ひデジタル信号処理(50) SDR、アンダーサンプリング、ナイキスト周波数より高い信号” の続きを読む