DesAlex

Программирование Мк Для Мд

819 сообщений в этой теме

DesAlex    1 646

1.Зачем "шить камень"?

Программируемый микропроцессор ("камень") - очень удобная вещь. Представляя собой небольшую микросхему, он может заменить сложнейшую цифро-аналоговую схему из нескольких десятков корпусов микросхем. Является устройством универсального применения - на одном и том же микропроцессоре можно собрать хоть металлодетектор, хоть частотомер, хоть цифровую паяльную станцию, хоть любое другое измерительно-управляющее устройство. При этом, всё будет зависеть только от залитой в него программы - "прошивки", которая и будет, управляя им, определять его функцию. На микропроцессорах сейчас собрана практически вся бытовая техника - мобильники, DVD-плееры, спутниковые ресиверы, телевизоры, музыкальные центры, даже холодильники. Наша же задача - собрать хороший, добротный металлодетектор с приминением микроконтроллера.

2.Что для этого надо?

Компьютер, программатор, управляющая им программа, дамп прошивки, дополнительная информация (конфигурационные биты - фузы).

3.Как сделать программатор?

Нет ничего проще. Вот схема самого распостранённого любительского программатора Pony Prog.

3534mmt.jpg

Здесь изображена максимально упрощённая версия, ровно такая, какая нужна нам для того, чтобы можно было прошить микропроцессоры фирмы Atmel (AVR) - ATTINY2313 для МД Traker PI-2 и Atmega8 для Clone PI-W. В дальнейшем, безусловно, можно будет добавлять панельки и под другие микроконтроллеры.

ВНИМАНИЕ! Данный программатор НЕ РАБОТАЕТ с виртуальными СОМ-портами переходников USB-COM ! Если у Вас на задней стенке системного блока нет СОМ-порта, это не значит, что его нет на материнке! Ознакомьтесь с документацией на материнскую плату - как правило, СОМ-порт имеется, он просто не выведен на одельную розетку. Купите (спаяйте) шнурок с таким разъёмом и у Вас будет возможность воспользоваться этим программатором.

Удобнее всего собрать программатор на кусочке макетки "с запасом", чтобы в дальнейшем было место для такой модификации. Мой программатор выглядит так.

2jbobw2.jpg

Детали. Ничего дефицитного. Транзистор может быть любой маломощный обратной проводимости, например, любимый вами КТ315. Стабилитроны - любые с напряжением стабилизации 4,7-5,6в, например, отечественные КС147, КС156... Кварц может быть в любом корпусе на любую частоту от 1МГц и до 10 и даже 20 МГц (если сам камень может работать на таких частотах). Чем выше частота кварца, тем быстрее зашьётся проц. Стандартное значение - 4МГц, при этом Атини шьётся за 5 сек, а Атмега - за 20.Если вы не планируете в дальнейшем шить ничего, кроме этой первой своей микросхемы, то можно всё собрать просто навесным монтажом между выводами разъёма и самим камнем.

4.Ну, и?

Подключается программатор к 9-ти пиновому СОМ-порту компьютера. Чтобы не лазить каждый раз под столом, можно применить удлинитель СОМ-порта - у меня так и сделано - раз воткнул один конец, а, ко второму, подключаю как этот программатор, так и программаторы для прошивки мобилок, спутниковых тюнеров, DVD-плееров. Питание 5в можно взять от любого удобного источника - отдельного сетевого, USB-порта. У меня - от отдельного сетевого 12-ти вольтового через стабилизатор на 78L05, который собран на плате самого программатора. Программируемый камень вставляется в панельку. О том, что делать дальше, расскажу в следующем посте. Пока что же собирайтесь с мыслями и силами, преодолевайте психологический баръер между МД "на биениях" и схемами XIX-го века, если желаете прикоснуться к современной электронике, которая, благодаря таким процессорам, проще, но функциональнее любой техники середины XX-го.

Давайте договоримся в этой теме задавать вопросы только касательно программирования процессоров, а непосредственно по металлоискателям на них я создам отдельные темы. Очень интересно ваше мнение, насколько доступно я излагаю материал.

Последняя версия программы для прошивки микроконтроллеров:

PonyProg_V207c.zip

  • Одобряю 21

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
DesAlex    1 646

1.Установка программы.

После изготовления программатора следующим шагом будет установка и настройка управляющей программы для него.

Скачиваем выложенный файл и розархивируем его. Щёлкаем на setup.exe. Произойдёт обычная инсталляция программы, ничем не отличающаяся от установки любой другой программы для компьютера.

Теперь заходим на системный диск и в папке Program Files находим папку PonyProg2000. Заходим в неё и удаляем файл PonyProg2000.exe. Из разархивированного материала копируем в эту папку файл Pony Prog 207 rus.exe. Это даёт возможность руссифицировать и несколько модифицировать программу.

Создаём в этой папке ярлык для этого файла и размещаем его в удобном для вас месте, например, на Рабочем столе.

Программа установлена.

2.Настройка программы.

Подключаем программатор. Запускаем программу. В меню Настройки выбираем Калибровка и производим её. После этого, в меню Настройки выбираем Настройка оборудования и выставляем Последовательный, СОМ1 и SI Prog API. Остальные окошечки - пустые. Жмём Проверка, ОК.

Если у вас старая материнка, то на ней запросто может быть два СОМ-порта. Можно работать с любым из них, только по книжке от материнки нужно определится, где у вас на задней стенке какой порт и, соответственно, в самой программе выбрать СОМ1 или СОМ2.

На этом настройка закончена. Если она прошла успешно, значит, можно приступать к прошивке самих камней. Если нет - искать и устранить ошибку в железе, ещё раз проверить, так ли всё вы сделали с программой.

3.Работа с "камнем".

Вставляем микроконтроллер в панельку согласно цоколёвке. В окне вверху программы выбираем AVR Micro, в соседнем, в зависимости от камня - ATtiny2313 или Atmega8. Что, впечатляет список поддерживаемых камней? То-то же! Теперь запрограммировать любой из них для вас как два пальца об асфальт... Представляете, сколько полезных и добротных схем теперь вам собрать под силу?

И, листая в очередной раз журнал или найдя интересную схему в интернете, вы уже не будете бессильно опускать руки - "Такая простая схема, такое крутое на ней можно сделать, вот только в микроконтроллерах я дупля не отбиваю..."

Теперь щёлкаем Комманды - Читать всё. Пойдёт чтение из микроконтроллера. По его окончании появится сообщение о его успешном завершении. Такое чтение, даже просто чистой микросхемы, позволяет лучше "сдружить" связку компьютер-программатор-камень и, если всё пройдёт ОК, значит, можно точно надеятся на успех. Кстати, таким макаром вы сможете выуживать прошивки из уже прошитых камней и сохранять их у себя в компьютере. Правда, в программаторе имеется функция защиты, и если её использовать (легко найдёте её сами), то никто уже не сможет прочитать ваш камень. Если чтение не произойдёт - снова проверка железа и настроек самой программы.

Теперь загружаем в программатор дамп самой прошивки. Файл - Открыть содержимое устройства из файла и проводником добираемся до нужного вам файла дампа с расширением .hex. Открываем, его содержимое отобразится в большом окне программы. Теперь, очень важно не забыть правильно сконфигурировать сам микроконтроллер. Как я уже говорил, микроконтроллер - универсальная вещь и на его основе можно собирать различные устройства. Как раз под прошивку для этого устройства и потребуется установить конфигурационные биты (фузы) микроконтроллера так, чтобы данная прошивка управляла камнем корректно. Жмём на пиктограмму з замочком. В окошках расставляем галочки согласно требуемому (оно указывается уже в описании непосредственно того устройства, которое вы будете собирать). Жмём ОК.

Пишем! Комманды - Записать всё. Пошла запись, затем проверка. По её окончании появится табличка Запись выполнена. Если так, то вынимаем проц и ставим его в изготавливаемое устройство. Если не так - проверка камня на чтение, тот ли вы файл ему подсунули, так ли выставили фузы.

Трудно? Возможно, первый камень. Последующие будете шить, как будто бы с ПониПрогом и родились. Через пару схем будете смеяться, увидев, как кто-то изготавливает устройства на десятках МС-разсыпух и говорить, "ну уж нет, я сделаю получше, попроще и пофункциональнее, - найду схему на камне, я - человек XXI-го столетия..." Чего я вам всем и желаю.

PonyProg207.rar

  • Одобряю 9

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
zverdvd    0

Резисторы можно все ставить одинаковые от 2.7 до 4.7 кОм. Стабилитроны от 3.6 до 5.1 вольт. Транзистор практичеки любой маломощный n-p-n КТ315 КТ3102 bc817 bc847 bc337

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
кт3102    3

DesAlex, подскажи пожалуйста прошивка заливается через 19, 4, 5, 1, 20, 17, 10, 18 ножки МК. Остальние для прошивки не нужны. Я правильно понял? Они нужны для самого металлоискателя. Так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DesAlex    1 646

Для программирования контроллеров подсоединяются не все его ноги, - всё правильно. Программатор неплохо подходит и для внутрисистемного перепрограммирования - например, появилась новая версия прошивки, а МК впаян намертво в плату. Чтобы не выпаивать, можно подпаять к его ногам 6 проводков (включая питание 5в) и перепрошить прямо в плате. Нужно только смотреть, чтобы на плате был внешний кварц. Если нету - подцепить временно кварц и два конденсатора или же протянуть ещё два проводка для XTAL от платы программатора.

На фото - перед внутрисистемной прошивкой Atmega8A в RLCF-метре:

1zy9f04.jpg

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
33760    1

Огромное спасибо автору темы! Сегодня собрал программатор по предложенной схеме. Кварц 4 МГц, стабилитроны 2С156А, транзистор 2Т312В.

Все получилось сразу. Питание-3 вольта от телевизионного пульта.

Изменено пользователем 33760
  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
кт3102    3

У меня возник такой вопрос: что должно быть в окне после чтения нового камня? У меня много много FF. Записать не удаётся, пишет, что устройство неизвестно или повреждено. Прочитать смог нажав пропустить. Фузы выставил правильно. В чём дело? В железе, программаторе или камне? Шью Аттини 2313 для трекера пи-2.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
33760    1

У меня на новом контроллере тоже были одни FF. Это значит, что он чистый. Я свой пробовал записывать и стирать 3 раза. После стирания появляются FF. Вверху надо не забыть выставить AVR micro и ATtiny2313.

Изменено пользователем 33760

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
кт3102    3

Это всё выставил. Но он пишет, что устройство неизвестно или повреждено :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
neznayka2    4
Это всё выставил. Но он пишет, что устройство неизвестно или повреждено :(

проверь монтаж и попробуй на другом компе

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DesAlex    1 646

Да, внимательно проверь, правильно ли подпаял сигналы к панельке. FF - это пустая, незапрограммированая ячейка. Когда загружаешь прошивку в программу, то видно, как всё меняется (вместо FF другие HEX-коды). Сам камень новый или ранее использовался? Ещё раз прокалибруй программу. В кабеле (подключение к СОМ-порту) ничего не напутал? Если шьёт с третьего раза, то мало питание (довести до 5 вольт).

Информация для тех, кто вместо ПРОГРАММЫ PonyProg будет пытаться использовать другой софт. Бывают программы, в которых конфигурационные биты (фузы) надо выставлять инверсно! Как это узнать? Всё так же - перед прошивкой содержимое МК надо считать. Потом смотрим на состояние считаного фуза SPIEN. Если он с "галочкой" - значит, все фузы и в этой программе надо устанавливать точно так же, как и для ПоноПрога. Если окошечко пустое - все фузы "от Пони Прога" надо проинвертировать, т.е. там, где надо ставить галочку - оставляем окошко свободным и наоборот. В противном случае МК будет залочен и недоступен для дальнейшего использования - до процедуры разлочивания отдельным специальным устройством.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
*_=S@M=_*    7

Скажите, вместо 5 вольт питания можно использовать "Крону"??

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DesAlex    1 646

Можно использовать любой источник напряжения, при условии, что в программаторе будет установлен стабилизатор на 5 вольт. Т.е. как не крутись, а от 5в не убежишь... Самое простое решение - взять 5в от свободного USB-порта (там всего 4 контакта, два, что по краям - и есть 5в). Только не коротни, а то комп пойдёт на перезагрузку...

  • Одобряю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
makssvarka    1

Помогите!!!!! Пони пишет сбой теста при проверке!!! Что я мог накосячить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DesAlex    1 646

Неправильно распаял выводы СОМ-порта, не выставил необходимые настройки в самой программе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
makssvarka    1

Сначала проходил тест, но ничего не читал и не шил. Потом вобще перестал проходить тест. Вроде все распаял правильно, питание стабилизировал-пять вольт ровно... ничего не понимаю. Может в настройках COM порта надо менять скорость или еще что?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DesAlex    1 646

Ничего чудить не надо, схема проверена неоднократно огромным количеством народа. Кварц какой поставил, так ли панельку для камня подпаял, не вставил ли сам камень в панельку "раком"...

  • Одобряю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Yrec24    32

А ты в настройкай программы какой порт выставляеш COM или LPT

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
makssvarka    1

СОМ. Тест прошел. Пишет устройство повреждено... Читает только после "Пропустить" пишет тоже. В итоге камень не прошивается. Съездил в магазин и купил USB программатор от Мастер Кита. Спаял панельку на макетке подцепил кварц, подал питание(он же внутрисхемный) и зашил за две минуты!!!! Так что спасибо за советы-проблема решилась!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DesAlex    1 646

Если не считать, что по стоимости самодельный программатор раз в 20 дешевле купленного тобой USB... Ну, это не главное, программатор ведь потом пригодится и для других схем (аппетит приходит во время еды), главное, что человек перешагнул через психологический барьер и решил освоить технику на МК. И это правильный шаг. Неправильный - шаг в XIX век, к биениям...

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Привет всем. Собрал последовательный программатор, но столкнулся со следующей проблемой при прошивке НОВОГО микроконтроллера ATTINY 2313-20PU: после калибровки, установки COM 1, тестирования (ОК), выставления AVR микро и AT90S2313, нажимаю "считать все". Выводится сообщение "устройство не подключено или неисправно". При нажатии "игнорировать", происходить считывание (всё FF). Возможно новые процессоры всегда так работают? Может все-таки стоит прошить и тогда будет все ОК?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DesAlex    1 646

О-о! AT90S2313 и ATTINY2313 - не одно и тоже!!!

Обрати внимание, что для работы с "тинькой" ты выбрал работу с устаревшим камнем AT90S (и где ты его выдрал...) Подозреваю следующий вопрос - "а нет там ATTINY2313!" - в выложенной мной программе есть!

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DesAlex, ты просто оракул! Программу, которую я ставил вначале, была скачена не по твоей ссылке. В этом и была проблема. После установки и русификации PONY PROG с ссылки, все прошилось. Благодарю за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DesAlex    1 646

В первую очередь заслуга твоя, - ты очень подробно и правильно всё расписал. В конце концов, собираешь программатор и прибор тоже ты и никто со стороны не сможет помочь так, как ты самому себе. Современная радиоэлектроника вообще требует в первую очередь логики и внимания, и ещё - аккуратности при сборке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
yuuy    1

Вот развел схемку программатора там только плата (без панелек ), завтра выложу отдельную плату для ATmega и Attiny которая будет подключатся к первой плате

pony_prog.rar

Изменено пользователем yuuy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас