logo
RAM-диск на SDRAM памяти под управлением микроконтроллера

3.1 Выбор микропроцессора

Выбор микропроцессора определяет элементную базу всей схемы, именно поэтому необходимо наиболее тщательно подходить к этому вопросу: необходимо сопоставить те задачи, которые должно решать разрабатываемое устройство с функциональными возможностями микропроцессора как на аппаратном, так и на программном уровнях.

За последние годы в микроэлектронике бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров, которые предназначены для "интеллектуализации" оборудования различного назначения. Однокристальные (однокорпусные) микроконтроллеры представляют собой приборы, конструктивно выполненные в виде БИС и включающие в себя все основные составные части микроЭВМ: микропроцессор, память программ и память данных, а также программируемые интерфейсные схемы для связи с внешней средой. Использование ОМК в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС микроконтроллера), что микроконтроллерам, видимо, нет разумной альтернативной элементной базы для построения управляющих и/или регулирующих систем. К настоящему времени более двух третей мирового рынка микропроцессорных средств составляют именно однокристальные микроконтроллеры.

Незначительная емкость памяти, физическое и логическое разделение памяти программ и памяти данных, упрощенная и ориентированная на задачи управления система команд, несложные методы адресации команд и данных, а также специфическая организация ввода/вывода информации предопределяют область использования ОМК в качестве специализированных вычислителей, включенных в контур управления объектом или процессом. Структурная организация, набор команд и аппаратно-программные средства ввода/вывода информации микроконтроллеров лучше всего приспособлены для решения задач управления и регулирования в приборах, устройствах и системах автоматики, а не для решения задач обработки данных. Многие микроконтроллеры не являются машинами классического "фон-неймановского" типа, так как физическая и логическая разделенность памяти программ и памяти данных исключает возможность модификации и/или замены (перегрузки) прикладных программ микроконтроллеров во время работы.

У истоков производства микроконтроллеров стоит фирма Intel с семействами восьмиразрядных микроконтроллеров 8048 и 8051. Архитектура MCS-51 получила свое название от первого представителя этого семейства - микроконтроллера 8051, выпущенного в 1980 году на базе технологии МОП. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер 8051 являлся для своего времени очень сложным изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре 8086.

Затем был выпущен ОМК 80С52, который отличался увеличенным объемом памяти программ и данных на кристалле (8Кбайт и 256 байт соответственно). Кроме того, в него был введен третий таймер с функциями выборки и сравнения и соответственно расширен контроллер прерывания.

Следующим принципиальным шагом в развитии MCS-51 стал перевод технологии изготовления на КМОП. Это позволило реализовать режимы холостого хода (Idle) и пониженного энергопотребления (Power Down), позволившие резко снизить энергопотребление кристалла и открывшие дорогу к применению микроконтроллера в энергозависимых приложениях, например, в автономных приборах с батарейным питанием.

Таким образом, выбираем однокристальный микропроцессор фирмы Atmel AT89C2051. Выбор именно этого производителя обусловлен сравнительно низким ценовым диапазоном и достаточно высоким качеством микросхем.

Основными элементами базовой архитектуры AT89C2051 являются:

восьмиразрядное АЛУ на основе аккумуляторной архитектуры. АЛУ может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. В АЛУ имеются схема десятичной коррекции и схема формирования признаков. Важной особенностью АЛУ является его способность оперировать не только байтами, но и битами. Отдельные программно-доступные биты могут быть установлены, сброшены, инвертированы, переданы, проверены и использованы в логических операциях. Эта способность АЛУ оперировать битами столь важна, что во многих описаниях MCS51 говорится о наличии в нем "булевского процессора". Для управления объектами часто применяются алгоритмы, содержащие операции над входными и выходными булевскими переменными (истина/ложь), реализация которых средствами обычных микропроцессоров сопряжена с определенными трудностями. Таким образом, АЛУ может оперировать четырьмя типами информационных объектов: булевскими (1 бит), цифровыми (4 бита), байтными (8 бит) и адресными (16 бит).

четыре банка регистров, по 8 регистров в каждом;

встроенная (резидентная) память программ (РПП) имеет емкость 4 Кбайта и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных переменных и т.п. РПП имеет 16-битную шину адреса, через которую обеспечивается доступ из счетчика команд или из регистра-указателя данных DPTR. Последний выполняет функции базового регистра при косвенных переходах по программе или используется в командах, оперирующих с таблицами. РПП реализована в виде ПЗУ (масочного или программируемого). Объем памяти программ может быть увеличен до 64Кбайт за счет подключения дополнительных ИМС памяти.

внутренняя (резидентная) память данных (РПД) представляет собой ОЗУ и предназначена для хранения переменных в процессе выполнения прикладной программы. РПД адресуется одним байтом и имеет емкость 128 байт. Кроме того, к адресному пространству РПД примыкают адреса регистров специальных функций (РСФ). Число ячеек памяти данных может быть увеличено за счет подключения до 64Кбайт внешней памяти данных (ВПД).

два многорежимных шестнадцатиразрядных таймера;

универсальный асинхронный приемопередатчик (УАПП);

контроллер прерываний с пятью источниками запросов и двумя уровнями приоритетов;

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

встроенный тактовый генератор.

P0…P3 - порты ввода-вывода. Линии порта P3 могут использоваться для выполнения альтернативных функций, список которых приведен в таблице 3.1.

Таблица 3.1 Альтернативные функции порта P3

Имя

Поз.

Назначение

RD

P3.7

Чтение. Активный сигнал низкого уровня формируется аппаратно при обращении к ВПД

WR

P3.6

Запись. Активный сигнал низкого уровня формируется аппаратно при обращении к ВПД

T1

P3.5

Вход таймера/счетчика 1 или тест -вход

T0

P3.4

Вход таймера/счетчика 0 или тест-вход

INT1

P3.3

Вход запроса прерывания 1. Воспринимается сигнал низкого уровня или срез

INT0

P3.2

Вход запроса прерывания 0. Воспринимается сигнал низкого уровня или срез

TXD

P3.1

Выход передатчика последовательного порта в режиме УАПП. Выход синхронизации в режиме сдвигающего регистра

RXD

P3.0

Вход приемника последовательного порта в режиме УАПП. Ввод/вывод данных в режиме сдвигающего регистра

RST - вход аппаратного сброса ОМК. Сброс ОМК осуществляется путем подачи на вход RST сигнала с уровнем лог. «1». Для уверенного сброса ОМК этот сигнал должен быть удержан на входе RST по меньшей мере в течение двух машинных циклов (24 периода резонатора). Под воздействием сигнала RST сбрасывается содержимое регистров: PC, АСС, В, PSW, DPTR, TMOD, TCON, Т/С0, Т/C1, IE, IP и SCON, в регистре PCON сбрасывается только старший бит, в регистр-указатель стека SP загружается код 07Н, а в порты Р0…РЗ - коды 0FFH. Состояние регистра SBUF неопределенное. Сигнал RST не воздействует на содержимое ячеек РПД. Когда включается питание ОМК, содержимое РПД неопределенно, за исключением операции возврата из режима пониженного энергопотребления.

DEMA - запрет доступа к ВПП, расположенной в младших адресах. Если DEMA=1, то в диапазоне адресов 0…ХХХХ используется РПП, а в диапазоне (ХХХХ+1)…0FFFFh - ВПП. Если же DEMA=0, то во всем адресном пространстве ПП (0…0FFFFh) используется ВПП. Значение ХХХХ определяется объемом РПП и различно для разных типов ОМК.

PSEN - разрешение ВПП. Выполняет функции сигнала «Чтение» при обращении к ВПП.

ALE - разрешение фиксации адреса. Сигналом ALE сопровождается вывод младшего байта адреса в порт P0 при обращении к внешней памяти.