Поиск по сайту:

 


По базе:  

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

реклама

 




Мероприятия:




Микроконтроллеры MAXQ10 и MAXQ20

В данном руководстве пользователя рассматриваются 8- битные микроконтроллеры семейства MAXQ10 и 16- битные микроконтроллеры семейства MAXQ20. Отличаются они только шириной шины данных и АЛУ. Микроконтроллеры семейства MAXQ10 имеют 8- битные шину данных и АЛУ, а микроконтроллеры семейства MAXQ20 - 16- битные шину данных и АЛУ. Это отличие наиболее очевидно при сравнении системы команд и, следовательно, определяет те действия, которые выполняет АЛУ и аккумуляторы. Регистры микроконтроллеров семейств MAXQ10 и MAXQ20 могут быть как 8- битными, так и 16- битными.

Псевдо- неймановское управление памятью

MAXQ поддерживает псевдо- неймановскую структуру памяти, которая может объединить программу и данные в одном линейном пространстве памяти. Это достигнуто за счет отображения памяти данных в области памяти программы или отображения памяти программы в памяти данных. Память программ с адресами от x0000h до x7FFFh - это обыкновенная память прикладной программы, за которой следует сервисная память. Верхние 64k слов памяти - логическая область для памяти данных, доступ к которой осуществляется как сегменту кода.

Память программы логически разделена на четыре программные страницы:

  • P0 содержит нижние 16К слов,
  • P1 содержит второй блок 16К слов,
  • P2 содержит третий блок 16К слов,
  • P3 содержит четвертый блок 16К слов.

По умолчанию, P2 и P3 не доступны для выполнения программы до тех пор, пока они явно не активизированы пользовательским программным обеспечением. Для этого необходимо установить бит доступа к верхней части памяти программы (Upper Program Access UPA). После установки UPA, P2 и P3 займут верхнюю половину 64К слов области программы. При такой конфигурации (UPA = 1), доступ к сервисному ПЗУ и памяти данных не может быть осуществлен из памяти программы.

Логическое отображение физической страницы (страниц) памяти программы в область данных зависит от двух факторов: текущей физической памяти, используемой в настоящее время для выполнения программы; и выбранного доступа к слову/байту памяти данных. Если выполняется код из сервисной памяти, то физическая страница (страницы) памяти программы может логически отобразиться к верхней половине пространства памяти данных. Если для выполнения используется логическая память данных, то физическая страница (страницы) памяти программы может логически отобразиться в нижней половине пространства памяти данных. Если выбран режим доступа к байтам, то только одна страница (16К слов) может логически отобразиться в соответствии со сказанным выше в верхней или нижней части пространства памяти данных. Если выбран режим доступа к словам, то можно логически отобразить в памяти данных две страницы (32К слов). Чтобы избежать наложения памяти в режиме доступа к байтам физическая память данных в режиме доступа к словам должна быть ограничена адресами от x0000h до x3FFFh. Для выбора физической страницы памяти или страниц, которые логически отображаются в пространстве памяти данных, используется биты выборки кода (Code Access Bits - CDA1:0).

На рисунках 3 и 4 показаны заданные по умолчанию карты памяти для этой структуры памяти. Основное отличие находится в заданных по умолчанию установках при сбросе в битах указателя данных выбора режима слов/байт (Word/Byte Mode Select - WBSn). Биты WBSn у MAXQ10 по умолчанию устанавливают режим доступа к байтам (WBSn = 0), а у MAXQ20 - доступ к словам (WBSn = 1).

Псевдо - неймановская карта памяти
Рисунок 3. Псевдо - неймановская карта памяти (значения по умолчанию для MAXQ10)

Псевдо - неймановская карта памяти
Рисунок 4. Псевдо - неймановская карта памяти (значения по умолчанию для MAXQ20)

Псевдонемановский доступ к памяти

Если в память не отображается сервисная память, память программ или сегменты памяти данных, то псевдонеймановское управление памятью является прямым. Однако, в приложениях, требующих большой памяти программы, для выборочной активизации отображаемых сегментов памяти может использоваться постраничная схема. Бит UPA может использоваться для активизации верхней половины памяти программы (P2 и P3) для выполнения кода прикладной программы. При доступе к памяти программы как к памяти данных, биты CDA могут использоваться для выбора одной из четырех необходимых страниц памяти программы. Полный доступ к любой из четырех страниц памяти программы как к памяти данных основан на том, что максимальный объем физической памяти данных равен 16К x 16. С другой стороны псевдонеймановский доступ к памяти накладывает ограничение, которое не позволяет получить доступ к памяти программы как к памяти данных в том случае, когда программа находится в специфическом сегменте памяти программы.

При выполнении программы из 32 К нижних страниц памяти (страницы P0 и P1):

  • Если бит UPA установлен в 1, верхняя половина памяти программы (страницы P2 и P3) доступна в качестве памяти программы.
  • Если UPA = 0, то физическая память данных доступна в качестве памяти программы со смещением xA000h.
  • Операции загрузки (LOAD) и хранения (STORE), обращающиеся к физической памяти данных выполняются в нормальном режиме.
  • Сервисная память может быть считана как память данных со смещением x8000h.

При выполнении программы из сервисной памяти (возможно только когда UPA = 0):

  • 32К нижних страницы памяти (P0 и P1) функционируют как обычная память программы.
  • Верхние страницы памяти программы (P2 и P3) не доступны как память программы (так как UPA = 0).
  • Физическая память данных может быть использована в качестве памяти программы со смещением xA000h.
  • Операции загрузки (LOAD) и хранения (STORE), обращающиеся к физической памяти данных выполняются в нормальном режиме.
  • Одна страница (режим доступа к байтам) или две страницы (режим доступа к словам) могут быть адресованы как память данных со смещением x8000h (определяется состоянием битов CDA1:0).

При выполнении программы из памяти данных (возможно только когда UPA = 0):

  • При выполнении прикладной программы возможны свободные переходы между 32 К нижних (P0 и P1) страниц памяти и областью сервисной памяти.
  • Верхние страницы памяти (P2 и P3) как память программы не доступны (так как UPA = 0).
  • К сервисной памяти можно обратиться как к памяти данных со смещением x8000h.
  • Одна страница (режим доступа к байтам) или две страницы (режим доступа к словам) могут быть адресованы как память данных со смещением x0000h (определяется состоянием битов CDA1:0).

Совмещение данных

Для поддержки совместной работы памяти программы и памяти данных при обеспечении эффективности использования пространства памяти, доступ к памяти данных должен поддерживаться как в побайтовом, так и в пословном режиме доступа. Данные совмещаются в памяти данных как слово, но эффективная адресация данных обеспечивается побайтно. Такое совмещение данных позволяет выбирать код программы в обычном пословном режиме при одновременной поддержки побайтного доступа. Важно понять, что эта доступность требует строгого позиционирования слова. Все выполняемые слова должны в побайтовом режиме находиться по четным адресам. Об этом необходимо позаботиться при обновлении сегмента кода программы в объединенном пространстве памяти данных, поскольку неточное совмещение слов приведет к неправильному выполнению программы. Хуже всего все то, что эта ситуация не может быть обнаружена если сторожевой таймер будет отключен.

Память данных организована в виде двухбайтных банков памяти с общим декодером слова адреса, но с двумя 8- битными шинами данных. Данные из памяти данных будут всегда считываться в виде законченного слова независимо от режима. Декодер программы всегда использует полное 16-разрядное слово, а для данных можно получить доступ ко всему слову или к отдельному биту.

В побайтном режиме аппаратный указатель данных считывает все слово, содержащее выбранный байт, при помощи эффективного указателя адреса информационного слова (младший значащий бит указателя данных байта первоначально не используется). После этого старший значащий бит указателя данных байта используется для определения получателя данных. При записи аппаратный указатель данных адресует специфическое слово при помощи эффективного адреса слова данных, а младший значащий бит выбирает соответствующий банк данных для записи, оставляя при этом содержимое другого банка памяти неизменным.

Функции CDA (пословный режим доступа)
Рисунок 5. Функции CDA (пословный режим доступа)

Функции CDA (побайтный режим доступа)
Рисунок 6. Функции CDA (побайтный режим доступа)

Элемент управления памятью

Распределение памяти и управление доступной памятью программы и данных может осуществлять элемент управления памятью (MMU). В данном руководстве пользователя рассматривается только один вариант элемента управления памятью, однако, создание элемента управления памятью для любого конкретного изделия зависит от типа и объема памяти, адресуемого прибором. Для получения более подробной информации необходимо обратиться к техническому описанию для конкретного микроконтроллера.

При поддержке меньшего, чем максимально адресуемая память программы и данных, количества сегментов, представленная реализация MMU обеспечивает высокую степень гибкости управления выборкой и программированием. Элемент поддерживает следующее:

  • Пользовательская память программы до 32К x 16 (до 64К x 16 при установленном бите UPA).
  • Сервисную память до 8К x 16.
  • SRAM память данных до 16К x 16.
  • Внутрисистемное программирование и программирование в приложении встроенной EEPROM, Flash или SRAM памяти.
  • Доступ к любой из трех областей памяти (SRAM, память программы, сервисная память) при помощи указателей памяти данных.
  • Выполнение программы из трех областей памяти (SRAM, память программы, записанные и оттестированные при производстве подпрограммы сервисной памяти).

Учитывая эти возможности, при обращении к памяти применяются следующие правила:

  • Нельзя одновременно получить доступ к специфическому сегменту памяти как к памяти данных и памяти программы.
  • При логическом отображении памяти данных в памяти программы адрес смещения равен xA000h.
  • При логическом отображении сервисной памяти в памяти данных адрес смещения равен x8000h.
  • Память программ:
    • Нижняя половина памяти программы (страницы P0 и P1) всегда доступна начиная с адреса x0000h.
    • Верхняя половина памяти программы (страницы P2 и P3) должна быть активизирована путем установки бита UPA в единицу для выполнения кода начиная с адреса x8000h.
    • Установка бита UPA в 1 отвергает выборку сервисной памяти и логической памяти как памяти программы.
    • Страницы физической памяти программы (P0, P1, P2, P3) логически отображаются в области данных в соответствии с используемым в настоящее время сегментом памяти, выбранным режимом доступа (побайтный или пословный) и конфигурационными битами CDA1:0, как это было описано выше
  • Память данных
    • Выбираться может байт или слово
    • Все 16 адресных бит указателя данных используются в обоих режимах (пословном или побайтовом)

Формирование синхросигнала

Все функциональные модули в MAXQ синхронизируются при помощи единого системного синхросигнала. Встроенный генератор синхросигнала формирует системные синхроимпульсы из сигналов одного из возможных источников:

  • Внутренний кольцевой автогенератор
  • Внутренний автогенератор, использующий внешний кварцевый или керамический резонатор
  • Внутренний релаксационный автогенератор, использующий внешнюю RC цепочку
  • Внешний источник синхросигнала

Внешние синхроимпульсы и кварцевый генератор являются взаимоисключающими, так как они используют одни и те же выводы. Выбор основного генератора тактовых импульсов осуществляется путем установки двух битов: RGSL и XT/RC. Бит RGSL управляет выбором внутреннего кольцевого автогенератора, формирующего системные синхроимпульсы. Если RGSL = 1, то для формирования системных синхроимпульсов используется внутренний кольцевой автогенератор. Бит RGSL доступен для чтения и записи в любое время, при этом после сброса при подаче питания он устанавливается в "0", разрешая внутреннему кольцевому автогенератору выполнять синхронизацию системы до тех пор, пока не запустится кварцевый генератор или пока прикладная программа не настроит вывод XTAL1 на работу с внешней RC цепочкой (XT/RC =0). Бит XT/RC может быть перезаписан только тогда, когда для формирования синхроимпульсов выбран внутренний кольцевой автогенератор (RGSL=1). Для того чтобы изменения бита XT/RC вступили в силу прикладная программа должна остановить внутренний кольцевой автогенератор (RGSL = 0). Так как биты RGSL и XT/RC находятся в одном и том же регистре, то выбор внешнего источника синхронизации может быть выполнен той же командой, что и отключение внутреннего кольцевого автогенератора. После отключения кольцевого автогенератора (RGSL = 0) бит RGMD может использоваться для того, чтобы оценить, когда произошло переключение к источнику, выбранному битом XT/RC. При выборе внешней RC цепочки (XT/RC =0) требуется 4 цикла для выхода автогенератора на режим, а при использовании внешнего кварцевого резонатора или внешнего источника синхроимпульсов (XT/RC = 1) пройдет 65,536 цикла прежде, чем система синхронизации выйдет на режим. Кроме того, эти интервалы являются защитными при ошибочном переключении бита XT/RC, которое может привести к рассогласованию состояния выводов XTAL1 и XTAL2 и внешней времязадающей цепочки.

При использовании внешней синхронизации каждое временное выполнение прикладной программы (например, при выходе прибора из дежурного режима) выполняется следующая последовательность:

  • Сброс установочного счетчика кварцевого генератора
  • Формирование задержки:
    • 65 536 внешних тактовых циклов если XT/RC = 1 и выход из режима останова
    • 4 внешних тактовых цикла если XT/RC = 0
  • В течение установочной последовательности прикладная программа может выполняться при синхронизации от внутреннего кольцевого автогенератора (если он имеется в данном типе микроконтроллера MAXQ). Обнаружить переход от синхронизации внутренним кольцевым автогенератором к синхронизации от выбранного XT/RC источника прикладная программа может путем опроса бита RGMD. Если бит RGSL равен единице, то это означает, что выбран внутренний кольцевой автогенератор или установочный интервал еще не закончился.

Источники синхросигнала MAXQ
Рисунок 7. Источники синхросигнала MAXQ



<-- Предыдущая страница Оглавление Следующая страница -->





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