MULTICOPTER.RU
http://multicopter.ru/forum/

Бутлоадер для мультироторных аппаратов
http://multicopter.ru/forum/viewtopic.php?f=7&t=222
Страница 4 из 5

Автор:  Шавель [ 19 окт 2010, 14:38 ]
Заголовок сообщения:  Re: Бутлоадер для мультироторных аппаратов

======== Нашел ========
Назначение каждого фьюза AVR fuse бита:

RESERVED — этот бит зарезервирован для каких-то неизвестных простым смертным целей фирмой Atmel. Ни при каких условиях не рекомендуется менять его состояние (т. е. надо оставлять его таким, как он установлен при изготовлении МК). В этой строке встречаются биты с другими названиями, как правило, это биты включения режима совместимости с устаревшими типами МК, на смену которым выпущены новые. Обычно в конце названия такого fuse-бита имеется символ С — от COMPATIBLE (совместимый).

OCDEN — fuse разрешает работу схемы внутреннего отладчика (On Chip Debug ENable). Не оставляйте установленным этот бит в коммерческих продуктах! Иначе вашу программу можно будет считать из памяти МК.

JTAGEN — fuse бит разрешает работу интерфейса программирования-отладки JTAG. По сравнению с SPI-интерфейсом, JTAG обладает расширенными возможностями. Не рекомендуется без необходимости оставлять этот бит установленным, т. к. в этом случае потребляемый МК ток возрастает.

SELFPRGEN — бит, разрешающей программе МК производить запись в память программ, т. е. производить самопрограммирование.

DWEN — fuse бит, разрешающий работу DebugWire - это интерфейс отладки по одному проводу. Не рекомендуется оставлять его установленным в коммерческих изделиях.

EESAVE — fuse бит, после установки которого при стирании памяти МК содержимое EEPROM данных будет сохраняться нетронутым, т. е. не будет стерто.

SPIEN — fuse бит, разрешающий работу интерфейса внутрисхемного программирования МК по SPI. Этот бит может быть легко переустановлен при помощи параллельного программатора (или JTAG, если таковой разрешен и имеется в МК). Все МК выпускаются с установленным битом SPIEN, снять его по интерфейсу SPI невозможно.

WDTON — fuse бит, после установки которого сторожевой таймер WDT включается сразу после подачи питания и не может быть отключен программно. Если бит не установлен, то включением и отключением WDT можно управлять программно.

Группа fuse битов BODLEVEL. Может быть либо один такой бит, либо несколько, тогда они нумеруются, начиная с нуля. Значение этих fuse битов определяет порог срабатывания схемы BOD — детектора уровня питающего напряжения, при снижении напряжения питания ниже этого уровня произойдет "сброс" МК.

BODEN — fuse бит, включающий схему аппаратного детектора недопустимого уровня
питающего напряжения, т.е. схему BOD.

RSTDISBL — fuse бит, отключающий сигнал внешнего сброса от вывода микроконтроллера и подключающий к нему схему порта ввода-вывода. Этот бит имеется только в тех МК, у которых вывод аппаратного сброса RESET совмещен с одинм из портов ввода-вывода. Ошибочная установка этого fuse бита может отключить RESET и вы не сможете больше прошивать по ISP. Не устанавливайте этот бит, если намерены продолжать работать с МК при помощи последовательных программаторов. "Оживить" МК с установленным RSTDISBL можно только параллельным программатором и не для всех МК.

CKDIV8 — fuse бит, включающий предварительное деление частоты кварцевого (или иного имеющегося) тактового генератора на 8. То есть при включенном этом бите и применении кварцевого резонатора на 8 МГц реальная тактовая частота МК составит 1 МГц.

CKOUT — fuse бит, разрешающий вывод тактовой частоты на один из выводов МК (для тактирования других устройств).

SUT1 и SUT0 — fuse биты, управляющие режимом запуска тактовых генераторов МК. Связаны с нижеописываемыми битами, определяющими тип и частоту тактового генератора, причем связь весьма хитрая и запутанная. При ошибочной их установки возможны ситуации неустойчивого запуска генератора или неодногратного сброса МК в процессе подачи на него питания.

CKOPT — бит, определяющий режим работы встроенного генератора тактовой частоты для работы с кварцевыми резонаторами. Реально изменяет коэффициент усиления встроенного инвертора в схеме генератора и значит выходное напряжение на ножке XTAL2. Ошибочная установка может приводить к неустойчивому запуску кварцевого генератора, вплоть до возбуждения его не на той гармонике, что надо (из-за этого бита кварц запускался или только при питании МК напряжением не выше 3,6В, или только после прикосновения к выводу XTAL1 пинцетом)

Группа битов CKSEL0…CKSEL3 — fuse биты, комбинация которых определяет тип и частоту работающего тактового генератора. Всего возможно до 16 комбинаций, однако не все определены для всех типов МК. Ошибочная установка комбинации этих битов может сделать МК «мертвым» — он не будет работать в схеме без подачи тактового сигнала на ножку XTAL1.

PLLCK — fuse бит, разрешающий использование встроенного синтезатора частоты для тактирования ядра МК.

BOOTRST — fuse бит, определяющий адрес, с которого будет начато исполнение программы после сброса — если бит установлен, то начало программы будет не с адреса 0000h (как обычно), а с адреса области загрузчика (Boot Loader).

Группа fuse битов BOOTSZ — два fuse бита, определяющие размер области памяти программ, выделяемой для загрузчика (Boot Loader). Комбинация этих битов, в частности, определяет точку начала исполнения программы после сброса, если установлен бит BOOTRST.

в Даташите 644p имеем следуещее

Вложение:
Untitled-1.gif
Untitled-1.gif [ 12.32 KiB | Просмотров: 3240 ]

Вложение:
Untitled-2.gif
Untitled-2.gif [ 21.82 KiB | Просмотров: 3240 ]

Вложение:
Untitled-3.gif
Untitled-3.gif [ 15.68 KiB | Просмотров: 3240 ]

и по тактовой
Вложение:
Untitled-4.gif
Untitled-4.gif [ 12 KiB | Просмотров: 3240 ]

исходя из того что установил когда шил бутлоадер - :( надо перепаевать контроллер на чистый. ну да ладно.... :D
и всётаки, какой формы и уровня должна быть подана внешняя синхра на 8ю ногу Атмеги, скажите плиз кто-нибудь!

Автор:  kroenen [ 19 окт 2010, 17:13 ]
Заголовок сообщения:  Re: Бутлоадер для мультироторных аппаратов

Может у Хольгера тогда уж спросить?

Автор:  Katsuk [ 19 окт 2010, 18:59 ]
Заголовок сообщения:  Re: Бутлоадер для мультироторных аппаратов

Да любого уровня от 2 до 5 вольт. Иногда достаточно пальцем коснуться. Возьмите какой-нибудь осциллятор, вроде такого: Изображение
Или спаяйте на ЛАшке, ну или с какой-нибудь платы возьмите сигнал...

Про фьюзы все расписано в официальном даташите: http://www.atmel.com/dyn/products/product_card.asp?PN=ATmega644PA

Автор:  Шавель [ 20 окт 2010, 13:04 ]
Заголовок сообщения:  Re: Бутлоадер для мультироторных аппаратов

Katsuk писал(а):
Да любого уровня от 2 до 5 вольт. Иногда достаточно пальцем коснуться. Возьмите какой-нибудь осциллятор, вроде такого: Изображение
Или спаяйте на ЛАшке, ну или с какой-нибудь платы возьмите сигнал...

Про фьюзы все расписано в официальном даташите: http://www.atmel.com/dyn/products/product_card.asp?PN=ATmega644PA


Сделал. Freeduinoй дрыгал цифровым портом с максимально возможной скоростью и подал это на 8ю ногу атмеги не выпаевая кварца загорелся зелёный светодиод на FC (точнее запульсировал) с частотой в 2 раза ниже чем у экспромптного генератора, но МК так и не ожила :( на запросы программирования отвечать не хочет :( . заказал новую 644p из москвы, пока едет буду разбираться с фьюзами.


получается так. :?
Fulsebit ( http://www.multicopter.ru/technical/programming )



HIGHT 11011100
LOW 11111111
EXTENDET 11111100
(проверенно - работает)

Автор:  SpLoiT [ 02 май 2011, 19:52 ]
Заголовок сообщения:  Re: Бутлоадер для мультироторных аппаратов

Jason писал(а):
Сорри за оффтоп...
Я атмег8 наубивал штук 6... И все из-за того, что не могу прошить фузы... От така проблемка...
Так что все возможно, главное уметь! :)


Навсякий случай скажу... если вдруг криво зашили фьюзы CKSEL которые на тактовый источник и время запуска проца.... и всё это попало на источник внешних тактовых импульсов...
ТО
В помощь приходит звуковой генератор. Главное чтобы его частотный диапазон попадал в приделы частоты, которую вы установили. Переключаете с синуса на прямоугольники и вуаля)))
Ну да цеплять его на XTAL1, а вообще за все контроллеры не скажу в даташите в общем написано.

Я так двух зайцев убил. Исправил косяк при программировании фьюзов и подобрал частоту тактирующую для UART.
Да и скорость можно регулировать контроллера... поэкспериментировать.

В общем надеюсь кому-нить поможет)




Ах да вопрос а где вы сам бутлоадер то взяли?

Автор:  Letalkin [ 02 май 2011, 20:02 ]
Заголовок сообщения:  Re: Бутлоадер для мультироторных аппаратов

да в MK-SVN всё лежит
http://svn.mikrokopter.de/listing.php?r ... 48b3e30d4a
http://svn.mikrokopter.de/listing.php?r ... 43f0e1999c
.

Автор:  SpLoiT [ 02 май 2011, 20:04 ]
Заголовок сообщения:  Re: Бутлоадер для мультироторных аппаратов

Так это что получается... Беру лью бутлоадер по ISP в контроллер, а потом через МК тул лью компилированную hex Прошивку?

А на старые версии, когда исходники открытые были пойдёт?

Автор:  Letalkin [ 02 май 2011, 20:05 ]
Заголовок сообщения:  Re: Бутлоадер для мультироторных аппаратов

тебе для чего он нужен-то ?

Автор:  SpLoiT [ 02 май 2011, 20:07 ]
Заголовок сообщения:  Re: Бутлоадер для мультироторных аппаратов

Чтобы в собственно спаяная плату воткнуть и не покупать атмегу с бутлоадером...

Хотя... По цене она там дешевле выходит чем у нас чистая)))
Просто заказ... время... доставка...

Да и поэксперементировать с опен сорсом охото...

Автор:  snark_21 [ 01 фев 2012, 23:37 ]
Заголовок сообщения:  Re: Бутлоадер для мультироторных аппаратов

Скажите, а бутлоадер для Atmega 1284p где-нибудь взять можно?

Страница 4 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/