この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
広告
posted by fanblog
2016年06月05日
ATmega328P ヒューズビットに設定する値
日本語データシートからヒューズビットの項目P182を抜き出しました。ATmega328Pとしてのヒューズビットの設定値を決定します。
前提条件:USB電源、16MHz水晶発振器、3.3V動作にも対応しておく。水晶発振器の出力は外部に供給しない(全振幅発振器にはしない)。
P182は下記。
拡張ヒューズバイト:
BODLEVEL0~2の設定 電源電圧低下検出レベルの設定。 BODLEVELの値の説明についてはP197参照。
P197は下記。電源が+5V固定なら100とすべきだが、+3.3Vで駆動させることは十分想定されるので、101の設定にしておくのが無難と思われる。よって拡張ヒューズバイトは、FDhとする。しかしながら実際にこの値を書いても拡張ヒューズバイトは下3ビットしか自由に書き込めない。上位5ビットは何を書いても0になるので、拡張ヒューズバイトは、05hとする。
ヒューズ上位バイト:
RSTDISBLは、PC6はRESETピンとするので1を指定。
DWENは、デバッグのやり方の知識がないのでとりあえず無効として1を指定。
SPIENは、直列プログラミングを許可するので、0を指定。
WDTONは、ウォッチドッグ タイマは常時有効にしないので1を指定。
EESAVEは、チップ消去からEEPROM内容を保護しないので1を指定。
BOOTSZ1,0ブートローダのサイズ指定。ブートローダのファイルサイズで決めるべきものだが、自分ではブートローダを作成しないので、出来合いのもののサイズから、2048ワードとなる01を指定する。
BOOTRSTリセットベクタをブートローダ領域にするかどうかの指定。ブートローダ領域にするので0を指定する。
表27-7は下記。
ヒューズ上位バイトは、DAhとする。
ヒューズ下位バイト:
システムクロックは、16MHz水晶発振器としますのでこれを前提とする。パワーダウンパワーセーブ機能は使用しないことにする。
CKDIV8 システムクロックを8分周するかどうか。分周しないので、1を指定。
CKOUT システムクロックは出力しないので、1を指定。
水晶発振器だが、出力を外部に供給しないので全振幅発振器にはしない。よって、表9-3から、CKSEL3〜1 111を指定。
USB電源(電池駆動しない)なので、パワーダウン、パワーセーブ機能は使用しない。表9-4から、CKSEL0は1、SUT1,0は01とする。
ヒューズ下位バイトは、DFhとする。
前提条件:USB電源、16MHz水晶発振器、3.3V動作にも対応しておく。水晶発振器の出力は外部に供給しない(全振幅発振器にはしない)。
P182は下記。
拡張ヒューズバイト:
BODLEVEL0~2の設定 電源電圧低下検出レベルの設定。 BODLEVELの値の説明についてはP197参照。
P197は下記。電源が+5V固定なら100とすべきだが、+3.3Vで駆動させることは十分想定されるので、101の設定にしておくのが無難と思われる。よって拡張ヒューズバイトは、FDhとする。しかしながら実際にこの値を書いても拡張ヒューズバイトは下3ビットしか自由に書き込めない。上位5ビットは何を書いても0になるので、拡張ヒューズバイトは、05hとする。
ヒューズ上位バイト:
RSTDISBLは、PC6はRESETピンとするので1を指定。
DWENは、デバッグのやり方の知識がないのでとりあえず無効として1を指定。
SPIENは、直列プログラミングを許可するので、0を指定。
WDTONは、ウォッチドッグ タイマは常時有効にしないので1を指定。
EESAVEは、チップ消去からEEPROM内容を保護しないので1を指定。
BOOTSZ1,0ブートローダのサイズ指定。ブートローダのファイルサイズで決めるべきものだが、自分ではブートローダを作成しないので、出来合いのもののサイズから、2048ワードとなる01を指定する。
BOOTRSTリセットベクタをブートローダ領域にするかどうかの指定。ブートローダ領域にするので0を指定する。
表27-7は下記。
ヒューズ上位バイトは、DAhとする。
ヒューズ下位バイト:
システムクロックは、16MHz水晶発振器としますのでこれを前提とする。パワーダウンパワーセーブ機能は使用しないことにする。
CKDIV8 システムクロックを8分周するかどうか。分周しないので、1を指定。
CKOUT システムクロックは出力しないので、1を指定。
水晶発振器だが、出力を外部に供給しないので全振幅発振器にはしない。よって、表9-3から、CKSEL3〜1 111を指定。
USB電源(電池駆動しない)なので、パワーダウン、パワーセーブ機能は使用しない。表9-4から、CKSEL0は1、SUT1,0は01とする。
ヒューズ下位バイトは、DFhとする。