|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[48] Программирование EEPROM Алгоритм программирования EEPROM памяти данных приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти. 1.Загрузить команду 0001 0001. 2.Загрузить младший адрес EEPROM ($00 - $FF). 3.Загрузить старший адрес EEPROM (для ATmega603: $07, для ATmega103: $0F). 4.Загрузить младший байт данных EEPROM ($00 - $FF). 5.Подать на вывод WR отрицательный импульс и ожидать перехода вывода RDY/BSY на высокий уровень. Команда загружается только перед программированием первого байта. Чтение Flash памяти Алгоритм чтения Flash памяти данных приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти. 1.Загрузить команду 0000 0010. 2.Загрузить младший адрес ($00 - $FF). 3.Загрузить старший адрес (для ATmega603: $7F, для ATmega103: $FF). 4.Установить OE в состояние 0 и BS1 в состояние 0. По выводам PB(7 - 0) можно считать младший байт данных 5.Установить BS в состояние 1. По выводам PB(7 - 0) можно считать старший байт данных. 6.Установить OE в состояние 1 Команда загружается только перед чтением первого байта. Чтение памяти EEPROM Алгоритм чтения EEPROM памяти данных приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти. 1.Загрузить команду 0000 0011. 2.Загрузить младший адрес EEPROM ($00 - $FF). 3.Загрузить старший адрес EEPROM (для ATmega603: $07, для ATmega103: $0F). 4.Установить OE в состояние 0 и BS1 в состояние 0. По выводам PB(7 - 0) можно считать байт данных EEPROM. 5.Установить OE в состояние 1. Команда загружается только перед чтением первого байта. Программирование битов-предохранителей Алгоритм программирования битов-предохранителей приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти. 1.Загрузить команду 0100 0000. 2.Загрузить данные Бит 5 = 0 программирует SPIEN бит-предохранитель. Бит 5 = 1 стирает SPIEN бит-предохранитель. Бит 3 = 0 программирует EESAVE бит-предохранитель. Бит 3 = 1 стирает EESAVE бит-предохранитель. Бит 2 = всегда в состоянии 1. Бит 1 = 0 программирует SUT1 бит-предохранитель. Бит 1 = 1 стирает SUT1 бит- предохранитель. Бит 0 = 0 программирует SUT0 бит-предохранитель. Бит 0 = 1 стирает SUT0 бит-предохранитель. 3. Подать на вывод WR отрицательный импульс и ожидать перехода вывода RDY/BSY на высокий уровень Программирование битов блокирования Алгоритм программирования битов блокирования приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти. 1.Загрузить команду 0010 0000. 2.Загрузить данные. Бит 2 = 0 программирует бит блокирования 2 Бит 1 = 0 программирует бит блокирования 1 3.Подать на вывод WR отрицательный импульс и ожидать перехода вывода RDY/BSY на высокий уровень Биты блокирования могут быть очищены только при выполнении операции очистки кристалла Чтение битов-предохранителей и битов блокирования Алгоритм чтения битов-предохранителей и битов блокирования приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти. 1.Загрузить команду 0000 0100. 2.Установить OE в состояние 0 и BS1 в состояние 0 или 1. По выводам PB(7 - 0) можно считать состояния битов-предохранителей и битов блокирования. При BS1 = 0 Бит 5: бит-предохранитель SPIEN (0 - запрограммирован, 1 - очищен) Бит 3: бит-предохранитель SPIEN (0 - запрограммирован, 1 - очищен) Бит 1: бит-предохранитель SUT1 (0 - запрограммирован, 1 - очищен) Бит 0: бит-предохранитель SUT0 (0 - запрограммирован, 1 - очищен). При BS1 = 0 Бит 2: бит блокирования LB1 (0 - запрограммирован, 1 - очищен) Бит 1: бит блокирования LB0 (0 - запрограммирован, 1 - очищен) 3.Установить OE в состояние 1. Чтение байтов сигнатуры Алгоритм чтения байтов сигнатуры приведен ниже (подробности загрузки команд, адресов и данных см. в разделе Программирование Flash памяти. 1.Загрузить команду 0000 1000. 2.Загрузить байт адреса ($00 - $02). 3.Установить OE в состояние 0 и BS1 в состояние 0. По выводам PB(7 - 0) можно считать байт сигнатуры. 4.Установить OE в состояние 1. Команда загружается только перед чтением первого байта. Программирование Flash и EEPROM памяти по последовательному каналу (Serial Downloading) И Flash память программ и EEPROM память данных могут быть запрограммированы по последовательной шине SPI. При этом вывод RESET должен быть подключен к уровню GND. Последовательный интерфейс организуется посредством выводов SCK, RXD/PDI (вход) и TXD/PDO (выход). После установки на выводе RESET низкого уровня, прежде чем начать операции программирования/стирания, необходимо выполнить команду «Разрешить программирование». При программировании EEPROM в процессе самотактируемой операции программирования выполняется автоматическое стирание (только в режиме последовательного программирования) и, следовательно, на требуется выполнения команды очистки кристалла. Операция очистки кристалла устанавливает содержимое всех ячеек памяти и в памяти программ и в EEPROM памяти в состояние $FF. Матрицы памяти программ и EEPROM памяти расположены в отдельных адресных пространствах: ATmega603: с $0000 по $7FFF для памяти программ и с $0000 по $07FF для EEPROM памяти. ATmega103: с $0000 по $FFFF для памяти программ и с $0000 по $0FFF для EEPROM памяти. Внешний системный тактовый сигнал подается на вывод XTAL1. Кварцевый кристалл подсоединяется между выводами XTAL1 и XTAL2. Минимальная длительность периодов высокого и низкого уровня на входе последовательного тактового сигнала (SCK) должна быть: Низкий уровень - не менее 2 тактовых циклов XTAL1. Высокий уровень - не менее 2 тактовых циклов XTAL1. Алгоритм программирования по последовательному каналу Для программирования и проверки микроконтроллера ATmega103/L в последовательном режиме рекомендуется следующий алгоритм (формат 4-байтовых команд см. в таблице 39): 1.Выполнить последовательность включения питания: Подать на выводы VCC и GND напряжение питания, причем выводы RESET и SCK во время подачи питания должны быть на уровне 0. Если к выводам XTAL1 и XTAL2 не подсоединен кварцевый кристалл, то тактовый сигнал подается на вывод XTAL1. В ряде систем программирующий не может гарантировать нахождение вывода SCK на низком уровне в течение всего периода подачи питания. В этом случае на вывод RESET должен быть подан положительный импульс длительностью не менее двух циклов XTAL1 после того как на SCK будет установлен уровень 0. 2.Сделать выдержку не менее 20 мс и разрешить программирование в последовательном режиме посылкой на вывод PE0 (PDI/RXD).последовательной команды «Разрешить программирование». 3.При выдаче третьего байта команды «Разрешить программирование»., значение, установленное как вторым байтом ($ 53), будет возвращено в течение передачи третьего байта. Если значение $53 не будет возвращено необходимо подать на вывод SCK положительный импульс и вновь послать команду «Разрешить программирование». Если возврат значения $53 не будет получен в течение 32 попыток, то связь устанавливалась с неработающим устройством. 4.Если была выполнена очистка кристалла (выполняется если необходимо |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||