В HTML      В PDF
микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве

текст еще



Микроконтроллеры семейства ST62 фирмы STMicroelectronics (SGS-Thomson)

Семейство микроконтроллеров ST62 состоит из нескольких микроконтроллеров отличающихся друг от друга объемом памяти программ, объемом оперативной памяти, числом линий ввод/вывод. Основная концепция семейства микроконтроллеров ST62 - все в одном. То есть для работы микроконтроллеру необходимо питание и кварцевый резонатор. В отличии от своих собратьев микроконтроллеров, вся необходимая ST62 периферия встроена в кристалл микроконтроллера. Управляющее ядро микроконтроллера (шина адреса и шина данных, память программ и память данных) не имеет связи с внешними устройствами. Поэтому, проигрывая собратьям в возможности расширения объема памяти, микроконтроллеры ST62 значительно выигрывают в помехозащищенности. Серийное применение микроконтроллеров ST62 в схемах управления электродрелями, микроволновыми печами, стиральными машинами - доказало это. Сводная таблица параметров семейства микроконтроллеров ST62 представлена на рис.1. Микроконтроллеры серии ST62 - это 8-разрядные микроконтроллеры, имеющие встроенный 8-разрядный АЦП (6-12 аналоговых линий ввода), таймер, многофункциональные линии ввод/вывод, аппаратный протокол SPI, Watchdog ( сторожевой таймер), 2 режима энергосбережения.

Рис. 1. Семейство микроконтроллеров ST62

На рисунке 2 представлена архитектура микроконтроллеров семейства ST62. Микроконтроллер производит операции с 8-разрядными данными. Система команд микроконтроллера включает в себя 40 основных инструкций. Это команды условного и безусловного перехода, операции с байтами, операции с битами, десятичная коррекция и т. д. Общее число инструкций - 250. Микроконтроллер имеет 4 вектора прерывания (маскируемые программно), плюс один немаскируемый вектор прерывания - NMI.

Рис. 2. Архитектура микроконтроллеров ST62

В распоряжении программиста имеются пять регистров общего назначения: аккумулятор (А), регистры X, Y, V и W. Кроме того, при написании программ, используются 16 служебных регистров, предназначенных для установки режимов работы АЦП, портов ввода/вывода (PA, PB, PC), таймера, сторожевого таймера, прерываний и оконного режима. Стек микроконтроллера имеет 6 уровней.

Программист должен соблюдать определенную осторожность при работе с подпрограммами, так как переполнение стека может привести к зависанию программы.

Встроенный генератор (Oscillator) предназначен для генерации тактовых сигналов, необходимых микроконтроллеру. Внешний кварц, подключаемый к выводам OSCin и OSCout, может иметь частоту резонанса от 32kHz до 8 MHz. Длительность машинного цикла - 13 тактов генерируемой частоты. Инструкции исполняются за два, три, четыре и пять машинных циклов. При частоте генерации 8 MHz время выполнения инструкции длится от 3 до 8 mkS. В состав генератора включен делитель на 2048 тактов генерируемой частоты для создания задержки сигнала RESET.

Память данных и память программ. Стековая область скрыта от пользователя. Организация памяти позволяет пользователю работать с табличными данными. Программист может переносить табличные данные, хранящиеся в программной памяти в специальную область памяти (Data ROM Window) блоками по 64 байта и затем считывать их, используя косвенную адресацию. Максимальный объем таблицы - 64 х 6 =256 байт. Очень удобно при создании знакогенератора, организации сложного алгоритма обработки данных и т. д.

Порты ввод/вывод (PA, PB, PC). Линия порта может быть программно установлена в один из шести режимов работы.

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

  • Цифровой вход с отключенным внутренним резистором, без генерации прерывания.
  • Цифровой вход с внутренним резистором, подключенным к Vcc, с генерацией прерывания.
  • Аналоговый вход
  • Стандартный выход ( "0" или "1")
  • Выход с "открытым коллектором"
  • Выход с "открытым коллектором" и током выхода 20 mA ( только PA0-PA3)

Таймер (Timer) может работать в двух режимах : режим "таймер" и режим "счетчик событий". В состав таймера входит программируемый 7-разрядный делитель и программируемый 8-разрядный счетчик, то есть фактически этот таймер 15-разрядный. Частота поступающая на вход предварительного делителя таймера равна 1/12 тактовой частоты микроконтроллера. Таймер имеет собственный вектор прерывания, вырабатываемый при переходе содержимого счетчика таймера из FFh в 00h. Режим "счетчик событий" таймера аналогичен описанному, за исключением источника входного сигнала - он поступает от внешнего устройства. Максимальная частота внешнего сигнала - 2 MHz. Вывод таймера (Tim) в режиме "таймер" используется как выход, в режиме "счетчик событий" - вход.

Watchdog - сторожевой таймер. Может использоваться как сторожевой таймер с контрольным временем до 32 mS при тактовой частоте 8 MHz. Режим работы сторожевого таймера определяется программно. Если сторожевой таймер используется по основному назначению ( для предотвращения зависания программы ), программист должен обеспечить перезагрузку счетчика сторожевого таймера до наступления сброса системы. Сторожевой таймер может использоваться, как обычный 15-разрядный таймер.

ADC - 8-разрядный аналого-цифровой преобразователь. Погрешность преобразования не более 2 бит. Входом АЦП может быть любая из линий портов PB-PC, запрограммированная ,как аналоговый вход. АЦП не имеет схемы выборки-запоминания, поэтому задача стабилизации входного напряжения ( во время работы АЦП ) должна решаться аппаратно. Для достижения стабильных результатов измерения необходимо обеспечить стабильное питание микроконтроллера.

Встроенный в микроконтроллер аппаратный протокол SPI, позволяет осуществить связь между несколькими микроконтроллерами по 3-проводной линии. При этом один микроконтроллер выполняет функции главного (Master), остальные - функции подчиненных (Slave). Максимальная скорость обмена информацией - 19200 bod.

Система прерываний микроконтроллера ST62. В системе прерываний реализовано 5 векторов прерывания:

  • Вектор прерывания #0 - прерывание от входа NMI, немаскируемое.
  • Вектор прерывания #1 - прерывание от входов порта PA, маскируемое.
  • Вектор прерывания #2 - прерывание от входов портов PB и PC, маскируемое.
  • Вектор прерывания #3 - прерывание от таймера, маскируемое.
  • Вектор прерывания #4 - прерывание от АЦП, маскируемое.

Режимы энергосбережения

  • Режим RUN: нормальный режим работы, все устройства работают в обычном режиме, ток потребления в этом режиме - не более 6 mA.
  • Режим WAIT: процессор остановлен, сигналы на линиях сохраняются, ток потребления - не более 1,5 mA. Выход из этого режима возможен по любому вектору прерывания или по сигналу Reset
  • Режим STOP: все выключено, генератор остановлен, информация в памяти данных сохраняется, ток потребления - не более 20 mkA. Выход из этого режима возможен только по сигналу Reset.

Дополнительные возможности микроконтроллера ST62x60/65

Микроконтроллер ST62x60/65 имеет те же параметры, что и микроконтроллер ST62x20/25. Дополнения заключаются в следующем. Увеличен объем памяти данных до 128 байт. Добавлен блок памяти EEPROM объемом 128 байт, который может применяться для хранение промежуточных данных работы программы после выключения микроконтроллера. Добавлен ARTIMER - таймер с параметрами, аналогичными TIMER ( 7-разрядный предварительный делитель и 8-разрядный счетчик). Основное отличие - таймер является перезагружаемым, данные загруженные в счетчик восстанавливаются после обнуления счетчика. Появилась возможность организации циклической работа таймера.

Средства отладки программ для ST62

Типичные проблемы при осваивании нового микроконтроллера - это отсутствие средств отладки программ и программатора. Фирма STMicroelectronics (SGS-Thomson) предлагает для микроконтроллеров серии ST62 комплект ST62KIT. В состав комплекта входят: полная техническая документация, программное обеспечение, печатная плата для макетирования (она же служит и для программирования микроконтроллеров), два микроконтроллера ST62E25, два микроконтроллера ST62T20. Этого вполне достаточно для старта.

Собственно программа пишется в любом текстовом редакторе. При отладке программного обеспечения необходим симулятор-отладчик, вид которого показан на рис. 3.

Рис. 3. Окно симулятора-отладчика ST62

После того как Вы написали программу в текстовом редакторе, естественно применяя мнемонику для ST62, сохраните его с расширением *.asm, например: my.asm. Запускаем программу SIMST6 и начинаем отлаживать программу. Симулятор предоставляет широкие возможности для налаживания программ. Вы можете пройти программу по шагам, контролируя работу всех регистров. Можете модифицировать любой регистр, признаки, контролировать время работы программы в реальном времени, контролировать работу портов, таймера, АЦП и много других параметров. После того, как Вы убедились в нормальном функционировании программы, скомпилируйте программу. Симулятор создаст файл с расширением *.hex в формате ST62, который необходим для программатора.

Программатор, окно которого показано на рисунке 4, предназначен для программирования микроконтроллеров семейства ST62.

Рис. 4. Окно программатора микроконтроллеров ST62

Запустите программу ST6PGM. На экране появится окно, которое изображено на рисунке 4. Кнопки в верхней части окна позволят Вам выбрать тип контроллера, загрузить файл для программирования, проверить чистоту стирания микроконтроллера, просмотреть загруженный файл и, наконец, запрограммировать микроконтроллер. Программатор рассчитан на программирование любых микроконтроллеров из семейства ST62. Успехов Вам!





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (495) 514 4110. e-mail:info@eust.ru
©1998-2016 ООО Рынок Микроэлектроники