AVReAl | Описание | Адаптеры | History | FAQ |
Процессоры серии AVR программируются по последовательному интерфейсу SPI при рабочем напряжении питания. Дополнительно к сигналам SPI (SCK,MOSI,MISO) используется сигнал /RESET для сброса контроллера. В режиме "FBPRG" может использоваться вывод контроллера XTAL1 для тактировки контроллера при отсутствии кварцевого резонатора. Обратите внимание, что для процессора ATmega103 в режиме программирования вместо выводов MOSI, MISO её аппаратного контроллера SPI используются соответственно выводы PDI (RXD, вывод 2) и PDO (TXD, вывод 3).
AVReAl использует программную реализацию SPI через линии параллельного порта компьютера и поддерживает три типа адаптеров.
Я не рекомендую пользоваться самым примитивным вариантом "5 проводков" aka "FBPRG". Звоны в кабеле, разброс характеристик микросхем LPT могут присести к разнообразным глюкам, сильно зависящим от конкретного компъютера и фазы луны. Не поленитесь, спаяйте Altera ByteBlaster, пригодится в случае чего и альтеровскую программируемую логику прошивать. Или воспользуйтесь адаптером, совместимым с платами STK200 или STK300 фирмы ATMEL, там такой же шинный формирователь, только другая распайка. Использование шинного формирователя улучшает форму программирующих сигналов и позволяет не снимать колодку с платы при отладке, программа переводит выходы адаптера в Z-состояние после окончания программирования. Оправданием использовния этого "адаптера" может служить только необходимость раз-другой прошить кристалл при повторении чужой разработки. Но как раз в этом случае особо неприятно загнать кристалл в неприличную позу. Кроме того ("аппетит приходит во время еды") - обязательно захочется еще что-нибудь куда-ниюудь зашить, но, поленившись спаять нармальный адаптер в первый раз, Вы будете еще долго ругаться и лениться, лениться и ругаться :-)
вывод LPT | Сигнал AVR | вывод LPT | Сигнал AVR |
6 (D4) | /RESET | 8 (D6) | SCK |
7 (D5) | MOSI | 10 (ACK) | MISO |
5 (D3) | XTAL1 | 18..25 (GND) | GND |
Программирование может осуществляться как в плате при питании схемы от её источника питания, так и при питании контроллера от параллельного порта (ключ -ap), для чего используются все незадействованные выходы данных LPT. Впрочем, этот режим далеко не всегда работает. Можно также программировать контроллер без кварцевого резонатора (ключ -o0), что может оказаться удобным как при использовании -ap, так и в том случае, если необходимо запрограммировать контроллер на работу от внутреннего RC-генератора.
Данный переходник разработан фирмой Altera для программирования и конфигурирования микросхем ПЛИС через интерфейсы JTAG и Passive Serial. Я счел достаточно удобным не снимать его с удлиннителя LPT вообще, в результате чего avreal стал поддерживать байт-бластер.
Схему бластера я несколько модифицировал - добавил светодиоды для индикации наличия питания и режима программирования, а также вывел дополнительный сигнал на вывод 8 разъема X2 через свободный канал шинного формирователя. Пока этот сигнал не используется программой.
Рекомендую в неиспользуемый 6-й контакт набитой на шлейф головки забить кусочек спички и не паять соответствующий штырь в плату - защита от неправильной подстыковки разъема еще никому не мешала.
Назначение контактов разъема X2 байт-бластера в режиме программирования AVR.
X2 pin | AVR signal | X2 pin | AVR signal |
1 | SCK | 2 | GND |
3 | MISO | 4 | VCC |
5 | nRESET | 6 | ключ |
7 | не используется | 8 | пока не используется | 9 | MOSI | 10 | GND |
У меня от разъема LPT на стол выведен удлиннитель из плоского кабеля, сам байт-бластер лежит на столе, от него до платы 10-жильный шлейфик длиной около 25см.