Микроконтроллеры РICМикроконтроллеры (МК) семейства PIC16C5X построены по гарвардской архи­тектуре, в которой память программ и память данных разделены и имеют соб­ственные адресные пространства.

Память программ. Максимальный объем памяти программ MК PIC16C5X со­ставляет 2048 ячеек по 12 бит. Память программ разбивается на страницы, каж­дая из которых содержит 512 слов (ячеек). Ранние модели МК имеют всего 512 ячеек памяти программ, относящихся к нулевой странице адресного про­странства (рис. 6.3.1). Поэтому разрядность счетчика команд PC равна 9 (А8–А0). В поздних моделях память программ содержит 4 страницы.

рис. 6.3.1

Адресация памяти программ. Прямая адресация памяти возможна только в пределах одной страницы, при этом:

●     команда GOTO k (0 ≤ k ≤ 511 ) позволяет обратиться по всем адресам страни­цы (рис. 6.3.2, а);

●     команда CALL k (0 ≤ k ≤ 255) и команды, изменяющие содержимое счетчика команд PC, обеспечивают доступ к младшим адресам (0–7) страницы, 8–й бит сбрасывается (рис. 6.3.2, б).

рис. 6.3.2

Для доступа к памяти свыше 512 ячеек используется, указатель страницы, представляющий собой биты 6 (РА1) и 5 (РА0) регистра состояния (признаков) STATUS процессора (рис. 6.2.1). Указатель переключается под управлением про­граммы и реализует по сути дела относительную адресацию.

Память данных. В регистровой памяти МК выделяются две группы регистров:

●     специальные регистры, к которым относятся:

•      адресуемые 8–разряные регистры (рис. 6.3.3, а): псевдорегистр (INDF), ре­гистр таймера/счетчика реального времени (TMR0), регистр счетчика ко­манд (А10, А9, А8, PCL), регистр состояния (STATUS), регистр косвенной адресации (FSR) и регистры ввода/вывода (PORTA, PORTA, PORTC);

•      рабочий регистр W, регистр состояния OPTION, регистры управления пор­тами TRISA, TRISB, TRISC (рис. 6.3.3, б), доступ к которым осуществляется с помощью специальных команд;

•      регистр конфигурации CONFIG, не имеющий доступа. Информация (вы­бранный тип генератора, разрешение/запрещение сторожевого таймера и включение/выключение бита защиты от считывания программного кода) в этот регистр заносится на этапе программирования микроконтроллера;

●     регистры общего назначения, которые используются программой для хране­ния переменных по усмотрению пользователя. Эти 8–разрядные регистры, разделенные на 4 банка по 16 регистров в каждом, и составляют основной объем памяти данных (рис. 6.2.2).

рис. 6.3.3

Адресное пространство памяти данных объединяет регистры специаль­ных функций и регистры общего назначения. Специальные регистры и часть ре­гистров общего назначения с адресами 00h...1Fh отнесены к банку 0. Поэтому он содержит 32 8–разрядных регистра, в то время как остальных три банка — по 16 регистров. Для обращения к регистрам в банках 1, 2, 3 выделены соответственно адреса ЗОh...ЗFh, 50h...5Fh, 70h...7Fh. Таким образом, адресное пространство па­мяти данных имеет «дыры». Отметим, что каждый бит любого адресуемого реги­стра доступен 4 битным командам.

Способы адресации. Для обращения к памяти данных (специальным ре­гистрам и регистрам общего назначения) используется косвенная и прямая (от­носительная) адресация (рис. 6.3.4).

рис. 6.3.4

Косвенная адресация реализуется с помощью псевдорегистра INDF (физически не существующего, но имеющего адрес 00h) и регистра косвенной адресации FSR (рис. 6.3.3, а). Псевдорегистр INDF служит указателем регистра FSR, в кото­ром находится адрес запрашиваемого регистра данных: биты 6, 5 задают номер банка (00 — банк 0, 01 — банк 1,10 — банк 2, 11 — банк 3), биты 4...0 использу­ются для адресации регистра данных внутри банка, при этом:

●     бит 4 переключает адрес между 16–ю регистрами первой и второй групп;

●     биты 3...0 адресуют регистры в пределах каждой группы.

Так как в банках 1, 2 и 3 отсутствуют регистры по 16 младшим адресам, при обращении по этим адресам реализуется доступ только к группе регистров банка О с младшими адресами 00h...1Fh. Например, при обращении по адресам 23h, 43h, 63h обеспечивается доступ к регистру STATUS, имеющему адрес 03h. В этих случаях бит 4 регистра FSR автоматически устанавливается в 0, а состояние би­тов 6 и 5 FSR игнорируется. При обращении по старшим адресам 10h... 1Fh биты 6 и 5 FSR задают номер банка, а бит 4 устанавливается в единичное состояние (рис. 6.3.4).

 

Прямая адресация обеспечивает доступ только к регистрам банка 0 с помощью младших разрядов кода команд (рис. 6.3.4), поступающих по 5–битной шине из дешифратора команд (рис. 6.2.1). Поскольку биты 6 и 5 псевдорегистра FSR дей­ствуют постоянно, по сути дела при обращении к страницам 1, 2, 3 осуществляет­ся способ относительной адресации.


Рекомендуйте эту статью другим!



aes 1
март 19, 2017 521

Атомные электростанции (АЭС), принцип работы, разновидности, типы, мощность

АЭС являются тепловыми станциями, использующими тепловую энергию ядерных реакций.…
состав процессора
окт 26, 2015 2888

Функции и состав процессора. Восьми - Шестнадцатиразрядный процессор. Сопроцессор.

Основные функции и состав процессора. На процессор возлагается выпол­нение операций,…
янв 22, 2013 1779

Выбор коммутационных аппаратов, показатели, рейтинг

Для обоснованного выбора оптимального типа КА целесообразно принять методику…
Выбор электроинструмента
фев 20, 2014 2093

Выбор электроинструмента

Сегодня уже трудно представить выполнение таких работ, как строительство и…
дек 13, 2012 4101

Провода и кабели, определение, обозначения, маркировка

Провод — одна неизолированная или одна либо более изолированных жил, поверх которых в…