Обсуждаем контроллеры компании Atmel.
Пт июн 23, 2006 10:28:05
для чего они нужны?
Пт июн 23, 2006 13:21:32
для конфигурации мк.
Пт ноя 17, 2006 13:20:28
Anonymous писал(а):Я тоже спрашивал, но потом пришлось смириться.
fuse - биты - это биты, позволяющие задавать аппаратную конфигурацию контроллера.
Например - от чего он будет тактироваться (кварц, RC-цепь, встренный тактовый генератор), можно ли после программирования считать его память или нет (защита от копирования программ), в старших моделях есть fuse-биты совместимости с младшими. Например, atmega8535 совместим по ногам с AT90S8535. И переферия (дополнительная) atmega8535 не доступна, если стоит бит совместимости с AT90S8535.
Кстати, для начинающих, есть ньюанс - fuse-биты совместимости по умолчанию УСТАНОВЛЕНЫ в режим совместимости с младшими моделями. Поэтому, чтобы получить доступ ко всей переферии мег, этот бит надо сбросить!
Пт ноя 17, 2006 23:16:20
А разъясните ситуацию, как на Mega-х нельзя устанавливать фюзы? Чтобы не лишить себя возможности программировать по SPI?
Пн ноя 20, 2006 13:01:47
Фьюз SPIEN - SPI ENable - отвечает за работоспособность SPI.
Вот его-то и не стоит трогать...
Сб дек 16, 2006 14:12:16
А как их настраивать в AVReal?
Вс дек 17, 2006 21:53:48
А если я изменю режим генератора с INTRC на другой. Будет ли у меня работать ISP?
Пн дек 18, 2006 06:02:18
Доступность ISP также определяется фьюзом. В последовательном режиме этот бит недоступен, следовательно ISP работать будет. Конечно если неправильно железо спаяите то контроллер не заведется.
Вт дек 19, 2006 12:23:56
Зачем нужны BODLEVEl and BODEN?
Вт дек 19, 2006 13:19:33
а где мона почитать о фьюзах, о их смисле ?
с толком с чувством с растановкой.... а то не понятно куда какие биты писать, у мя мега шьётся, но не работает
Вт дек 19, 2006 13:45:18
О фьюзах и их смысле читать надо в даташите. Там все написано что как почему и зачем. И BODLEVEl and BODEN там тоже есть.
Вт дек 19, 2006 13:54:37
Незнайка.
Подскажи, а как их там в авриал32, в командной строке задать?
Ср дек 20, 2006 06:08:40
я аврилом не пользуюсь но в справке написано так
-f<fuselist> -- список fuses для тех чипов, в которых они шьются по ISP.
<fuselist> выглядит как fusename=value,fusename=value,bytename=value...
value - ШЕСТНАДЦАТЕРИЧНОЕ значение без префиксов и суффиксов.
Для однобитовых fuse добавлены значения ON и OFF (прошить и стереть,
0 и 1 соответственно).
ВНИМАНИЕ! Начиная с версии 1.23 НЕ ПОДДЕРЖИВАЮТСЯ однобуквенные
синонимы для fuses.
При наличии "пересекающихся" name=val выдается сообщение об ошибке.
При наличии нескольких ключей -f действие имеет _только_последний_.
Перечень fusename для конкретного чипа с диапазоном value и комментарием
можно получить при помощи
avreal +chipname -?
Для сокращения строки возможно задание полного байта fuses при помощи
специальных имен bytename, представляющие собой названия байтов
по документации с лидирующим подчерком:
_low,_high,_ext,_lock
Нереализованные в данном байте биты рекомендуется устанавливать в '1'.
Имя _lock относится к байту lock-битов и BLB, однако на состояние
lock-битов НЕ ВЛИЯЕТ. Для блокировки кристалла по прежнему надо
использовать ключ -l.
Допускается комбинация отдельных fuse и байтов, однако они при этом
не должны пересекаться, т.е. каждый байт fuses должен быть задан
либо только через специальное имя, либо только через имена отдельных
fuse. Например,
допустимо: -f_low=C3,_high=F4,blb2=1
не допустимо: -f_lock=F7,blb2=1
Если работа с fuses по SPI поддерживается, то их состояние сообщается
при любой операции с чипом, задание ключа -F необязательно.
В случае наличия -F<fuselist> при -V производится верификация fuses.
Для записи fuses _необходимо_ указать ключ -w.
Неупомянутые fuse остаются неизменными (кроме BLB для mega161, mega163,
так как они могут быть стерты по -E).
AVReAl обеспечивает также расширенную поддержку osccal (см. ниже)
Группа BLB относится скорее к lock-битам, записать 1 поверх уже
запрограммированной в 0 fuse невозможно. Если запрошена
такая операция и чип не стирался, то программа завершает работу
с соответствующим предупреждением.
Для tiny12, tiny15 поддерживается программирование SPIEN
и RSTDSBL, будьте осторожны, SPIEN по умолчанию запрограмировано,
ключ -fspien=1 (-fspien=off) _сотрет_ SPIEN и запретит дальнейшее
низковольтное программирование. Запрет произойдет и при
_программировании_ RSTDSBL (-frstdsbl=0 или -frstdsbl=off).
Пт дек 22, 2006 11:42:46
Пишу программатор и совсем запарился с этими фьюзами.
Точнее с их состояниями. Вот к примеру прочитал я High Fuse Bits как 0х4A. Теперь как это понимать? Понятно, что смотри на биты. Но там вечная путаница с 0 это 1 и 1 это 0. Так вот в этой самой 0x4A бит 1 значит, что этот фьюз выставлен или нет?
Сб дек 23, 2006 00:53:52
Spider писал(а):...Так вот в этой самой 0x4A бит 1 значит, что этот фьюз выставлен или нет?
Как написано в даташитах, установленный фьюз - это 0. Путаница обычно возникает в программаторах, где отмеченная галочка может означать и 0 и 1.
Сб дек 23, 2006 19:22:36
Привет, Нано! Это ведь ты на електроникс чего-то там форуме есть? (Голубой такой форум) привет от Alexey Belyaev'a! Это я! Я думаю ты уже догодался. Да о чём это я? Отвлёкся.
Ну вот к примеру имеем
FH = 0b1101 1001
Из проца прочитается именно это значение? Что будет означчать, что SPIEN разрешён и размер загрузчика как 0, но ресет вектор на 0х00. Так?
Вс дек 24, 2006 15:10:17
Да, два кота обнюхались и признали друг друга. Правда, форум не голубой
.
Теперь по существу. Да, похоже фузы установлены именно так. Я бы ещё проверил и на другом программаторе заведомо исправный кристалл.
Вс дек 24, 2006 15:32:05
Так оно и оказалось! Спасибо за хелп. Продолжаем разрабатывать программатор.
Сб янв 27, 2007 20:10:44
Конторллер ATmega16.
Вот такая проблема: по дурости забыл устновить фьюзы CKSEL0..3 (они остились на 0000, я так понимаю это установка "внешняя частота"), после этого МК не желает прошиваться второй раз
как выйти из положения?
P.S. пробовал подключать разные кварцы, но это не спасает.
Сб янв 27, 2007 21:26:43
avrfuse.narod.ru подробная информация про фьюзы и как правильно прошивать микроконтроллеры AVR
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.