ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3

Рассказать в:

ПРОДОЛЖЕНИЕ >>>>>>>

И так поехали дальше. Принципиальная схема и чертеж печатной платы адаптера для программирования МК серий АТ89, АТ90, ATmega, ATtiny фирмы ATMEL показаны соответственно на рис. 5 и 6.   <<< СКАЧАТЬ В ФОРМАТЕ LAY >>>  

ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3  ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3 

С помощью короткого (50... 100 мм) десятижильного шлейфа с розетками на концах вилку ХР1 адаптера соединяют с одноименной вилкой базового блока, подключаемого к порту СОМ или с вилкой ХР2 блока, работающего с портом LPT. Чтобы использовать шлейф для подключения и прочих адаптеров, задействуйте в нем все десять проводов.

Прежде чем устанавливать МК в панель XS1, следует перевести переключатель SA1 в положение, соответствующее его типу. Для микросхем, помещаемых в XS2 - XS5, положение переключателя безразлично. Схема адаптера для МК серии ATmega показана на рис. 7.

ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3

Более сложен адаптер для МК семейства PICmicro фирмы Microchip (рис. 8 и 9).   <<< СКАЧАТЬ В ФОРМАТЕ LAY >>>  

ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3   ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3

Это связано с необходимостью подавать на один из их выводов напряжение 12 В - сигнал, переключающий МК в режим программирования. Источником повышенного напряжения в зависимости от положения переключателя SA1 служит батарея GB1 или базовый блок программатора. Ток, потребляемый по этой цепи, пренебрежимо мал.

Для полноты картины приведем схемы адаптеров для микросхем памяти с последовательными интерфейсами I2C (рис. 10),

ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3

Microwire (рис. 11),

ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3

SPI (рис. 12),

ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3

а также микросхем NWM3060 (рис. 13)

ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3

и SDE2506 (рис. 14).

ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3

Возможность работы с ними также заложена в программное обеспечение программатора РопуРгog2000.

Анализируя приведенные схемы, нетрудно заметить, что во время программирования МК активно используются не более четырех его выводов, хотя не которые другие бывает необходимо соединить с общим проводом, подключить к ним кварцевый резонатор или обязательно оставить свободными. Это позволяет при необходимости программировать МК не в панели программатора, а непосредственно на той плате, где он будет в дальнейшем работать. Подобная технология известна под названиями ISP (In-System Programming - внутрисистемное программирование) или ICSP (In-Circuit Serial Programming  - внутрисхемное последовательное программирование). Одно из ее важных достоинств  возможность вносить изменения в программу МК, установленного в готовом и даже проработавшем некоторое время приборе. Это удобно как для устранения обнаруженных в процессе эксплуатации ошибок, так и для внедрения новых, улучшенных версий программ.

Чтобы воспользоваться ISP (ICSP), следует заранее предусмотреть на разрабатываемой плате разъем для соединения МК с программатором (длина соединительного шлейфа - не более 200...300 мм). Источник питания МК и программатора должен быть общим. Если нужные для программирования выводы задействованы и в рабочем режиме (такая возможность обязательно предусмотрена архитектурой любого МК), следует позаботиться, чтобы связанные с ними цепи не создали излишней нагрузки на программатор. Для этого в них последовательно включают разделительные резисторы, диоды, в крайнем случае  съемные перемычки. Нужно подумать и о том, чтобы сигналы программатора (например, поступающее с него повышенное напряжение) не повредили элементы устройства. Учтите, что все выводы МК, не участвующие в программировании, во время этой процедуры находятся в высоко-импедансом состоянии.

Программирование всегда начинают с включения питания МК и подачи (обычно — на вход сброса) сигнала, разрешающего переход в режим чтения внутренней памяти и программирования. Иногда в момент перехода должны быть выполнены дополнительные условия, например, установлены определенные логические уровни на выводах, используемых для программирования. Эти и многие другие меры предосторожности призваны предотвратить случайное искажение содержимого памяти МК.

Информация между МК и программатором передается поразрядно последовательным кодом, причем каждый разряд сопровождается по линии синхронизации (CLOCK, CLK, SCK) импульсом, генерируемым программатором. Длительности импульсов и пауз между ними ограничены, как правило, лишь минимальными допустимыми значениями, конкретные выбирают исходя из возможностей программатора и управляющего им компьютера.

Следует заметить, что сложные автономные программаторы, оснащенные управляющим МК, выдерживают необходимые интервалы времени значительно точнее, чем простые, где эта работа поручена компьютеру. Этот практически неустранимый недостаток связан с особенностями архитектуры и операционных систем компьютеров. На качество программирования он не влияет, проявляясь лишь в замедлении процесса. В любительской практике, когда программировать большие партии микросхем не приходится, с этим вполне можно смириться.

Для передачи данных из программатора в МК фирмы ATMEL служит цепь MOSI (Master-Out, Slave-ln. т. е. выход ведущего, вход ведомого), а в обратном направлении - MISO (Master-ln, Slave-Out, т. е. вход ведущего, выход ведомого). У МК фирмы Microchip последние две цепи объединены в одну, называемую DATA. Передав по ней определенное число двоичных разрядов, программатор, если необходимо, "переходит на прием", чтобы получить ответ МК.

Алгоритмы программирования большинства МК секрета не представляют. Их описания легко найти, в частности, на Интернет сайтах фирм разработчиков. Для примера в табл. 4

ПРОШИВКА РАЗРАБОТКА И ОТЛАДКА УСТРОЙСТВ НА МК ЧАСТЬ 3

приведен перечень команд программирования МК PIC16F84.

Подразумевается, что в исходном состоянии для программирования выбрана ячейка с нулевым адресом. Однако если длительность изменения уровня на выводе MCLR от нулевого до разрешающего программирование превысит определенное значение, состояние программного счетчика может измениться и все записываемые коды окажутся смещенными на несколько ячеек. Чтобы этого не случилось, достаточно соединить вывод 16 (OSC1) МК с общим проводом, что надежно заблокирует внутренний тактовый генератор. Вывод 15 (OSC2) должен остаться свободным.

Цикл программирования одной ячейки начинается командой "Загрузить данные..,”, сопровождаемой предназначенными для записи в нее данными. Шестиразрядный код команды поступает в МК, начиная с младшего разряда. Аналогичным образом передают данные, причем 14-разрядное содержимое ячейки FLASH - памяти "обрамляют" с обеих сторон нулями, а восьмиразрядный код, предназначенный для записи в EEPROM, дополняют восемью нулями, один из которых следует до записываемого кода, а остальные - после. Затем подают команду "Начать программирование" и спустя 10 мс.,  проверяют содержимое ячейки с помощью команды "Читать данные...". Далее подают команду "Перейти к следующей ячейке" и повторяют описанную процедуру до тех пор, пока не будет запрограммирована последняя ячейка. Обычно начинают с программирования памяти программ, затем переходят к ячейкам идентификации, конфигурации и EEPROM.

Заканчивают программирование, как правило, контрольным считыванием записанных данных, снятием сигнала разрешения программирования и выключением питания, после чего МК можно извлечь из панели. Чтобы гарантировать надежность программирования своих МК, фирма Microchip рекомендует проверять содержимое их памяти при нескольких значениях напряжения питания от минимального до максимально допустимого.

Рассказ о процедуре программирования МК PIC16F84 помещен здесь лишь для иллюстрации и не содержит многих существенных подробностей. У МК других типов перечень, формат и порядок применения команд программирования могут существенным образом отличаться от описанного. При самостоятельной разработке программ компьютеров, управляющих программированием, следует иметь в виду, что опубликованные алгоритмы нередко содержат неточности и даже проявляющиеся в довольно редких ситуациях ошибки. Поэтому, если нет возможности тщательно протестировать разработанную программу на реальных МК, лучше потратить время на поиск готовой, многократно проверенной. Адаптировать к имеющейся программе готовую аппаратную часть программатора обычно не очень сложно. Различия могут быть лишь в распределении сигналов программирования по выводам порта компьютера и в наличии или отсутствии инверторов в цепях их формирования.

Завершая раздел, опишем обычную последовательность действий, которые необходимо выполнить, чтобы запрограммировать МК:

- подготовьте HEX- или двоичный (.bin) файл с исходными данными для программирования. Он может быть результатом работы, например, ассемблера или набран вручную;

- подключите аппаратную часть программатора к компьютеру. Это лучше делать при выключенном питании;

- включите питание компьютера и запустите программу, обслуживающую программатор;

- если программатор имеет собственный источник питания, включите его. После этого компьютер должен автоматически или по соответствующей команде "опознать" программатор. Появление сообщения об ошибке означает, что с подключением не все в порядке, например, неправильно выбран порт компьютера;

- выберите из меню программатора тип программируемой микросхемы (иногда это делается автоматически), после чего установите ее в панель прибора и подайте команду проверки "чистоты". При отрицательном результате придется стереть старые данные предусмотренным для данного МК способом — ультрафиолетовым облучением или электрически. В меню программатора для последнего варианта предусмотрена специальная команда. После стирания повторите проверку "чистоты":

- загрузите в буферную память программатора данные из подготовленного ранее файла. Многие программаторы предоставляют возможность до программирования просмотреть загруженные в буфер данные на экране в виде дампа и даже внести изменения;

- найдите в меню программатора и подайте команду "Программировать”.

Обычно ход этого довольно длительного процесса тем или иным образом отображается на экране, а по его окончании выдается сообщение об успешном завершении или обнаруженных ошибках. В случае неудачи программирование можно повторить, часто это дает положительный результат. Сверка содержимого памяти МК с исходными данными обычно выполняется автоматически, но если нужно, ее можно повторить по специальной команде.

ПРОДОЛЖЕНИЕ СЛЕДУЕТ >>>>>

Все вопрсы на ФОРУМ


Раздел: [Изучаем микроконтроллеры]

Сохрани статью в:

Оставь свой комментарий или вопрос:


Наше сообщество в VK, а ты с нами? Присоединяйся!!!
Тясячи схем в категориях:
-> Прочее
-> Измерительная техника
-> Приборы
-> Схемыэлектрооборудования
-> Источники питания (прочие полезные конструкции)
-> Теоретические материалы
-> Справочные материалы
-> Устройства на микроконтроллерах
-> Зарядные устройства (для батареек)
-> Зарядные устройства (для авто)
-> Преобразователи напряжения (инверторы)
-> Все для кулера (Вентилятора)
-> Радиомикрофоны, жучки
-> Металоискатели
-> Регуляторы мощности
-> Охрана (Сигнализация)
-> Управление освещением
-> Таймеры (влажность, давление)
-> Трансиверы и радиостанции
-> Конструкции для дома
-> Конструкции простой сложности
-> Конкурс на лучшую конструкцию на микроконтроллерах
-> Конструкции средней сложности
-> Стабилизаторы
-> Усилители мощности низкой частоты (на транзисторах)
-> Блоки питания (импульсные)
-> Усилители мощности высокой частоты
-> Приспособления для пайки и конструирования плат
-> Термометры
-> Борт. сеть
-> Измерительные приборы (тахометр, вольтметр итд)
-> Железо
-> Паяльники ипаяльные станции
-> Радиопередатчики
-> Вспомогательные устройства
-> Телевизионная техника
-> Регуляторы тембра, громкости
-> Блоки питания (лабораторные)
-> Усилители мощности низкой частоты (на микросхемах)
-> Другие устройства для усилителей
-> Cветовое оформление новогодней ёлки или праздничного зала
-> Глушилки
-> Телефонные жуки
-> Инфракрасная техника
-> Медицинская техника
-> Телефония
-> Для животного мира
-> Конструируем усилители
-> Антенны и усилители к ним
-> Звонки
-> Электронные игрушки
-> Усилители мощности низкой частоты (ламповые)
-> Управление двигателями (питание от однофазной сети)
-> Программаторы микроконтроллеров
-> Сверлилки
-> Изучаем микроконтроллеры
-> Радиоприемники
-> Сигнализации
-> Сотовая связь
-> USB-устройства
-> Блоки питания (трансформаторные)
-> Радиостанции простые в изготовлении
-> Источники питания (для усилителей)
-> Прочеее
-> защита от короткого замыкания (электронные предохранители)
-> Зарядные устройства (для радиостанций)
-> Мигалки
-> Cварочное оборудование
-> Кодовые электронные замки
-> Блоки питания (бестрансформаторные)
-> Часы
-> Управление поворотниками
-> Зажигание
-> Управление водой (насосы для скважин или колодцев, полив растений)
-> Моделирование
-> Блоки управления стеклоочистителями
-> Предварительные усилители
-> Защита от перегрузки и перегрева
-> Динамики
-> Ремонт бытовой техники
-> Дистанционное управление компьютером
-> Акустические микрофоны и преобразователи
-> Спутниковое ТВ
-> Gsm антенны, примочки, усилители, ретрансляторы.
-> Пищалки
-> Роботы
-> Ретрансляторы
-> Паяльники и паяльные станции
-> Звуковые сигнализаторы
-> Рули и джойстики
-> Схемы электрооборудования
-> Все для "кулера" (Вентилятора)
-> Работа с BGA микросхемами
-> Фильтры
-> Сабвуферы
Рейтинг@Mail.ru