やっつけな日常(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ノード” の続きを読む

データのお砂場(31) R言語、USAccDeaths、米国における事故死データ6年分

stl00
Joseph Halfmoon

R言語所蔵のサンプルデータをABC順(大文字先)で端から眺めております。今回は1970年代の米国における事故死者の統計6年分です。前回に続き時系列データです。前回のガスの消費量に季節変動があるのは素直に納得できるのでありますが、事故にも季節変動があることが明らかな感じです。なぜ?

“データのお砂場(31) R言語、USAccDeaths、米国における事故死データ6年分” の続きを読む

AT SAMの部屋(7) XiaoでもGo!TinyGoでポーリング、結果はChannelへ

pollingApin
Joseph Halfmoon

前回端子からの割り込みやってしまいました。普通は先にポーリングだったかなあ、ということで今回は端子のポーリングしてみます。ポーリングはGoroutineにお任せして、結果はchannelで受け取ると。ついでに無関係なLEDもチカチカさせたりして並行に処理している雰囲気をだすってもんかと。ありがち?

“AT SAMの部屋(7) XiaoでもGo!TinyGoでポーリング、結果はChannelへ” の続きを読む

AT SAMの部屋(6) XiaoでもGo! TinyGoでタクトスイッチからの割り込み受け

XiaoDUT_schematicA
Joseph Halfmoon

Go言語プログラムをマイコンで走らせることができるTinyGoの練習台にSeeduino Xiaoを使っております。Xiaoだろうと他のボードだろうと、ArmだろうとRISC-Vだろうと、似たようなソースで似たようなことができる気がします。ハードが異なる部分は要対応ですが。今回はスイッチからの割り込みを受けてみます。

“AT SAMの部屋(6) XiaoでもGo! TinyGoでタクトスイッチからの割り込み受け” の続きを読む

AT SAMの部屋(5) XiaoでもGo!秋月AQM1602をTinyGoで制御してみる

XiaoGoAQM1602
Joseph Halfmoon

Go言語で書いたプログラムをMCU上で走らせることができるTinyGoは、多くのマイコンボードをサポートしているだけでなく、定番の周辺デバイスも多数サポートしています。直接デバイスとしてのサポートが無くても、I2CやSPIといった標準インタフェースをサポートしてくれているので楽。今回は秋月製の定番LCDを接続。 “AT SAMの部屋(5) XiaoでもGo!秋月AQM1602をTinyGoで制御してみる” の続きを読む