前回、Rabbit4000のメモリマップと称するものを掲げつつ、本人も釈然としておりませんでした。今回、実機に「問いかけつつ」分かってきたのが、Rabbit4000のチップセレクトロジックが果たす役割です。物理アドレスのその先にもう一段階の対応関係がアリーの。うさちゃん、思ったよりももっと複雑。 “うさちゃんと一緒(11) Rabbit4000(RCM4010)のチップセレクトロジック” の続きを読む
うさちゃんと一緒(10) Rabbit4000(RCM4010)のメモリマップ(仮)
うさちゃんRabbit4000(モジュール型番としてはRCM4010)でプログラムを書いていくにあたって、知らん事が多いなと痛感いたしました。その一番はメモリの構成です。Z80的16ビット論理アドレスから24ビットの物理アドレスに拡張しているRabbit4000の仕組みをまず知ろうと。ううむ、調べてみるといろいろ複雑。
うさちゃんと一緒(9) HTTP Serverになってもらう、Rabbit4000
Z80上位互換のCPUは数あれど、うさちゃん印のRabbitはEthernetインタフェースまで搭載した強力なものであります(コマケーことを言うと完全な上位互換ではないようです。)ともあれ8ビットのZ80の64kバイトのメモリ空間の制約をバンクスイッチ的なハードで大拡張しているところは他の拡張CPU同様かもしれません。
手習ひデジタル信号処理(40) CICフィルタ使ったデシメータ利用狭帯域フィルタその1
デシメーションというのは古代ローマの恐ろしい刑罰にその名を発するようです。長い歴史の中でも実例はそれほど多くないみたいです。しかしデジタル信号処理業界?ソフトウエア無線などではすこぶる頻繁にお目にかかります。サンプリング周波数を低い方に変更するダウンサンプリングとそれに伴う低域通過フィルタ処理を行うもの。
AT SAMの部屋(17) XiaoでもGo!TCCインプットキャプチャへの遠い道のり
ATSAMD21のタイマ・カウンタ機能、インプット・キャプチャとか周波数計測などに触ってみるために、今回からイベントというものを調べていきたいと思います。いつも泥縄、ソースを書きながらデータシートを眺めているので、今回は先にデータシートを読んでみた編。でも端子からタイマ・カウンタまでのイベントの経路の長さ。。。
AT SAMの部屋(16) XiaoでもGo!RTCの歩度調整機能の補足
前回、TinyGoのATSAMD21上でのRTC設定についてホンワカしたことを書いてしまったので今回は図入りで補足させていただきます。また、RTC内蔵の「デジタル歩度調整機能」の制限(なぜTinyGoの使い方とは両立しないか)についても述べさせていただきます。結局時計にしたければアナログ歩度調整してからなのよ。。。
AT SAMの部屋(15) XiaoでもGo! TinyGoのRTC設定状況と周波数補正
TinyGoを使ってATSAMD21マイコンの周辺回路を制御しています。前から気になっていたのがRTCです。TinyGoのデフォルトを調べていると動いているっぽいです。この際調べておこうと。その過程でこのMCUにはRTCの精度をあげられる仕組みがあることに気づきました。TinyGoは使ってないみたいですが。
手習ひデジタル信号処理(39) M系列信号を使う白色雑音の発生その2
前回、白色雑音(ホワイトノイズ)の生成に使うLFSR(Liner Feedback Shift Register)を「わざわざ」ゲートレベルの回路図でシミュレーション。LTspice使う荒業?です。今回は三上先生のプログラムを実機STM32マイコン上で動作させてみます。Cで書けばLFSRなど何ということもない?
AT SAMの部屋(14) XiaoでもGo!machine.TCC1使用、PWM出力
Go言語でMCUのコードを生成できるTinyGoでATSAMD21マイコンの周辺回路を勉強しております。前回までunsafeなポインタを使って直接アクセスする不作法をしてました。今回は machine モジュールを使ってTCC1からPWM波形を出力してみます。制御は簡単なのですが、データシートを読むのがメンドイ。
うさちゃんと一緒(8) HTTP clientでNode-REDとお話、Rabbit4000
今回は上位層に上がってHTTPです。まずはクライアントになってサーバーにリクエストを投げてみて、Wiresharkで観察する、の回。というのも別件投稿にてNode-REDのフローとして「サーバー」を「構築」途上であるためです。例のごとく、うさちゃんRabbit4000にNode-REDの対話相手になってもらいます。
AT SAMの部屋(13) XiaoでもGo!XOSC32K、32Kクリスタルの発振ON
前回ATSAMD21G18の内蔵OSCの出力を空いているクロックジェネレータを経由して外部端子に出力してみました。そのとき気になったのは「Xiaoボード、外付け32Kの振動子積んでたよね、使ってないの?」という件。今回はお休みしていたらしいXTALに活を入れて起動し、前回同様の方法で周波数を確認してみます。使えるの?
AT SAMの部屋(12) XiaoでもGo!内蔵OSCクロックをポート出力して周波数測定
TinyGoを使ってArm Cortex-M0+コア搭載Microchip社ATSAMD21マイコンの周辺回路を探っております。前回9本あるクロックジェネレータのうち5本が空いてることに気づきました。今回はそのうちの2本を使って、内蔵のオシレータのクロック信号を外部に出力しオシロで周波数を測定してみました。
AT SAMの部屋(11) XiaoでもGo!GCLK、全ジェネレータの使用状況
AT SAMの部屋(10) XiaoでもGo! GCLK.CLKCTRLレジスタを全ダンプ
Go言語でMCU向けのプログラムが書けるTinyGoを使ってみています。前回は発振器まわりの制御レジスタを直接読んでみました。今回はクロックジェネレータ関係を調べようと思ったのですが1点障害あり、unsafeなモジュールなどにご登場いただいてしまいました。厳格なようでいてそんな操作もできるTinyGoはMCU向き?