Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры > MAXQ |
|
||||||||||||
Микроконтроллеры MAXQ10 и MAXQ20В данном руководстве пользователя рассматриваются 8- битные микроконтроллеры семейства MAXQ10 и 16- битные микроконтроллеры семейства MAXQ20. Отличаются они только шириной шины данных и АЛУ. Микроконтроллеры семейства MAXQ10 имеют 8- битные шину данных и АЛУ, а микроконтроллеры семейства MAXQ20 - 16- битные шину данных и АЛУ. Это отличие наиболее очевидно при сравнении системы команд и, следовательно, определяет те действия, которые выполняет АЛУ и аккумуляторы. Регистры микроконтроллеров семейств MAXQ10 и MAXQ20 могут быть как 8- битными, так и 16- битными. Псевдо- неймановское управление памятью MAXQ поддерживает псевдо- неймановскую структуру памяти, которая может объединить программу и данные в одном линейном пространстве памяти. Это достигнуто за счет отображения памяти данных в области памяти программы или отображения памяти программы в памяти данных. Память программ с адресами от x0000h до x7FFFh - это обыкновенная память прикладной программы, за которой следует сервисная память. Верхние 64k слов памяти - логическая область для памяти данных, доступ к которой осуществляется как сегменту кода. Память программы логически разделена на четыре программные страницы:
По умолчанию, 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).
Псевдонемановский доступ к памяти Если в память не отображается сервисная память, память программ или сегменты памяти данных, то псевдонеймановское управление памятью является прямым. Однако, в приложениях, требующих большой памяти программы, для выборочной активизации отображаемых сегментов памяти может использоваться постраничная схема. Бит UPA может использоваться для активизации верхней половины памяти программы (P2 и P3) для выполнения кода прикладной программы. При доступе к памяти программы как к памяти данных, биты CDA могут использоваться для выбора одной из четырех необходимых страниц памяти программы. Полный доступ к любой из четырех страниц памяти программы как к памяти данных основан на том, что максимальный объем физической памяти данных равен 16К x 16. С другой стороны псевдонеймановский доступ к памяти накладывает ограничение, которое не позволяет получить доступ к памяти программы как к памяти данных в том случае, когда программа находится в специфическом сегменте памяти программы. При выполнении программы из 32 К нижних страниц памяти (страницы P0 и P1):
При выполнении программы из сервисной памяти (возможно только когда UPA = 0):
При выполнении программы из памяти данных (возможно только когда UPA = 0):
Совмещение данных Для поддержки совместной работы памяти программы и памяти данных при обеспечении эффективности использования пространства памяти, доступ к памяти данных должен поддерживаться как в побайтовом, так и в пословном режиме доступа. Данные совмещаются в памяти данных как слово, но эффективная адресация данных обеспечивается побайтно. Такое совмещение данных позволяет выбирать код программы в обычном пословном режиме при одновременной поддержки побайтного доступа. Важно понять, что эта доступность требует строгого позиционирования слова. Все выполняемые слова должны в побайтовом режиме находиться по четным адресам. Об этом необходимо позаботиться при обновлении сегмента кода программы в объединенном пространстве памяти данных, поскольку неточное совмещение слов приведет к неправильному выполнению программы. Хуже всего все то, что эта ситуация не может быть обнаружена если сторожевой таймер будет отключен. Память данных организована в виде двухбайтных банков памяти с общим декодером слова адреса, но с двумя 8- битными шинами данных. Данные из памяти данных будут всегда считываться в виде законченного слова независимо от режима. Декодер программы всегда использует полное 16-разрядное слово, а для данных можно получить доступ ко всему слову или к отдельному биту. В побайтном режиме аппаратный указатель данных считывает все слово, содержащее выбранный байт, при помощи эффективного указателя адреса информационного слова (младший значащий бит указателя данных байта первоначально не используется). После этого старший значащий бит указателя данных байта используется для определения получателя данных. При записи аппаратный указатель данных адресует специфическое слово при помощи эффективного адреса слова данных, а младший значащий бит выбирает соответствующий банк данных для записи, оставляя при этом содержимое другого банка памяти неизменным.
Элемент управления памятью Распределение памяти и управление доступной памятью программы и данных может осуществлять элемент управления памятью (MMU). В данном руководстве пользователя рассматривается только один вариант элемента управления памятью, однако, создание элемента управления памятью для любого конкретного изделия зависит от типа и объема памяти, адресуемого прибором. Для получения более подробной информации необходимо обратиться к техническому описанию для конкретного микроконтроллера. При поддержке меньшего, чем максимально адресуемая память программы и данных, количества сегментов, представленная реализация MMU обеспечивает высокую степень гибкости управления выборкой и программированием. Элемент поддерживает следующее:
Учитывая эти возможности, при обращении к памяти применяются следующие правила:
Формирование синхросигнала Все функциональные модули в MAXQ синхронизируются при помощи единого системного синхросигнала. Встроенный генератор синхросигнала формирует системные синхроимпульсы из сигналов одного из возможных источников:
Внешние синхроимпульсы и кварцевый генератор являются взаимоисключающими, так как они используют одни и те же выводы. Выбор основного генератора тактовых импульсов осуществляется путем установки двух битов: 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 и внешней времязадающей цепочки. При использовании внешней синхронизации каждое временное выполнение прикладной программы (например, при выходе прибора из дежурного режима) выполняется следующая последовательность:
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|