Добрый день, столкнулся с проблемой, которой раньше никогда не было. Уже года 3 использую микроконтроллер ATMega162 в корпусе TQFP-44. Программировал традиционно через SPI с помощью AVRISP или STK500 (смотря что под рукой было) - и никаких проблем не имел. Но вот теперь потребовалось собрать одно устройство в макете и в 1 экземпляре, естественно никакой печатной платы не разводится - паяем на макетке и поэтому сам микроконтроллер берется в корпусе DIP-40. И тут возникло непредвиденное : микроконтроллер не возжелал программироваться через SPI, постоянно одна и та же ошибка, связанная с CLK на SPI (частота, мол больше положенной установлена). Однако ничего такого нет. FUSEs также читаются без проблем, но их нельзя запрограммировать - выдается ошибка. Первое что подумал - ошибся в макетке. Ну, для верности взял микроконтроллер и поставил его в панель STK500, всё подключил согласно инструкции для ISP-программирования через последовательный интерфейс. Выдаваемая ошибка - та же самая. Взял тогда, переключился на параллельный режим программирования, согласно описанию STK500. Один чёрт - не программируется. Например, при программировании FUSEs пишутся значения 0xEF 0x08 0x00 - а читаются 0x01 0x01 0x01, иногда читается и 0xFF 0xFF 0xFF - причем читаемые величины никак с записываемыми не связаны, считывается полная бредятина.
Ну что, подумал будто сжёг эту Атмегу чем-то. Пошёл купил ещё одну - и сразу в STK500. Тот же результат - не пишется. Думал что с софтом или с платой - пошёл на другое рабочее место, где стоит STK500 и AVRStudio, поддерживающий программирование на этой плате. Версия там отличалась, выдавалась несколько другая диагностика, но итог тот же самый - не программируется, выдается сообщение : "Problems occured when executing command(s). Please check the history window. See the troubleshooting section in help for information on what may have caused problems." Да нет ничего в help'e по этому поводу, а причину я итак вижу на экране в окне диагностики - не совпадает записываемое и считанное.
Ранее ничего такого с микроконтроллерами ATMega162 не испытывал, не знаю, наверно потому что я всегда пользовал их в корпусе TQFP. А у тех что в DIP-корпусе может протокол программирования другой (бред конечно, но уже не знаю что думать).
Ранее читал, что производители микроконтроллеров, например, "Ангстрем" в своём "Тесее" постоянно чего-нибудь улучшают, в результате чего новые микроконтроллеры имеют другие алгоритмы программирования и их нельзя запрограммировать старым софтом и программатором, которым легко прошивались те же самые микросхемы, но с ранних партий.
Купленная ATMega162 произведена судя по дате в середине 2006 года, у меня стоит AVRStudio 4.11, но им прошиваются спокойно ATMega162 в TQFP44 любого года выпуска - как 2003, так и 2006.
Видимо тут какая-то особая собака зарыта. Кстати, саму ATMeg'у покупал в Чип и Дип, к сожалению они по всей видимости из одной партии.
--------------------
Ждёт наркомана - анаша. Токсикомана - клей. Дубина, нож и автомат минуты ждут своей !
|