Параметры структуры рис.1.1 для моделей микроконтроллеров Z8 |Модель |Узлы|Выв| | | | | | | | |оды| | | | | | | |T0 |T1 |SPI |Управление |Порт P0 |Порт P1 |Порт P3 | | | | | | |76543210 | |76543210 | |02 |- |* |- |- |*** |- |*** | |03 |- |* |- |- |- |- |****** | |04 |* |* |- |- |*** |- |*** | |06 |* |* |* |- |- |- |****** | |08 |* |* |- |- |*** |- |*** | |31 |* |* |- |- |******** |- |******** | |30 |* |* |- |- |******** |- |******** | |40 |* |* |- |* |******** |* |******** |
Устройство ввода/вывода МК представлено 4 программируемыми портами. Кроме того, на кристалле МК выполнен ряд периферийных устройств: 1- таймера/счетчика, устройство управления прерываниями, 2 аналоговых компаратора и последовательный интерфейс SPI (Serial Peripheral Interface). Назначение выводов микроконтроллера понятно из рис.1 за исключением выводов узла синхронизации и управления, функции которых пояснены ниже: XTAL -выводы для подключения кварцевого или керамического резонатора, LC- или RC-цепи;
/AS -выход строба адреса (Address Strobe);
/DS -выход строба данных (Data Strobe);
R//W -сигнал "Чтение//Запись"(Read//Write);
/RESET- вход сброса.
Примечание. Здесь и далее для сигналов с низким активным уровнем используются два эквивалентных обозначения, например:
__
AS или /AS. Физическое наличие определенных узлов и выводов в разных моделях МК отмечено в табл.1.2 знаком "*".
1.2.2. Адресное пространство микроконтроллеров Адресное пространство МК состоит из адресного пространства регистрового файла и адресного пространства памяти. В адресное пространство регистрового файла включены периферийные регистры, управляющие регистры, порты ввода/вывода и регистры общего назначения (РОН). Последние образуют ОЗУ МК. Адресное пространство памяти образовано ячейками внутренней и внешней памяти программ для хранения программного кода и констант, а также ячейками внешней памяти данных для хранения данных и размещения стека.
1.2.2.1. Адресное пространство регистрового файла Регистровый файл состоит из стандартного регистрового файла (СРФ), имеющегося во всех моделях МК, и расширенного регистрового файла (РРФ), частично используемого в некоторых моделях МК для управления дополнительными функциями. Структура регистрового файла показана на рис 1.2. СРФ состоит из 256 восьмибитных регистров с шестнадцатеричными адресами от 00H до FFH (здесь и далее H -суффикс шестнадцатеричной системы счисления). Адресное пространство СРФ разделено на 16 рабочих групп регистров по 16 регистров в каждой. Рабочая группа 0 содержит регистры с адресами от 00H до 0FH, группа 1 -регистры с адресами от 10H до 1FH и т.д. Следовательно, правомерно считать, что первая шестнадцатеричная цифра адреса соответствует номеру рабочей группы регистров, а вторая -номеру регистра. На рис.1.2 выделены рабочие группы регистров СРФ с указанием адреса нулевого регистра каждой группы в шестнадцатеричной системе счисления. Рабочая группа регистров 0 -особая, она может замещаться группами регистров из РРФ. РРФ содержит 16 расширенных групп регистров по 16 регистров в каждой. На рис.1.2 указаны номера расширенных регистровых групп. Следует отметить, что рабочая группа 0 СРФ совпадает с расширенной группой 0 РРФ. Специальный регистр RP (Register Pointer -Указатель регистров), размещенный в СРФ по адресу FDH (253), содержит два четырехбитных указателя, определяющие текущие номера рабочей (старшая тетрада) и расширенной (младшая тетрада) регистровых групп. Перезагрузкой регистра RP можно оперативно изменять выбранные группы регистров. Старшая цифра указанного в команде загрузки шестнадцатеричного числа будет определять номер рабочей группы, а младшая -номер расширенной группы регистров. Доступ к регистрам может осуществляться как с помощью полного восьмибитного адреса, так и с помощью короткого четырехбитного адреса. В последнем случае адрес определяет номер регистра в текущей рабочей группе. Если текущая рабочая группа -0, то будет выбран соответствующий регистр из текущей расширенной группы. В случае использования восьмибитного адреса 0XH (где X -любая шестнадцатеричная цифра) выбирается регистр X текущей расширенной регистровой группы, а адреса 1XH -FXH соответствуют регистрам СРФ. В последнем случае исключение составляет рабочая группа регистров E (адреса E0H -EFH), к которой нельзя обращаться с помощью восьмибитного адреса, т.к. байтовый формат EXH зарезервирован разработчиками МК для команд с укороченным адресом. Разные модели МК имеют разные наборы физически доступных регистровых групп. Для СРФ эти наборы показаны на рис.1.2 столбиковой диаграммой. Расширенная группа регистров 0 (она же -рабочая группа регистров 0) имеется во всех моделях МК. Расширенная группа регистров C имеется только в модели 06, а расширенная группа регистров F имеется в моделях 03,06,30,31,40. Незадействованные регистры расширенных групп 1 -F зарезервированы разработчиками МК для дальнейших применений.
Рис. 1.2 Структура регистрового файла Часть регистров СРФ имеет специальное назначение (управляющие и периферийные регистры), остальная часть -регистры общего назначения -РОН (General Purpose Register -GPR). Последние и образуют оперативное запоминающее устройство (ОЗУ) МК. Регистры специального назначения сосредоточены в рабочей группе F и в расширенной/рабочей группе 0. Все задействованные регистры расширенных групп имеют специальное назначение. На рис. 1.2 справа показаны все регистры специального назначения. Для каждого регистра указаны шестнадцатеричный адрес и идентификатор, представляющий аббревиатуру назначения регистра. В табл. 1.3 приведен полный перечень этих регистров с указанием идентификатора, назначения на английском и русском языках и характера операций доступа (R -чтение, W -запись).
Таблица 1.3
Регистры специального назначения |Идентифик|Назначение | |Дост| |атор | | |уп | | |Английский |Русский | | |SPL |Stack Pointer Low |Указатель стека - мл. байт |R/W | | |Byte | | | |SPH |Stack Pointer High |Указатель стека - ст. байт |R/W | | |Byte | | | |RP |Register Pointer |Указатель регистров |R/W | |FLAGS |Program Control |Регистр флагов |R/W | | |Flags | | | |IMR |Interrupt Mask |Регистр маски прерываний |R/W | | |Register | | | |IRQ |Interrupt Request |Регистр запросов прерываний |R/W | | |Register | | | |IRP |Interrupt Priority |Регистр приоритета прерываний |W | | |Register | | | |P01M |Port 0-1 Mode |Регистр режима портов 0-1 |W | | |Register | | | |P3M |Port 3 Mode Register|Регистр режима порта 3 |W | |P2M |Port 2 Mode Register|Регистр режима порта 2 |W | |PRE0 |TO Prescaler |Предделитель ТО |W | |TO |Timer/Counter TO |Таймер/Счетчик ТО |R/W | |PRE1 |T1 Prescaler |Предделитель Т1 |W | |T1 |Timer/Counter T1 |Таймер/Счетчик Т1 |R/W | |TMR |Timer Mode Register |Регистр режимов таймеров |R/W | |WDTMR |Watch Dog Timer Mode|Регистр режима сторожевого таймера |W | | |Register | | | |SMR |Stop-Mode Recovery |Регистр управления восстановлением |W* | | |Register |из режима STOP | | |PCON |Port Control |Регистр управления портами |W | | |Register | | | |SCON |SPI Control Register|Регистр управления последовательным|R/W | | | |интерфейсом | | |RxBUF |SPI Receive Buffer |Приемный буфер последовательного |R/W | | | |интерфейса | | |SCOMP |SPI Compare Register|Регистр сравнения последовательного|R/W | | | |интерфейса | | |P3 |Port 3 |Порт 3 |R/W | |P2 |Port 2 |Порт 2 |R/W | |P1 |Port 1 |Порт 1 |R/W | |P0 |Port 0 |Порт 0 |R/W |
* Бит 7 регистра SMR - только для чтения. Наборы регистров специального назначения для разных моделей МК приведены в табл.1.4.
Таблица 1.4
Наборы регистров специального назначения |Имя Регистра |Мо| | | | | | | | | |де| | | | | | | | | |ль| | | | | | | | | |МК| | | | | | | | | |02|03|04|06|08|31|30|40| |SPL |+ |+ |+ |+ |+ |+ |+ |+ | |SPH |* |* |* |* |* |* |* |+ | |RP |+ |+ |+ |+ |+ |+ |+ |+ | |FLAGS |+ |+ |+ |+ |+ |+ |+ |+ | |IMR |+ |+ |+ |+ |+ |+ |+ |+ | |IRQ |+ |+ |+ |+ |+ |+ |+ |+ | |IPR |+ |+ |+ |+ |+ |+ |+ |+ | |P01M |+ |+ |+ |+ |+ |+ |+ |+ | |P3M |+ |+ |+ |+ |+ |+ |+ |+ | |P2M |+ |+ |+ |+ |+ |+ |+ |+ | |PRE0 |- |- |+ |+ |+ |+ |+ |+ | |T0 |- |- |+ |+ |+ |+ |+ |+ | |PRE1 |+ |+ |+ |+ |+ |+ |+ |+ | |T1 |+ |+ |+ |+ |+ |+ |+ |+ | |TMR |+ |+ |+ |+ |+ |+ |+ |+ | |WDTMR |- |+ |- |+ |- |+ |+ |+ | |SMR |- |+ |- |+ |- |+ |+ |+ | |PCON |- |+ |- |+ |- |+ |+ |+ | |SCON |- |- |- |+ |- |- |- |- | |RxBUF |- |- |- |+ |- |- |- |- | |SCOMP |- |- |- |+ |- |- |- |- | |P3 |+ |+ |+ |+ |+ |+ |+ |+ | |P2 |+ |+ |+ |+ |+ |+ |+ |+ | |P1 |- |- |- |- |- |- |- |+ | |P0 |+ |- |+ |- |+ |+ |+ |+ |
Примечания: 1.Наличие регистра отмечено знаком "+".
2.Регистр SPH во всех моделях, кроме 40, используется как регистр общего назначения GPR (отмечено знаком "*"). При программировании МК следует учитывать способ доступа к регистрам. Чтение регистров, предназначенных только для записи, будет давать результат FFH. Поэтому использование этих регистров в командах, где они считываются (например, в логических командах OR и AND), будет давать неправильный результат. Когда линии портов 0 и 1 определены как выходы адреса, они приобретают статус регистров только для записи. И, наконец, регистр WDTMR должен быть записан в течение первых 64 тактов синхронизации после сброса. РОНы, с точки зрения системы команд, могут рассматриваться не только как отдельные восьмибитные регистры, но и как шестнадцатибитные пары регистров. При этом должно соблюдаться четное выравнивание, т.е. адрес регистровой пары должен быть четный. При этом старший байт регистровой пары размещается по четному адресу, а младший -по нечетному. В рабочей регистровой группе регистровых пар будет 8, и им соответствуют только четные номера: 0,2,...,14. Доступ к отдельным битам регистров осуществляется логическими командами с масками. Функция защиты ОЗУ заключается в том, что старшая часть адресного пространства от 80H до EFH (исключая управляющую группу регистров) может быть защищена от чтения и записи. Бит защиты ОЗУ программируется одновременно с ПЗУ (масочно или электрически). Если этот бит запрограммирован, то функция защиты управляется программно битом D6 регистра IMR. Логическая 1 включает функцию защиты, логический 0 -отключает. Эту функцию имеют только модели МК 30 и 40.
1.2.2.2. Адресное пространство памяти Адресное пространство памяти состоит из адресного пространства памяти программ и адресного пространства памяти данных. Память программ состоит из внутреннего ПЗУ и внешней памяти. Память данных также является внешней. Структура адресного пространства памяти МК показана на рис.1.3. Доступность фрагментов адресного пространства для различных моделей МК показана на рисунке столбиковой диаграммой.
Страницы: 1, 2, 3, 4, 5, 6