Вопросы программирования микроконтроллеров. , Задаем вопросы,отвечаем,не засоряем другие темы! |
Здравствуйте, гость ( Вход | Регистрация )
Вопросы программирования микроконтроллеров. , Задаем вопросы,отвечаем,не засоряем другие темы! |
4.11.2011, 3:13
Сообщение
#1
|
|
Специалист Группа: Пользователи Сообщений: 897 Регистрация: 18.6.2009 Из: Винница Пользователь №: 14820 |
Всетаки решился открыть новую тему . Если Вы сюда заглянули-значит Ваши познания достигли нового уровня (или Вы так думаете ) или Вам есть чем поделится с жаждущими знаний :!: . Прогресс идет,и вот мы дошли до нового уровня сварковаяния,тема создана для того-чтобы не засорять соответствующие темы и не отвлекать всех однообразными вопросами касаемых программирования микроконтроллеров.
Я не претендую на профи в этом деле (я ближе к автомобилям),так-что поделюсь тем что мне очень помогло и хватило для того чтобы прошить мой первый контролер. Первым делом –программатор. Стоит подумать перед покупкой-зачем он Вам? Прошить 2-3 контролера в месяц? Глупо! Нет LPT порта,нет COM порта? Прошить можна и на другом компе. Ну а если очень захотелось крутой программатор-Ваше дело. (Блатная жизнь-нелегкая!) Тут каждый принимает решение сам. Мой совет-набираете в GOOGLЕ-программатор Громова или программатор на MAX232-информации немерено! Паяльник в руки-10-15мин. И он у Вас есть. Попробуете поработать с контролерами,понравится,заработаете свой первый миллион-купите себе суперновый навороченный . Процессор можно прошивать как на панельке так и внутрисхемно. Но ему необходимо питание-в основном 5В,иногда можно прошивать и при штатном питании(незнаю,непробовал-брехать небуду) Я думаю с этим проблем нет,трансик,кренка,кондерчик-хватит. Следите за правильностью подключения проца к программатору и питанию! У каждого автора схемы,программы и в целом девайса распиновка под программатор своя. Рекомендуется сначала подключать минус питания для уравнивания потенциалов. Теперь нам нужна программа для прошивки микроконтроллера. Опять-же,нам нужна простая программа,нам нужно просто залить готовую прошивку в микроконтроллер. Варианты поковырятся в готовой прошивке-эт для людей знающих! И тут обращаемся к великому Гуглю. Тут опять-же на вкус и цвет-товарищей нет. Algorithm Builder, UniProf, PonyProg, AVR Studio, Code VisionAVR, SinaProg-выбираем,качаем,устанавливаем,изучаем,что непонятно-GOOGL рулит!!! Подключаем все это дело-комп,программатор,контролер. В выбранной и установленной проге устанавливаем связь с программатором,подаем питание-если ничего не дымит значит пока живем!!! При запуске программы определяется контролер,если не определился-выбираем вручную. Теперь о прошивках-они у нас в основном в двух видах,НЕХ-заливается во FLASH,EEP-заливается в EEPROM. Впрочем-непопутаете! Я не писатель,немного устал-теперь кратко о сути. ФЬЮЗЫ!!! Тут максимум внимания!!! Автор может изменить алгоритм работы контролера-частоту,защиту,внутренний,внешний генератор-в общем может быть беда! Если автор прошивки не меняет фьюзы-хорошо,Вы тоже их не трогаете,если есть изменения-просите огласить какие изменения(ниже будут «разложены» фьюзы) или просите скиншот,при этом обращаете внимание в какой среде автор прошивает контролер. Спросите почему? Потому что программы по разному отмечют «активен» и «не активен»,у одних галочка стоит когда-«активен»,у других наоборот.Здесь чаще всего косячат :!: :!: :!: !!! Рекомендую перед прошивкой сначала считать Ваш контролер(почему-увидите ниже),определится с фьюзами,как они стоят и как Вам их нужно установить. Каждая программа делает это по разному,внимательно изучите сей момент!!! Потом прошить его ,потом проверить прошивку(считать),а уже потом подбиратся к фьюзам. Помните- у PonyProg и AVR Studio значение «активен» и «не активен» абсолютно противоположено программам Algorithm Builder и UniProf !!! Значение или назначение некоторых фьюзов: SPIEN – разрешение на последовательное программирование. Нетрогать! Табу! DWEN – бит, разрешающий работу DebugWire Нетрогать! Табу! RSTDISBL –разрешает использовать ножку Reset как еще один порт ввода-вывода Нетрогать! Табу! Lock Bit Byte – лок биты для защиты программы от копирования CKSEL – выбор тактового генератора для микроконтроллера CKSEL0– Внешний тактовый сигнал; CKSEL1 – Внутренний тактовый генератор – частота 4 МГц; CKSEL2 – Внутренний тактовый генератор – частота 8 МГц; Если Вы выставили фьюзы на внешний генератор, а его нет, то придется припаять кварц к соответствующим ножкам или подать тактовые импульсы. CKOUT – разрешает вывод тактовой частоты на ножку CLKO микроконтроллера CKOPT – задает размах тактового сигнала на внешнем генераторе. SCKDIV8 – деление тактовой частоты на 8 SUT – задает скорость запуска микроконтроллера BODLEVEL и BODEN – контроль напряжения питания микроконтроллера (Brown-out Detector). EESAVE – защита EEPROM от стирания Lock Bits – Это отдельный фьюз байт который предназначен для защиты области программ и/или EEPROM от копирования. Полное стирание восстанавливает эти биты в исходное состояние. Еще раз повторюсь, это не полный перечень фьюз бит, для каждого конкретного микроконтроллера смотрите даташит. Общий алгоритм установки фьюз бит должен быть следующим: - прошиваем Flash и, если нужно, EERROM; – открываем окно прошивки фьюзов, считываем текущие фьюзы микроконтроллера; – модифицируем только те фьюзы которые нам нужны; – обращаем внимание на критичные для последовательного программирования фьюзы RSTDISBL, SPIEN, др. Ну в общем вроде бы все что мог(или на что хватило задора)написал-звиняйте что не так! Милости просим! Добавляем информацию,дополняем,делимся,спрашиваем! Кстати(дабы не считали таким вумным) все в свое время подчерпнул сдесь-Здеся! Замечены неточности -укажите-исправлю! Сообщение отредактировал с2н5он - 4.11.2011, 7:13 |
|
|
26.1.2012, 16:52
Сообщение
#2
|
|
=VIP= Группа: Пользователи Сообщений: 1263 Регистрация: 8.7.2007 Из: Оренбург Пользователь №: 8946 |
Да я видел что там есть почти все. ULNку и индикатор мне земляк подогнал! На очередную управу буду там заказывать.
-------------------- Греется-значит работает!
|
|
|
Текстовая версия | Сейчас: 5.2.2025, 18:04 |
|