第26回GAの灯をともせ!

2019 Galaxy Angelオンリー「エンジェルパーティー3」終了後に第25回GAの灯をともせ!を開催したのが2019年10月27日。これまで必ず1年に1回以上開催する事を続けてきたが、感染症蔓延によりそれが出来なくなった。

今回は、最後の開催から実に4年半振りの2024年4月6日開催となった。久し振りであり、感染症が完全に終息したわけではないので今回は人数を絞っての開催とした。

関東から関西まで参加者が集まったので、間を取って愛知県名古屋市で開催した。

ただのカラオケだが、ライブ会場の機材席にあるような機材がある。このカラオケではいつものこと!最近は部屋にプロジェクターが備え付けられているカラオケボックスも多く、プロジェクターとスクリーンを持ち歩かなくてもよくなりつつなっているのはありがたい。

カラオケ機材

始まる前は、久し振りでみんな曲を忘れていないか、盛り上がるか心配したが、全くの杞憂だった。めちゃくちゃ盛り上がった。

いつも通りに、マイクは一人一本、入れる曲は参加者からのリクエストや曲間のトークの流れで決め、かかった曲を歌いたければ自由に手元のマイクを使って入って良いというルールで進めた。

参加者 (敬称略)

  • 黒マント
  • ミース
  • クライス
  • ぬかのそこ
  • masaya
  • T.Seva
  • せんり
  • キンケドゥ

セットリストと解説

1. あたためますか
ドラマCD「メアリー少佐の憂鬱」の劇中に出てくる曲。蘭花がメインパートであったり、1番と2番の間のフォルテ「おい、なんだ?この歌は!?」蘭花「いいから!いいから続けてください!」というセリフはドラマを聞くと意味がよく分かる。実際、おい、なんだ?この歌は!?と言いたくなるようなネタ曲なのだが(笑 このドラマCDは定価2万円以上するギャラクシーエンジェルAAのDVD-BOXを購入しなければ入手出来ず、当初はかなりマイナーな曲だった(筈)。しかし、ギャラクシーエンジェル闇鍋CD極に収録された事により一気に有名になり、今ではJOYSOUNDで配信されるに至る。このカラオケでも毎度のように入る定番曲だが、最初に入るのは初めてかもしれない(笑
2. Happy Flight
TVアニメ「ギャラクシーエンジェる~ん」のED。実は、ED映像の冒頭の書類は毎回違い、スタンプは岸監督の名前になっている。長らく映像が無かったが、26回目にして漸く映像を付けた。
3. 宇宙で恋は☆るるんルーン
TVアニメ「ギャラクシーエンジェる~ん」のOP。当時、生粋のGAファン以外の間でも尻を振る独特の映像が話題になった。おいかけパートがあり、めちゃくちゃ盛り上がる。
4. きらり★Dear Love!
ルーンエンジェル隊メンバーの初のソロのキャラソンシリーズからアプリコットのキャラソン。英語のおいかけパートが楽しい。
5. エンジェル隊~私、運がいいんです!
★ミュージカル★ギャラクシーエンジェルから。「ミュージカルで自己紹介している曲ってなんだっけ。」というリクエストで入った。
6. 天使たちの休息
原作ゲームの初代とMoonlit LoversのED。実はJOYSOUNDにも配信されているのを最近まで忘れていた。この曲が流れるとなんだか「終わった」という感じがするが、カラオケはまだまだ序盤。
7. エキサイティング・ロボット
Character Fileシリーズを纏めて新曲も追加されたアルバム、ANGEL CHAERGEから。かもね!ですね!とコールを入れるのが楽しい。ベースもかっこいい。盛り上がる曲。
8. docchimo kocchimo
これもANGEL CHARGEから。ミルフィーユのPopと蘭花の演歌とフォルテのラップが組み合わさった曲。楽しい。
9. シンデレラ・グラフィティ
蘭花のソロのキャラソン。アニメ3期16話「ヒゲつきカルビ丼こい口ソース」の劇中で流れるのだが、心の扉が解き放たれた時の蘭花の表情がメーモンに似ているのでは?と話題になり、アニメ3期18話数珠つなぎ手打ちそばつなぎなしを見て確認したら確かに似ていた。
10. ドタ☆バタ☆フィエスタ
II & Iデュエットアルバム「ANGEL CALL」の1トラック目に収録。パートが入り乱れており、パート分けのし甲斐がある。原曲はナツメ以外とカズヤでルーンエンジェル隊6人の構成だが、ルーンエンジェル隊4thコンサートではナツメを入れた7人構成で披露された。
11. Salvage
ギャラクシーエンジェルII~無限回廊の鍵~のグランドED。JAM Project featuring 松本梨香・奥井雅美が歌う。かっこいい…。この頃はまだJAM Projectに松本さんいたんだな…。
12. アワーズ<三重唱>
★ミュージカル★ギャラクシーエンジェルから。三重唱となっているが、エンジェル隊を一人に纏めたとしても4人くらいいないとパート分け足りない気がする。
13. Eternal Love~光の天使より~
ご存じ、ギャラクシーエンジェルの代表曲。ギャラクシーエンジェルファンでなくても、当時オタクだった人の間では有名だったと思われる。めちゃくちゃ盛り上がった。
14. 運命のDear
昼食休憩を挟み、その間にプリンセスコンチェルトの話題になったのでOPのこの曲を入れてみた。最後のサビは一人では歌えない。
15. Don’t cry again
運命のDearが入ったら、こっちも歌いたくなる。プリンセスコンチェルトのED。何気に運命のDearの編曲は坂本裕介氏で、Don’t cry againも森ユキ氏と坂本裕介氏の制作だった。今まで気が付かなかった。
16. アテンション!
蘭花とフォルテのデュエット。2004年5月28日にこの曲を収録したCDが出て、2日後に開催されたBroccoli the Love IVでちゃんと披露されたという。ミントとヴァニラのデュエットは6月発売なので流石に間に合わなかった(今思うと、ライブなんだからサプライズでフライング披露しても良かったと思う)。
17. 涙色ノンフィクション
ノーマッドとムーンエンジェル隊の掛け合い曲。6人でパート分けするととても楽しい。この曲も当初はギャラクシーエンジェルA DVD 6巻の特典CDにしか入っておらず入手しづらかったが、後にAの特典CDの曲を纏めたアルバムが出たので有名になった。
18. チームメイト
Character Fileシリーズからミルフィーユのキャラソン。ミルフィーユから他のエンジェル隊メンバーに向けての歌詞になっている。なぜか男性だけで歌うことになり、自分もハモりパートを頑張った。
19. セシルの朝
ANGEL CHARGEからボサノバっぽいアレンジの曲。当時、アンニュイの意味が分からずに調べたのが懐かしい。これもハモりパートを頑張った。
20. Wake me UP!~銀ver.~ (フルコーラス版)
ラジオAngel LoveのOPの替え歌。ドラマCD銀のギャラクシーエンジェルのOPになっている。蘭花もミントもイケメンになっている。
21. フルフル銀河
IのデュエットCDにそれぞれ収録されている、カラフル銀河、パワフル銀河、ピースフル銀河を合わせた曲。何気にピースフル銀河だけアレンジが違うなと思ったら、やっぱり違う人がアレンジしていた。前2曲は上松範康氏で、ピースフルは菊田大介氏。
22. 魅力のシンメトリー
以前に一部のメンバーと「Gimme your loveは入るけど、こっちはあまり入らないよね」と話題になったので入れてみた。Gimme your loveは失恋ソングで暗いのに対し、こちらは明るい曲。
23. つれづれなるマンマでる~ん
TVアニメ「ギャラクシーエンジェる~ん」 ボーカル&バラエティCD NON STOP ルーンエンジェル隊に収録されている曲。コンテンツ終盤に出たCDというのもあってか、ややマイナー感が否めないが、このCDに収録されている曲もみんな良い曲なので、ぜひ聞いて欲しい。
24. ミラクルガール☆エンジェル隊
X’mas CD 2004から。六人そろってムテキなんです。今回も無事に六人分パートを分けられてムテキになれた。
25. Winter Trance
GAとでじこで冬をテーマにした曲を集めたブロッコリー ウインターソング セレクション「Sweet Winter」の1トラック目に収録された新曲。盛り上がる。歌詞や曲のノリがDUPの無限大∞ソリューションに似ている。
26. 愛しの浜辺
アニメ4期13話「成りアガリクスダケ」の劇中で流れた曲。「フォルテの代わり」として謎の男が犬のような息遣いで登場して、彼はめちゃくちゃ歌が上手いという設定。そりゃそうだ。きただにひろし氏が歌っているんだから。ギャラクシーエンジェルはネタに一流の人を起用するから凄い。
27. わるものが行く
わるもの三人組の曲。実は初期のキャラクターシリーズ「ノーマッド」に収録されたのが最初だが、やはり有名になったきっかけは闇鍋CD極に収録されたからだろう。ややロック調のアレンジで歌詞やわるもの三人組のイメージとは違い意外とかっこいい曲。
28. ぐるぐるLOVE
この曲はCMでよく流れていたので、GAのアニメをリアルタイムやTV放送の録画で見ていた人の間では有名。ノーマッドがヴァニラさんへの愛をひたすらに歌った曲。
29. はっぴぃ・くえすちょん
アニメ2期のED。アニメ3期スペシャル話「恥カキフライあがり過ぎ」の劇中で流れる。フォルテが可愛いので、フォルテファンは必見!この曲をカラオケで歌う時は必ず小指を立てること!
30. エンジェル★うっきー
アニメ3期の後期OP。みんなで全力でラップ部分を歌って盛り上がる曲。
31. ドタバタ☆エンジェループ
ギャラクシーエンジェルの曲としては、歌詞に英語が多い。フォルテのセリフを言うのが気持ち良い。
32. 太陽ノ紅響曲
ギャラクシーエンジェルII~永劫回帰の刻~のOP side H。壮大な曲だが、歌うのが難しい。でも、みんな歌えるんだけどね!
33. 月聖ノ蒼炎曲
ギャラクシーエンジェルII~永劫回帰の刻~のOP side Y。数々の(主に年齢制限のある)美少女ゲームの主題歌を歌ってきた榊原ゆい氏が歌唱を担当。GAも(年齢制限のない)美少女ゲームだしね!
34. Good good good!
ギャラクシーエンジェルII~永劫回帰の刻~のヒロインエンディングのミント。3番まで歌詞があって再生時間約5分のGAのソロのキャラソンとしては結構長い曲。Popで可愛い曲。
35. 戦えエンジェルファイブ
宮内タカユキ氏のネタ曲第2弾。アニメ3期17話「野望貧乏棒々鶏」の劇中で流れる。いかにも特撮で流れそうな曲で、本当に特撮ソングを歌っている人を起用している。
36. もっと!エンジェル
アニメ4期第10話「ラブ米」の劇中で流れた。どう見てもときメモが元ネタで、本当にときメモの曲を歌っていた金月真美氏を起用しているから凄い。
37. 天使の真実
アニメ4期第8話「哀しみ憎しみ凍み豆腐」の劇中で流れた曲。栗林みな実氏が歌唱を担当した。この曲も毎度のように入るが映像が無く、26回目にして漸く映像を付けた。
38. b-b-LOVE!
ANGEL CHARGEから。めちゃくちゃ盛り上がる。映像がなぜかアイマスなのはこのオフ会のお約束。意外と曲とキャラの動きが合っているから凄い。昔はGAが絡むMAD動画もそこそこあったのだ。
39. 戦えぼくらの×××
アニメ2期第8話「ウェディングケーキ合体スペシャル」の劇中で流れた曲。宮内タカユキ氏のネタ曲第1弾。ロボットの名前はGA永遠の謎。
40. 気ままにa la mode!
ぷちこ & ミントミニアルバム Twin Heartsから。a la modeという曲名や歌詞からフランスが連想される曲。可愛い。
41. 恋するレシピ
初期のキャラクターシリーズ「ミント」から。アニメ1期第21話「デコピザ」の劇中で流れる。パタパタ~
42. LIPS WANNA SAY IT
II & I デュエット 5 リリィ & フォルテから。こちらと、もう一つのbrade or bullet?のどちらもかっこいい曲。男性でも比較的声が出やすいキーなので、みんなで歌うととんでもないボリュームになって盛り上がる。毎回のようにどちらか、あるいは両方の曲が入る。
43. グレイゾーンを打ち抜いて
ギャラクシーエンジェルII~無限回廊の鍵~のヒロインエンディングのフォルテ。とにかくかっこいい。みんなで熱唱して盛り上がった。
44. MISSION★☆★24
毎月CDのフォルテから。Aメロがラップ。サビの最後でおいかけパートもある。歌っていてとても気持ちのいい曲。
45. Soul in love
ギャラクシーエンジェルII~永劫回帰の刻~のヒロインエンディングの蘭花。蘭花の曲にしては珍しく、可愛い感じの恋愛ソングではなくかっこいい印象の曲。フォルテの曲が続いて少し疲れたので自分は休憩して女性の参加者の歌を聞いていた。
46. 黄昏Day Dream
ウォルコット中佐のキャラソン。アニメ4期第14話「お守りそば」の劇中で流れる。美少女モノのヒロインにあたるエンジェル隊ではなく、その上司のおじさんキャラにもキャラソンがあるというのがGAの凄いところだと思う。
47. クリスタル・ドール
Character Fileシリーズからヴァニラのキャラソン。女性が主旋律を歌い、男性の自分が上のハモりを歌うというおかしな事態になってしまった。無理やり歌ったのであまり声が出ていないかもしれない…。
48. 花いろ日記
ANGEL CAHRGEから。ゲーム版ちとせのイメージソング。これでANGEL CHARGEに収録された新曲は今回のカラオケで全部歌った!
49. 恋のトレジャーハンター
ルーンエンジェル隊メンバーの初のソロのキャラソンシリーズからアニスのキャラソン。最後のサビの「南のサルは?アイアイ!でんでんむしは?マイマイ!」というダジャレ歌詞が好き。
50. イザヨイ正義
ギャラクシーエンジェルII~無限回廊の鍵~のヒロインエンディングのナツメ。ミントのI’ll be thereと並んでGAの楽曲では珍しい6/8拍子の曲であることを今回発見した。
51. Party’s Party
II & I デュエット 6 カズヤ & ちとせから。これまたGAでは珍しい男性と女性のデュエット。自分はカズヤのパートに甘んじた…。
52. ミラクルS・O・S
カルーアのキャラソンは実質テキーラとデュエットになっている曲もある中、こちらは純粋にカルーアの曲。平野綾氏でSOSと言えば涼宮ハルヒの憂鬱を思い浮かべるが、この曲のCDは2005年12月16日発売で、ハルヒのアニメは2006年4月放送なので、むしろ世間に出たのはこちらの方が先かもしれない(涼宮ハルヒのキャストが発表されたのが正確にはいつか分からないので一応言葉を濁した)。
53. 運命のRevolution
月聖ノ蒼炎曲のカップリングで、ギャラクシーエンジェルII~永劫回帰の刻~の挿入歌なのだが、なんと、このオフ会では珍しく誰もちゃんと覚えていなかった!どんなにマイナーな曲でもたいてい参加者の誰かしら歌えるのに…。次回があったらそれまでにはちゃんと覚えたい。
54. 羽を休める天使たち
II & Iデュエットアルバム「ANGEL CALL」から。ルーンエンジェル隊とムーンエンジェル隊を区別するために、この曲以降から「エンジェル隊」は「ムーンエンジェル隊」とクレジットされるようになる。しっとりとした癒される感じの曲。
55. ナノナノなのだンス
る~んキャラクターシングルシリーズからナノナノ。とても明るいポップな曲。Angelic Great Forceにライブ映像が収録されているのだが、ちゃんとフルサイズで収録して欲しかった。
56. スペース・マスカレイド
アニメ「ギャラクシーエンジェる~ん」第6話「誕生!新人アイドる〜ん」の劇中で流れた、ナノナノとナツメのデュエット。アニメで見た瞬間CDが欲しくなって、ちゃんと発売されてとても嬉しかったのを覚えてる。
57. はぁ~い!はぁ~い!はぁ~い!
ぴたぴたエンジェルAのOP。新谷良子氏と田村ゆかり氏のデュエット。2番の怒涛のように流れるAメロが好き。
58. ハピスマ・ギャラクシー
ラジオつながりという事でリクエストが入った。ギャラクシーエンジェルII関連のラジオ、ピャパプピーペンピェぷ〜んのED。
59. Yes Let’s
Iのデュエットアルバム「ANGEL SHAKE」から。ムーンエンジェル隊6人で歌う明るくてPopな曲。盛り上がる。
60. 夢見たい★ANGEL隊
アニメ2期のOP。最後にみんなが分かって盛り上がる曲という事で選んだ。GAの話をしていてエンジェル隊の事を「ANGEL隊」と表記するのは、この曲のタイトルが唯一かもしれない。

会場設営は早めに到着した3, 4人でやったので1時間半くらいかかったが、撤収は皆さんに手伝っていただいて30分ほどで終わった。ありがとうございます!

もし次回やるとしたら、その時はX等で告知しようと思うので、GAの楽曲が好きで皆で思い切り歌いたい方はぜひ参加を!

カテゴリー: 未分類 | 1件のコメント

ATtiny202-SSNRで“Lチカ”

ATtiny202-SSNRのLチカプログラム (アセンブリ言語)

前回の続きで、ATtiny202-SSNRで“Lチカ”した時のプログラムのソースコードを以下に示す。アセンブリ言語で組んだ。

;*******************************************************
;タイマAを使用したLチカプログラム (ATTiny202-SSNRを使用)
;*******************************************************

.include "tn202def.inc"

;---- 汎用レジスタ ----

.def R_TEMP1	=	R16	;汎用的な変数
.def R_TEMP2	=	R17	;汎用的な変数
.def STACK	=	R18	;ステータス・レジスタ退避用
.def U_FLAG	=	R19	;ユーザーフラグ

;ユーザーフラグのビット
.EQU B_TCA_OVF	=	0	;タイマAオーバーフロー

.CSEG				;コードセグメント
	RJMP MAIN		;リセット
.ORG	TCA0_OVF_vect
	RJMP TCA_OVF		;タイマAオーバーフロー

;*********************************
;タイマAオーバーフロー割り込み処理
;*********************************
TCA_OVF:
;---- 全割り込み禁止 ----
	CLI

;---- ステータスレジスタの内容を退避 ----
	IN STACK,	CPU_SREG

;---- タイマAオーバーフロー割り込み要求フラグをクリア ----
	CLR R_TEMP1
	SBR R_TEMP1,	(1<<TCA_SINGLE_OVF_bp)
	STS TCA0_SINGLE_INTFLAGS,	R_TEMP1

;---- タイマAオーバーフローユーザ・フラグをセット ----
	SBR U_FLAG,	(1<<B_TCA_OVF)

;---- ステータスレジスタの内容を復帰 ----
	OUT CPU_SREG,	STACK

;---- 全割り込み許可 ----
	SEI

	RETI

;***************
;LED切り替え処理
;***************
LED_CHANGE:
;---- タイマAオーバーフローユーザ・フラグをクリア ----
	CBR U_FLAG,		(1<<B_TCA_OVF)

;---- PORTAのビット6を反転 ----
	LDI R_TEMP1,		0B01000000
	STS PORTA_OUTTGL,	R_TEMP1

	RJMP MAIN01

;**************
;メインルーチン
;**************
MAIN:
;---- 全割り込み禁止 ----
	CLI

;---- PORT設定 ----
	LDI R_TEMP1,	0B11001111	;PA4とPA5は存在しないので0
	STS PORTA_DIR,	R_TEMP1
	LDI R_TEMP1,	0B00000000
	STS PORTA_OUT,	R_TEMP1

;---- タイマA設定 ----
	LDS R_TEMP1,			TCA0_SINGLE_INTCTRL
	SBR R_TEMP1,			(1<<TCA_SINGLE_OVF_bp)
	STS TCA0_SINGLE_INTCTRL,	R_TEMP1		;タイマAオーバーフロー割り込み許可
	LDI R_TEMP1,			0B00000111
	STS TCA0_SINGLE_CTRLA,		R_TEMP1		;プリスケーラ8

;---- ユーザーフラグをクリア ----
	CLR U_FLAG

;---- 全割り込み許可 ----
	SEI

;***********
;タイマA待機
;***********
MAIN01:
;---- タイマAオーバーフローユーザ・フラグを監視 ----
	SBRC U_FLAG,	B_TCA_OVF	;ビットがセットされていなければ1行スキップ
	RJMP LED_CHANGE			;ビットがセットされていたらLED切り替え処理にジャンプ

	RJMP MAIN01

今回使用した機能とレジスタについて解説する。

プログラム解説

PORTA_DIR
データ方向。0で入力。1で出力。使用しないポートは出力に設定し値を0にしておいた方が良いらしい。VPORTA_DIRも同じ機能で、IN、OUT命令でアクセスできる。
PORTA_OUT
出力値。0でLow(GND電位)、1でHigh(VDD電位)。VPORTA_OUTも同じ機能で、IN、OUT命令でアクセスできる。
PORTA_OUTTGL
出力値切り替え。出力値を切り替えたいビットに1を書き込むと、出力値が反転する。このプログラムの場合はビット6に1を書き込んでいるので、この動作を実行する度にPA6に接続したLEDが点灯したり消灯したりする。
TCA0_SINGLE_INTCTRL
タイマA標準動作割り込み制御。ビット0がオーバーフロー割り込み許可ビット”TCA_SINGLE_OVF_bp”で、1を書き込む事でタイマAオーバーフロー割り込み要求フラグがセットされた時に割り込みが起こる。
TCA0_SINGLE_INTFLAGS
タイマA標準動作割り込み要求フラグ。ビット0がオーバーフロー割り込み要求フラグ”TCA_SINGLE_OVF_bp”で、タイマAのカウンタが桁溢れするとセットされる。割り込みが起こっても自動で解除されず、解除するにはプログラムで1を書き込む必要がある。
TCA0_SINGLE_CTRLA
タイマA制御A(標準/分割動作共通)。詳細を下表に示す。
7 6 5 4 3 2 1 0
CLKSEL2 CLKSEL1 CLKSEL0 ENABLE
R R R R R/W R/W R/W R/W
0 0 0 0 0 0 0 0

ビット3~1のCLKSEL2~0でプリスケーラを設定する。

000 1
001 2
010 4
011 8
100 16
101 64
110 256
111 1024

データシートによれば、ATtiny202はデフォルトで20MHzを6分周しているので、設定を触らなければ3.333333MHzで動作している事になる。

マイコンの動作クロック周波数をMCLK(MHz)、プリスケーラをPSCLとすると、16ビットタイマで作り出せる最大の時間は(65536*PSCL)/(MCLK*10^6)となる。

今回はプリスケーラを8とすると、最大時間が約157msとなり、肉眼でわりと早くLEDが点滅しているのが分かるということでこれを採用した。

また、タイマAのCTRLAレジスタのビット0に1を書き込むとカウントを始めるということで、ビット3~1のプリスケーラ8は011で、ビット0は1なので未使用のビット7~4と合わせて0B00000111となる。

この値をCTRLAレジスタに書き込む事で、タイマAはプリスケーラ8でカウントを始める。

マイコンが起動すると、157msごとにタイマAがオーバーフローし割り込みが発生する。そしてPORTA_OUTTGLのビット6に1を書き込む命令が実行され、結果として157msごとにLEDの点灯、消灯が切り替わる。LEDが点滅し、Lチカプログラムが完成した。

タイマAの割り込みルーチンでは前回の記事で説明した通り、自動で全割り込み禁止にはならず、割り込み要求フラグは自動で解除されないので、プログラムでこれを実行している。

次回はSPI通信でDDS(Direct Digital Synthesizer)を制御するプログラムについて説明する。

カテゴリー: 未分類 | 1件のコメント

ATtiny202-SSNRとATmega328P、ATtiny13Aの違い

アドレス空間の違いとレジスタの名前の違い

前回の記事で、ATtiny202はATmega328PやATtiny13Aとはレジスタの名前や機能の設定値からして違うという話をした。

私はAVRの開発は基本的にアセンブリ言語でしているので、どういう風にプログラムの記述が変わるのかアセンブリ言語で説明する。

以下、ATmega328PやATtiny13Aの事を「以前のマイコン」と表記する事がある。

まず、ATtiny202と以前のマイコンでは、レジスタのアドレスの振り方が違う。

データシートから抜粋した両者のメモリ配置図を見て欲しい。

ATtiny202のアドレス空間
ATtiny202のメモリ配置 (データシートより引用)
ATmega328Pのアドレス空間
ATmega328Pのメモリ配置 (データシートより引用)

以前のマイコンではメモリアドレス0x0000~0x001Fに汎用作業レジスタのR0~R31が割り当てられ、I/Oレジスタのアドレスはその続きの0x0020からになっている。

対して、ATtiny202では汎用作業レジスタは別のメモリ空間に割り当てられており、I/Oレジスタはアドレス0x0000から始まっている。

そのおかげで、ATtiny202にはI/Oアドレスという少しややこしい概念がない。

そして、以前のマイコンでは各機能設定用のレジスタの一部がI/Oレジスタ領域にあるが、ATtiny202では各機能設定レジスタは基本的に拡張I/Oレジスタ領域にしかない。I/Oレジスタ領域にあるのは仮想のポート設定レジスタとCPU用レジスタ(ステータスレジスタ等)くらいだ。

レジスタの名前

ATtiny202のデータシートを読むと、各機能の制御用にCTRLAやCTRLBといったレジスタがある。

しかし、様々な機能で同じようにCTRLAやCTRLBという名前になっており、ソースコードにそのまま記述しても設定したい機能のレジスタを特定できない。

そこで、ATtiny202の様々なレジスタ等の定義値を記している”tn202def.inc”というファイルを開くと、例えばSPIのCTRLAレジスタは”SPI0_CTRLA”と定義されている。

この定義値はデータシートに書いてないので、データシートと合わせて”tn202def.inc”の中身を見ながらプログラムを記述する必要がある。

対して、以前のマイコンでは基本的に各機能のレジスタ名はデータシートに書いてある名前がそのまま使える。ATmega328Pのデータシートでは、SPIの設定をするレジスタは”SPCR”となっていて、ソースコードに”SPCR”と書けばプログラムはそのままアセンブルできる。

ATtiny202のタイマ

ATtiny202のタイマも、データシートを読むとかなり多機能なようだ。タイマAには標準動作モードと分割動作モードがあり、標準動作モードでは普通の16bitタイマなのだが、分割動作モードでは8bitタイマ2つとして使う事が出来るようだ。分割動作モードは今回は使用しておらず、データシートもちゃんと読んでいないのでこの記事では割愛する。

以前のマイコンでは、タイマの動作開始は制御レジスタにプリスケーラ設定値を書き込んだ時点だったが、ATtiny202ではCTRLAレジスタにENABLEというビットがあり、このビットに1を書き込む事でタイマは動作を開始する。

確かに、慣れれば「プリスケーラを設定した時点で動作開始」より「ENABLEビットに1を書き込んだ時点で動作開始」の方が直感的で分かりやすいかもしれない。

ATtiny202ではタイマに限らず、殆どの機能のCTRLAレジスタにENABLEビットがあり、このビットを1にすることでその機能が有効になる。

タイマオーバーフロー割り込みと割り込みベクタ

以前のマイコンでは、割り込みがかかると自動的にステータスレジスタのIフラグが0になり全割り込み禁止になる。また、割り込み要求フラグも自動的に解除される。

しかし、ATtiny202では、割り込みがかかった後の全割り込み禁止処理と割り込み要求フラグの解除が必要な場合は、プログラムに記述しなければならない。特別な理由がない限り、通常は記述しておいた方が良いと思われる。

割り込みがかかってもステータスレジスタの退避が自動で行われないのは以前のマイコンと同じなので、通常はこちらもプログラムに記述しておく必要がある。

また、ATtiny202のタイマAオーバーフロー割り込みベクタは0x0008なのだが、これも”tn202def.inc”に定義値が記載されており、”TCA0_OVF_vect”となっている。

この記事を書くために改めて確認したら、実は以前のマイコンのincファイルにも記載されていたが、知らずに今までは即値をそのまま使っていた。

ポート設定

以前のマイコンでは、ポート関連のレジスタは基本的にI/Oレジスタ領域0x0020~0x005F(I/Oアドレスでは0x0000~0x003F)の範囲内にあるが、ATtiny202では冒頭でも述べたように拡張I/Oレジスタ領域にある。例えば、ポートAの入出力方向を設定する”PORTA_DIR”レジスタは0x0400にある。

しかし、ポート設定へは頻繁にアクセスするし、ピンの値によって処理を分岐させる際等に使用するSBICやSBIS命令が使えないのはあまりにも不便という配慮なのか、仮想ポートというレジスタが用意されている。

例えば、”PORTA_DIR”に対応する仮想ポートレジスタは”VPORTA_DIR”で、アドレス0x0000だ。アドレス0x0000~0x001Fの間に入っているので、SBICやSBIS命令も使える。仮想ポートは入出力方向、出力値、入力値、割り込み要求フラグの4レジスタが用意されており、ポートAの場合それぞれ”VPORTA_DIR”, “VPORTA_OUT”, “VPORTA_IN”, “VPORTA_INTFLAGS”で、アドレスは0x0000~0x0003となっている。

これらへのアクセスは、本来のレジスタである”PORTA_DIR”, “PORTA_OUT”, “PORTA_IN”, “PORTA_INTFLAGS”(アドレスはそれぞれ0x0400、0x0404、0x0408、0x0409)へのアクセスと同じ結果になる。通常は仮想ポートの方へのアクセスで良さそうである。

当然、この4レジスタ以外のポート設定を変更したい場合は本来のアドレス0x0400以降のレジスタにアクセスするしかないのだが。

また、以前のマイコンより便利なレジスタがいろいろと増えていて、例えば今回のプログラムでも使用している”PORTA_OUTTGL”などがある。

このレジスタはその名の通り、PORTAの出力値を反転させるというものだ。トグルスイッチのようにON-OFFを切り替えるイメージがしやすい。

使い方は簡単で、ポートAの切り替えたいビットに1を書き込むだけだ。例えばポートAのビット7の出力値を切り替えたかったら”PORTA_OUTTGL”に0B1000000(0x80)を書き込めば良い。そうするとポートA7ピンの出力値が0なら1、1なら0になる。いちいち現在の出力値を確認する手間が省けて楽だ。

実は、同じ事はポートAの入力値を返す”PORTA_IN”レジスタの該当するビットに1を書き込むことでも出来、それは以前のマイコンでも実装されていた(“PINx”レジスタの該当するビットに1を書き込む)のだが、OUTTGLという名前の専用レジスタが用意されたのは、より直感的にプログラム出来て良いと思う。

ポート設定だけでもここには書き切れない程の多数の機能があるので、詳しくはデータシートを参照されたい。

次回は、ATtiny202で“Lチカ”してみた時のプログラムを説明する。

ATtiny202-SSNRで“Lチカ”

カテゴリー: 未分類 | 2件のコメント

8ピンのAVRマイコンATtiny202-SSNRが熱い (ATtiny13Aとの比較)

最近(2022年11月現在)、AVRでATtiny202-SSNRが熱い。円安やインフレの影響で値上がりしてしまったが、それでも1個60円でこんな高性能のマイコンが手に入るのはお買い得だ。2019年頃は1個40円だったのを確認している。尚、秋月電子通商では2022年11月現在売り切れている(前に買ったときは5個まとめて買ったのだが、どうせなら10個くらい買っておけばよかった…)。

そりゃそうだろう。同じ8ピンのATtiny13Aと比べて、完全上位互換だ。

ATtiny202 ATtiny13A
プログラムメモリ 2kB 1kB
EEPROM 64B 64B
RAM 128B 64B
GPIO 6pin 6pin
ADC 6ch 4ch
USART 1ch
I2C 1ch
SPI 1ch
タイマ 16bit×2 8bit×1
価格※ 60円 130円

※2022年11月現在

小さいながら、通信機能が充実しているのが嬉しい。外部機器(例えばDDSとかLCDとか)を制御出来るし、プログラムメモリもSRAMも同じ8ピンのATtiny13Aと比べると倍の容量だ。そして価格は半分以下。AVRで8ピンのマイコンが欲しいとなったら趣味レベルでは殆どATtiny202でいいと思う。

私はAVRの開発をする時はいつもCQ出版社 AVRマイコン・プログラミング入門 廣田修一・著を片手にしている。この本は2010年1月1日発行で、題材としてATmega88を使用している。ATmega328PやATtiny13Aをプログラムする時は、レジスタのアドレスや割り込みベクタの違いなど細かい相違点に気を付ければそう戸惑うことはなかった。

しかし、このATtiny202-SSNRはレジスタの名前からして全く違う。ポート設定やタイマなど、御馴染みの機能を使うにしても今まで触ったことがあるATmega328PやATtiny13Aとは違う設定用レジスタやビットがある。マイコン界での“Hello World”に当たる“Lチカ”プログラムを組むのも少し苦労したので、また別記事で取り上げようと思う。

ATtiny202-SSNRとATmega328P、ATtiny13Aの違い

ATtiny202-SSNRで“Lチカ”

カテゴリー: 未分類 | 3件のコメント

CBR1100XXのラジエターファンモータ交換

7月19日に、突然水温計がHまで振り切るという事象が発生した。ラジエターを見てみるとファンが回っていない。

ここで、故障は以下の三点が考えられる。

  • ファンモータ自体の故障
  • サーモスイッチの故障
  • ファンモータ系統の配線の断線

サーモスイッチはエンジンをかけて水温を上げて接点が導通するかどうかテスターで調べた。結果は異常なし。水温が上がれば接点は繋がるし、水温が下がれば接点は切れる。

配線の断線は、ちゃんと調べようと思ったらテスターで導通を調べないといけないが、とりあえずヒューズを見た。ヒューズは溶断していた。しかし、これで配線がどこかでショートしていると考えるのは早計だ。モータ自体の故障でも過電流が流れる可能性はある。

試しにファンをドライバーでつついて回そうとしてみたが、回らなかった。どうやらモータが固着しているようだ。ヒューズはファンが固着したことにより過電流が流れて切れたと思われる。

サービスマニュアルの手順では、ラジエターを外してからファンを外すことになっているが、ラジエターを外すにはクーラントを抜いて配管を外して…とかなり大掛かりな作業になってしまう。試しにラジエターの下の部分だけ外して手で押し広げて隙間からレンチを突っ込んだらファンのボルトが外れたので、ラジエターを車体に付けたままファンを外せた。

ラジエターを横から見た写真
ラジエターを横から見る。コネクタやサーモスイッチが見える。これだけ隙間があれば、ラジエターを外さなくても隙間からレンチを突っ込んでファンを外せる。
ファンをモータ側から見る
ファンをモータ側から見る。
ファンをファン側から見る
ファンをファン側から見る。
ファンのフレームに異物が付着している
ファンのフレームに異物が付着している。
サーモスイッチに接続するコネクタ
サーモスイッチに接続するコネクタ。250型の平型端子メス。
ファンモータのコネクタ
ファンモータのコネクタ。車体側のコネクタと分離するには、赤丸で囲った爪を矢印の方向にずらして引き抜く。この爪は車体に付いている状態では反対側を向いているので少々作業しにくい。

コネクタは初めて見た形だ。配線コムで調べたところ、住友電装製HM防水シリーズ3極Mコネクタだった。

ファンを車体から外す前は確かに固着していたのだが、外してみたら固着していなかったので試しに回してみた。

始動時の電流
始動時の電流。ヒューズの容量10Aをわずかに超えるが、一瞬なので溶断する程では無い。
定常時の電流
定常時の電流。4A弱と、10Aのヒューズの負荷としてはいたって普通だ。

不具合が再現しなくて困ったが、次の日にもう一度調べたら固着していた。しかし、少し動かすと固着が解かれる。これはもうモータ自体の故障で決まりだ。

パーツカタログでモータの品番を調べたらV,W(自分のはV)は19030-MAT-003だが、廃番になっていた。試しにX,Yの19030-MAT-E00とIの19030-MAT-021も調べたが、どちらも廃番だった。つまり、CBR1100XXの純正のモーターAssyは全て廃番だ。

仕方ないので、Webikeで似たような形のモーターAssyが無いか探してみた。

19030-MBB-640
VTR1000Fファイアストーム、スーパーホークIII CB400D
19030-MBW-610
CBR600F
19030-MCA-003
ゴールドウイング
19030-MER-D01
CBF600S、CBF600
19030-MT3-003
ST1100パンヨーロピアン
19032-MCA-003
ゴールドウイング

似たような形のファンモータがこれだけ引っかかったが、全てCMS経由なので、注文してから来るまでに3週間とかかかってしまう。これらの部品の品番で純正部品検索をして、値段が極端に高くないものという条件にしたら、ゴールドウイング用の19032-MCA-003が22880円だったのでそれを選んだ。尚、自分が注文したのが最後の1個だったらしく、後にもう一度検索したら廃番になってしまっていた(ゴールドウイング乗りの方、ごめんなさい!)。

19032-MCA-003の箱
19032-MCA-003の箱。“新品”の筈だが随分年季が入っている。
19030-MAT-003と19032-MCA-003の比較
19030-MAT-003と19032-MCA-003の比較。コネクタの形が違うが、モータは全く同じ形だ。モータのメーカはDENSO辺りかと思っていたが、どうやらPanasonic製らしい。

このモータはそのままではCBR1100XXにはつかないので、先ほど配線コムで調べたコネクタも注文した。

モータが届いたら、早速配線をぶった切ってコネクタや配線を取り付ける。貴重な新品の純正部品に元に戻せない加工をするのはかなり抵抗があったが、そのままでは使えなくて押入れの肥やしになるだけでありそれも勿体無いので仕方ない。

配線コムで注文したコネクタと端子
配線コムで注文したコネクタと端子。
緑色の配線とφ6mm丸型端子
1.25mm2の緑色の配線とφ6mmの丸型端子。配線はチューブで隠れて殆ど見えなくなるので別に色に拘らなくてもいいのだが。
新しいモータの配線を元々のモータと同じように加工する
新しいモータの配線を元々のモータと同じように加工する。チューブは新しいモータの配線をぶった切ったときに取れたものを加工して流用した。

モータと並列に繋がっている謎の黒い部品は不要なので外した。外した後で気付いたが、この部品はどうやらモータのノイズ除去用コンデンサらしい。250V 0.47と書いてあるので、おそらく耐圧250Vで容量が0.47μFなのだろう。コンデンサなら別にあっても困らないし、付けたままにしておけばよかった。

恐らく、このモータを取り付けるゴールドウイングはECUがついていて、誤作動防止のためにノイズ除去をした方がいいのだろう。しかし、キャブレターのCBR1100XXにはECUがついておらず、それっぽいものと言えばエンジンの点火タイミングを制御するイグニッションコントロールモジュールがあるくらいだ。だから多少のノイズは大丈夫なのだろう。

また、φ6mmの丸型端子と写真には無いが250型の平型端子と小さいタイラップが必要だ。

モータを交換したファンをモータ側から見る
モータを交換したファンをモータ側から見る。
モータをファンをファン側から見る
モータを交換したファンをファン側から見る。
ファンを車体に元通りに取り付ける
ファンを車体に元通りに取り付ける。
ヒューズボックス
ヒューズボックス。
ファンのヒューズが切れている
ファンのヒューズが切れている。
切れたファンのヒューズを交換した
切れたファンのヒューズを交換した。

その後、冷却水が温まったらファンは無事に元気よく回り、修理が完了した。

自宅からそれほど遠くない通勤経路で起こった故障だったので大した被害は出なかったが、ロングツーリングの出掛けた先で起こったらと思うとぞっとする。

作業時間自体は多分合計3、4時間程だと思うのだが、モータを注文して部品待ちだったり、仕事の絡みで明るい時間に作業時間を取れなくて結局直るまでに11日かかってしまった。

今回は何とか別の車種のモータを流用出来て事無きを得たが、次にまた同じ不具合が出たらその頃はもうモータが無いかもしれない。その場合はオーバーホール屋さんに出してモータをオーバーホールして貰うしかない。

カテゴリー: 未分類 | コメントする