Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 45
Текст из файла (страница 45)
Введены: конвейер команд, режим страничной адресации памяти, опция растяжки сигнала А1.Е№, возможность включения в магистральные циклы тактов ожидания. В результате при конвейерной выборке в пределах одной страницы время выполнения команды составляет один такт (два периода внешнего сигнала синхронизации). При максимальной тактовой частоте 16 МГц вто составляет 125 нсек. Такой темп выборки требует быстрой памяти программ. К набору внутренних модулей добавлен сторожевой таймер т1гРТ. В систе- му прерываний введена команда ТКАР изменен порядок опроса источни- ков при поллинге. В системе защиты внутренней памяти программ размер кодировочной таблицы увеличен до 128 байт.
В следующей таблице приведены данные о маркировке микроконтролле- ров и различиях в реализации внутренней памяти программ. Табл. 2.4. Микроконтроллеры типа ВХС161 Имя Номер бита бита ЕАР 1ЕА.7 ЕХ6 1ЕА.6 ЕХ5 1ЕА.5 ЕХ4 1ЕАА ЕХЗ 1ЕА.З ЕХ2 1ЕА.2 ЕС1 1ЕА.1 ЕЗЕР 1ЕА.О Разрешение запроса от блока АЦП, имеет место при ЕА1) 1 Разрешение запроса входу 1ХТ6, имеет место при ЕХ6 - 1 Разрешение запроса входу 1ХТ5, имеет место при ЕХ5 1 Разрешение запроса входу 1ХТ4, имеет место при ЕХ4 - 1 Разрешение запроса входу ПЧТЗ, имеет место при ЕХЗ - 1 Разрешение запроса входу 1ХТ2, имеет место при ЕХ2 1 Разрешение запроса от блока РСА1 имеет место при ЕС1 - 1 Разрешение запроса от порта БЕР имеет место при ЕЯЕР - 1 228 Организация памяти и программно доступных регистров микроконтролле- ров 8ХС1518Х приведена на рис.
2.26. Механизм защиты внутренней памяти программ микроконтроллеров 8ХС1518Х включает три бита секретности и кодировочную таблицу, размер которой увеличен до 128 байт. Набор регистров специальных функций микроконтроллеров 8ХС1513Х сле- дуюТций: ССАРЗН хххххххх ССАР4Н хххххххх ССАРОН ССАР1Н хххххххх хххххххх ССАР2Н хххххххх СН ОООООООО В 00000000 Е7 ГО ССАР01. ССАР11. хххххххх хххххххх ССАР41. хххххххх ССАР21 хххххххх ССАРЗ 1.
хххххххх сь 00000000 ЕЕ Е7 ЕО ССАРМ4 х0000000 ССАРМО ССАРМ! х0000000 х0000000 ССАРМ2 х0000000 ССАРМЗ х00000 00 СМОМ Оохххооо Г!8 РЗТУ 00000000 ТЗ7 РО ЙСАР2С ЕСАРЗН 00000000 00000000 Т12 00000000 ТН2 00000000 Т2СОН 000000 00 Т2МОО 00000000 С7 СО ЗАОЕН 00000000 1РГО х0000000 ВЕ В8 1РНО х0000000 РЗ 111111 ! ! В7 ВО !ЕО 000000 00 АГАВОЙ 00000000 АЕ Р2 11!11111 А7 АО ЗВБГ хххххххх ЗСОМ 00000000 9Е Р1 111!1111 90 ТСОЫ 00000000 ТМОО 000000 00 Т1 0 00000000 ТЩ 00000000 ТНО 00000000 ТН1 00000000 РСОН Оохоооо РО !!111!1! БР 000001!! ОР1. 00000000 ОРН 000000 00 87 80 ' Отмеченные регистры имеют измененные имена Изменены имена регистров прерываний, введен регистр сторожевого тай- мера у1ГГЗТЕБТ АСС 00000000 ССО1Ч Оохооооо МИКРОКОНТРОЛЛЕРЫ: АРХИТЕКТУРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС 229 ГЛАЕА2 МИКРСХОНТРОЛЛЕРЫ СЕМЕЙ 8А М Б-Б! 181 РРРР: ППЗА1 ПЦЗВ !РРР: ЗРРР: Регистры Специальных функций 18рк> 80 7Р 0000; 0О: 0000: Память программ Внугренияя память денных Внешняя память данных Рис.
2.26. Организация памяти и Регистров микроконтроллеров ВХС1613А/ЗВ С точки зрения пользователя основные отличия микроконтроллеров 8ХС1515Х по сравнению с семейством МСЯ-51 связаны с изменениями в циклах обмена по магистрали. 2.14.1. Циклы обмена по магистрали Микроконтроллеры 8ХС1515Х имеют несколько вариантов основных циклов магистрали. Режим обмена определяется содержимым двух байтов конфигурации: ПСопй80 и 13Соп1181.
17СонбхкΠ— %8аЬ№ %8аО№ ХА1.8№ — — Р880№ %8Ь1№ %ЯЬО№ 11Сопб81 Наиболее быстрым является обмен с использованием страничного режима памяти, но он требует, в отличие от обычного, несколько иной структуры магистрали. Варианты организации магистрали при работе микроконтроллеров 8ХС151ЯХ с внешней памятью приведены на рис.
2.27. При выборке кода из внутренней памяти программ страничный режим не ис- пользуется. МИКРОКОНТРОЛЛЕРЫ: ЯРКИТЕКТУРЯ ЛРОТРЯММИРОВЯНИЕ ИНТЕРФЕЙС гзо функции Биты управления состояниями ожидания при выборке кода тчгБа1№ ЖБаО№ Имя бита %'Ба1№ ЮБаО№ 1 1 нет тактов ожидания 1 О 1 такт ожидания О 1 2 такта ожидания О О 3 такта ожидания Бит управления растяжкой сигнала А1.Е. При ХА1.Е№ О сиг- нал АЕЕ удлиняется на один такт Бит управления страничным режимом.
При Раде№ = О Биты управления состояниями ожидания при выборке данных 'тчгБЬ1№ тт'БЬО№ ХА1.Е№ Ране№ %гБЬ1№ Тлт'БЬО№ 1 1 нет тактов ожидания 1 О 1 такт ожидания О 1 2 такта ожидания О О 3 такта ожидания Страничный режим Обычный режим Рис. 2.27. Варианты организации магистрали Существуют три основных типа магистральных циклов (обычный режим): ЕР чтение из внешней памяти программ; + чтение из внешней памяти данных; о запись во внешнтото память данных. Цикл чтения байта кода в обычном режиме выполняется за два состояния, а циклы чтения и записи данных во внешнюю память за три состояния.
На рис. 2.28 приведены диаграммы основных магистральных циклов при работе в обычном режиме. гз1 Г 2 ЫНХРОК РОЛЛЕР Ы $ ! ! Б$а$е ! Б$а$е 2 хти. АыЕ рзеи№ рг а) Выборка байта кода 3!ам 3 БМе ! Б$а$е 2 хтдь б) Чтсннс данных Баме 3 я!а!с ! Б$ые 2 ХТАЬ а)залнсьданных Рис. 2.28. ОснОВнь)В магистральные циклы при ОбычнОм РВжимВ Опции страничного режима, состояний ожидания, растяжки сигнала АЕЕ порождают различные варианты циклов обмена по магистрали. Таким образом, при использовании микроконтролеров 8ХС1515Х на магистрали микропроцессорной системы нет строгой последовательности машинных 232 МИКРОКОНТРОЛЛЕРЫ АРХИТЕКТУРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС циклов одинаковой длительности, как в случае микроконтроллеров семей- ства МСЯ-51. При использовании страничного режима магистральных циклов становит- ся четыре: Ф чтение из внешней памяти программ — кпопадание» в текущую страницу„' Ф чтение из внешней памяти программ — «промах»; Ф чтение из внешней памяти данных; + запись во внешнюто память данных.
На рис. 2.29 приведены диаграммы основных магистральных циклов при работе в страничном режиме. Рис. 2.29а иллюстрирует два возможных варианта цикла выборки байта кода: цикл в два такта и цикл в один такт. Первый вариант имеет место при кпромахе» и идентичен циклу выборки кода в обычном режиме (кроме того, что организация магистрали другая).
Такой цикл выборки кода всегда имеет место в следутощих случаях: Ф выборка байта кода после смены текущей страницы; Ф выборка байта кода после цикла чтения или записи данных во внешнюю память; ВР выборка байта кода после выхода из режимов 1Т11е или РОВГегдотчп; ЕР выборка байта кода после ветвления, возврата, прерывания и т.п.
Второй вариант цикла реализуется при кпопадании». В этом случае старший байт адреса остается тем же, что и в предыдущем цикле. Сигнал АЕЕ не вырабатывается, поэтому старший байт адреса остается в регистре-защелке (рис. 2.27). Это дает возможность микроконтроллеру за один такт выставить младший байт адреса на Порт О и прочитать байт кода команды через Порт 2. Циклы чтения и записи во внешнюю память данных при работе в страничном режиме аналогичны соответствующим циклам обычного режима (кроме того, что организация магистрали другая) и иллюстрируются рис.
2.29б,в. Биты конфигурации ИБаО№, %3а1№ позволятот вставить О, 1, 2 или 3 такта ожидания в цикл чтения кода из внешней памяти программ. Биты ЮБЬО№, ЮЯЬ1№ позволяют вставить О, 1, 2 или 3 такта ожидания в циклы чтения и записи данных при обращении к внешней памяти. Бит ХА(.Е№ дает возможность растянуть сигнал АЕЕ на один такт. На рис.
2.3О приведены примеры цикла чтения кода с растянутым сигналом АЕЕ и цикла записи данных с одним тактом ожидания (обычный режим работы). г ынккоконтно 233 ХТАЕ РЕЕМ№ Р2 а) Выборка баГпа кода Б~а~е Э Б~аге ) Б<а~е 2 ХТА). А).Е Р2 б) Чтснне данных Боне ) Бане 2 Бане 2 ХТАЕ АЕЕ Р2 в) Заноса данных Рис. 2.29.
Магистральныв циклы при страничном рвжимв МИКРОКОНТРОЛЛЕРЫ: АРХИТЕКГУРА ПРОГРАММИРОЕАНИ ИНТЕРФЕЙС 234 Б!аи 2 Бине Э Бга!е ! ХТА!. Асв А!7/А)6/Р2 а) Чтение байта кода с Растлнугым сигналом А!.В Бга!е 3 Бгаи 4 Бене ! Б!а!е 2 ХТАс Асп А!7/А!6/Р2 6) Цикл записи данных с одним тактом онидаииа рис. 2.30. Магистральные циклы с растяжкой сигнала АЕЕ и состоянием ожидания (обычный режим) В обычном режиме выводы портов выполняют те же функции, что и у микроконтроллеров 8ХС51ГХ.
В командах, использующих 16-разрядные адреса, на линиях портов присутствуют значения адреса и данных в соответствии с рассмотренными выше магистральными циклами. В командах, использующих 8-разрядные адреса (например МОт/Х 62чх!), на линии выставляется значение Р2. Это значение может использоваться для указания на 256-байтнуго страницу во внешней памяти. В цикле магистрали процессор всегда записывает значение ГЕН в регистр РО и предыдущее значение РО теряется.
Текущий цикл не изменяет значение Р2. Если микроконтроллер находится в режиме 181е, выводы порта О удерживаются в высокоимпедансном состоянии, а на линии порта 2 выдается содержимое регистра Р2. В страничном режиме на линиях порта 2 данные мультиплексированы с адресом. Если в команде используется 8-разрядный адрес, то на выводы в ГЛАВА Е МИК ОНТРОЛЛЕРМ СЕМЕЙСТВА Мс "и $61 235 отсутствие данных выдается значение регистра Р2. Если микроконтроллер находится в режиме 181е, выводы портов 0 и 2 удерживаются в высокоимпе- дансном состоянии.