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)