ATmega88生活 の変更点
*[[ws☆Nak:http://www.wsnak.com]]#[[172基板:http://www.wsnak.com/kit/172/index.htm]]で始めるATmega88生活 [#ie1f34c8]
#contents
http://psp.dip.jp/web/jpg/ws0.jpg
----
*Hardwareについて [#r525fe78]
-WS#172基板は、回路図を含め仕様が公開されています。
-http://www.wsnak.com/kit/172/index.htm
-ここでは、WS#172基板を料理していきたいと思います。
-まず、必要最小限と思われる部品を載せます。
http://psp.dip.jp/web/jpg/ws1.jpg
-3.3V動作させたかったので、バスパワージャンパーJP1の表側2-3間をパターンカットして、ジャンパーの代わりに3端子レギュレータを実装しました。
-裏面は3端子レギュレータの真ん中の足をGNDに落としています。
http://psp.dip.jp/web/jpg/ws2.jpg
-ちょっと汚いですが、改造箇所は、表面の3端子のJP1 (2-3) パタンカット1箇所と、裏面のJP1 (2) GNDの2つです。
-ポリスイッチR7は手持ちが無かったため、0Ω直結しています。
-ZD1,ZD2は青色LEDで代用し、ZDとは逆極性(つまりLEDが点灯するように順方向)接続にしています。
-5V動作時は青色LEDがまばゆいほどに点灯しますが、3.3V動作では丁度良い明るさで点灯し、USBバスの動作の様子を表わしてくれています。
-3.3V動作させるので、ZD(もしくは代用LED)は省略可能です。(単に目視チェック用に点灯させているだけです)
-スイッチは'L'のみを載せています。(bootloadHIDのユーザープログラム起動が出来ます)
-PWR LED , BSY LEDはちゃんと実装しました。
-水晶はソケット式にして、差し替え可能(クロック変更自在)としました。
~
~
~
----
*Softwareについて [#qf6b7805]
第一弾:
''HIDmonとbootloaderHIDの詰め合わせ''
--[[ATmega88専用bootmon:bootmon-ws172.zip:http://psp.dip.jp/web/upload/bootmon-ws172.zip]]
--[[ATmega328P対応bootmon:bootmon-ws172-m644.zip:http://psp.dip.jp/web/upload/bootmon-ws172-m644.zip]]
-これは、bootmon-1127.zip のbootloaderconfg.hを書き換えて、USBの配線をWS#172に合わせただけのものです。
-hidmon88.exeを起動して、PWR LED , BSY LEDを手動で点灯させることが出来ます。
-bootloadHID.exeを起動して、ATmega88の応用領域6kBに任意のhexファイルを転送して実行させることが出来ます。
-実行後hidmonに制御を移す、あるいはリセットするという操作により、自作プログラムの実行後のメモリー内容
を読み出すことも出来ます。
~
注意:
-ATmega328P用HEXをビルドするときはATmega328Pに対応したAVR-GCCが必要です。
-ATmega88/168用HEXをビルドするときはWinAVRの20060421版もしくはそれに近いバージョンのコンパイラを使用します。(ファームサイズを2kに納める為です。)
~
~
Borland-Cに対応してみました。
''Borland-C対応版HIDmon''ソース入り (ファームはmega328/644用です)
--[[ATmega328P対応bootmon-BorlandC用:bootmon-ws172-bcc55.zip:http://psp.dip.jp/web/upload/bootmon-ws172-bcc55.zip]]
~
----
第2弾:
***HIDaspx for ATmega88 [#q58b20b3]
-[[ATmega88専用HIDaspx:hidspx88-ws172.zip:http://psp.dip.jp/web/upload/hidspx88-ws172.zip]]
-[[ATmega328P対応HIDaspx:hidspx88-ws172-m644.zip:http://psp.dip.jp/web/upload/hidspx88-ws172-m644.zip]]
注意:
-ATmega328P用HEXをビルドするときはATmega328Pに対応したAVR-GCCが必要です。
~
----
第3弾以降の予定稿
-キーボードまにあ!!!(スリー) for WS#172基板
-microSD access TEST
-
~
~
~
~
----------
*ATmega328P/ATmega644Pのfuseについて。 [#l2e47b10]
-以下のように設定しています。
***ATmega328P [#eed7832d]
E:\bootmon-ws172\bin>hidspx -d4 -rf
Detected device is ATmega328P.
Low: 11111111
||||++++-- CKSEL[3:0] システムクロック選択
||++-- SUT[1:0] 起動時間
|+-- CKOUT (0:PB0にシステムクロックを出力)
+-- CKDIV8 クロック分周初期値 (1:1/1, 0:1/8)
High:11-11000
|||||||+-- BOOTRST (1:Normal, 0:BootLoader)
|||||++-- BOOTSZ[1:0] (11:256W, 10:512, 01:1024, 00:2048)
||||+-- EESAVE (消去でEEPROMを 1:消去, 0:保持)
|||+-- WDTON (1:WDT通常動作, 0:WDT常時ON)
||+-- SPIEN (1:ISP禁止, 0:ISP許可) ※Parallel時のみ
|+-- DWEN (On-Chipデバッグ 1:無効, 0:有効)
+-- RSTDISBL (RESETピン 1:有効, 0:無効(PC6))
Ext: -----101
+++-- BODLEVEL[2:0] (111:無, 110:1.8V, 101:2.7V, 100:4.3V)
----
***ATmega644 [#tc9e44b6]
Detected device is ATmega644P.
Low: 11110111
||||++++-- CKSEL[3:0] システムクロック選択
||++-- SUT[1:0] 起動時間
|+-- CKOUT (0:CLKOにシステムクロックを出力)
+-- CKDIV8 クロック分周初期値 (1:1/1, 0:1/8)
High:11-11010
|||||||+-- BOOTRST ※データシート参照
|||||++-- BOOTSZ[1:0] ※データシート参照
||||+-- EESAVE (消去でEEPROMを 1:消去, 0:保持)
|||+-- WDTON (1:WDT通常動作, 0:WDT常時ON)
||+-- SPIEN (1:ISP禁止, 0:ISP許可) ※Parallel時のみ
|+-- JTAGEN (1:JTAG禁止, 0:JTAG許可)
+-- OCDEN (JTAGデバッグを 1:無効, 0:有効)
Ext: -----101
+++- BODLEVEL[2:0] (111:無し, 110:1.8V, 101:2.7V, 100:4.3V)