Автор работы: Пользователь скрыл имя, 13 Июня 2015 в 22:59, курсовая работа
Основной задачей курсовой работы является развитие навыков проектирования специализированных цифровых радиоэлектронных устройств с применением микропроцессорных комплектов и цифровых микросхем среднего и малого уровней интеграции. Изучение архитектуры микроконтроллеров популярного семейства AVR фирмы Atmel, его функциональных узлов и особенностей их работы. Изучение основ языка Ассемблер. Для проведения расчетов используется среда программирования микроконтроллеров AVR Studio, а также CodeVisionAVR.
Введение......................................................................................................................3
1.Техническое задание………………………………....................................................4
2.Выбор технических средств…………………………………………..…………..….4
3.Программирование микроконтроллера………………………………………………6
3.Принципиальная схема устройства.....................................................................8
4.Разработка печатной платы устройства……………………………………....10
Заключение...............................................................................................................13
Библиографический список....................................................................................14
Содержание
Введение......................
1.Техническое задание………………………………...........
2.Выбор технических средств…………………………………………..………….
3.Программирование
3.Принципиальная схема устройства....................
4.Разработка печатной платы устройства……………………………………....10
Заключение....................
Библиографический
список........................
Приложение 1. Принципиальная схема устройства.
Приложение 2. Фрагмент программы микроконтроллера на Ассемблере.
Приложение 3. Фрагмент программы микроконтроллера на С.
Введение
Основной задачей курсовой работы является развитие навыков проектирования специализированных цифровых радиоэлектронных устройств с применением микропроцессорных комплектов и цифровых микросхем среднего и малого уровней интеграции. Изучение архитектуры микроконтроллеров популярного семейства AVR фирмы Atmel, его функциональных узлов и особенностей их работы. Изучение основ языка Ассемблер. Для проведения расчетов используется среда программирования микроконтроллеров AVR Studio, а также CodeVisionAVR.
За последние годы в микроэлектронике бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров, которые предназначены для “интеллектуализации” оборудования различного назначения. Однокристальные (однокорпусные) микроконтроллеры представляют собой приборы, конструктивно выполненные в виде БИС и включающие в себя все составные части микроЭВМ: микропроцессор, память программ и память данных, а также программируемые интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС микроконтроллера), что микроконтроллерам, видимо, нет разумной альтернативной элементной базы для построения управляющих или регулирующих систем. К настоящему времени более двух третей мирового рынка микропроцессорных средств составляют именно однокристальные микроконтроллеры.
В данной курсовой работе необходимо разработать схему устройства, предназначенного для начинающих разработчиков микропроцессорных устройств управления. Устройство ATmega FuseBit Doctor предназначено для восстановления заводской конфигурации Fuse-битов микроконтроллеров Atmel AVR семейства ATmega, которые были ошибочно установлены при программирование контроллера. Самыми распространенными ошибками или проблемами являются неправильное конфигурирование источника тактовой частоты (fuse-бит CKSEL), отключение последовательного интерфейса программирования SPI (fuse-бит SPIEN) и отключение вывода Reset для возможности использовать его как линию ввода/вывода (fuse-бит RSTDISBL). Разблокировать микроконтроллер можно и с помощью параллельного программатора, создавать или приобретать который не имеет смысла, только с целью «восстановления» микроконтроллеров из-за его высокой стоимости.
Данное устройство имеет простой и понятный интерфейс, а также довольно простую в реализации схему, сборка которой возможна при минимальных затратах.
Для корректной работы системы микроконтроллер должен обладать следующими параметрами:
- напряжение питания 5 В;
- тактовая частота не менее 16 Мгц;
- аналоговый компаратор 1шт;
- полнодуплексный USART интерфейс 1шт;
- два 10-ти битных канала ШИМ модуляции;
- два вывода типа INT;
- 8 входов АЦП разрядностью 10 бит;
- суммарное количество портов 3 шт;
- тип корпуса DIP;
- минимальная цена.
Сравнительный анализ МК, характеристики которых подходят по перечисленным выше параметрам, приведен в таблице 4.1
Таблица 4.1.Сравнительный анализ микроконтроллеров.
Характеристика/функция |
Atmega 8 |
PIC 16F876 |
Atmega 16 |
Напряжение питания, В |
1.8 - 5.5 |
2.5 - 5.5 |
1.8 - 5.5 |
Тактовая частота, МГц |
16 |
20 |
16 |
Поддержка USART |
Есть |
Есть |
Есть |
Скорость передачи, Мбод |
До 1 |
До 1 |
До 1 |
Аналоговый компаратор, шт |
1 |
1 |
1 |
Каналы ШИМ модуляции, шт |
3 |
5 |
3 |
Выводы типа INT, шт |
2 |
2 |
3 |
Входа АЦП точностью 10 бит, шт |
8 |
8 |
8 |
Количество портов, шт |
3 |
3 |
4 |
Тип корпуса |
DIP 28 |
DIP28 |
DIP 40 |
Цена, р |
98 |
118 |
120 |
По критерию «Цена/качество» из указанных в табл. 4.1 выбираем контроллер ATMega8-16PU производства Atmel (с перспективой замены на аппаратно совместимый контроллер ATMega88), как один из самых распространённых и дешёвых МК в мире.
Рис.1 Расположение выводов микроконтроллера Atmega8.
Для программирования микроконтроллера в данной работе используется CodeVisionAVR.Также может быть использован аналогичный программный продукт - AVR Studio. В обоих программных средствах имеется как С-компилятор, так и компилятор Ассемблера. Листинг программы микроконтроллера приведен в Приложениях 2-3.
При программировании особое внимание нужно уделить установке fuse-битов восстанавливающего микроконтроллера, т.к. в разных программах окно настроек имеет различный формат. Неправильно установленный тот или иной fuse-бит может оказать существенное влияние на работу устройства вплоть до очередного блокирования микроконтроллера. Далее следует описание назначения необходимых установленных fuse-битов.
EESAVE — fuse-бит, после установки которого при стирании памяти МК содержимое EEPROM данных будет сохраняться нетронутым, т. е. не будет стерто.
CKSEL0…CKSEL3 — fuse-биты, комбинация которых определяет тип и частоту работающего тактового генератора. Всего возможно до 16 комбинаций, однако не все определены для всех типов МК. Ошибочная установка комбинации этих битов может сделать МК «мертвым» — он не будет работать в схеме без подачи тактового сигнала на ножку XTAL1.
BOOTSZ — два fuse-бита, определяющие размер области памяти программ, выделяемой для загрузчика (Boot Loader). Комбинация этих битов, в частности, определяет точку начала исполнения программы после сброса, если установлен бит BOOTRST.
Рис.2 Окно настройки fuse-битов МК Atmega8 в CodeVisionAVR.
2. Принципиальная схема устройства
Принципиальная схема устройства для восстановления заводской конфигурации микроконтроллеров приведена в приложении 1. Основой является микроконтроллер ATmega8, который настроен на работу от внутреннего RC осциллятора 8 МГц.
Принцип работы схемы:
Устройство использует метод параллельного высоковольтного программирования (HVPP), и в базе данных содержаться сигнатуры многих микроконтроллеров семейства ATmega. Пользователю необходимо лишь установить микроконтроллер с неправильной конфигурацией fuse-битов в сокет и нажать кнопку Start.
При нажатии кнопки «START», «Atmega fusebit doctor» считывает сигнатуру заблокированного микроконтроллера. Если чтение не выполняется с первого раза, то делается несколько попыток прочитать сигнатуру различными способами. После того как сигнатура прочитана, по базе определяется тип микроконтроллера и восстанавливаются заводские установки fuse-битов.
Если сигнатура
неизвестна или
При восстановлении fuse-бит, записанная в микроконтроллер программа, как и было сказано выше, остается нетронутой. Также на плате есть перемычка «ALLOW ERASE«, при замыкании которой, устройство полностью форматирует микроконтроллер. Это необходимо в том случае, если микроконтроллер заблокирован, т.е. установлены защитные lock-биты которые препятствуют чтению/записи микроконтроллера.
Для индикации работы «Atmega fusebit doctor» имеет два светодиода – красного и зелёного цвета.
1.Если горит зеленый - значит микроконтроллер успешно «вылечен», fuse- биты восстановлены до заводских. Если микроконтроллер «заблокирован» (LockBits включены), просто проверяются fuse-биты и если они совпадают с заводскими – загорается зеленый светодиод.
2.Если горит красный – проблемы с сигнатурой чипа, невозможно прочитать, нет микроконтроллера в панельке или нет такой сигнатуры в базе данных.
3.Если зеленый мигает – сигнатура в порядке, fuse-биты с ошибкой, но исправить их невозможно, так как микроконтроллер «заблокирован» (LockBits включены), необходимо полное стирание микроконтроллера (нужно установить перемычку для полного стирания – «ALLOW ERASE»).
4.Если мигает красный – сигнатура в порядке, микроконтроллер «не заблокирован», но, по какой-то причине, невозможно восстановить fuse-биты.
Также с целью индикации может использоваться персональный компьютер с терминальной программой и COM портом (RS232). На плате предусмотрен разъем для подключения линии Tx микроконтроллера к интерфейсу RS232 компьютера, при этом необходимо использовать преобразователь логических уровней интерфейса, например на микросхеме MAX232. Терминальная программа BASCOM-AVR настраивается на скорость передачи данных 38400 бод, без проверки четности, 8 бит данных, 1 стоп-бит. В терминальной программе отображается вся информация о ходе процесса восстановления конфигурации.
Рис.3 Пример содержимого окна терминальной программы.
Безусловно, данную схему можно собрать и на макетной плате, однако целесообразнее изготовить полноценное электронное устройство. Размер печатной платы составляет 9,5х5,5см.
Используемые элементы:
Общие затраты на сборку данного устройства с учетом микроконтроллера и печатной платы составляют около трехсот рублей. Этот фактор существенно влияет на доступность устройства, так как стоимость высоковольтного параллельного программатора может варьироваться в пределах от одной до нескольких тысяч рублей. Расположение элементов на печатной плате показано на Рис.4-5.
Рис 4.Печатная плата устройства (вид снизу).
Рис 5.Печатная плата устройства (вид сверху).
Информация о работе Создание устройства Atmega FuseBit Doctor на базе микроконтроллера Atmega8