ATtiny13Aのピンの割当、ATtiny85との比較

シンプルなATtiny13A

AVRのお勉強の続き。割と一般的で、かつ、シンプルと思われるATtiny13A-PUをネタにして調べてみる。8pin DIPという小さなもの。ATtiny2313の方がピン数が多くて(20pin)いろいろと使い出があるかと思ったのだけれど、こちらにはADC(ADコンバータ)が搭載されていないようなのでパス。

まず、ATtiny13A-PUの主なスペック。

項目
ピン数8
ROM1Kバイト
RAM64バイト
動作速度最高20MHz
動作電圧1.8~5.5V
I/O数6

DIPタイプのピンアサインをデータシートから引用。

I/Oピンは、単なるデジタルの入力や出力だけでなく、様々な機能に割り当てることができる(機能を変更できると考えた方が良いか?)。データシートなどを眺めて、次のように理理解した。

項目ピン数備考等
PWM2一つの8ビットタイマ/カウンタ
ADC410ビット
AIN2アナログ比較器
INT6外部/内部割込み
dW1デバグワイヤ
SPI3Serial Peripheral Interface

いろんな機能が割り当てられるようになっていて複雑。

例えば、8ビットのタイマ兼カウンタが一つあり、その出力が二本あってPWMとして使えるようだ。このピンも他の機能に割り当てられるようになっており、その機能に割り当てたら、当然、PWM出力としては使えない(はず)。

SPIはISP(In-System Programming)用のポートとして使う。RESETを含めると4ピン。

ポート番号を軸に、一覧に整理してみた。

ポートpinISPADCAINOCPCINTdWCLKT
PB51RESETADC0PCINT5dW
PB43ADC2PCINT4
PB32ADC3PCINT3CLKI
PB27SCKADC1PCINT2T0
PB16MISOAIN1OC0BPCINT1
PB05MOISAIN0OC0APCINT0

OCがカウンタの出力(PWM出力)。

PCINTは割込み。

dWはデバグワイヤの出力。

CLKIは外部クロックを使う場合の入力。ピン数が少ないので、内部クロックを使う方が現実的だと思う。

Tはタイマ/カウンタの外部クロック入力。これも、特殊事情がない限り、内部クロック利用の方が現実的。

この表とにらめっこして、どのピンにどの機能を割り当てるか(割り当てられるのはどこか)を考えることになると思うが、ここまでの理解はあっているだろうか?

ATtiny85と比較

ATtiny13Aと同じ8ピンのAVRにATtiny85がある。ピンアサインを眺めていると、両者はピンコンパチっぽい。正しくは、ATtiny85がアッパーコンパチというべきか。

ATtiny13A-PU DIPタイプのピンアサインを再掲。

続いて、ATtiny85-20PU DIPタイプのピンアサイン。こちらもデータシートから引用。

両者をPBnで比べるとピン番号は一致している。また、各ピンの機能はATtiny13A-PUにあるものはATtiny85-20PUにもある。追加された機能はあるが、削られた機能はない。ということは、追加機能を使わないなら、ATtiny85はATtiny13Aのメモリを増やした上位互換品として使えそう。

項目ATtiny13A-PUATtiny85-20PU
ピン数88
ROM1Kバイト8Kバイト
RAM64バイト512バイト
動作速度最高20MHz最高20MHz
動作電圧1.8~5.5V2.7~5.5V
I/O数66

※動作電圧に関して、低電圧対応版のATtiny85Vというモデルがあり、こちらなら1.8~5.5V。

追加されている機能を拾ってみる。

項目ATtiny13A-PUATtiny85-20PU
8ビットカウンタ/タイマの数12
PWM出力24
システムクロック出力なしあり
X’tal接続不可

ソフト的なところは見ていないのでわからないけど、ハードウェアの面では上位コンパチと見て良さそう。


ちょっと思うことがあって、ワンチップマイコンを調べてみる。検索してみるとPICを推す声とAVRを推す声とがある。記事を書いた時期によってもだ...
AVRのお勉強の続き。 開発環境Atmel Studio 7をインストールする。古い資料などを見ると、「AVR Studioと、別途フリー...
スポンサーリンク
スポンサーリンク