МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • AVR микроконтроллер AT90S2333 фирмы Atmel

    Когда UART использует вывод для приема данных, единица в PORTD0 подключает

    встроенный подтягивающий резистор.

    ПРОГРАММИРОВАНИЕ ПАМЯТИ

    Программирование битов блокировки памяти

    Микроконтроллер имеет два бита блокировки, которые могут быть оставлены

    незапрограммированными (1) или программироваться (0), при этом достигаются

    свойства приведенные в таблице 20.

    Таблица 26. Режимы защиты и биты блокировки

    |Биты |Тип защиты |

    |блокировки | |

    |Режи|LB1|LB2|описание |

    |м | | | |

    |1 |1 |1 |защита не установлена |

    |2 |0 |1 |дальнейшее программирование флэш памяти и EEPROM |

    | | | |запрещено |

    |3 |0 |0 |как режим 2, но запрещено и чтение |

    Примечание: биты блокировки стираются только при полном стирании памяти

    Биты конфигурации (Fuse bits)

    В AT90S2333/4433 предусмотрены шесть бит конфигурации - SPIEN, BODLEVEL,

    BODEN, и CKSEL[2:0].

    Когда запрограммирован бит SPIEN (0) разрешен режим

    последовательного программирования. По умолчанию бит запрограммирован

    (0). В режиме последовательного программирования этот бит недоступен.

    BODLEVEL. Задает уровень срабатывания схемы сброса по пропаданию питания.

    Если бит незапрограммирован (1), этот уровень - 2.7В, для

    запрограммированного бита - 4В. По умолчанию бит незапрограммирован.

    BODEN. Когда этот бит запрограммирован (0), разрешен сброс по пропаданию

    питания. По умолчанию бит незапрограммирован.

    CKSEL[2:0]. В таблице 4 приведены значения задержки при сбросе на которые

    влияют эти биты. По умолчанию биты установлены в 010 - 64mS+16K CK.

    Код устройства

    Все микроконтроллеры фирмы Atmel имеют 3-байтовый сигнатурный код, по

    которому идентифицируется устройство. Этот код может быть прочитан в

    параллельном и последовательном режимах. Эти три байта размещены в

    отдельном адресном пространстве и для AT90S4433 имеют следующие значения:

    1. $000: $1E - код производителя - Atmel

    2. $001: $92 - 4 кБ флэш памяти

    3. $002: $01 - при $01=$92 - м/сх AT90S4433 для AT90S2333:

    1. $000: $1E - код производителя - Atmel

    2. $001: $91 - 2 кБ флэш памяти

    3. $002: $05 - при $01=$92 - м/сх AT90S2333

    Программирование флэш памяти и EEPROM

    AT90S2333/4433 имеют 2кБ или 4кБ перепрограммируемой флэш памяти программ и

    256 байт энергонезависимой памяти данных.

    При поставке флэш память и память данных стерты (содержат FFh) и готовы к

    программированию. Микросхемы поддерживают высоковольтный (12В) параллельный

    режим программирования и низковольтный режим последовательного

    программирования. Напряжение +12В используется только для разрешения

    программирования, этот вывод почти не потребляет тока. Последовательный

    режим программирования предусмотрен для загрузки программы и данных в

    системе пользователя (внутрисистемное программирование). В обоих режимах

    программирования память программ и данных программируется байт за байтом.

    Для программирования EEPROM предусмотрен цикл автоматического стирания при

    программировании в последовательном режиме.

    Параллельное программирование.

    Ниже рассмотрено параллельное программирование флэш памяти программ,

    энергонезависимой памяти данных, битов блокировки и конфигурации. Некоторые

    выводы процессоров ниже называются именами, отражающими функциональное

    назначение сигналов при параллельном программировании. Выводы не

    приведенные в следующей таблице называются своими обычными именами.

    Таблица 27. Имена выводов

    |Имя сигнала |Имя |Вх/Вых|Функция |

    |при |вывод| | |

    |программирован|а | | |

    |. | | | |

    |RDY/BSY |PD1 |Вых |0: мкросхема занята |

    | | | |программированием |

    | | | |1: мкросхема готова к приему |

    | | | |команды |

    |OE |PD2 |Вх |Разрешение выходов (активный |

    | | | |0) |

    |WR |PD3 |Вх |Импульс записи (активный 0) |

    |BS |PD4 |Вх |Выбор байта |

    |XA0 |PD5 |Вх |Действие XTAL бит 0 |

    |XA1 |PD6 |Вх |Действие XTAL бит 1 |

    Биты XA0 и XA1 определяют действие происходящее по положительному импульсу

    XTAL1. Установки битов приведены в следующей таблице:

    Таблица 28. Установка XA1 и XA0

    |XA|XA|Действие при подаче импульса XTAL1 |

    |1 |0 | |

    |0 |0 |Загрузка адреса памяти программ или данных |

    | | |(старший/младший байт задается выводом BS |

    |0 |1 |Загрузка данных (старший/младший байт для флэш памяти |

    | | |задается выводом BS) |

    |1 |0 |Загрузка команды |

    |1 |1 |Не работает, холостой ход |

    По импульсу WR или OE загружается команда определяющая действие по вводу

    или выводу. В байте команды каждому биту присвоена функция, как показано в

    таблице 29.

    Таблица 29. Биты конфигурации командного байта

    |Бит|Значение при установке |

    |7 |Стирание кристалла |

    |6 |Запись битов конфигурации, расположенных в следующих позициях байта данных: |

    | |D5-SPIEN, D4-BODLEVEL, D3-BODEN, D2-D0-CKSEL (0 для программирования, 1 для |

    | |стирания) |

    |5 |Запись битов блокировки, расположенных в следующих позициях байта данных: D2|

    | |- LB2, D1 - LB1 |

    | |(для программирования устанавливать 0) |

    |4 |Запись памяти программ или данных (определяется битом 0) |

    |3 |Чтение сигнатуры |

    |2 |Чтение битов блокировки и конфигурации, расположенных в следующих позициях |

    | |байта данных: D5-SPIEN, D4-BODLEVEL, D3-BODEN, D2-D0 -CKSEL (для BS=1) или |

    | |D2-LB2, D1-LB1 (для BS=0) |

    |1 |Чтение памяти программ или данных (определяется битом 0) |

    |0 | доступ к памяти программ, 1 к памяти данных |

    ВХОД В РЕЖИМ ПРОГРАММИРОВАНИЯ

    Следующий алгоритм переводит устройство в режим параллельного

    программирования:

    1. Подать напряжение 4.5...5.5В на выводы питания.

    2. Установить RESET и BS в 0 и выдержать не меньше 100 нС.

    3. Подать 12В на RESET и выждать не менее 100 нС перед изменением

    BS. Любая активность на выводе BS в течение этого времени приведет к тому,

    что микросхема не включится в режим программирования.

    СТИРАНИЕ КРИСТАЛЛА

    При стирании кристалла стираются память программ и данных, а также биты

    блокировки. Биты блокировки не сбрасываются до полного стирания памяти

    программ и данных. Биты конфигурации не изменяются. (Стирание кристалла

    производится перед его программированием).

    Загрузка команды "стереть кристалл"

    1. Установить XA1,XA0 в '10'. Это разрешает загрузку команды.

    2. Установить BS в 0

    3. Установить PC(1..0) PB(5..0) в '1000 0000'. Это команда стирания

    кристалла.

    4. Подать положительный импульс на XTAL1. При этом загружается

    команда и начинается стирание памяти программ и данных. После импульса

    XTAL1, подать отрицательный импульс на WR, чтобы разрешить стирание битов

    блокировки по окончанию цикла стирания. Подождать около 10 мС до окончания

    цикла стирания. Стирание кристалла не генерирует сигнала RDY/BSY.

    ПРОГРАММИРОВАНИЕ ФЛЭШ ПАМЯТИ

    Загрузить команду "программирование флэш памяти"

    1. Установить XA1,XA0 в '10'. Это разрешает загрузку команды.

    2. Установить BS в 0

    3. Установить PC(1..0) PB(5..0) в '0001 0000'. Это команда

    программирования флэш памяти

    4. Подать положительный импульс на XTAL1. При этом загружается команда.

    Загрузить младший байт адреса

    1. Установить XA1,XA0 в '00'. Это разрешает загрузку адреса.

    2. Установить BS в 0. Это выбирает младший байт адреса.

    3. Установить на PC(1..0) PB(5..0) младший байт адреса.

    4. Подать положительный импульс на XTAL1. При этом загружается младший байт

    адреса.

    Загрузить старший байт адреса

    1. Установить XA1,XA0 в '00'. Это разрешает загрузку адреса.

    2. Установить BS в 1. Это выбирает старший байт адреса.

    3. Установить на PC(1..0) PB(5..0) старший байт адреса. ($00..$01)

    4. Подать положительный импульс на XTAL1. При этом загружается старший байт

    адреса.

    Загрузить байт данных

    1. Установить XA1,XA0 в '01'. Это разрешает загрузку данных.

    2. Установить на PC(1..0) PB(5..0) младший байт данных.

    3. Подать положительный импульс на XTAL1. При этом загружается младший байт

    данных.

    Запись младшего байта данных.

    1. Установить BS в '0'. Это выбирает младший байт данных

    2. Подать на WR отрицательный импульс. Это инициирует программирование

    байта. RDY/BSY переходит в низкое состояние.

    3. Перед программированием следующего байта подождать, пока RDY/BSY

    перейдет в высокое состояние.

    Загрузить байт данных

    1. Установить XA1,XA0 в '01'. Это разрешает загрузку данных.

    2. Установить на PC(1..0) PB(5..0) старший байт данных.

    3. Подать положительный импульс на XTAL1. При этом загружается старший байт

    данных.

    Запись старшего байта данных.

    1. Установить BS в '1'. Это выбирает старший байт данных

    2. Подать на WR отрицательный импульс. Это инициирует программирование

    байта. RDY/BSY переходит в низкое состояние.

    3. Перед программированием следующего байта подождать, пока RDY/BSY

    перейдет в высокое состояние.

    Загруженные адрес и данные сохраняются в устройстве после программирования,

    при этом процесс программирования упрощается.

    * Команду программирования флэш памяти необходимо подать только перед

    программированием первого байта

    * Старший байт адреса можно менять только перед программированием

    следующей страницы памяти программ (256 слов).

    ПРОГРАММИРОВАНИЕ ПАМЯТИ ДАННЫХ

    Алгоритм программирования памяти данных следующий (обратитесь к

    программированию памяти программ за описанием загрузки команды, адреса и

    данных):

    1. Загрузить команду '0001 0001'.

    2. Загрузить младший адрес памяти данных (00h - 7Fh/FFh).

    3. Загрузить младший байт данных

    4. Подать отрицательный импульс на WR и подождать перевода RDY/BSY в 1.

    Загрузка команды необходима только перед программированием первого байта.

    ЧТЕНИЕ ПАМЯТИ ПРОГРАММ

    Алгоритм чтения флэш памяти следующий (обратитесь к программированию памяти

    программ за описанием загрузки команды, адреса и данных):

    1. Загрузить команду '0000 0010'

    2. Загрузить младший байт адреса ($00 - $FF)

    3. Загрузить старший байт адреса ($00 - $03/$07)

    4. Установить OE в '0', BS в '0'. Теперь на выводах PC(1..0) PB(5..0) можно

    прочитать байт данных.

    5. Установить BS в '1'. Теперь на выводах PB можно прочитать старший байт

    данных.

    6. Установить OE в '1'.

    Загрузка команды необходима только перед чтением первого байта.

    ЧТЕНИЕ ПАМЯТИ ДАННЫХ

    Алгоритм чтения памяти данных следующий (обратитесь к программированию

    памяти программ за описанием загрузки команды, адреса и данных):

    1. Загрузить команду '0000 0011'

    2. Загрузить младший байт адреса (00h - 7Fh)

    3. Установить OE в '0', BS в '0'. Теперь на выводах PC(1..0) PB(5..0) можно

    прочитать байт данных.

    4. Установить OE в '1'.

    Загрузка команды необходима только перед чтением первого байта.

    ПРОГРАММИРОВАНИЕ БИТОВ КОНФИГУРАЦИИ

    Алгоритм программирования битов конфигурации следующий (обратитесь к

    программированию памяти программ за описанием загрузки команды, адреса и

    данных):

    1. Загрузить команду '0100 0000'

    2. Загрузить данные

    Бит5=0 - программировать бит SPIEN, Бит5=1 - стереть бит SPIEN

    Бит4=0 - программировать бит BODLEVEL,

    Бит4=1 - стереть бит BODLEVEL

    Бит3=0 - программировать бит BODEN,

    Бит3=1 - стереть бит BODEN

    Биты 2-0 =0 - программировать биты CKSEL,

    Биты 2-0 =1 - стереть биты CKSEL

    3. Подать на WR отрицательный импульс и ждать перехода RDY/BSY в единицу.

    ПРОГРАММИРОВАНИЕ БИТОВ БЛОКИРОВКИ

    Алгоритм программирования битов блокировки следующий (обратитесь к

    программированию памяти программ за описанием загрузки команды, адреса и

    данных):

    1. Загрузить команду '0010 0000'

    2. Загрузить данные

    Бит2=0 - программировать бит LB2

    Бит1=0 - программировать бит LB1

    3. Подать на WR отрицательный импульс и ждать перехода RDY/BSY в единицу.

    Биты блокировки стираются только при стирании всей микросхемы.

    ЧТЕНИЕ БИТОВ КОНФИГУРАЦИИ И БЛОКИРОВКИ

    Алгоритм чтения битов блокировки и конфигурации следующий (обратитесь к

    программированию памяти программ за описанием загрузки команды, адреса и

    данных):

    1. Загрузить команду '0000 0100'

    2. Установить OE в '0', BS в '0'. Теперь на выводах PC(1..0) PB(5..0) можно

    прочитать биты конфигурации.

    Бит5 - SPIEN - '0' запрограммирован

    Бит4 - BODLEVEL - '0' запрограммирован

    Бит3 - BODEN - '0' запрограммирован

    Биты 2-0 - CKSEL - '0' запрограммированы

    3. Установить OE в '0', BS в '1'. Теперь на выводах PC(1..0) PB(5..0) можно

    прочитать биты блокировки.

    Бит2 - LB2 - '0' запрограммирован

    Бит1 - LB1 - '0' запрограммирован

    3. Установить OE в '1'.

    ЧТЕНИЕ БАЙТОВ СИГНАТУРЫ

    Алгоритм чтения байтов сигнатуры следующий (обратитесь к программированию

    памяти программ за описанием загрузки команды, адреса и данных):

    1. Загрузить команду 0000 1000

    2. Загрузить младший байт адреса ($00 - $02), установить OE и BS в "0".

    После этого выбранный байт сигнатуры можно прочитать на выводах PC(1..0)

    PB(5..0).

    3. Установить OE в "1".

    Команду необходимо подавать только перед чтением первого байта.

    Таблица 31. Характеристики параллельного программирования

    T=21..27 ±C, Vcc=4.5-5.5V

    | |Параметр |Min |Typ |Max| |

    |tDVXH |Задерж.между установ. данных и |67 | | |nS|

    | |сигн.упр. и высоким уровнем XTAL1 | | | | |

    |tXHXL |Ширина импульса XTAL |67 | | |nS|

    |tXLDH |Удержание данных и сигналов |67 | | |nS|

    | |управления | | | | |

    | |После установки XTAL1 = 1 | | | | |

    |tBVVL |Удержание BS после установки |0 |67 | | |nS|

    | |WR | | | | | |

    |tWLWH |Ширина импульса WR |67 | | |nS|

    |tWHRL |Задержка между |1 и |0 |) | |20 | |nS|

    | |WR |RDY/BSY |( | | | | | |

    |tXLOL |Задержка между |0 и |0 |67 | | |nS|

    | |XL |OE | | | | | |

    |tOLDV |Задержка между |0 и установкой | |20 | |nS|

    | |XL |данных | | | | |

    |tWLRH |Задержка между |0 и |1 |) |0.5 |0.7 |0.9|mS|

    | |WR |RDY/BSY |( | | | | | |

    Примечание: если tWHRL удерживается дольше, чем tWLRH импульс на RDY/BSY не

    появится.

    ПОСЛЕДОВАТЕЛЬНАЯ ЗАГРУЗКА

    Как память программ, так и память данных могут быть запрограммированы с

    использованием последовательной шины SPI, при этом вывод RESET должен быть

    подключен к земле. Последовательный интерфейс работает с выводами SCK, MOSI

    (вход) и MISO (выход). После подачи низкого уровня на RESET перед

    программированием/стиранием необходимо исполнить команду разрешения

    программирования. При программировании памяти данных, во внутренний

    алгоритм программирования встроен цикл стирания (только при

    последовательном программировании), поэтому нет необходимости в выполнении

    команды стирания памяти. Команда стирания микросхемы переводит все ячейки

    памяти программ и данных в состояние FFh. Флэш память программ и

    энергонезависимая память данных имеют отдельное адресное пространство: 000h

    - 3FFh/7FFh для памяти программ и 000h - 07Fh/0FFh для памяти данных. При

    программировании необходимо подавать внешнюю тактовую частоту на вывод

    XTAL1 или подключить внешний тактовый генератор к выводам XTAL1 и XTAL2.

    Минимальные длительности низкого и высокого уровня сигнала SCK определены

    следующим образом:

    Низкий: > 2 периодов XTAL1

    Высокий: > 2 периодов XTAL1

    ПОДТВЕРЖДЕНИЕ ДАННЫХ

    До завершения программировании нового байта, при чтении из памяти будет

    читаться значение FFh. После того как микросхема будет готова для записи

    следующего байта, при чтении можно прочитать записанное значение. Это

    используется для определения момента, когда можно записывать следующий

    байт. Этот способ не будет работать для байта FFh, поэтому для записи этого

    числа перед программированием следующего байта придется выждать по крайней

    Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.