На плате коммутации программатора - аналога STK500
не предусмотрена панелька для программирования новой серии AVR микроконтроллеров в корпусе DIP20
с разводкой выводов, отличной от ATtiny2313. Такую разводку имеют ATtiny26, ATtimy261/461/861.
Их подключение к программатору в режиме внутрисхемного программирования (Low Voltage Serial Programming)
вопросов не вызывает, оно стандартно, чего нельзя сказать о режиме параллельного программирования
(High Voltage Parallel Programming). А ведь этот режим более универсален, он позволяет на 100%
использовать возможности микроконтроллеров, а в случае неправильной установке FUSE бит может помочь
восстановить их работоспособность.
С выводами питания, RESET, XTAL1 и шиной данных все ясно, а вот куда подключить 6 оставшихся
управляющих сигналов? Очевидное решение - подключить их к программатору так, как это сделано
для других типов AVR микроконтроллеров не привело к успеху. Дело в том, что для ATtiny861
и других с такой же разводкой выводов разработчики программно поменяли сигналы программатора.
Очевидно, это сделано для удобства коммутации в оригинальной STK500.
Попытки вычислить соответствие выводов программатора ножкам контроллера по схеме оригинальной
STK500 и поиски информации в Internet не дали результата. Пришлось вооружиться осциллографом
и посвятить некоторое время исследовательским работам. Результат этих исследований приведен
в таблице (High Voltage Parallel). Там же для справки показано, как подключается контроллер
при внутрисхемном программировании (Low Voltage Serial).
STK500 |
High Voltage Parallel |
Low Voltage Serial |
Pin X3 |
Name X3 |
Signal name |
Pin name |
Pin DIP20 |
Signal name |
Pin name |
Pin DIP20 |
10 |
SWC |
XTAL1 |
PB4 |
7 |
XTAL1 |
PB4 |
7 |
5 |
TRST |
RESET |
PB7 |
10 |
RESET |
PB7 |
10 |
18 |
PC0 |
- |
- |
- |
- |
- |
- |
6 |
PC1 |
- |
- |
- |
- |
- |
- |
19 |
PC2 |
WR |
PB0 |
1 |
- |
- |
- |
7 |
PC3 |
XA0 |
PB1 |
2 |
- |
- |
- |
20 |
PC4 |
XA1 |
PB2 |
3 |
- |
- |
- |
8 |
PC5 |
BS1 |
PB3 |
4 |
- |
- |
- |
21 |
PC6 |
RDY/BSY |
PB6 |
9 |
- |
- |
- |
9 |
PC7 |
OE |
PB5 |
8 |
- |
- |
- |
1 |
PB0 |
DATA0 |
PA0 |
20 |
- |
- |
- |
14 |
PB1 |
DATA1 |
PA1 |
19 |
- |
- |
- |
2 |
PB2 |
DATA2 |
PA2 |
18 |
- |
- |
- |
15 |
PB3 |
DATA3 |
PA3 |
17 |
- |
- |
- |
3 |
PB4 |
DATA4 |
PA4 |
14 |
- |
- |
- |
16 |
MOSI |
DATA5 |
PA5 |
13 |
MOSI |
PB0 |
1 |
4 |
MISO |
DATA6 |
PA6 |
12 |
MISO |
PB1 |
2 |
17 |
SCK |
DATA7 |
PA7 |
11 |
SCK |
PB2 |
3 |
12, 24 |
Vcc |
VCC |
VCC |
5, 15 |
VCC |
VCC |
5, 15 |
13, 25 |
GND |
GND |
GND |
6, 16 |
GND |
GND |
6, 16 |
Модуль расширения для параллельного программирования ATtiny26 и других контроллеров этой
серии собран в разборном корпусе от разъема DB-25P, который непосредственно подключается к
разъему на корпусе программатора - аналога STK500.
Панелька DIP20 распаивается на плате размером 37х30 мм, чертеж которой показан на рисунке. В одной из половинок
корпуса разъема прорезается отверстие по размеру панельки и плата с запаянной панелькой
приклеивается к этой половинке с внутренней стороны. Соединение выводов панельки с разъемом
выполняется навесным монтажом в соответствии с таблицей.
К сожалению, разводка для «High Voltage Parallel» и «Low Voltage Serial» не совпадают, поэтому
программирование в обоих режимах в одной панельке невозможно. Целесообразно сделать распайку
именно для параллельного программирования, а режим ISP использовать при внутрисхемном
программировании.
© 2012г.
|