НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 24252627282930 ... 159


МИКРОКОНТРОЛЛЕРЫ PIC 18СХХ

В состав подсемейства PIC 18 входят микроконтроллеры, имеющие обозначения типа PIC 18Схх2*.

Дополнительные возможности микроконтроллеров PIC 18Схх по сравнению с другими подсемействами состоят в следующем:

1. Наличие аппаратного умножителя 8-разрядных чисел.

2. Оперативная память, которая содержит до 3840 регистров, образующих 16 банков регистров.

3. Адресное пространство программной памяти объемом до 1048576 командных слов.

4. Возможность считывания и записи данных в программное запоминающее устройство.

5. Возможность задания приоритетов прерываний.

Упрощенная структурная схема процессорного ядра микроконтроллеров PIC 18Схх, иллюстрирующая особенности их архитектуры, показана на рис. 5.8.

Память программ

Адресное пространство регистров

Счетчик команд

Стек счетчика команд

Д i

\ АЛУ /-

Быстродействующий стек

Регистровый файл

Регистр состояния

WREG

Регистр команд/ декодер команд

Второй регистр команд

Рис. 5.8

Структурная схема микроконтроллеров PIC 18Схх

* Устаревшие сведения. - Прим. ред.



Существенные отличия архитектуры микроконтроллеров PIC iSCxx от архитектур младшего и среднего подсемейств таковы:

1. Обращение к регистру-аккумулятору WREG может осуществляться через адресное пространство регистров.

2. Доступ к первым 128 регистрам оперативной памяти и регистрам спецфункций, относящимся к периферийным модулям, возможен без привлечения регистра BSR через так называемый банк доступа (Access Bank).

3. Иначе работает счетчик команд.

4. Изменен порядок обращения к регистрам, причем доступ к ним возможен без привлечения регистра WREG.

Стартовый адрес перезапуска для микроконтроллеров PIC 18Схх -0x00000.

Доступ к регистрам

Микроконтроллеры PIC 18Схх способны адресовать до 4096 8-разрядных регистров. Для адресации всего пространства (рис. 5.9) предусматривается использование 12-разрядных адресов.

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

При прямой адресации адрес регистра определяется с помощью следующей формулы:

Address = (BSR << 8) + Direct Address

Функционирование индексного регистра в микроконтроллерах PIC 18Схх организовано весьма удачно, что позволяет авторам программ-компиляторов заметно упростить процесс разработки соответствующих программных приложений. И в этом смысле микроконтроллеры PIC 18Схх выгодно отличаются от Р1С-мик-роконтроллеров других подсемейств. Механизм индексной адресации, в частности, позволяет использовать три 12-разрядных индексных регистра FSR, и сопровождать доступ к данным инкре-Ментированием, декрементировапием содержимого регистров FSR До или после реализации доступа, а также обращаться по адресу. Который определяется как сумма содержимого этого регистра с содержимым регистра WREG. Все перечисленные варианты адресации осуществляются за счет выбора соответствующего виртуального



Адресация регистров

БанкО

0x0000 0X007F

ОЗУ доступа

0x0080 OxOOFF

GPR*

Банк 1

0x0100 0x0 IFF

0x0200

Банк 2

0X02FF

0x0300

БанкЗ

0X03FF

ОхОЕОО

Банк 14

OxOEFF

Банк 15

OxOFOO OxOFTF

OxOFSO 0x0FFF


Банк доступа

ОЗУ доступа!!.

0x000 0x07F

0x080 OxOFF

* GPR (General Parpose Registers) - регистры общего назначения Рис. 5.9

Адресация оперативной памяти микроконтроллеров Р1С 18Схх регистра данных. Напомним, что в младшем и среднем подсемех!-ствах этот регистр единственный и называется INDF.

В табл. 5.16 содержатся сведения о различных виртуальных регистрах данных и соответствующих возможностях Модификации содержимого индексных регистров FSR.

Индексная адресация может быть использована для программной организации стека. Чтобы занести в стек содержимое рабочего регистра WREG с помощью регистра FSRO, который играет роль указа теля стека, необходимо выполнить следующую операцию:

POSTDECO = WREG

Операция выбора данных из стека в регистр WREG реализуется посредством следующей строки:

WREG = PREINCO



0 ... 24252627282930 ... 159