ГлавнаяРегистрацияВход Сайт Сокола Сергея Суббота, 20.04.2024, 06:51
  Каталог статей Приветствую Вас Гость | RSS

 
 
Главная » Статьи » Мои статьи

Программатор MICROPROG v 2.0

Итак, для начала рассмотрим изменения, сделанные в прошивке микроконтроллера.

Во-первых, теперь тактовая частота сигнала SCK не 1 МГц, как это было ранее, а 250 кГц. Это на самом деле удобно для работы с контроллерами, которые идут с завода, поскольку для них тактовая частота по умолчанию составляет 1 МГц. Так что теперь не нужно делать лишних "Автоопределений".

Во-вторых, теперь по завершению программирования выводы программатора MOSI, MISO  и SCK  переводятся в высокоимпедансное состояние, что не препятствует использованию их в качестве обычных портов ввода-вывода при подключенном программаторе.

Новые файлы прошивки можно скачать тут:
http://sokolsp.at.ua/tiny45_v2.hex
http://sokolsp.at.ua/tiny2313_v2.hex

Теперь что касается программной оболочки. Тут изменения более значительные.

Рассмотрим обновленное главное окно программы:
 


Итак, что же изменилось?

1. Частота сигнала SCK, как было сказано, теперь по умолчанию составляет 250 кГц.
 
2. Добавлена галочка "Автоматически стирать кристалл перед программированием". Название ее говорит само за себя. В большинстве случаев я строго рекомендую ее устанавливать во избежание непредвиденных результатов, но если вы твердо знаете, что делаете, то можете ее убрать, но, повторюсь, в этом случае за последствия я не ручаюсь.
 
3. В блоке "Программирование", как вы заметили, появились новые кнопки. Вместо кнопки "Чтение" стало две кнопки "Чтение в файл" и "Чтение на экран". Также появилась кнопка "Показать содержимое".

Функции кнопки "Чтение в файл" остались точно такими же, что и были у кнопки "Чтение" в предыдущей версии.

При нажатии на кнопку "Чтение на экран" содержимое памяти не сохраняется в выбранный файл, а выводится в специальное окно, которое показано на рисунке ниже



Содержимое показывается в стандартном формате Intel HEX. Данное окно предназначено для отображения как Flash, так и EEPROM памяти. Тип памяти показан в названии окна (в приведенном примере отображено содержимое Flash-памяти).

Ну и раз уж мы начали рассматривать это окно, рассмотрим его до конца. Как вы видите, в нижней части его есть 4 кнопки.

Кнопка "Сохранить" позволяет сохранить содержимое окна в файл с расширением *.hex или *.eep (в зависимости от вида выводимой памяти).

Кнопка "Открыть" позволяет открыть имеющийся на компьютере файл с расширением *.hex или *.eep и просмотреть его содержимое.

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

Нажатие на кнопку "Прочитать из памяти" дублирует функцию кнопки "Чтение на экран" главного окна.

4. Кнопка "Показать содержимое" открывает приведенное выше окно, в котором отображается содержимое имеющегося на компьютере файла прошивки, название которого указано в текстовой строке над кнопкой.

5. Ну и, наконец, самое приятное обновление. Теперь работа программы не зависит от момента подключения программатора. То есть теперь можно извлекать или подключать программатор в любой момент без перезапуска программы, что позволяет сберечь не только время, но и нервы (знаю по себе :) )

Скачать новую версию программы можно по следующей ссылке:
http://sokolsp.at.ua/Microprog_v2.exe

Ну а для любителей английского языка теперь доступна и английская версия программы:
http://sokolsp.at.ua/Microprog_v2_eng.exe

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

Удачного конструирования!

Категория: Мои статьи | Добавил: mimino (08.05.2013)
Просмотров: 10742 | Комментарии: 54 | Рейтинг: 1.0/1
Всего комментариев: 491 2 »
49 Egor  
0
Добавте,пожалуйста мега 328

37 vI05qDP  
0
Здравствуйте, Сергей. Очень вам благодарен за данный программатор (на ATtiny 2313), правда, получилось у меня со второй микросхемой, первую похоже угробил программированием ... . Программировал прогой PonyProg 2000, начал с русской версии, где мк Attini 2313 нет в списке программируемых, а после неожиданно обнаружил, что в английской версии он присутствует ..., но было уже поздно!! После замены мк запрограммировал последней версией прошивки, и ... о чудо программатор опознался как положено, и установился драйвер - у меня Windows 7.
И всё бы ничего, но скачанный мной файл с обновлённой программой MicroProg v. 2.0 русская версия не хотит открываться - система пишет что программа не совместима с ОС, хотя английская версия нормально открывается, хотелось попросить вас проверить ссылку или перезалить ... . Всё же русская версия есть русская ... .
Заранее вам благодарен!

38 Boryan7679  
0
так проггер НЕРАБОЧИЙ! Чего зря радоваться. Подводные камни начнутся когда реально захотите зашить какой нибудь контроллер. А автор куда то слинял ...не хочет походу косяки исправлять...Собирай TinyProg и будет тебе щастье smile

41 mimino  
0
Автор никуда не "слинял", автор сейчас очень занят.
Почему такой способ подключения, автор выяснил, и все там нормально. Просто изначально идея была несколько странная, а по неопытности сразу не углядел. И тем не менее программатор имеет вполне нормальную скорость, сравнимую с USBAsp, может, немного медленней.

39 Boryan7679  
0
вот ссылка http://microsin.net/programming/avr-working-with-usb/vusbtiny-avr-programmer.html  там есть всё про этот  проггер. Переделка минимальная ... меняй местами 2 и 3 ноги тиньки 45 и MISO  и MOSI  лей прошивку с того сайта и радуйся отличной работе микропрога. Лучший софт под него SinaProg проверенно на личном опыте.

40 mimino  
0
Здравствуйте!

Файл я пересобрал и перезалил. Попробуйте заново. Насчет того, что программатор "нерабочий", это не так. Я сам им пользовался долгое время, пока занимался программированием AVR, и фатальных сбоев не было. Да, мелкие погрешности есть, но все функционирует.

42 Boryan7679  
0
Спорить не буду. Но себя знаю smile ошибок допустить не мог. Стаж радиолюбителя 40 лет! Знаменитый ПК Синклер и ПК рождённый в СССР из приложения к Журналу ЮТ, собрал одним из первых. Собирал всё тупо на гетинаксе..  проводами. О нормальных платах тогда и мечтать не стоило smile  И оба ПК стартанули сразу. 
Так я не понял со способом подключения? Что там нормально? Как подключать правильно? В чём косяк был что читалось и писалось с ошибками?

43 mimino  
0
Синклеры я помню, застал их в детстве, их тогда многие собирали, для себя и на продажу. Ошибку, конечно, в таком программаторе допустить сложно. А чем Вы его прошивали? У Вас высоковольтный программатор есть?
Способ подключения странный, но тем не менее для данной прошивки контроллера правильный. Я писал уже, что за основу взял конвертер USB-SPI, как он назывался автором. Вот этот: http://www.recursion.jp/avrcdc/cdc-spi.html
Насколько я понял, автор зачем-то сделал программатор не мастером, а слэйвом. В чем тут профит, я не особо понял, но тем не менее при таком подходе как раз перекрестное подключение и нужно. Так что это не косяк, а скорее фишка.
А почему писало с ошибками - этого вот сказать пока не могу. Мне же нет резона Вас или кого-то еще обманывать, я пару лет им пользовался без всяких проблем.

44 Boryan7679  
0
Прграмматоров у меня дофига. Тиньку прошивал родным Тритоном, есть такой умный прогер разработанный нашим советским парнем wink Есть ещё http://www.rlocman.ru/shem/schematics.html?di=107017 запустился сразу и работает как часы. Есть и USBASP из поднебесной перешитый нормальной прошивкой. С вашим вариантом я так и не понял где косяки.

46 mimino  
0
Если б у меня был программатор наподобие Тритона, я бы наверное и не заморачивался созданием новых smile Я так понял, он может спокойно программировать микроконтроллеры, у которых вывод RESET сконфигурирован как обычный вывод?
Вообще я уже года три как перешел на микроконтроллеры MSP430 фирмы Texas Instruments. Они мне больше нравятся как-то, чем AVR или PIC.

48 Boryan7679  
0
Тритон действительно достойный девайс и поддержка есть всегда и прошивает почти все микрухи..и по SPI может ..только это не всегда удобно..доставать и подключать его .. Иногда нужно быстро и когда мало места на рабочем столе. Иногда нужно далеко и автономно ..не таскать же с собой всё оборудывание.

45 Boryan7679  
0
странно, если в тиньке аппаратный SPI, то как вообще она может работать в вашем варианте с перекрестием MISO и MOSI ? И смысл лезть в аппаратный SPI и менять местами данные? Спорить не буду, я верю что  у вас работает всё нормально. У меня криво, возможно из за эмуляции COM порта . Я много использую разных девайсов подключаемых по USB с эмуляцией COM и есно много разных драйверов стоит. Возможно конфликт был на их уровне. Винда 7 может тоже влияет. Но не суть, разбираться больше не хочу, жалко убивать дольше время. А вам удачи!

47 mimino  
0
Насколько я понял, контроллер программатора сконфигурирован как slave, так же, как и программируемый контроллер. А вот управление сигналом SCK осуществляется программным путем. Видимо, автор так задержку придумал делать, чтоб менять скорость программирования. В общем, такой вот Франкенштейн...
Извините, что потратили столько времени впустую. Вам также удачи и всех благ!

32 Boryan7679  
0
ещё раз всё проверил и так,  такое соединение не работает тинька 45 нога 5 с 17 меги 8 ...6 с 18 ...7 с 19..ну и есно ресет...так вроде правильно как всегда соединяют все ....но не работает....делаю так тинька 45 нога 5 с 18 меги 8...6 с 17 ...7 с 19 ...сразу автоопределяется правильно и читается и пишется....но! что читает хз ...50% верно 50% ошибок...сравнивал считанный нех с нех других проггеров с этой же меги 8...Короче всё криво работает. Щас попробую залить прошивку из темы что я давал выше ...

34 mimino  
0
Как там та прошивка для TinyProg? Работает?

35 Boryan7679  
0
Работает как часы! Всё по правильному, как и везде подключаются одноимённые выводы. Без всяких перекрестий. Правда скорость медленная. Но у этого проггера выводы USB порта D+ и D- поменяны местами в отличии от твоего. Мож в этом засада если ты за основу брал его? Хотя твой в компе определился и дрова встали. Значит с портом USB у тебя порядок.   В итоге так и оставил USBASP на меге 8 он в разы быстрее. А этот пусть в запасе будет.

36 Boryan7679  
0
ну так есть какие новости? Удалось найти косяк?

25 Boryan7679  
0
спасибо за ответ...но увы потратив несколько часов сегодня на сборку сего чуда....в итоге тестов получил полнейшее разочарование...тупо черепаха а не программатор...чтение флешки 8 меги с 4 Мгц на борту 65 сек!!! запись 20 сек!!! тактовая 250 кгц...Походу зря понизили частоту тиньки ....на тактовой программатора  1МГц вообще молчит. Мне не понятна ваша фраза в начале статьи 
Цитата
Во-первых, теперь тактовая частота сигнала SCK не 1 МГц, как это было ранее, а 250 кГц
тут о чём речь? о клоке проца или клоке программатора? На какой частоте тогда у вас работает проц? Если 1 Мгц, то зачем тогда выбор в программе клока программатора 1 Мгц? если верить вашему заключению о максимуме 250 кгц? Либо я что то не понимаю? И какой разговор может быть с такими скоростями программирования о меге 328....полдня ждать когда прошьётся и верефицируется? Жаль что так всё кривовато и сыровато ..идея то была хорошая...Кста вот http://www.rlocman.ru/shem/schematics.html?di=107017  этот проггер мегу 8 прошивает и верефицирует за 4 сек! при клоке 500 кГц...что то у вас совсем не так...не пойму где такие тормоза толи в совте толи в самом проггере...

26 mimino  
0
Извините за потраченное время. Идея была в создании как можно более маленького и дешевого программатора. И увы, не обошлось без недостатков. Это уже сказываются ограничения эмуляции USB-интерфейса этим контроллером. В присланной Вами ссылке контроллер читает файл непосредственно из карты памяти, там конечно все намного быстрее.
Насчет частоты сигнала SCK 1 МГц, ее можно использовать, если частота контроллера выше 4 МГц. Например, 8 или 16. Тогда будет прирост в скорости, попробуйте.
В первой версии программатора по умолчанию была частота SCK 1МГц, и контроллеры определялись только после выбора более низкой частоты. Так что приходилось лишнее телодвижение делать.

27 Boryan7679  
0
отлично что вы хоть отвечаете ..мож чего и решим...:) первое с чем был косяк ...это MOSI и MISO...зачем вы их перекрещиваете когда прошиваете прогеер? Вроде всегда было MOSI на MOSI и MISO на MISO? вот доказательство http://microsin.net/programming/avr-working-with-usb/vusbtiny-avr-programmer.html   и так вроде всегда и везде было MOSI проггера на  MOSI прошиваемого контроллера.....ни каких перекрестий как в 232 порту..и мало того вы в прошивке самого чипа их перевернули зачем то...при включении как везде прогер не работает ..а если MOSI на MISO и MISO на MOSI то работает..мож отсюда и тормоза?

28 mimino  
0
Так, что-то Вы меня совсем запутали. Завтра попробую на свежую голову разобраться. Что-то Вы говорите не то, но что - не пойму... Или и вправду я где-то ошибся.

29 Boryan7679  
0
да ошиблись! погуглите в сетке в ISP шине нет перекрестий как в 232 порту..тут всегда соединяются одноимённые выводы..да и ссылку я вам на похожий проггер давал вот ещё раз http://microsin.net/programming/avr-working-with-usb/vusbtiny-avr-programmer.html  нету там перекрестий...а вы программно в прошивке контроллера перевернули.. в итоге порт контроллера MISO выполняет функцию MOSI а порт контролера MOSI выполняет функцию MISO. В этом я лично убедился когда игрался вашим проггером с мегой 8...если соединяю одноимённые как положенно везде то не работает...перекрещиваю MOSI и MISO работает...так что перепутали вы батенька..:)  отсюда и тормоза...и не суть что USB порт эмулируется...в USBASP  на меге 8 тоже эмулятор и ни чего нет таких жутких тормозов

30 mimino  
0
Да, Вы правы. Но как же тогда оно вообще работает? Тогда не должно по идее... И при этом работает. Я посмотрел прошивку, там обычный аппаратный SPI без программной эмуляции. Вы не пробовали MISO и MOSI местами поменять? Не работает так?

31 Boryan7679  
0
хз как но работает..потому и криво...я же писал  
Цитата
В этом я лично убедился когда игрался вашим проггером с мегой 8...если соединяю одноимённые как положенно везде то не работает...перекрещиваю MOSI и MISO работает

33 mimino  
0
Извините, сейчас у меня небольшой цейтнот наметился, не было вчера времени.  Я залез в прошивку контроллера, там обычный аппаратный SPI без  особых намеков на то, что он должен работать с перекрестием. Как будет время (я думаю - через неделю), попробую разобраться более детально, что не так. Дело в том, что я брал за основу устройство, разработанное Осаму Тамура, и особо не изменял его прошивку, только добавил возможность изменения скорости программирования.

23 Boryan7679  
0
собрал на тиньке 45 ...заработал сразу ...но пришло разочарование когда понял что мега 328  не поддерживается smile Странное упущение ..один из самых ходовых контроллеров на сегодня и нет его поддержки. Сделайте доброе дело добавьте МЕГУ328 пожалуйста. Не понятно с тактовой раньше была 1МГц щас 250кГц. на такой тактовой медленновато шиться будут весомые контроллеры. Хотя вы пишите что с завода контроллеры идут с тактовой 1 МГц ..не пойму в чём хитрость в 250 кГц? И потом в выпадающем списке тактовой частоты я смогу поменять на любую из тех что там есть? Или тактовая во второй версии жёстко прописана в тиньке 45?

24 mimino  
0
Я когда этот программатор делал, о меге328 только еще слышали, но в глаза его не видели. Тогда самым ходовым был мега 8 smile Вы уже не первый, кто просит добавить, видимо таки придется тряхнуть стариной и снова залезть в этот жуткий программный код smile
Насчет тактовой частоты. Вы путаете тактовую частоту процессора, которая действительно равна 1 МГц с тактовой частотой сигнала SCK, которая по спецификации должна быть в несколько раз ниже частоты процессора, так что 250 кГц - это максимально возможная стабильная частота программирования для процессора, работающего на 1 МГц. Из выпадающего списка можно выбрать любую доступную частоту, тут все по-честному. Но опять же, учтите, что Вы выбираете частоту сигнала SCK. Тактовую частоту процессора можно поменять при помощи фьюзов.

21 Johnowich  
0
Здравствуйте! Я один и тот же контроллер атмеа 2313 прошивал Вашим программатором, понипрогом и AVR910. В дампе хекса, считанного с контроллера после программирования Вашим программатором видны ошибки и не хватает нескольких последних строк. Ко разьему программатора не подключено ничего, кроме пустой панельки на 28 ног (параллельно панельке на 20 ног)

22 mimino  
0
Здравствуйте!

Честно говоря, в таком случае я даже не знаю, что тут может быть, не приходилось сталкиваться. А такая проблема возникает на всех скоростях прошивки? Попробуйте снизить частоту тактового сигнала до 250-50 кГц.

19 Johnowich  
0
Здравствуйте! Сделал Ваш программатор. Он нормально определился и я поставил дрова к нему. Но, к сожалению, почему-то он в микроконтроллер флеш- программу пишет с ошибками. Может быть, Вы подскажете, в чем может быть причина?

20 mimino  
0
Здравствуйте!
А другими программаторами пробовали прошивать тот же контроллер? Может, Вы подключили какие-то элементы к выводам MOSI, MISO или SCK, которые вносят ошибки?

17 JIIII  
0
И еще, нельзя ли добавить ATMEGA328?

Спасибо

16 JIIII  
0
Здравствуйте

А почему главное окно микропрога зависает в процессе программирования? Хотя программирование продолжается, после окончания которго оно снова оживает. Этого не происходит при первом программировании после запуска программы, а начиная со второго программирования без перезапуска программы - стабильно повторяется.

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

Как с этим бороться на WIN7? Пробовал запускать в режиме администратора - не помогает.

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

И еще, нельзя ли сделать так, чтоб микропрог запоминал частоту и адрес файла, которые использовались в последний раз?

Спасибо заранее.

С уважением

Ираклий

18 mimino  
0
Здравствуйте,

Простите что так долго не отвечал. Скажу честно, не знаю, что за глюк вызывает эту ошибку. Меня самого она раздражает. Хотя и проявляется не всегда на WinXP. Я уже приноровился вытаскивать маленькое окошко наверх при помощи Alt+Tab.

В WIN7 я с этой программой так и не работал. Специально держу у себя ХР для работы с контроллерами и программаторами.

Окошко убрать могу и совсем, это не проблема.

Насчет запоминания частоты и адреса файла. В принципе можно реализовать и это.

К сожалению, у меня сейчас совсем цейтнот, я как только разгребусь с делами, поисправляю эти баги.

С уважением, Сергей

P.S. Контроллер тоже добавить можно, если у него ничего не изменилось по сравнению с более старыми в реализации процесса программирования.

15 ut0ho  
0
Хреново. Держать AVR Studio только из за программатора.....

1-10 11-18
Имя *:
Email *:
Код *:
 
 
Категории раздела
Мои статьи [20]

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Вход на сайт

Поиск

Посетители

Погода
GISMETEO: Погода по г.Мариуполь

 

Copyright MyCorp © 2024
Бесплатный конструктор сайтов - uCoz