- 5月1日
秋月にATmega32u4を2個頼んだ。
- 2022年5月4日
秋月に頼んATmega32u4が来た。DIP変換基板も付属していた。回路設計の前にこれを使って実験が出来そう。
- 2022年5月12日
DIP変換基板にCPUを半田付けした。
後はこれにISP用6PコネクタとUSBのタイプBを付けて、
5V電源を入れて、通信が出来れば第1段階はOKと考える。
- 2022年5月13日
プログラム書き込みに 普通に作ったhexファイルを書き込むと、DFUが無くなってしまうみたい。
少なくともISPを使って書くと、書く前に入っている物を消す事になるので、そこで消えてしまうみたい。
USBを書き込みに使うFLIP(DFUを使う)は、消すのかどうかまだハッキリわからない。
DFUが入っている買ったばっかりのサラのCPUを一つ用意して置けば、DFUを読み出す事が出来るのではないかな?
読み出した物を書き込めば、DFUが使えると思うがどうだろうか?
取りあえずFLIP(DFUを使う)は、ダウンロードした。覚えの電子工作のフォルダ内の「ATmega32u4」に入れた。
- 2022年5月14日
DIP変換基板にCPUを半田付けした。
5V電源と電源LEDを取り付けて変なショートは無く、電源LEDが点灯することを確認した。
後はこれにISP用6Pコネクタとリセットスイッチ付ける予定。
これでISPを繋げて、CPUの中のデータ(ヒューズデータ等)が読めればOK
次にUSBのタイプBとクリスタル+コンデンサを付ける予定。これでUSBで繋がり、アクセスできればOK。
- 2022年5月16日
DIP変換基板にUSB-TYPE-B以外を半田付けした。
恰好は悪いが、ISPでアクセス出来るはず。今日はここまでで、まだアクセスはしていない。
- 2022年5月20日
「FLIP」と「Atmel Studio7.0」をWindous10(インターネットに繋がっている)にインストールした。
それぞれの画面は出て来た。
「Atmel Studio7.0」では変数の操作のコードを書いたらコンパイル(ビルド)は出来、
hexファイルも出来たが、動くかどうかはわからない。XC8なので、GCCで作った方が良いのかな?
GCCでも作ってみた。数バイト長いが、コードその物が短いので何とも言えない。
他のCPUでLED点滅ぐらいしてみないとわからない
「FLIP」はターゲットのCPUをmega32u4にして、
「Atmel Studio7.0」で作ったhexファイルを読み込むまでは出来た。
今日はここまで
- 2022年5月21日
USB-TYPEBを接続した。データの直列抵抗は15Ω(30パラ)にした。
今日はここまで
- 2022年5月25日
USBケーブルでWindous10に接続しても変化なし。FLIPでUSBを選んでもダメ。
デバイスマネージャーでUSBの所を見てもそれらしい物は無い。
何をどうしたら良いのかわからない。
ISPではヒューズもプログラムもアクセスできる。適当なプログラムは書けて、ベリファイも通った。
USBは諦めて、ISPで書く方が簡単。
「実装についての考え」でも書いたが
今の所、作ったプログラムでUSBを操作する事が無いので、ISPで書く方式で支障はない。
言い換えれば、USBは邪魔。
取りあえずはLED点滅が出来れば良しとして、ISPで書き込んで点滅するまで
PC7にLEDを繋いで、点滅プログラムを書き込み、動作は確認できた。
後は、実験用のユニバーサルなどを載せた基板を作る事になる
- 2022年6月1日
実験用の基板の設計はほとんど終わった。後は「ユニバーサル部分をどの程度にするか」、がまだ。
言い換えれば、基板全体の大きさがまだ決まっていない。(他の基板と組み合わせるかもしれないので)
- 2022年6月7日
回路図と基板図が出来た。約50mmx約100mmで作った。もう一つ基板を組み合わせられる大きさになった。
- 2022年6月10日
Atmega4809_LEDと結合したガーバーファイルを作った。
- 2022年6月13日
部品表を書いた。
- 2022年6月16日
RSに頼む物だけは先に今日注文した。
Elecrowに基板を頼んだ。
配送業者は「E-Commerce express(7-10Business days)」にした。
円安の影響で以前頼んだ時よりも、割高になっている。
それでも基板代金としては5枚で700円÷2位なので、高いとは言えない
- 2022年6月17日
RSに昨日注文した物の一部は 今日入った。
Elecrowから2つの回路を付けた基板に見えるので、12$を追加で支払って欲しいと言うメールが来た。
(実際その通り)
12$余分に払うなら、一つづつにして2枚頼んだ方が良いので、今回はこの基板だけキャンセルする様に返信をした。
別々の基板にして、周りにもう少し回路を追加してから、注文したいと思う。
- 2022年6月18日
Elecrowから3日中(3労働日中)に$4.9を返却するとメールが来た。
急いで設計した感じが有るので、も少し時間をかけてあらためて設計したい。
ユニバーサル部分、電源部分などをよく考えたい。
4809の基板とやはり共通にしたい。裏表で使い分けられないか?お互いに全て片面に出来れば、共通に出来るような気がする。
電源(5V)は共通でも良いと思う(スルーホールを使って、部品番号、部品名などは新たに基板にだけ書き込めば良いと思う。
今までは、44ピンTQFPをDIPに変換する機能も考えていたが、それは無しで、32U4専用にする。
すこし基板図に手を入れたが、片面だけの配線は難しい。と言う事は、4809の基板とは共通に出来ない。
電源部分をCR2から単4+昇圧回路の5Vにしたい。それと、SMDの部品は止めて、スルーホールにしたい。
ユニバーサル部分にSMDの物のパターンを追加したい。
SOIC8、SOIC18、は2個づつ、SOT23は4個、2012の部品は10個ぐらいは欲しい。
基板寸法としては、100x100は大きい。100x50位に収めたい。
- 2022年6月22日
電源部分を単4+昇圧回路の5Vにしたい。部品はスルーホールにした。
ユニバーサル部分にSMDの物のパターン(SOT23は20個、2012の部品は20個ぐらい)を追加した。
基板寸法は、100x60に収まった。
回路図と基板図が出来た。
ガーバーファイルも作った。部品表はまだ出来ていない。
- 2022年6月23日
部品表が出来た。
- 2022年12月16日
elecrowに基板を注文した。
一緒にsix_in17の3種類のアクリルと、tyuのアクリルと、mega48_ledの基板も注文した。今年中に来れば良い方だろう。
- 2022年12月17日
elecrowに注文した基板の色を赤にしてしまった。黄色にする筈だった。
- 2022年12月24日
昨日、発送したとElecrowからメールが来た。届くのは多分来週前半だろう。
- 2022年12月28日
今日、佐川で荷物が届いた。
入っていた基板(表、裏)は見た所良い様だ
- 2023年1月18日
基板の組立を始めたが、USB-Type-Cのコネクタ付が大変だ。
何とか半田付けは出来た(かも?)が、CPUのTQFPの比ではない。
ペーストを使って、何とかハンダを流す感じでやったが、本当についているか?
見えない所で隣とくっついているのではないか?
ペーストがコネクタ接点の所まで行っているのではないか?
見た目だけではない不安材料が一杯ある。
このコネクタは、手半田で付ける物では無い。
ステンシルとクリームハンダとヒーターで付ける物だと思う。
今日は、これだけでやる気が失せたので、終わり。
- 2023年1月19日
Type-Cの半田付けをテスターを使って調べてみた。
Type-Aとの変換ケーブルを使って調べたところ、+5V、GND、+D、-Dの4本に関しては
繋がっている事、相互に接触していない事は確認できた。(USBコネクタ信号)
他の信号に関してはまだわからないが、Type-Bのコネクタを使えば、
Type-Cのコネクタに邪魔はされないで通信できると思う。
今、USBの説明書を見ていて気が付いたが、この基板にはフルスピード(FS)とロースピード(LS)の判別用の回路が無い。
忘れていた。(見落としていた) +Dか-Dを+3.3Vに抵抗を介して接続して、ホストが判別できるようにしないといけないみたい。
ユニバーサル部分に追加する必要が有るだろう。
基板は組み立てたが、電源関係のLEDが点灯する所までしか、確認できていない。
今日はここまでとする。
- 2023年5月6日
この基板を動かす為のジャンパー等を考えてみる。
- USBコネクタから5Vを貰うとして、SJ1~SJ12の全てのジャンパーをONにする。
- トグルスイッチ(S2)をVBUS側にする。
- HWB(PE2、33ピン)を10kΩでプルアップする。
- スイッチサイエンスの基板では、 +Dか-Dを+3.3Vに抵抗を介しての接続(ハイスピード、ロースピードの判別用)を
していない。しなくても良いのか?...。
しかし16MHzのクリスタルを使っているので、16MHzのクリスタルを付ける事にする。コンデサ2個も付ける。
これで、Flipを使ってプログラムを書き込めるような気がする。
書き込む時は、HWBスイッチ(S1)をONにしながらリセットスイッチ(S3)を押し、
リセットスイッチ(S3)を離してから、HWBスイッチ(S1)を離す。
通常のプログラムを走らす時は、HWBスイッチ(S1)は押さない。
- 2023年5月8日
基板のSJ1~SJ12のシャンパーを半田を盛ってショートした。
プルアップ抵抗と、クリスタル発振子とコンデンサ(12PF)を付けた。
TYPE-Bコネクタでパソコン(Windows10)と接続すると、パソコンから「ピコン」と音がしたので、多分認識したのだと思う。
一度、TYPE-Bコネクタを外す
Flip3.4.7を起動してから、その画面で、
[Device]-[Select]-[ATmega32U4]を選択する
改めて TYPE-Bコネクタを接続する。
[Setting]-[Communication]-[USB]を選択すると、
「USB Port Connectiom」のダイアログが開いて「Open」と「Cancel」のボタンが出るので
「Open]を押すと
・右の枠「Atmega32U4」の所に
- Signatyre Bytesに [58][1E][95][87]と表示され、
- Devise Boots Idsに [00][00] と表示され、
- Bootloader Verに[1.0.0]と表示される。
・真中のの枠「FLASH Buffer Infoemation」の所に
- Sizeに 28kBと表示され、
- Rangeに 0x0 - 0x0と表示され、
- Checksumに 0xFFと表示され、
- Reset Before Loading される
・左の枠「Operation Flow」の所の
- [Erase]のチェックボックスにチェックが付き、
- [Blank Check]のチェックボックスにチェックが付き、
- [Program]のチェックボックスにチェックが付き、
- [Verify]のチェックボックスにチェックが付いた。
ハッキリとはしないが、シグネチャーが出て来たのでUSBで通信は出来ているのだろう。
取りあえず次のチェックとして、[Blank Check]のチェックボックスのチェックだけを残して
他のチェックボックスのチェックは消してから、その下の「RUN」ボタンを押した。
そうするとその下の枠の所に[Blank check PASS]と表示されたので、
FlipプログラムとCPUのやり取りは出来ているみたい。
今日の所はここまで
- 2023年5月11日
ここからは前回の続き(ブランクチェックの後から)
今度は[File][Load HEX file]でLED点滅のファイルを選んで読み込む。
その後、[Blank Check]以外の[Erase]、[Program]、[Verify]の3つだけにチェックを入れて
その下の「RUN」ボタンを押す。
そうすると下の枠に[Verify PASS]と表示された。これで書き込めたハズ。
右枠の下の「Start Application」ボタンを押すと、
LED1(赤)が速く点滅した。(なぜかわからない)
USBケーブルを外して、CPUにバッテリから電源を入れる操作(S2:BAT、JP1:ショート)をにしてから
バッテリー電源ONにすると、LED1(赤)が約1秒間隔で点滅をした。
プログラムが書き込めて、動作を確認できた事になる。
何度もプログラムが書き込めるか試す。
USBコネクタから電源を入れる操作(S2:USB、JP1:オープン)をする。
USBケーブルを差し込み(LED1は約1秒間隔で点滅する)、
HWBスイッチを押しながら、
リセットスイッチを押して離してから、HWBスイッチを離す。
するとパソコンがピコンと鳴って、USBを認識する。
あらためて、Flipで[Setting]-[Communication]-[USB]を選択し、
USBをオープンする。
確認の為ブランクチェックをする。「RUN」ボタンを押しても動かないみたいなので、
枠の上にあるブランクチェックボタンを押す。
下の枠に[Blank check fail at 0x00000]と表示される。
次にプログラムを消したいので枠の上にあるイレースボタンを押す。
[Erasing done]が表示される。
この段階で一度USBケーブルを外して、Flipも閉じる。
CPUにバッテリから電源を入れる操作(S2:BAT、JP1:ショート)をにしてから
バッテリー電源ONにすると、LED1(赤)は点滅しない。(点灯もしない)
プログラムは消えた。
USBコネクタから電源を入れる操作(S2:USB、JP1:オープン)をする。
USBケーブルを差し込み(LED1(赤)が約1秒間隔で点滅)、
HWBスイッチを押しながら、リセットスイッチを押して離してから、HWBスイッチを離す。
するとパソコンがピコンと鳴って、USBを認識する。
以後は1回目と同じ様な操作を行う。
あらためて、Flipで[Setting]-[Communication]-[USB]を選択し、
USBをオープンする。
[File][Load HEX file]でLED点滅のファイルを選んで読み込む。
その後、[Blank Check]以外の[Erase]、[Program]、[Verify]の3つだけにチェックを入れて
その下の「RUN」ボタンを押す。
そうすると下の枠に[Verify PASS]と表示された。
USBケーブルを外して、CPUにバッテリから電源を入れる操作(S2:BAT、JP1:ショート)をにしてから
バッテリー電源ONにすると、LED1(赤)が約1秒間隔で点滅をした。
2度プログラムが書き込めて、動作を確認できた事になる。
USBから電源を取らなくても、バッテリー方電源を入れる操作をした状態(LED1(赤)が約1秒間隔で点滅している)で、
USBケーブルを差し込み、HWBスイッチを押しながら、リセットスイッチをを押して離すと、
パソコンがUSBを認識する。(LED1は消える)
なので、認識した状態でFlipを起動して、[Setting]-[Communication]-[USB]を選択し、
USBをオープンすれば、
ブランクチェックやプログラム書き込みが出来る。
これで書き込みの確認が出来た。
AVRISPが有れば、このUSBによる書き込みのメリットは余り無いが、
Atmega32U4を使う時は、選択肢が増える分は、メリットだろう。
このCPUを選択するのは、USB通信のプログラムを作る時に限定されるように思えるので、
私としては、今後使うかどうかわからない。
※ユーザープログラムを書き込んでいない状態の時(購入した時のまま)は、
HWBスイッチを押しながら等の操作をしなくても、
USBケーブルを差し込むと、パソコンはUSBを認識する。
但し、USBからの電源供給時しか確認できていない。
「クリスタルを付けないと動作しない」のか確認をしたい。
付けないで、USBから書き込みが出来れば、デメリットが減る。
- 2023年5月12日
Type-Cで接続しても TYPE-Bと同じ様にパソコンが認識して、
「Flip」で Signatyre Bytes他が表示出来たので、Type-Cでも TYPE-Bと同じ様に使える。
クリスタルを付けない状態では 書き込み済のユーザープログラムも動作しない。
USBプログラム(DFU)とユーザープログラムの切り替えがうまく行かないのかな?
何にしても、クリスタルを必要とする。
クリスタルとコンデンサを 16MHzのコンデンサ内蔵セラロックに交換しても、
USBの動作もユーザープログラムプログラムの動作も出来た。
厳密には周波数精度が問題になるかもしれないが、実用上は大丈夫みたい。
Flipで書き込めるのは FLASHとEEPROMみたいなので、ヒューズを書き換えたい時は
どうするのだろう?
今は多分、内部発振8MHzの1/8クロックで1MHzで動いていると思うが、
これを外部発振子を使って 16MHzの1/1で16MHzで動かしたい時はどうしたら良いのだろう?
ISPが必要となったら、ユーザープログラムもISPで書けばよいのだから、
このUSBを使う意味が無いような気がする。
現状は 1MHz動作で、他のヒューズ設定もデフォルトで動かすというのが前提かな?
実際にこのCPUを使う必要が出て来た時に考える(調べる)事にする。