ЗАГРУЗКА ПРОГРАММЫ В МИКРОКОНТРОЛЛЕР
Прошивать микроконтроллер можно прямо из программатора, встроенного в компилятор CodeVisionAVR через простейший
адаптер (буквально "пять проводков"), соединяющих принтерный порт ПК с прошиваемым микроконтроллером AVR. Результат написания и компиляции программы – файл-прошивку с расширением .hex (и возможно файл с содержимым для EEPROM МК) нужно записать ("зашить") в МК. МК AVR многократно программируются прямо в устройстве, в котором будут работать. Та-
кое программирование называют ISP.
Для этого установите на плате вашего устройства 6 контактов, а лучше 6-ти штырьковый разъем для ISP.
Рис. 8.1 – Разъем для внутрисхемного программирования
Вывод 2 нужно подключить к плюсу питания МК, если вы собираетесь использовать программатор, питающийся от вашего же устройства, например фирменный ISP AVR. Для "5 проводов" этот вывод не подключается. Для программирования достаточно 5 контактов. Соответственно и разъем, который вы будете использовать, может быть любым удобным для размещения на плате и имеющим минимум 5 контактов. Все контакты ISP разъема подсоединяются к ножкам МК в соответствии с названиями.
Будем пользоваться интерфейсом программирования, встроенным в компилятор CodeVisionAVR, и в нем разрабатывать программу для МК.
Вы можете в компиляторе CodeVisionAVR открыть меню "Project -> Configure -> After Make" и отметить чек бокс "Program the chip", затем ОК.
Еще нужно в меню "Settings -> Programmer" выбрать ваш адаптер для программирования.
После безошибочной компиляции программы вам будет доступна кнопка "Program" - нажмите на нее и произойдет программирование МК - т.е. файл .hex будет загружен в память программ МК. Затем МК будет "сброшен" (на ножку RESET будет подан лог. 0, а затем опять "1") и начнет выполнять только что прошитую (загруженную в него) программу.
Вам даже не нужно будет отсоединять адаптер программирования от вашего устройства, если вы не используете в устройстве последовательный интерфейс SPI.
В диалоге настройки программирования не трогайте галочки установки фьюзов МК, если не разобрались четко, что они делают! Иначе вы можете отключить режим ISP или внутренний RC-генератор и для следующего программирования вам понадобится ставить кварц с конденсаторами.
В ATmega с завода включен внутренний RC-генератор на частоте 1 МГц (уточните это по ДШ и его возможные частоты). Если вам нужна другая частота или нужно включить внешний кварцевый или керамический резонатор – вам нужно запрограммировать некоторые фьюзы по таблицам из ДШ.
Незапрограммированный фьюз – 1, запрограммированный – 0.
Пример: чтобы включить в ATmega16 внешний кварцевый резонатор с частотой от 3 до 8 МГц с конденсаторами (по схеме рис. 12 ДШ) найдите в ДШ раздел "System Clock". В таблице 2 указаны комбинации фьюзов для разных источников тактового сигнала. Далее написано, что с завода МК поставляется с такой комбинацией фьюзов
СKSEL 0001 SUT 10 CKOPT 1
По таблице 4 находим: для кварца с частотой от 3 до 8 МГц
нужны конденсаторы от 12 до 22 пФ и вот такая комбинация фьюзов :
СKSEL 1111 SUT 10 CKOPT 1
Установка фьюзов в программаторе компилятора CVAVR показана на рисунке. Сняв галочку "Program Fuse Bit(s)" вы cможете не менять установку фьюзов!
Рис. 8.2 – Окно программатора
Для прошивания МК нажмите кнопку "Program All". Для использования ATmega16 с внешним кварцевым или керамическим резонатором на частотах выше 8 МГц вам нужно установить фьюзы как в примере выше, но запрограммировать CKOPT – значит сделать его "0". Т.е. вам нужна такая комбинация:
СKSEL 1111 SUT 10 CKOPT 0
Приведенный ниже адаптер "5-проводков" (источник информации указан на рисунке) прекрасно работает с компилятором CodeVision. Для изготовления адаптера лучше взять "принтерный" шнур – он длинный и экранированный, а неэкранированные проводки не стоит делать более 10-15 см.
Рис. 8.3 – Адаптер связи AVR с персональным компьютером
Подробно работа с программатором описана в его help. В help CVAVR и VMLAB вы можете найти информацию по работе с компилятором и симулятором, а также ДШ для любого типа микроконтроллера AVR. Естественно, эта информация приводится на английском языке. На русском языке эти вопросы хорошо представлены в работе [9], на базе которой построены разделы [5-9] настоящего учебного пособия и которую можно рекомендовать для более детального изучения дисциплины.
Дата добавления: 2016-01-09; просмотров: 1282;