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

シンプルなATtiny13A

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

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

項目
ピン数 8
ROM 1Kバイト
RAM 64バイト
動作速度 最高20MHz
動作電圧 1.8~5.5V
I/O数 6

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

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

項目 ピン数 備考等
PWM 2 一つの8ビットタイマ/カウンタ
ADC 4 10ビット
AIN 2 アナログ比較器
INT 6 外部/内部割込み
dW 1 デバグワイヤ
SPI 3 Serial Peripheral Interface

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

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

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

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

ポート pin ISP ADC AIN OC PCINT dW CLK T
PB5 1 RESET ADC0 PCINT5 dW
PB4 3 ADC2 PCINT4
PB3 2 ADC3 PCINT3 CLKI
PB2 7 SCK ADC1 PCINT2 T0
PB1 6 MISO AIN1 OC0B PCINT1
PB0 5 MOIS AIN0 OC0A PCINT0

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-PU ATtiny85-20PU
ピン数 8 8
ROM 1Kバイト 8Kバイト
RAM 64バイト 512バイト
動作速度 最高20MHz 最高20MHz
動作電圧 1.8~5.5V 2.7~5.5V
I/O数 6 6

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

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

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

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


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