Каталог статей

Главная » Все схемы » Теория » Изучаем микроконтроллеры

Выбранная схема!!!


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

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

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

  

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

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


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

  

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

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


Microwire (рис. 11),


SPI (рис. 12),


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


и SDE2506 (рис. 14).


Возможность работы с ними также заложена в программное обеспечение программатора РопуРг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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Категория: Изучаем микроконтроллеры | Добавил: Volodya215 (17.02.2013) | Автор: volodya215
Просмотров: 5010 | Теги: прошивка, часть, разработка, МК, устройств, отладка, НА | Рейтинг: 4.8/24


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2024