AT SAMの部屋(13) XiaoでもGo!XOSC32K、32Kクリスタルの発振ON

WaveFormXOSC32
Joseph Halfmoon

前回ATSAMD21G18の内蔵OSCの出力を空いているクロックジェネレータを経由して外部端子に出力してみました。そのとき気になったのは「Xiaoボード、外付け32Kの振動子積んでたよね、使ってないの?」という件。今回はお休みしていたらしいXTALに活を入れて起動し、前回同様の方法で周波数を確認してみます。使えるの?

“AT SAMの部屋(13) XiaoでもGo!XOSC32K、32Kクリスタルの発振ON” の続きを読む

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

httpinoutEC
Joseph Halfmoon

前回 TCP in / out ノードをやってみたので、今回は HTTP in / out です。2つを直接接続すれば一応ノードとしての動作確認はできるのですが実用になりません。やっぱり高水準です。in と out の間に処理を挟みたいです。それにリクエストを投げる側にも準備がいる、と。まあ改良した実験はまた今度と。

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

AT SAMの部屋(12) XiaoでもGo!内蔵OSCクロックをポート出力して周波数測定

OSC_CLK2Port
Joseph Halfmoon

TinyGoを使ってArm Cortex-M0+コア搭載Microchip社ATSAMD21マイコンの周辺回路を探っております。前回9本あるクロックジェネレータのうち5本が空いてることに気づきました。今回はそのうちの2本を使って、内蔵のオシレータのクロック信号を外部に出力しオシロで周波数を測定してみました。

“AT SAMの部屋(12) XiaoでもGo!内蔵OSCクロックをポート出力して周波数測定” の続きを読む

ぐだぐだ低レベルプログラミング(66) ARM64(AArch64)、adc、加算キャリー付

ADD_INSN_ADDC
Joseph Halfmoon

add系命令の5回目です。流石にそろそろaddを終わらせて次回は次の命令に行きたいと思います。addの最後を飾る?のはadc、キャリー付きのaddです。ソースオペランドレジスタ2個に加えてキャリーフラグの1ビットを加えるもの。この命令に関してだけは、オペランドのシフトも拡張もありません。良かった簡単で。

“ぐだぐだ低レベルプログラミング(66) ARM64(AArch64)、adc、加算キャリー付” の続きを読む

やっつけな日常(18) いまさらゲートレベル回路図で論理シミュレーションでもあるまいが

LogisimEC
Joseph Halfmoon

別シリーズでゲートレベルの小さな論理回路図の動作を確認したかったのです。HDLからもっと高級な方へ動いている世の中でゲートレベルの回路図の論理シミュレーションなど今は昔?しかたないのでアナログシミュレータLTspiceのロジック使いで切り抜けました。牛刀割鶏。その後なにか無いかとNetを探しまわった結果がコレです。

“やっつけな日常(18) いまさらゲートレベル回路図で論理シミュレーションでもあるまいが” の続きを読む

AT SAMの部屋(11) XiaoでもGo!GCLK、全ジェネレータの使用状況

GENCTRL_DUMP
Joseph Halfmoon

Go言語でMCU向けのオブジェクトを生成できるTinyGoを使って Arm Cortex-M0+コア搭載、Microchip社ATSAMD21マイコンの周辺回路を探っております。前回は各クロック分配の様子を前々回はオシレータの設定を確かめました。今回はその2つの間クロックジェネレータGCLKを見てまいりとうございます。

“AT SAMの部屋(11) XiaoでもGo!GCLK、全ジェネレータの使用状況” の続きを読む

データのお砂場(32) R言語、USArrests、犯罪逮捕率データを訂正とな?

USArrestsPairCorrected
Joseph Halfmoon

R言語所蔵のサンプルデータをABC順(大文字先)で端から眺めておりますが、今回も前回に引き続き目出度いデータとは言えません。1973年の米国の各州別の都市人口比率と凶悪犯逮捕の比率です。その関係性について調べるのかと思いきや今回のテーマはデータの訂正の仕方です。誰かが転記ミスをしてそれに気づいた人がいると。流石です。

“データのお砂場(32) R言語、USArrests、犯罪逮捕率データを訂正とな?” の続きを読む

AT SAMの部屋(10) XiaoでもGo! GCLK.CLKCTRLレジスタを全ダンプ

results
Joseph Halfmoon

Go言語でMCU向けのプログラムが書けるTinyGoを使ってみています。前回は発振器まわりの制御レジスタを直接読んでみました。今回はクロックジェネレータ関係を調べようと思ったのですが1点障害あり、unsafeなモジュールなどにご登場いただいてしまいました。厳格なようでいてそんな操作もできるTinyGoはMCU向き?

“AT SAMの部屋(10) XiaoでもGo! GCLK.CLKCTRLレジスタを全ダンプ” の続きを読む

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

MSeq16_LFSR
Joseph Halfmoon

今回から白色雑音(ホワイトノイズ)の発生に入ります。ちょっと問題だったのは手元にゲートレベルの「回路図」から論理シミュレーションする環境が無かったという件。今時「回路図」書いて「論理」でもないものな~。しかたがないのでアナログシミュレータのLTspiceで論理シミュレーションしてしまいました。出来るのですがクセが強い。

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

AT SAMの部屋(9) XiaoでもGo!TinyGoでレジスタ直接アクセス、大丈夫か?

SYSCTRL_DUMP
Joseph Halfmoon

Go言語でMCU向けのオブジェクトを生成できるTinyGoは便利です。テキトーに書けば「動いてしまう」のでとってもお楽。しかし古色蒼然たる「ベアメタル派」としてはMCUがどんな設定で動いているのだか知らないと気持ちが悪いです。それに後で周辺回路を直接制御もしたいです。今回はMCUの根っこ、発振回りの設定を確認。

“AT SAMの部屋(9) XiaoでもGo!TinyGoでレジスタ直接アクセス、大丈夫か?” の続きを読む

AT SAMの部屋(8) XiaoでもGo!TinyGoでSPI、27LC512接続

xiao23LC512_EC
Joseph Halfmoon

第5回でTinyGoでI2Cを制御、今回はSPIを制御してみます。接続するのは米MicroChip社製の23LC512 SPI Serial SRAMです。メモリを相手にSPIの読み書きを確認する目論見。Xiao搭載のSAMD21G18は32KバイトRAM、もし一時保存領域が足らないような場合には利用するのもありか。

“AT SAMの部屋(8) XiaoでもGo!TinyGoでSPI、27LC512接続” の続きを読む

ぐだぐだ低レベルプログラミング(65) ARM64(AArch64)、レジスタ拡張付きadd

addEXTB_EC
Joseph Halfmoon

Armの64ビット命令をさらっと舐めるつもりが、add命令も既に4回目です。今回動かしてみますのが、符号拡張、ゼロ拡張、狭いビット幅のオペランドを広いビット幅に拡張してから足し込む命令です。とりあえず拡張前はバイト縛りといたしましたが、それでも選択肢が多すぎ。テストの組み合わせは8命令です。Armの命令多すぎないか。

“ぐだぐだ低レベルプログラミング(65) ARM64(AArch64)、レジスタ拡張付きadd” の続きを読む

鳥なき里のマイコン屋(157) M5StackでもGo!TinyGoで6機種目

M5StackDUT
Joseph Halfmoon

Go言語プログラムをマイコン(MCU)へクロスコンパイルしてくれるTinyGoの動作確認M5Stackで6機種目となりました。Arm、RISC-Vとやってきましたが今回は初のESP32マイコン(Tensillica Xtensa LX6コア)です。コンパイルは問題なし、しかし書き込みに至ってちとトラブリましたです。

“鳥なき里のマイコン屋(157) M5StackでもGo!TinyGoで6機種目” の続きを読む

ブロックを積みながら(67) Node-RED、TCP in / outノード

TCPinout
Joseph Halfmoon

前回は query送ってanswer受け取るスタイルのTCP requestノードを実験しました。今回は一方通行のTCP out ノードと、TCP in ノードを実験してみます。TCP out ノードで送信したパケットをそのままTCP in ノードで受け取れば実験できると。local host内で完結。お手軽。

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