「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ
CALENDAR
2020年9月
日
月
火
水
木
金
土
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
前月
翌月
Entry Archive
2024年12月
2024年11月
2024年10月
2024年09月
2024年08月
2024年07月
2024年06月
2024年05月
2024年04月
2024年03月
2024年02月
2024年01月
2023年12月
2023年11月
2023年10月
2023年09月
2023年08月
2023年07月
2023年06月
2023年05月
2023年04月
2023年03月
2023年02月
2023年01月
2022年12月
2022年11月
2022年10月
2022年09月
2022年08月
2022年07月
2022年06月
2022年05月
2022年04月
2022年03月
2022年02月
2022年01月
2021年12月
2021年11月
2021年10月
2021年09月
2021年08月
2021年07月
2021年06月
2021年05月
2021年04月
2021年03月
2021年02月
2021年01月
2020年12月
2020年11月
2020年10月
2020年09月
2020年08月
2020年07月
2020年06月
2020年05月
2020年04月
2020年03月
2020年02月
2020年01月
2019年12月
2019年11月
2019年10月
2019年09月
2019年08月
2019年07月
2019年06月
2019年05月
2019年04月
2019年03月
2019年02月
2019年01月
2018年12月
2018年11月
2018年10月
2018年09月
2018年08月
2018年07月
2018年06月
2018年05月
2018年04月
2018年03月
2018年02月
2018年01月
2017年12月
2017年11月
2017年10月
2017年09月
2017年08月
2017年07月
2017年06月
2017年05月
2017年04月
2017年03月
2017年02月
2017年01月
2016年12月
2016年11月
2016年10月
2016年09月
2016年08月
2016年07月
2016年06月
2016年05月
2016年04月
2016年03月
2016年02月
2016年01月
2015年12月
2015年11月
2015年10月
2015年09月
2015年08月
2015年07月
2015年06月
2015年05月
2015年04月
2015年03月
2015年02月
2015年01月
2014年12月
2014年11月
2014年10月
2014年09月
2014年08月
2014年07月
2014年06月
2014年05月
2014年04月
2014年03月
2014年02月
2014年01月
2013年12月
2013年11月
2013年10月
2013年09月
2013年08月
2013年07月
2013年06月
2013年05月
2013年04月
2013年03月
2013年02月
2013年01月
2012年12月
2012年11月
2012年10月
2012年09月
2012年08月
2012年07月
2012年06月
2012年05月
2012年04月
2012年03月
2012年02月
2012年01月
2011年12月
2011年11月
2011年10月
2011年09月
2011年08月
2011年07月
2011年06月
2011年05月
2011年04月
2011年03月
2011年02月
2011年01月
2010年12月
2010年11月
2010年10月
2010年09月
2010年08月
2010年07月
2010年06月
2010年05月
2010年04月
2010年03月
2010年02月
2010年01月
2009年12月
2009年11月
2009年10月
2009年09月
2009年08月
2009年07月
2009年06月
2009年05月
2009年04月
2009年03月
2009年02月
2009年01月
2008年12月
2008年11月
2008年10月
2008年09月
2008年08月
2008年07月
2008年06月
2008年05月
2008年04月
2008年03月
2008年02月
2008年01月
2007年12月
2007年11月
Recent Entry
振り返り2024
こないだのロボット
ロボット行ってきた
追加で中古ソフト買ってきた
こないだのロボット
ロボット行ってきた
レトロコンボ2グリーンを9Vで試す
SFCのラインヘッドネジ
こないだのロボット
ロボット行ってきた
Recent Comment
nekosan/
JYRUSSやってきたメモ
フルタニアン/
JYRUSSやってきたメモ
nekosan/
JYRUSSやってきたメモ
フルタニアン/
JYRUSSやってきたメモ
nekosan/
こないだのロボット
フルタニアン/
こないだのロボット
nekosan/
こないだのロボット
フルタニアン/
こないだのロボット
nekosan0/
レジ袋ホルダーを考える
フルタニアン/
レジ袋ホルダーを考える
Category
ノンジャンル
(2863)
PIC
(47)
AVR
(341)
Arduino
(446)
Raspberry Pi
(194)
mbed
(41)
ARM
(30)
ESP32
(15)
Android
(10)
OPアンプ
(125)
VHDL
(57)
PSoC
(4)
アナログ回路
(110)
クルマ
(127)
rails
(51)
本
(42)
導電塗料
(3)
Fritzing
(41)
Edison
(2)
FFT
(34)
写真
(158)
MIDI
(24)
その他日記
(11)
Python
(57)
3Dプリンタ
(124)
Bookmark
最初はgoo
goo blogトップ
スタッフブログ
My Profile
ブログID
nekosan0
自己紹介
Search
このブログ内で
ウェブ全て
Arduino Nano Everyのレジスタエミュレーション関係をもうちょっと探ってみる
Arduino
/
2020年09月05日
久々に、ワンパンマン来てた。オリジナルの方。
http://galaxyheavyblow.web.fc2.com/fc2-imageviewer/?aid=1&iid=130
オリジナルの方はなかなか更新されないのはともかく、
「となりのヤングジャンプ」の方のワンパンマンも、
7月末からまだ来てないんだよな。期待して待つ。
Arduino Nano Everyの、GPIO関係のレジスタエミュレーション
が、実態としてどのくらいの速度なのかについて、Mega328と
Mega4809使って、SPI接続G-LCD(ST7565互換)の表示速度を
見比べてみた。
ちなみに、以前の
https://brown.ap.teacup.com/nekosan0/2248.html
この時の計測で使ってた、SPI接続でOLED表示したときのこの
三角形は、4秒って書いてあるけど、これは3.3Vで動かすために
16MHzじゃなく、8MHz版のArduino Pro互換ボードでの値。
実際は、16MHzだとこの半分で表示できる計算。
いざ、やってみる。
まず、Mega328(16MHz)とG-LCD(ST7565互換)だと、この
三角形を4方向分(4回)表示させると、やっぱり2秒ほどで
描画が終わる。
で、懸案のMega4809(16MHz)と同じG-LCDで表示させてみると、
3~4秒くらい。倍までいかないけど、7割くらいは時間が長く
なる感じ。
描画処理自体は、SPI通信(というかGPIOアクセス)以外の
時間もあるので、単純にこの時間比で遅くなってるってわけ
ではないので、GPIOアクセス処理自体はこれ以上にかなり
遅いんだろうと思うんだけど、ソフトウェアSPI通信みたいに
頻繁にGPIOアクセスするような処理で、この程度の遅れだと
すれば、実用上あまり問題にはならなさそうな気がするなぁ。
なにしろ、3.3V版(8MHz版)Arduinoと、表示速度だけで
考えれば差がない、というか、ちょっと速いくらいだからな。
(少なくとも、I2C通信使ったり、素のdigitalWrite使ったり
するのとは、桁が1個以上違う)
というわけで、何気に、Mega4809の「レジスタエミュレーション」
を使ってソフトウェアSPI通信するのは、速度の点では特に問題
はなさそうな気がしてるところ。実用的にはだいじょうぶそう。
次。
コアがMega328系じゃなくなった(xmegaになった)ので、SFR
関係は思いっきり変わったんだろうなと思って、とりあえず
Mega4809のデータシートのタイマ関係とADC関係をちょっと
だけ眺めてみた。
まず、タイマ関係について。
データシート眺めてみる限りにおいては、あまり大きな差は
無いみたいな気がするんだけど、当然ながら、SFRのレジスタ名
なんかは思いっきり変わっているので、Mega328とかとは全然
互換性ないと思わないといけないな。
あと、Mega4809用に、MsTimer2みたいな便利なライブラリが
公開されているかなぁ?とか思って物色してみたんだけど、
どうやら見つからなかった。ひとまず見つけたのは、
SFRを直接いじったり、タイマ割込みで割り込みベクタに
処理が移った時に呼び出される関数を指定するための
もろもろを、実験的にコード書いてみた的な感じのことが
書かれていた。
https://forum.arduino.cc/index.php?topic=630695.0
とりあえず、このあたりが判れば、あとはデータシートと
にらめっこで、タイマ割込みでの関数呼び出しはなんとか
なりそうな感じがする。
あと、ちょっと気になった点として、Mega4809のデータ
シート読んでたら、Nano EveryでPWM出力可能な端子は
旧来Arduinoの6本から、1本減って5本っぽいって話。
(あとでもうちょっと調べなおしてまとめたい)
次。ADCについて。
ADC関係も、データシート読む限りは、Mega328とかとは
あまり大きな変化はないみたいだったんだけど、SFR関係
は大きく変わってしまっているので、直接的な互換性は
無いものと考えないとダメだな。
一つ朗報としては、(データシート読んでみる限りに
おいては)最大精度(10ビット)でADCを行うのに、
1回のサンプリング時間がだいぶ短くなっているっぽい
なぁ。
ADCのベースクロック(ディバイダで分割された後にADC
に供給されるクロック)は、旧来のArduinoでは最大でも
200kHzまでだったのに対して、
Mega4809では、最大で1.5MHzになっている。
(おぉ!スバラシイ!)
なので、ざっくり8倍弱の速度でサンプリングが可能に
なっているってことが判る。(あと、プリスケーラが7ビット
から8ビットになってるんだけど、周期が長くなる方向に
拡張されていて、あまりこの効果はうれしくなさそう)
この、高速にサンプリングができる要因として、多分、
ADCの入力回路(サンプル&ホールド回路)の手前に現れる、
内部抵抗の値が変わったんだろうな。
データシートによると、旧来のMega328では、シリーズ抵抗
の値が、1~100kΩってことになっている。
対して、Mega4809の場合は、その辺が明示されたなかった
んだけど、多分抵抗値が小さくなってる。この入力回路周り
にあるシリーズ抵抗が、10kΩかそれ以下くらいになって
いるんじゃないかな。
入力インピーダンス自体は10kΩ以下ってことで変わりないん
だけど、内部の抵抗が多分小さくなっていて、サンプル時間が
大幅に小さくなっているんじゃないかな。これはうれしい変更
点って言えそう。
つまり、ADC内部のサンプル&ホールド用のコンデンサにチャージ
する経路のシリーズ抵抗が、一桁ほど小さくなっていて、その
おかげで、最大精度でADCを行う際にも、旧来の一桁短い時間で
ADCが行えるよ、と。
従来は、可聴域を最大精度でサンプリングするのは、ギリギリ
アウトっぽい感じだったんだけど、Mega4809なら10ビット精度
最大でも大丈夫っぽいなと。
これはうれしい変更点だなぁ。ただ、色々ネットを彷徨って
いた範囲では、Arduino-IDEのデフォルト設定(というか、
Board情報での設定)で、Nano Everyのデフォルト設定の
サンプリング速度がどのくらいに設定されているのかが
判らなかった。
これは多分、またCoreのソースを読まないといけないパターン
なんじゃないかな…。
なんだかんだで、Coreのソース読むのは好きじゃないし、
そもそも、C言語のプリプロセッサ向けのコードが埋まった
ソースを読むのが、ものすごい好きじゃないんだよな。
プリプロセッサに処理させるコード自体は、それこそ
プリプロセッサにさせておけばいい話で、人間様がいちいち
読み解くのは何か違う気がしてる。
Mega4809用のコンパイルで、プリプロセッサを通した後の、
実際のCコンパイラに読み込まれるソースだけを簡単に
眺められるのであれば、それを眺めたいんだよな。
そしたら比較的簡単に、あれこれ調べがつくような気が
するんだけどな。
とりあえず、目下水面下であれこれもがいているところ。
Mega4809の6kBのSRAMを使って、ブルジョアコーディング
するのは、なかなか魅力的な感じがぬぐえないんだけど、
問題は、GPIO以外のSFRの互換性かなぁ。
https://twitter.com/UTiCd/status/1301760021286367232
これは…もしかして「日本版タピオカ」なのでは?
(わらびもちは飲み物)
https://twitter.com/hayakawa2600/status/1301497096051159040
>長い時間をかけて為政者に育成されきた〈自己責任
>マッチョ〉はほんと迷惑
自己責任マッチョっていう単語を覚えた。ほほう。
https://twitter.com/kenfawcjp/status/1301540466341474304
>決められた「秩序」に服従するだけの「品のある」記者
>など必要ありません。
https://twitter.com/reishiva/status/1301539180271468545
>「品位のない記者」
…これを見てふと思い出したのは…
https://twitter.com/hally_sen/status/1280365849937731584
>昔、先輩に言われた事
>「声のでかい客の『お前の態度が気に入らない』は
>『貴方の実務は完璧で何もケチをつける要素が見つかり
>ませんでした。せめて負け惜しみを言わせて下さい。
>ボクの負けです』と言う意味だから実質勝利」
>ヨシ!
ほほう。ってことは、某記者の価値ってことか。
https://twitter.com/GoodBye_Nuclear/status/1301434502238015488
「コミュ障」じゃぁ首相務まらないよな。
”よくくれんされた某国民”相手ならともかく、海外の
海千山千の政治家相手に、コミュ障が外交やったら、
どう考えても「負け戦」にしかならないもんな。
そもそも、持病が悪化したとかで、国政を放り投げた
某氏のその後、入院もせず何してるのかなぁ?とか思って
居たんだけど、なんか台風10号にかんしてあれこれやって
いるっぽいなぁ。なんで?入院しろよとおもってたんだ
けど、
https://twitter.com/tkatsumi06j/status/1300616380467744768
>「潰瘍性大腸炎は再発しておらず」
どうやら、単に仮病だった。最後の最後まで嘘つきだったな。
https://news.yahoo.co.jp/byline/hashimotojunji/20200904-00196701/
>ダムの事前放流がはじまっている。見に行ってはいけない
ほほう。
それにしても、台風の目が…
https://www.youtube.com/watch?v=M0AGTYL6pi4
ものすごいくっきり写ってるなぁ。台風の目がくっきりな
ときは、台風の回転する力(=風力)がものすごいから、
被害も甚大になりがちっていうような話を聞いたな。
しかも、台風の雲の大きさが、日本の半分くらいを覆って
しまうサイズだもんな。
本当に、シャレにならない台風なんだよなって感じが
ひしひしと伝わってくるよな。
コメント (
0
)
goo ブログ
ブログの作成・編集
gooおすすめリンク
おすすめブログ
【集まれ!野鳥ブロガー】あなたのブログを紹介しませんか?
@goo_blog
【お知らせ】
ブログを読むだけ。毎月の訪問日数に応じてポイント進呈
【集まれ!野鳥ブロガー】あなたのブログを紹介しませんか?
訪問者数に応じてdポイント最大1,000pt当たる!
dポイントが当たる!無料『毎日くじ』