Светодиодные фонари и световые приборы. Всё о светотехнике.
Изображения Дневники Группы Поиск
Вернуться   Форум FONAREVKA.RU Лаборатория Электроника и схемотехника Электроника Микроконтроллеры
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

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

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 5335   Ответов в теме 2   Подписчиков на тему 0   Добавили в закладки 0
Опции темы Поиск в этой теме
Старый 11.06.2011, 04:32 Автор темы   1
Увлеченный
 
Аватар для lasers_Fonarik
 
Регистрация: 18.02.2010
Последняя активность: 05.03.2014 20:17
Сообщений: 371
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для lasers_Fonarik с помощью ICQ
По умолчанию FUSE биты

Fuse биты - это биты которые настраивают некоторые параметры микроконтроллера, и не могут быть изменены из программы.
Не правильная конфигурация фьюзов может "заблокировать" МК после чего обычным программатором его прошить уже не получится. Тут поможет HVPP ( High Voltage Parallel Programming) для ATmega и ATiny2313, или HVSP (High Voltage Serial Programming) для ATiny (кроме Attiny 2313)
И так рассмотрим их по-подробней... ( примеры буду приводить для ATmega88 )
Открываем даташит на конкретный МК, смотрим в разделе Memory programming - Fuse bits, видим следующее
Вложение 4741
Вложение 4742
Как можно заметить из таблиц, эти биты выставляют инверсно ( 0 - установлен, 1 не установлен, это немного не логично, но не стоит забывать об этом)

Рассмотрим что означает каждый бит:

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.

К примеру нам нужно установить такую комбинацию

RSTDISBL - (1)
DWEN - (1)
SPIEN + (0)
WDTON - (1)
EESAVE - (1)
BODLEVEL2 - (1)
BODLEVEL1 + (0)
BODLEVEL0 - (1)

CKDIV8 - (1)
CKOUT - (1)
SUT1 - (1)
SUT0 + (0)
CKSEL3 + (0)
CKSEL2 + (0)
CKSEL1 - (1)
CKSEL0 + (0)
получаем комбинацию
High fuse byte: 11011101
Low fuse byte: 11100010
а дальше всё зависит от программатора, которым вы будете прошивать МК
к примеру для bit bang программатора на FT232RL под управлением AVR dude это будет выглядеть так :
avrdude.exe -p m88p -c ftbb -P ft0 -B 115200 -U hfuse:w:221:m -U lfuse:w:226:m

некоторая информация взята из http://avrfuse.narod.ru/ и даташита на ATmega88

спасибо за внимание
Миниатюры
Нажмите на изображение для увеличения
Название: h.PNG
Просмотров: 1159
Размер:	46.3 Кб
ID:	255878 Нажмите на изображение для увеличения
Название: llll11.GIF
Просмотров: 1046
Размер:	17.0 Кб
ID:	255879
__________________


lasers_Fonarik вне форума   Ответить с цитированием Вверх
Старый 11.06.2011, 13:22   2
lasers_Lum1noFor
Увлеченный
 
Регистрация: 14.02.2010
Последняя активность: 25.11.2018 13:03
Сообщений: 482
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для lasers_Lum1noFor с помощью ICQ
По умолчанию

Спасибо, интересно. +1.
__________________
Внимание! Это сообщение сгенерировано автоматически, отвечать на него не нужно.
lasers_Lum1noFor вне форума   Ответить с цитированием Вверх
Старый 31.10.2012, 13:49   3
Mexaelb
Новичок
 
Регистрация: 28.10.2012
Последняя активность: 14.11.2012 20:57
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

отличный рассказ, особенно для тех кто вообще не понимает что это такое
Спасибо!
Mexaelb вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему





Copyright ©2007 - 2024, FONAREVKA.RU

Powered by vBulletin®
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot

Правила форума | Отказ от ответственности

Время генерации страницы 0.09190 секунды с 17 запросами