Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[25]

14)Реализовано 111 линий для организации портов ввода/вывода. Все они сформированы в виде 9 портов Р0- Р8.

15)Реализован встроенный модуль начальной загрузки контроллера (Bootstrap Loader). Загрузчик обеспечивает при включении питания загрузку в память ОС или иной управляющей программы. Загрузка осуществляется через последовательный интерфейс ASC0. Т.о. системы построенные на основе ОМК С167 могут работать вообще без ПЗУ, а управляющие программы будут грузиться в ОЗУ и другие модули.

6.3.Внутренняя структура ОМК SAB80C167

В состав контроллера С167 входит 9 портов ввода/вывода Р0- Р8 каждый из перечисленных портов может работать в двух основных режимах:

-как обычный порт ввода/вывода дискретных сигналов, программируемый пользователем;

-как порт для выдачи управляемых сигналов основных блоков ОМК (альтернативный режим)

В первом случае использования портов их линии могут быть запрограммированы:

-как обычные ТТЛ входы и выходы (при вводе/выводе) -как выходы с отрицательным коллектором Замечание: в режиме с открытым коллектором могут работать порты Р2, Р2,

Р6, Р7, Р8.

Остановимся подробнее на альтернативных функциях портов Р0- Р8.

6.4.Организация памяти ОМК С167

Память организована с помощью Фон - Неймановской архитектуры, т. е. в едином адресном пространстве 16 Мбайт размещается: -модули внутренней и внешней ОЗУ; -внутренний и внешний модули ПЗУ;

-регистры специальных функций (РСФ) (SFR, ESFR) предназначены для управления всеми встроенными модулями ОМК;

-регистры данных и управления всех подключенных внешних устройств.

Все единое адресное пространство объемом 16 Мбайт разбито на 256 сегментов, объем каждого из них 64 Кб.

Каждый сегмент в свою очередь разбит на 4 страницы, с объемом 16 Кб каждая (1024 стр.). Разбивка памяти на сегменты и страницы вызвана малой разрядностью процессорного модуля (16 бит) по сравнению с 24-разрядной

ША.

Построим карту памяти контроллера С167. Она определяет распределение ОЗУ, ПЗУ и регистра устройств по всему адресному пространству:


SFR, ESFR-регистры специальных функций для управления всеми внутренними ОМК.

XRAM-расширение внутреннего ОЗУ , имеется у отдельных контроллеров модели С167.

CAN-регистры управления встроенного контроллера CAN-сети.

Вся внутренняя память ОМК С167 располагается в системном сегменте памяти. При этом:

-внутреннее ПЗУ объемом 32К размещается в ячейках 00000-Ю8000;

-внутреннее ОЗУ объемом 32К располагается вместе с управляющими регистрами SFR и ESFR в области с адресами: 0F000H-0FFFFH.

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

Рассмотрим подробнее организацию внутреннего ОЗУ контроллера. Посмотрим карту ОЗУ:

Внутреннее ОЗУ размещается в третьей странице памяти, при этом назначения областей ОЗУ следующие:

-область с адресами 0F600H-0FA00H используются для расположения плавающего регистрового банка, состоящего из 16 регистров и переменных пользователя;

-область 0FA00H-0FBFEH используется для расположения системного стека, размер которого может программно задаваться (по умолчанию 256 слов).

-область 0FCE0H-0FCFEH отведена для расположения регистров указателей контроллера событий РЕС.

-область 0FCFEH-0FE00H используется для расположения прямоадресуемых бит, каждый бит в этой области имеет свой адрес и к нему возможно прямое обращение.

Замечание: заштрихованные области регистров SFR ESFR также допускают прямую адресацию бит.

6.5. Системный стек ОМК С167

Располагается в ОЗУ с 0FA00H и может иметь размер от 32 до 1024 байт. Размер стека задается программно через регистр специальных функций FSR с именем SYSCON. Помимо указанного управляющего регистра имеется два регистра специальных функций SFR, управляющих стеком:

STKOV-определяет верхнюю границу стека (в нем хранится адрес последней ячейки стека);

STKUN-определяет начало стека (в нем хранится адрес последней ячейки стека).

При выходе стека за границы, указанные в STKOV и STKUN генерируется прерывания (ошибка стека). Выход за границу STKOV -переполнение стека, за STKUN -антипереполнение.


Запись и чтение информации в стек контролируется регистром SP (Stack Pointer). Этот регистр всегда содержит адрес текущей вершины стека.

При записи информации в стек он растет от старших адресов в ОЗУ к младшим. В стек возможна запись только слов.

При записи информации типа «слово», оно располагается в памяти следующим образом:

-младший байт слова всегда записывается по четному адресу N;

-старший байт слова записывается по нечетному адресу N+1.

Замечание: все команды С167 всегда располагается в памяти только по четным адресам (иначе будет генерироваться ошибка).

Для обращения к данным, хранящимся в памяти в ОМК С167 может использоваться различные способы адресации.

6.6. Способы адресации данных в ОМК С167

ОМК С167 использует три основных способа адресации данных: -короткая адресация, при этом указывается 8-разрядный (короткий) адрес в команде;

-длинная адресация, если в команде указывается 16-разрядный адрес ячейки или УВВ.

-косвенная адресация, если 16-разрядная ячейка памяти или УВВ содержится в данном из регистров процессора.

Короткая адресация используется для обращения к регистрам общего назначения (РОН) R0,...,R15; к регистрам ESFR и SFR; а также к ячейкам, находящимся в области прямоадресуемых бит.

Короткий адрес (КА) представляет собой 8-разрядное смещение относительно определенного базового 24-разрядного адреса (БА). Адрес ячейки 24-разрядный вычисляется по короткому адресу по следующей формуле:

ФА=БА+Д-КА, А = I1 если адресуется байт 1

[0, если адресуется слово]

В случае КА к РОН предыдущая формула приобретет вид: ФА=СР+Д-КА

СР -контекстный регистр, в нем всегда хранится 24-разрядный адрес начала плавающего банка ОЗУ. (СР=0,F600H-0,FA00H)

При короткой адресации с регистром SFR формула определения фактического адреса имеет вид: ФА=0FE00H+Д•КА

КА -8-разрядный адрес конкретного регистра SFR (00H-0FFH)/

В случае короткой адресации к расширенным управляющим регистрам ESFR формула приобретает вид: ФА=0F000H+Д•КА Пример: коротких адресаций:

MOV R0, R1 ; R0R1

MOV SP, #2100H ; SP2100H Иначе MOV 0E7H, #2100H ; SP2100H



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28]