Перейти к содержанию
    

Petka....Вот возникла необходимость моим заказчикам тупо перешивать микроконтроллер. Посоветуйте программу-оболочку (с графическим интерфейсом, конечно), типа понипрога для такой работы, с минимальным набором необходимых действий. Спасибо.

avrdude + gui. а ещё лучше для "заказчиков" avrdude + *.bat файл. тогда ничего настраивать не надо, только иконку "жамкнуть"

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


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

avrdude + gui. а ещё лучше для "заказчиков" avrdude + *.bat файл. тогда ничего настраивать не надо, только иконку "жамкнуть"

 

Спасибо. Так и подозревал, что ответ будет таким. Неужели ничего другого нет?

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


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

Прошивка программатора НЕ расчитана на кварц 16МГц. Так что изменений в схеме у вас больше.

Вчера так и подумал. Но нужных кварцев нет нигде.

И бестолку собирать прошивку под кварц 16МГц??? (makefile подправить).

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

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

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


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

Вчера так и подумал. Но нужных кварцев нет нигде.

И бестолку собирать прошивку под кварц 16МГц??? (makefile подправить).

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

Ктото не так давно делал на 14,318. Их полно на материнках. Поспрошайте...

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


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

И бестолку собирать прошивку под кварц 16МГц??? (makefile подправить).

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

Всё правильно. Можно пересобрать прошивку под другой кварц с соответствующим снижением скорости по КОМпорту (в вашем случае до 38400). (если та программа, через какую вы программируете поддерживает изменение baudrate).

 

Спасибо. Так и подозревал, что ответ будет таким. Неужели ничего другого нет?

Скорее всего есть. Я рассказал чем пользуюсь сам. После некоторого исследования я пришёл к выводу что avrdude единственный программатор, который поддерживает практически все программаторы (что есть у меня) и работает как под win так и под linux. Avreal ещё хорош, но он не поддерживает стандартный stk500 =(.

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


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

Всё правильно. Можно пересобрать прошивку под другой кварц с соответствующим снижением скорости по КОМпорту (в вашем случае до 38400). (если та программа, через какую вы программируете поддерживает изменение baudrate).

 

Да я пока только пытаюсь через терминал получить ответ. На скорости 38400 тоже молчит. Смотрю может где не пропай, хотя вроде как сам то он прошился. Пока не завел...

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


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

Да я пока только пытаюсь через терминал получить ответ. На скорости 38400 тоже молчит. Смотрю может где не пропай, хотя вроде как сам то он прошился. Пока не завел...

Опять двадцать пять:

1) Надо поменять в makefile частоту кварца и выбрать свой контроллер.

2) Поменять в файле cfg500.h константу "BAUDRATE".

3) Пересобрать прошивку.

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


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

Опять двадцать пять:

1) Надо поменять в makefile частоту кварца и выбрать свой контроллер.

2) Поменять в файле cfg500.h константу "BAUDRATE".

3) Пересобрать прошивку.

Спасибо за оперативные ответы. Уж извините за "тупые" вопросы и проблемы. :) Я только начал заниматься МК (хотя по роду деятельности постоянно программирую контроллеры...только промышленные). Но быстро учусь и много читаю. Нашел уже решение своей проблемы. Банальный прокол - фьюзы не прошил.

И спасибо за программатор. Все заработало. Это мой первый девайс на МК и с применением SMD (замучался паять, под рукой нет необходимого инструмента). Но блин интереееесно стало! Сейчас будем тестить все.

пункт 1. так и сделал.

пункт 2. не трогал

пункт 3. пересобрал и залил сразу же под нужную частоту и МК

 

По поводу BAUDRATE вопросик. Я так понял для моего кварца необхоимо поставить 38400?

Хотя сейчас он у меня стоит 115200 и прекрасно связывается и отвечает.

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


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

По поводу BAUDRATE вопросик. Я так понял для моего кварца необхоимо поставить 38400?

Хотя сейчас он у меня стоит 115200 и прекрасно связывается и отвечает.

Считаем вместе:

 

1) 16МГц = 16000000

2) UART AVR для себя делит частоту ядра на 16, итого UART работает на частоте 16000000/16 = 1000000 (1МГц)

3) Нам надо получить 115200, для этого делитель должен быть 1000000/115200 ~ 8,68 в делитель можно записать только целое число. 8,68 округляем до 9.

4) Считаем обратно: внутреннюю частоту UART делим на наш округлённый делитель: 1000000/9 = 111111,111(1)

5) Считаем насколько полученная частота отличается от требуемой: (111111,111 - 115200) ~ 4089

6) Теперь переводим ошибку в проценты (4089/115200)*100% = 3,54%

7) Уарт передаёт символ за 10бит (8 - байт + 1 стоповый бит + 1 стартовый). Для успешного принятия символа требуется, что бы за 10 бит погрешность накопилась не больше чем на пол бита. Пол бита составляет 5% от 10 бит.

8) Итого понимаем, что для успешного приёма нужно что-бы погрешность частоты была не больше 5%. С одной стороны полученное значение в пункте (6) меньше 5%, значит Приём будет работать без ошибок. Но с другой стороны "на том конце" тоже могли заложиться на некоторое отклонение по частоте. Значит 5% допустимой погрешности надо делить на 2 (на обе стороны). Итого на уарт допустимо отклоняться не боллее 2,5%, а эта цифра уже меньше, полученной в пункте (6). Так что если делать на совесть, то надо уменьшить частоту, до такой, при которой полученная ошибка будет меньше 2,5%. А если для себя, тяп-ляп, и если есть уверенность что в компе uart держит частоту точнее 1,45% (5%-3,54%), то можно оставить скорость такой.

 

Уф. ничего не забыл?

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


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

Petka спасибо за подробный ликбез!

Делаю для себя, но на совесть, поэтому снижаем скорость пока не найду подходящий кварц.

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


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

Может вопрос не по теме, но не могу найти...

как в AVR Studio в диалоге "Select AVR Programmer" при выборе STK500 изменить скорость com порта на 38400, у меня выпадающий список не активен. И если прграмматор прошит для скорости 38400 - студия его не видет, если для скорости 115200 - все нормально, опеределяется как надо. (или в платной версии программы она активируется?)

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


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

...если прграмматор прошит для скорости 38400 - студия его не видет, если для скорости 115200 - все нормально...

как вариант программируйте другими программаторами, которые умеют менять baudrate.

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


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

Собрал программатор на связке ft232bl+atmega48.

 

Мега прошилась удачно но после рестарта светодиод не мигнул ни разу. При подключении программируемого девайса также не загорается. на запросы avrdude не отвечает.

 

не могу сообразить в чем грабля.

 

прошивку брал с первого поста. кварц на 18.432 МГц.

 

Кстати а почему в рекомендуемой установке фузов в картинке к первому посту BOD выключен?

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

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


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

Собрал программатор на связке ft232bl+atmega48.

 

Мега прошилась удачно но после рестарта светодиод не мигнул ни разу. При подключении программируемого девайса также не загорается. на запросы avrdude не отвечает.

 

не могу сообразить в чем грабля.

 

прошивку брал с первого поста. кварц на 18.432 МГц.

 

Кстати а почему в рекомендуемой установке фузов в картинке к первому посту BOD выключен?

1) Перемычку перекинули?

2) Никакого идеологического смысла в отключении BODа нет. На той картинке показано минимальное изменение заводских фузов, необходимое для запуска контроллера от внешнего кварца. BOD желательно включить, (BODEN programmed, BODLEVEL programmed).

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


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

1) Перемычку перекинули?

2) Никакого идеологического смысла в отключении BODа нет. На той картинке показано минимальное изменение заводских фузов, необходимое для запуска контроллера от внешнего кварца. BOD желательно включить, (BODEN programmed, BODLEVEL programmed).

 

1) да

 

2) ок. спасибо

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


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

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...