Вст скв метод проектирования микропроцессорных систем. Учебное пособие современные микропроцессорные системы

Качественные и количественные изменения элементной базы средств ВТ привели к

изменению сложившихся принципов их проектирования (таких, как жесткая

структура, последовательное центральное управление, линейная организация

памяти и отсутствие возможности адаптации структуры ЭВМ к особенностям

решаемой задачи).

На смену классическим фоннеймановским принципам организации вычислительных систем пришли идеи проблемной ориентации МПС, параллельной и конвейерной обработки информации, использование табличных методов обработки данных, принципы регулярности и однородности структур МПС; становится реальной

возможностью идея создания адаптивно-перестраиваемых систем, а также

аппаратная реализация функций программного обеспечения. Поэтому в настоящее

время при проектировании вычислительных систем на основе МПС получил

применение так называемый принцип «3М»: модульность, магистральность,

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

Принцип модульной организации предполагает построение вычислительных и

управляющих МПС на основе набора модулей: конструктивно, функционально и

электрически законченных вычислительных устройств, позволяющих самостоятельно

или в совокупности с другими модулями решать задачи данного класса. Модульный

подход при проектировании микроЭВМ и систем позволяет (при реализации как

универсальных, так и специализированных модулей) обеспечить создание семейств

(рядов) МПС, отличающихся функциональными возможностями и характеристиками,

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

затрат на проектирование, а также упрощает наращивание мощности и

реконфигурацию систем, отодвигает время морального старения вычислительных

Магистральный способ обмена информацией в отличие от способа организации

произвольных связей (по принципу «каждый с каждым») позволяет упорядочить и

минимизировать число связей в МПС. Он обеспечивает обмен информацией между

функциональными и конструктивными модулями различного уровня с помощью

магистралей, объединяющих входные и выходные шины. Различают одно-, двух-,

трех- и многомагистральные связи. Необходимо отметить взаимосвязь

схемотехнических и структурных решений, которые проявляются при реализации

данного способа обмена в виде создания специальных двунаправленных буферных

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

мультиплексирования каналов обмена.

Микропрограммное управление обеспечивает наибольшую гибкость при организации

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

МПС, а также использовать в них макрооперации, что эффективнее использования


стандартных подпрограмм. Кроме этого, передача управляемых слов в виде

зашифрованных кодовых последовательностей соответствует условиям минимизации

числа выводов СБИС и сокращению числа межсоединений в модулях.

Кроме перечисленных выше основных особенностей проектирования МПС, следует

отметить принцип регулярности, который предполагает закономерную

повторяемость элементов структуры МПС и связей между ними. Применение данного

принципа позволяет увеличить интегральную плотность, уменьшить длину связей

на кристалле, сократить время топологического и схемотехнического

проектирования БИС и СБИС, уменьшить число пересечений и типов функциональных

и конструктивных элементов.

При разработке архитектуры МПС (системный этап) необходимо решить следующие

Дать описание концептуальной структуры функционального поведения системы с

позиций учета интересов пользователя при ее построении и организации

вычислительного процесса в ней;

Определить структуру, номенклатуру и особенности построения программных и

микропрограммных средств;

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

информации;

Провести анализ функциональной структуры и особенности физической

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

микропрограммных и аппаратурных средств.

Основные этапы проектирования МПС приведены на рис. 3.1.

На начальной стадии проектирования МПС может быть описана на одном из

следующих концептуальных уровней: “черный ящик”, структурный, программный,

логический, схемный.

На уровне “черного ящика” МПС описывается внешними спецификациями, где

перечисляются внешние характеристики.

Рис. 3.1. Этапы проектирования МПС

Структурный уровень создается аппаратными компонентами МПС, которая

описывается функциями отдельных устройств, их взаимосвязью и информационными

потоками.

Программный уровень разделяется на два подуровня (команд процессора и

языковый) и МПС интерпретируется как последовательность операторов или

команд, вызывающих то или иное действие над некоторой структурой данных.

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

два подуровня: переключательных схем и регистровых пересылок.

Первый подуровень образуется вентилями (комбинационные схемы и элементы памяти) и построенными на их основе операторами обработки данных. Второй подуровень характеризуется более высокой степенью абстрагирования и представляет собой описание регистров и передачу данных между ними. Он включает в себя две

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

операторами и путями передачи данных, вторая обеспечивает зависящие от

времени сигналы, инициирующие пересылку данных между регистрами.

Схемный уровень базируется на описании работы элементов дискретных устройств.

В жизненном цикле МПС, как и любой дискретной системы, выделяются три стадии:

проектирование, изготовление и эксплуатация.

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

Субъективные неисправности делят на проектные и интерактивные. Проектные

неисправности вызваны недостатками, вносимыми в систему на различных стадиях

реализации исходного задания. Интерактивные неисправности возникают в

процессе работы по вине обслуживающего персонала (оператора). Результатом

проявления неисправности является ошибка, причем одна неисправность может

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

множеством неисправностей.

Существует также понятие дефекта - физическое изменение параметров

компонентов системы, выходящих за допустимые пределы. Дефекты называют

сбоями, если они носят временный характер, и отказами, если они постоянны.

Дефект не может быть обнаружен до тех пор, пока не будут созданы условия для

возникновения из-за него неисправности, результат которой должен быть, в свою

очередь, передан на выход исследуемого объекта для того, чтобы сделать

неисправность наблюдаемой.

Диагностика неисправности – процесс определения причины появления ошибки по

результатам тестирования.

Отладка – процесс обнаружения ошибок и определения

источников их появления по результатам тестирования при проектировании МПС.

Средствами отладки являются приборы, комплексы и программы. Иногда под

отладкой понимают обнаружение, локализацию и устранения неисправности. Успех

отладки зависит от того, как спроектирована система, предусмотрены ли

свойства, делающие ее удобной для отладки, а также от средств, используемых

для отладки.

Для проведения отладки проектируемая МПС должна обладать

свойствами управляемости, наблюдаемости и предсказуемости.

Управляемость – свойство системы, при котором ее поведение поддается

управлению, т.е. имеется возможность остановить функционирование системы в

определенном состоянии и заново запустить систему.

Наблюдаемость – свойство системы, позволяющее проследить за поведением

системы, за сменой ее внутренних состояний.

Предсказуемость – свойство системы, позволяющее установить систему в

состояние, из которого все последующие состояния могут быть предсказуемы.

МПС по своей сложности, требованиям и функциям могут значительно отличаться

эксплуатационными параметрами, объемом программных средств, типом

микропроцессорного набора и т.д. В связи с этим процесс проектирования может

видоизменяться в зависимости от требований, предъявляемых к системе.

Процесс проектирования – итерационный процесс. Неисправности, обнаруженные на этапе приемосдаточных испытаний, могут привести к коррекции спецификации, а

следовательно, к началу проектирования всей системы. Обнаруживать

неисправности необходимо как можно раньше; для этого надо контролировать

корректность проекта на каждом этапе разработки. Существуют следующие методы

контроля правильности проектирования: верификация (формальные методы

доказательства корректности проекта); моделирование; тестирование.

В последнее время появилось много работ по верификации программного

обеспечения, микропрограмм, аппаратуры. Однако эти работы пока носят

теоретический характер. Поэтому на практике чаще используют моделирование

поведения объекта и тестирование на различных уровнях абстрактного

представления системы.

На этапе формализации требований к системе контроль корректности проекта

особо необходим, поскольку многие цели проектирования не формализуются или

не могут быть формализованы в принципе. Функциональная спецификация может

анализироваться коллективом экспертов или моделироваться и проверяться в

опытном порядке для выявления достижения желаемых целей. После утверждения

функциональной спецификации начинается разработка тестовых программ,

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

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

основанные на этой спецификации и дающие возможность проверки любой

реализации системы, которая объявляется способной выполнять функции,

оговоренные в спецификации. Этот способ – полная противоположность другим,

где тесты строятся применительно к конкретным реализациям. Однако на практике

разработке тестов часто присваивают более низкий приоритет по сравнению с

проектом, поэтому тестовые программы появляются значительно позже его

Проектирование микропроцессорной системы

Структура

Структурная схема системы представлена на рисунке 3.2.

Рисунок 3.2 - Структурная схема МПС

МП является центральным блоком МПС. Он управляет всеми микросхемами и производит обработку данных.

МП формирует адрес на США и осуществляет обмен с СШД.

ОЗУ предназначено для хранения промежуточных данных.

ПЗУ предназначена для хранения кода программы и различных констант.

ППИ предназначен для подключения внешних устройств. К ППИ подключены АЦП, дискретные сигналы и ПП.

АЦП предназначен для преобразования аналогового сигнала с датчиков в цифровой код.

ПП предназначен для организации обмена по последовательному каналу между диспетчерским пунктом и МП.

Проектирование принципиальной схемы

К МПС должна обеспечивать:

  • - опрос 7 аналоговых датчиков;
  • - сбор 8 дискретных сигналов;
  • - формирование 4 дискретных управляющих воздействий.

Расчет необходимого объема памяти данных производится по формуле

где и - количество аналоговых и дискретных входных сигналов соответственно; и - разрядность аналогового и дискретного сигналов.

В нашем случае и.

В итоге для хранения данных опроса датчиков необходимо

В качестве центрального блока системы выбран микроконтроллер КМ1816ВЕ51. Его основными преимуществами являются:

  • - наличие резидентной памяти программ и данных;
  • - наличие встроенного ПП;
  • - 4 порта;
  • - низкое энергопотребление;
  • - встроенные таймеры-счетчики.

Для хранения данных используется встроенные 128 байт памяти программ МК. Программа будет храниться в резидентной памяти программ.

Для опроса аналоговых датчиков используется микросхема К572ПВ4. К преимуществам микросхемы относятся:

  • - наличие встроенного мультиплексора;
  • - автоматический опрос датчиков без участи микропроцессора;
  • - хранение результатов преобразования по каждому каналу во встроенной статической памяти.

Так как у МК нет выходов генератора, для формирования тактового сигнала используется микросхема генератора К531ГГ1.


Для организации обмена информации с диспетчерским пунктом используется встроенный в МК приемопередатчик. Однако ПП КМ1816ВЕ51 передает данные с помощью пятивольтовых логических сигналов: единица представляется уровнем напряжения от 2,4 В до 5 В, а нуль - от 0 до 0, 8 В. При передаче по каналу RS-232 нуль и единица кодируются одинаковыми по величине (от 5 до 12 В), но разными по знаку сигналами.

Поскольку для передачи по RS-232 пятивольтовые логические сигналы должны быть преобразованы в сигналы другого уровня, в МПС используется микросхема MAX202E от Maxim. Она содержат преобразователь напряжения из +5 В в ±10 В и каскады, осуществляющие преобразование логических сигналов стандартного пятивольтного уровня по стандарту RS-232. Она содержит преобразователи логического уровня для двух приемников и двух передатчиков, из которых используется только один приемопередающий канал.

Принципиальная схема МПС приведена в приложении В.

К выводам XTAL1 и XTAL2 микроконтроллера DD1 подключается кварцевый резонатор ZQ1 на 12 МГц. Для более стабильного запуска выводы кварцевого резонатора соединены с общим проводом через конденсаторы С1 и С2 емкостью 21 пФ.

При подаче напряжения питания на микроконтроллер обязателен сброс микроконтроллера. С этой целью вход RST соединен с шиной питания через конденсатор С3 емкостью 6 мкФ и с общим проводом - через резистор R1 сопротивлением 100 кОм. В момент включения питания конденсатор разряжен, и вход сброса оказывается под потенциалом, близким к напряжению питания. Несмотря на снижение этого потенциала вследствие заряда С3, в течение десятка миллисекунд уровень сигнала на входе сброса остается единичным, и осуществляется корректный запуск микроконтроллера.

На вход подается логическая единица, т.к. микроконтроллер будет выполнять программу из резидентной памяти .

К линиям порта P0 МК DD1 подключены дискретные входные сигналы DDAT1-DDAT8. К линиям порта P1 подключена АЦС DA1. На линиях P1.0-P1.3 формируются дискретные управляющие воздействия DOUT1-DOUT4.

Так как аналоговые датчики, подключаемые к АЦС DA1 должны иметь выходным параметром напряжение, находящееся в диапазоне от 0В до 2,5В. Для преобразования токовых сигналов датчиков в сигнал напряжения используются резисторы R2-R13 .

Спецификация элементов представлена в приложении Г.

Разработка алгоритма работы МПС

МПС работает в следующей последовательности:

  • а) инициализация системы;
  • б) опрос датчиков;
  • в) управление насосным агрегатом;
  • г) обмен данными с диспетчерским пунктом;
  • д) переход к шагу б.

Блок-схемы алгоритмов программы работы МПС представлены в приложении Д, фрагмент кода программы - в приложении Е.

Расчет потребляемой мощности

Мощность, потребляемая всей системой, определяется как сумма мощностей, которые потребляют все части системы.

Расчет мощности сведен в таблицу 3.4.

Таблица 3.1 - Расчет потребляемой мощности

Система потребляет мощность.

Устройство передачи данных

Для обеспечения обмена с диспетчерским пунктом используется преобразователь интерфейса MI 486. Он позволяет осуществлять прием/передачу данных через сеть Ethernet с компьютера со скоростью до 112 кбод.

Преобразователь интерфейса показан на рисунке 3.3.

Рисунок 3.3 - Преобразователь интерфейса MI 486

Технические характеристики:

  • - выходной интерфейс: RS-232;
  • - макс. скорость - до 112 кбод;
  • - входной интерфейс Ethernet 10BaseT/100BaseT;
  • - разъем RJ45.

Введение

Специальность «Компьютерные системы и сети» – одна из важнейших и наиболее универсальных в современной системе образования. В сферу ее интересов входят самые разнообразные объекты и устройства управления – от элементарных регуляторов до сложнейших систем управления производственными процессами и экспериментальными исследованиями.

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

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

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

Структурная организация, набор команд и аппаратурно-программные средства ввода-вывода информации микроконтроллеров лучше всего приспособлены для решения задач управления и регулирования в приборах устройствах и системах автоматики, а не для решения задач обработки данных.

1. Анализ технического задания

В данной курсовой работе необходимо спроектировать микропроцессорную систему на основе микроконтроллера К1816ВЕ31. Требуется описать и разработать структурную и функциональную схемы проектируемого устройства (системы), обосновать выбор конкретных элементов, разработать принципиальную схему проектируемого устройства (системы), разработать программу инициализации основных компонентов, а также программу функционирования на языке ассемблера микроконтроллера.

2. Разработка структурной схемы проектируемого устройства

Основу структурной схемы микроконтроллера (рисунок 1) образует внутренняя двунаправленная 8-битная шина, которая связывает между собой все основные узлы и устройства: резидентную память, АЛУ, блок регистров специальных функций, устройство управления и порты ввода / вывода.

Арифметико-логическое устройство. 8-битное АЛУ может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. В АЛУ имеются программно недоступные регистры Т1 и Т2, предназначенные для временного хранения операндов, схема десятичной коррекции и схема формирования признаков.

Простейшая операция сложения используется в АЛУ для инкрементирования содержимого регистров, продвижения регистра-указателя данных и автоматического вычисления следующего адреса РПП. Простейшая операция вычитания используется в АЛУ для декрементирования регистров и сравнения переменных.

Простейшие операции автоматически образуют «тандемы» для выполнения в АЛУ таких операций, как, например, инкрементирование 16-битных регистровых пар. В АЛУ реализуется механизм каскадного выполнения простейших операций для реализации сложных команд. Так, например, при выполнении одной из команд условной передачи управления по результату сложения в АЛУ трижды инкрементируется СК, дважды производится чтение из РПД, выполняется арифметическое сравнение двух переменных, формируется 16-битный адрес перехода и принимается решение о том, делать или не делать переход по программе. Все перечисленные операции выполняются в АЛУ всего лишь за 2 мкс.

Важной особенностью АЛУ является его способность оперировать не только байтами, но и битами. Отдельные программно-доступные биты могут быть установлены, сброшены, инвертированы, переданы, проверены и использованы в логических операциях. Эта способность АЛУ оперировать битами столь важна, что во многих описаниях микропроцессора говорится о наличии в нем «булевского процессора». Для управления объектами часто применяются алгоритмы, содержащие операции над входными и выходными булевскими переменными (истина / ложь), реализация которых средствами обычных микропроцессоров сопряжена с определенными трудностями.



Рисунок -1. Структурная схема КР1816ВЕ31

АЛУ может оперировать четырьмя типами информационных объектов: булевскими (1 бит), цифровыми (4 бита), байтными (8 бит) и адресными (16 бит). В АЛУ выполняется 51 различная операция пересылки или преобразования этих данных. Используется 11 режимов адресации (7 для данных и 4 для адресов), путем комбинирования «операция / режим адресации» базовое число команд 111 расширяется до 255 из 256 возможных при однобайтном коде операции

Резидентная память . Память программ и память данных, размещенные на кристалле КР1816ВЕ31, физически и логически разделены, имеют различные механизмы адресации, работают под управлением различных сигналов и выполняют различные функции.

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

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

Память программ, также как и память данных, может быть расширена до 64Кбайт путем подключения внешних БИС.

Аккумулятор и ССП . Аккумулятор является источником операнда и местом фиксации результата при выполнении арифметических, логических операций и ряда операций передачи данных. Кроме того, только с использованием аккумулятора могут быть выполнены операции сдвига, проверка на нуль, формирование флага паритета и т.п.

Таблица 3.1

Символ Наименование Адрес
* АСС Аккумулятор 0Е0Н
* В Регистр-расширитель аккумулятора 0F0Н
* PSW Слово состояния программы 0D0H
SP Регистр-указатель стека 81Н
DPTR

Регистр-указатель данных (DPH)

* P0 Порт 0 80Н
* Р1 Порт 1 90Н
* Р2 Порт 2 0А0Н
* Р3 Порт 3 0В0Н
* IP Регистр приоритетов 0В8Н
* IE Регистр маски прерываний 0А8Н
TMOD Регистр режима таймера / счетчика 89Н
* TCON Регистр управления / статуса таймера 88Н
TH0 Таймер 0 (старший байт) 8СН
TL0 Таймер 0 (младший байт) 8АН
TH1 Таймер 1 (старший байт) 8DН
TL1 Таймер 1 (младший байт) 8BН
Символ Наименование Адрес
* SCON Регистр управления приемопередатчиком 98Н
SBUF Буфер приемопередатчика 99Н
PCON Регистр управления мощностью 87Н

Примечание. Регистры, имена которых отмечены знаком (*), допускают адресацию отдельных бит.

Таблица. 3.2

Символ Позиция Имя и назначение
С PSW.7 Флаг переноса. Устанавливается и сбрасывается аппаратурными средствами или программой при выполнении арифметических и логических операциях
АС PSW.6 Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратурными средствами при выполнении команд сложения и вычитания и сигнализирует о переносе или займе в бите 3.
F0 PSW.5 Флаг 0. Может быть установлен, сброшен или проверен программой как флаг, специфицируемый пользователем.
Выбор банка регистров. Устанавливается и сбрасывается программой для выбора рабочего банка регистров (см. примечание)
OV PSW.2 Флаг переполнения. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций.
PSW.1 Не используется.
Р PSW.0 Флаг паритета. Устанавливается и сбрасывается аппаратно в каждом цикле команды и фиксирует нечетное / четное число единичных бит в аккумуляторе, т.е. выполняет контроль по четности.

Примечание. Выбор рабочего банка регистров

RS1 RS0 Банк Границы адресов
0 0 0 00Н-07Н
0 1 1 08Н-0FH
1 0 2 10H-17H
1 1 3 18H-1FH

При выполнении многих команд в АЛУ формируется ряд признаков операции (флагов), которые фиксируются в регистре ССП. В таблице 4 приводится перечень флагов ССП, даются их символические имена и описываются условия их формирования.

Наиболее «активным» флагом ССП является флаг переноса, который принимает участие и модифицируется в процессе выполнения множества операций, включая сложение, вычитание и сдвиги. Кроме того, флаг переноса (С) выполняет функции «булевого аккумулятора» в командах, манипулирующих с битами. Флаг переполнения (OV) фиксирует арифметическое переполнение при операциях над целыми числами со знаком и делают возможным использование арифметики в дополнительных кодах. АЛУ не управляет флагами селекции банка регистров (RS0, RS1), и их значение полностью определяется прикладной программой и используется для выбора одного из четырех регистровых банков.

Структурная схема микроконтроллерной системы приведена в графической части курсового проекта приложение А

3. Разработка функциональной схемы микроконтроллерной системы

Разработка подсистемы памяти

В микроконтроллерных системах, построенных на основе КР1816ВЕ31, возможно использование двух типов внешней памяти: постоянной памяти программ (ВПП) и оперативной памяти данных (ВПД). Доступ к ВПП осуществляется при помощи управляющего сигнала RD, который выполняет функцию строб-сигнала, чтения. Доступ к ВПД обеспечивается управляющими сигналами RD и WR, которые формируются в линиях Р3.7 и Р3.6 при выполнении портом 3 альтернативных функций.

При обращении к ВПП всегда используется 16-битный адрес. Доступ к ВПД возможен с использованием 16-битного адреса (MOVXA,@DPTR) или 8-битного адреса (MOVXA,@RI).

В любых случаях использования 16-битного адреса старший байт адреса фиксируется (и сохраняется неизменным в течение одного цикла записи или чтения) в регистре-защелке порта 2.

Если очередной цикл внешней памяти (MOVXA,@DPTR) следует не сразу же за предыдущим циклом внешней памяти, то неизменяемое содержимое регистра-защелки порта 2 восстанавливается в следующем цикле. Если используется 8-битный адрес (MOVXA,@RI), то содержимое регистра-защелки порта 2 остается неизменным на его внешних выводах в течение всего цикла внешней памяти.

Через порт 0 в режиме временного мультиплексирования осуществляется выдача младшего байта адреса и передача байта данных. Сигнал САВП должен быть использован для записи байта адреса во внешний регистр. Затем в цикле записи выводимый байт данных появляется на внешних выводах порта 0 только перед появлением сигнала . В цикле чтения вводимый байт данных принимается в порт 0 по фронту стробирующего сигнала .

При любом обращении к внешней памяти устройство управления КР1816ВЕ31 загружает в регистр защелку порта 0 код 0FFH, стирая тем самым информацию, которая могла в нем храниться.

Доступ к ВПП возможен при выполнении двух условий: либо на вход отключения резидентной памяти программ () подается активный сигнал, либо содержимое счетчика команд превышает значение 0FFFH. Наличие сигнала необходимо для обеспечения доступа к младшим 4К адресам адресного пространства ВПП при использовании КР1816ВЕ31.

Основная функция сигнала САВП – обеспечить временное согласование передачи из порта 0 на внешний регистр младшего байта адреса в цикле чтения из ВПП. Сигнал САВП приобретает значение 1 дважды в каждом машинном цикле. Это происходит даже тогда, когда в цикле выборки нет обращения к ВПП. Доступ к ВПД возможен только в том случае, если сигнал САВП отсутствует. Первый сигнал САВП во втором машинном цикле команды MOVX блокируется. Следовательно, в любой МК-системе, не использующей ВПД, сигнал САВП генерируется с постоянной частотой, равной 1/16 частоты резонатора, и может быть использован для синхронизации внешних устройств или для реализации различных временны функций.

При обращении к РПП сигнал не генерируется, а при обращении к ВПП он выполняет функцию строб-сигнала чтения. Полный цикл чтения ВПД, включая установку и снятия сигнала , занимает 12 периодов резонатора.

Особый режим работы КР1816ВЕ31 . Содержимое памяти программ КР1816ВЕ31заполняется единожды на этапе разработки МК-системы и не может быть модифицировано в завершенном изделии. По этой причине микроконтроллеры не являются машинами классической «фон-неймановской» архитектуры. Оперативная память данных не может быть использована для хранения кодов программы. Эта особенность архитектуры МК объясняется тем, что в большинстве применений МК требуется наличие одной неизменяемой прикладной программы, хранимой в ПЗУ, наличие ОЗУ небольшой емкости для временного хранения переменных и эффективных, а следовательно, разных методов адресации памяти программ и памяти данных.

Микроконтроллер КР1816ВЕ31 не имеет внутренней памяти программ и поэтому пользуется только внешней памятью, которую можно модифицировать путем перепрожига внешней микросхемы ПЗУ.

Тип микропроцессора К1816ВЕ31. Объем внешнего ОЗУ – 4Кбайт. В данном микропроцессоре (в соответствии со структурой команд) внешняя адресация памяти данных позволяет адресовать 64Кбай внешней памяти. Для разработки подсистемы памяти выбираем микросхему в соответствии с перечнем элементов, приведенных в приложении Г.

Разработка подсистемы временных характеристик

Регистры специальных функций . Регистры с символическими именами IP, IE, TMOD, TCON, SCON и PCON используются для фиксации и программного изменения управляющих бит и бит состояния схемы прерывания, таймера / счетчика, приемопередатчика последовательного порта и для управления мощностью электропитания КР1816ВЕ31

Последовательный порт К1816ВЕ31 может работать в четырех различных режимах.

Режим 0. В этом режиме информация и передается и принимается через внешний вывод входа приемника (RXD). Принимаются или передаются восемь бит данных. Через внешний вывод выхода передатчика (ТXD), выдаются импульсы сдвига, которые сопровождают каждый бит. Частота передачи бита информации равна 1/12 частоты резонатора.

Режим 1 . В этом режиме передаются через ТXD или из RXD принимаются десять бит информации: старт-бит (0), восемь бит данных и стоп-бит. Скорость приема / передачи – величина переменная и задается таймером.

Режим 2 . В этом режиме передаются через ТXD или из RXD принимаются одиннадцать бит информации: старт-бит, восемь бит данных, программируемый девятый бит и стоп-бит. При передаче девятый бит данных может принимать значение 0 или 1, или, например, для повышения достоверности передачи путем контроля по четности в него может быть помещено значение признака паритета из слова состояния программы (PSW.0). Частота приема / передачи выбирается программой и может быть равна либо 1/32, либо 1/64 частоты резонатора в зависимости от управляющего бита SMOD.

Режим 3 . Совпадает с режимом 2 во всех деталях, за исключением частоты приема / передачи, которая является величиной переменной и задается таймером.

Управление режимом работы УАПП осуществляется через специальный регистрSCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых (RB8 и TB8) и биты прерывания приемопередатчика (RI и TI).

Прикладная программа путем загрузки в старшие биты спецрегистра SCON 2-битного кода определяет режим работы УАПП. Во всех четырех режимах работы передача из УАПП инициируется любой командой, в которой буферный регистр SBUF указан как получатель байта. Прием в УАПП в режиме 0 осуществляется при условии, что RI=0 и RЕN=1. В режиме 1,2,3 прием начинается с приходом старт-бит, если RЕN=1.

В бите ТВ8 программно устанавливается значение девятого бита данных, который будет передан в режиме 2 или 3. В бите RВ8 фиксируется в режимах 2 и 3 девятый принимаемый бит данных. В режиме 1, если SМ2=0, в бит RВ8 заносится стоп-бит. В режиме 0 бит RВ8 не используется.

Флаг прерывания передатчика TIустанавливается аппаратно в конце периода передачи восьмого бита в режиме 0 и в начале передачи стоп-бита в режиме 1,2 и 3. Соответствующая подпрограмма обслуживания должна сбрасывать бит ТI.

Флаг прерывания приемника RIустанавливается аппаратно в конце периода передачи восьмого бита в режиме 0 и в середине приема стоп-бита в режиме 1,2 и 3. Подпрограмма обслуживания прерывания должна сбрасывать бит RI.

Скорость приема / передачи информации по линии связи определяется в начале работы над курсовым проектом и равна 600 бод.

Программируемый таймер находится внутри микроконтроллера К1816ВЕ31.

Таймер/счетчик . В составе средств КР1816ВЕ31 имеются регистровые пары с символическими именами TH0, TL0 и TH1, TL1, на основе которых функционируют два независимых программно-управляемых 16-битных таймера / счетчика событий.

Два программируемых 16-битных таймера / счетчика (Т/С0 и Т/С1) могут быть использованы в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера содержимое Т/С инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов резонатора. При работе в качестве счетчика содержимое Т/С инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (Т0, Т1) вывод К1816ВЕ31. Опрос значения внешнего входного сигнала выполняется в момент времени S5P2 каждого машинного цикла. Содержимое счетчика будет увеличено на 1 в том случае, если в предыдущем цикле был считан входной сигнал высокого уровня (1), а в следующем – сигнал низкого уровня (0). Новое значение счетчика будет сформировано в момент S3P1 в цикле в следующем за тем, в котором был обнаружен переход сигнала из 1 в 0. Так как на распознавание перехода требуется два машинных цикла, то максимальная частота подсчета входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входного считаемого сигнала он должен удерживать значение 1 как минимум в течении одного машинного цикла К1816ВЕ31.

Для управления режимами работы Т/С и для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций (РРТС и РУСТ). Как следует из описания управляющих бит РРТС, для обоих Т/С режимы работы 0, 1 и 2 одинаковы. Режимы 3 для Т/С0 и Т/С1 различны. Рассмотрим кратко работу Т/С во всех четырех режимах.

Режим 0 . Перевод любого Т/С в режим 0 делает его похожим на таймер МК48 (8-битный счетчик), на вход которого подключен 5-битный предделитель частоты на 32. В этом режиме таймерный регистр имеет разрядность 13 бит. При переходе из состояния» все единицы» в состояние «все нули» устанавливается флаг прерывания от таймера TF1. Входной синхросигнал таймера 1 разрешен (поступает на вход Т/С), когда управляющий бит TR1 установлен в 1 и либо управляющий бит GATE (блокировка) равен 0, либо выход запроса прерывания поступает уровень 1.

В таблице 8 приведены регистры режима работы таймера / счетчика, а в таблице 9 регистры управления / статуса таймера.

Установка бита GATE в 1 позволяет использовать таймер для измерения длительности импульсного сигнала, подаваемого на вход запроса прерывания.

Таблица 4.2.1

Символ Позиция Имя и назначение
GATE TMOD.7 для T/С1 и TMOD.3 для T/C0 Управление блокировкой. Если бит установлен, то таймер / счетчик «х» разрешен до тех пор, пока на входе «INTx» высокий уровень и бит управления «TRx» установлен. Если бит сброшен, то Т/С разрешается, как только бит управления «TRx» устанавливается.
TMOD.6 для T/С1 и TMOD.2 для T/C0 Бит выбора режима таймера / счетчика событий. Если бит сброшен, то работает таймер от внутреннего источника сигналов синхронизации. Если бит установлен, то работает счетчик от внешних сигналов на входе «Тх».
М1 TMOD.5 для T/С1 и TMOD.1 для T/C0 Режим работы (см. примечание).
М0 TMOD.4 для T/С1 и TMOD.0 для T/C0
М1 М0 Режим работы
0 0 Таймер МК48. «TLx» работает как 5-битный предделитель.
0 1 16-битный таймер / счетчик. «THx» и «TLx» включены последовательно.
1 0 8-битный автоперезагружаемый таймер / счетчик. «THx» хранит значение, которое должно быть перезагружено в «TLx» каждый раз по переполнению.
1 1 Таймер/счетчик1 останавливается. Таймер/счетчик0: TL0 работает как 8-битный таймер / счетчик, и его режим определяется управляющими битами таймера0.TH0 работает только как 8-битный таймер, и его режим определяется управляющими битами таймера1.

Режим 1 . Работа любого Т/С в режиме 1 такая же, как и в режиме 0, за исключением того, что таймерный регистр имеет разрядность 16 бит.

Режим 2 . В режиме 2 работа организована таким образом, что переполнение (переход из состояния» все единицы» в состояние «все нули») 8-битного счетчика TL1 приводит не только к установке флага TF1, но и автоматически перезагружает в TL1 содержимое старшего байта (TH1) таймерного регистра, которое предварительно было задано программным путем.

Режим 3 . В режиме 3 Т/С0 и Т/С1 работают по разному. Т/С 1 сохраняет неизменным свое текущее содержимое. Иными словами, эффект такой же как и при сбросе управляющего бита TR1 в ноль.

В режиме 3 TL0 и TH0 функционируют как два независимых 8-битных счетчика. Работу TL0 определяет управляющие биты Т/С 0 (, GATE, TR0), входной сигнал и флаг переполнения TF0. Работу ТН0, который может выполнять только функции таймера (подсчет машинных циклов МК), определяет управляющий бит TR1. При этом ТН0 использует флаг переполнения TF1.

Разработка подсистемы связи с центральной ЭВМ

Проектируемое устройство должно выдавать содержимое памяти в центральную ЭВМ, а также принимать информацию от центральной ЭВМ.

Т.к. обмен информацией осуществляется на большие расстояния, то передачу необходимо вести в последовательном формате. Преобразование данных из параллельного формата в последовательный и обратно выполняет УАПП. УАПП – универсальный асинхронный приемопередатчик, предназначенный для реализации двунаправленного асинхронного обмена данными, представленными в параллельном формате, и управляющими словами с микропроцессором, а также двунаправленного асинхронного обмена данными, представленными в последовательном формате с другими модулями системы, например видеотерминалами, накопителями на магнитной ленте и т.д. Таким образом, УАПП преобразует параллельный код, полученный из системы по шине данных, в последовательный, и поразрядно выдаёт его в канал связи, а также выполняет обратное преобразование.

В состав УАПП, называемого часто последовательным портом, входят принимающий и передающий сдвигающий регистры, а также специальный буферный регистр (SBUF) приемопередатчика. Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного байта. Если к моменту окончания приема байта предыдущий байт не был считан из SBUF, то он будет потерян.

Управление режимом работы УАПП осуществляется через специальный регистр с символическим именем SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и TB8) и биты прерывания приемопередатчика (R1 и T1).


Таблица 4.5.1

Символ Позиция Имя и назначение
TF1 TCON.7 Флаг переполнения таймера1. Устанавливается аппаратурно при переполнении таймера / счетчика. Сбрасывается при обслуживании прерывания аппаратурно
TR1 TCON.6 Бит управления таймера 1. Устанавливается/сбрасывается программой для пуска / останова.
TF0 TCON.5 Флаг переполнения таймера1. Устанавливается аппаратурно. Сбрасывается при обслуживании прерывания
TR0 TCON.4 Бит управления таймера 0. Устанавливается/сбрасывается программой для пуска / останова. таймера / счетчика.
IE1 TCON.3
IT1 TCON.2 Бит управления типом прерывания 1. Устанавливается / сбрасывается программой для спецификации запроса (срез / низкий уровень).
IE0 TCON.1 Флаг фронта прерывания 1. Устанавливается аппаратурно, когда детектируется срез внешнего сигнала . Сбрасывается при обслуживании прерывания
IT0 TCON.0 Бит управления типом прерывания 0. Устанавливается / сбрасывается программой для спецификации запроса (срез / низкий уровень).

Режим 3 используется в тех случаях применение К1816ВЕ31, когда требуется наличие дополнительного 8-битного таймера или счетчика событий. Можно считать, что в режиме 3 К1816ВЕ31 имеет в своем составе 3 таймера / счетчика. В том случае, если Т/С0 используется в режиме 3, Т/С1 может быть или включен или выключен, или переведен в свой собственный режим 3, или может быть использован последовательным портом в качестве генератора частоты передачи, или, на конец, может быть использован в любом применении, не требующим прерывания.

После определения скорости приема / передачи информации необходимо обеспечить тактовую частоту приема RxC, передачи ТхС. Выдача этих синхросигналов осуществляется с использованием каналов программируемого таймера. Исходная частота, поступающая на программируемый таймер, равна частоте разрабатываемой микропроцессорной системы. Для определения уставки, записываемой в соответствующий канал программируемого таймера, необходимо определить коэффициент пересчета исходной частоты системы в частоту приема / передачи по линии связи, а также выбрать соответствующий режим работы задействованных каналов таймера.

5. Разработка принципиальной схемы проектируемого устройства

Выбор элементной базы

В контроллере, разрабатываемом в данном курсовом проекте, в качестве центральной части используется однокристальная микроЭВМ КМ1816ВЕ31, выполненная на основе высокоуровневой n -МОП технологии и взаимодействующая со средой в стандарте ТТЛ-схем с тремя состояниями выхода. Это позволяет при разработке схемы использовать ИС из микропроцессорного комплекта серии 580 быстродействующие ТТЛ серии. Как указывалось выше, в состав микроконтроллера входит программируемый таймер, асинхронный последовательный интерфейс (УАПП) и ПЗУ емкостью 1 Кб.

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

Программируемый контроллер клавиатуры и индикации КР580ВВ79;

Статическое ОЗУ емкостью 16Кб АТ28С128;

Блок семисегментных индикаторов АЛС318;

Буферный регистр К1533ИР22;

ПЗУ К573РУ8;

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

6. Разработка программного обеспечения

Для выполнения поставленных задач микропроцессорной системе необходима программа функционирования, согласно которой микропроцессор будет осуществлять выдачу управляющих сигналов на шину управления, адресов ячеек памяти и устройств на шину адреса и осуществлять обмен данными по шине данных. Т.к. в системе имеются еще и программируемые контроллеры, то для работы с ними необходима так называемая инициализация, являющаяся загрузкой в специальные регистры управляющих слов. Причем инициализация всех контроллеров должна выполнятся до начала выполнения системой задания и один раз после включения питания (исключением является аппаратный системный сброс). Для инициализации системы в качестве управляющих слов для ИМС используются константы, хранящиеся в ПЗУ микроконтроллера.

В системе имеются так же аппаратные прерывания, в результате которых должны выполнятся какие-либо действия, после чего основная программа продолжает свое выполнение. Такие прерывания обслуживают подпрограммы обработки прерываний (в системе их две: подпрограмма обработки прерываний от таймера и подпрограмма обработки прерывания от последовательного интерфейса).

Программу функционирования условно можно разделить на две части: инициализацию и рабочий цикл.

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

Рабочий цикл – это набор процедур и операторов, выполняемых в бесконечном цикле, и обеспечивающих выполнение возложенных на систему функций. Граф-схема алгоритма работы и подпрограмм, приведенные на листе 4 графической части.

Подпрограмма инициализации контроллера клавиатуры и индикации

В разработке использован ПККИ типа КР580ВВ79. Его настройка осуществляется загрузкой управляющего слова «установка режима работы контроллера клавиатуры и индикации» в соответствующий регистр блока управления. Режим работы блока интерфейса клавиатуры: последовательный опрос матрицы клавиш с дешифрированием состояния счетчика сканирования и запрещением 2-х или более нажатых клавиш. Режим работы блока индикации: вывод символов на 8-разрядную индикацию с размещением их слева направо.

Рисунок 6.2 – Формат управляющего слова «программный сброс»

Разряды D7 – D5 – адрес управляющего слова «программный сброс»;

Разряды D4 = 0 – коды находящиеся во внутреннем ОЗУ индикации выдаются на выходы OUT; D1 = 1 – обнуление регистра состояния ОЗУ клавиатуры и на выходе IRQ – сигнал низкого уровня; D0 ºD4.


Рисунок 6.4 – Формат управляющего слова «запись в ОЗУ индикации»

Разряды D7-D5 – адрес управляющего слова; D3-D0 – адрес ячейки ОЗУ индикации.

Формат управляющего слова «Чтение многорежимного ОЗУ клавиатуры» аналогичен формату управляющего слова «Чтение из ОЗУ индикации», за исключением содержимого битов D7-D5.

0 1 0 1 х х х х

Рисунок 6.5 – Формат регистра управляющего слова клавиатуры

Разряды D7-D5 – адрес управляющего слова; D4 – признак автоинкремента; D3-D0 – адрес ячейки ОЗУ клавиатуры.

Подпрограмма инициализации программируемого параллельного интерфейса

Настройка ППИ осуществляется загрузкой управляющего слова в регистр управляющего слова. Настройка производится следующим образом: порт А работает в режиме ввода информации с датчиков через АЦП, а порт В работает в режиме вывода информации на ЦАП. Порт С будет управлять процессами приема и выдачи информации.

В разработанной системе ППИ работает в 0 режиме. Функции этого режима:

1) Два 8-ми разрядных и два 4-х разрядных порта.

2) Все порты могут быть как входными, так и выходными.

3) Выходные порты защелкиваются, входные – нет.

Формат регистра управляющего слова ППИ представлен на рис. 6.6.

Рисунок 6.7 – Формат регистра SCON.

SM1 и SM0 (D7, D6) – определяют режим работы последовательного порта (Режим 2: 9-ти разрядный асинхронный приемопередатчик, фиксированная скорость приемопередачи);

REN (D4) – флаг управления разрешением приема;

TB8 (D3) – установка состояния 9-го бита принимаемых данных;

RB8 (D2) – анализ состояния 9-го бита принимаемых данных;

TI (D1) – бит прерывания по передачи;

RI (D0) – бит готовности.

Подпрограмма опроса клавиатуры

Программируемый контроллер клавиатуры и индикации настраивается на режим чтения многорежимного ОЗУ клавиатуры с автоинкрементом, в счетчик заносим количество ячеек ОЗУ клавиатуры. Происходит последовательный опрос клавиатуры, после чего данные о нажатых функциональных клавишах записываются в ОЗУ клавиатуры.

Подпрограмма выдача данных на индикаторы

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

Опрос датчиков и выдача выходных сигналов

Опрос датчиков и выдача выходных сигналов происходит по следующему алгоритму:

1) в счетчик заносится количество опрашиваемых датчиков;

2) информация считывается с датчиков в порт А, который ранее был проинициализирован на прием данных;

3) принятая информация переписывается через аккумулятор в специально отведенную для информации с датчиков ячейку ОЗУ;

4) уменьшение счётчика количества датчиков на 1;

5) если произошел опрос всех датчиков, то ППИ перестраивается на выдачу информации из порта В;

6) в счетчик заносится количество выходных сигналов;

7) информация из ячейки ОЗУ через аккумулятор заносится в порт В;

8) производится вывод информации.

Подпрограмма обмена информацией с центральной ЭВМ

В этой подпрограмме вначале производится чтение регистра состояния УАПП. После этого выполняется проверка: установлен ли пятый бит регистра в 1. Если установлен, то это означает, что УАПП готов к передаче информации и происходит побитная передача данных в линию связи до тех пор, пока счетчик передаваемых информационных разрядов не будет равен нулю. Как только все информационные разряды передадутся в линию связи, произведутся новые начальные установки (начальный адрес ОЗУ, количество информационных разрядов) и подпрограмма закончит свое выполнение. Если же еще на первом этапе пятый бит регистра не будет установлен в 1, следовательно произойдет выход из подпрограммы, т. к. УАПП в этом случае не готов передавать информацию.

Подпрограмма инициализации таймера

Для управления режимами работы таймера / счетчика и для организации взаимодействия таймеров с системой прерывания используют два специальных регистра: TCON и TMOD.

Рисунок 6.9 – Формат регистра TMOD.

Регистр TMOD задает режимы работы Т/С0 и Т/С1. Устанавливаем для Т/С1 первый режим работы: 16-битный таймер / счетчик. TH1 и TL1 включены последовательно. При переходе из состояния» все единицы» в состояние «все нули» устанавливается флаг прерывания от таймера TF1. Входной синхросигнал таймера 1 разрешен (поступает на вход Т/С), когда управляющий бит TR1 установлен в 1 и либо управляющий бит GATE (блокировка) равен 0, либо выход запроса прерывания поступает уровень 1.), блокировка отключена, таймер работает от внутреннего источника сигналов синхронизации.

Таймер 1 должен быть инициализирован для выдачи частоты синхронизации приема-передачи последовательного порта и для организации прерывания, во время которого подсистема должна будет передать информацию о состоянии аналоговых датчиков и состоянии клавиатуры в центральную ЭВМ.

Производится заполнение таймерных регистров:

В TH1 записывается FEh

В TL1 записывается EBh

Значения TH1 и TL1, обновляются в соответствующих процедурах прерываний.


Заключение

В ходе выполнения курсового проекта были рассмотрены структурная организация, режимы работы, и алгоритмы функционирования микропроцессорного устройства на базе микроконтроллера серии К1816.

В ходе работы над курсовым проектом были разработаны структурная и принципиальная схемы, а также его программное обеспечение, для составления которого использовалась система команд и алгоритм функционирования КМ1816ВЕ31.что позволило понять какие действительно процессы проходят в микроконтроллерной системе и как они выполняются.

Перечень источников

1. Цифровые и аналоговые интегральные микросхемы: Справочник / под ред. С.В. Якубовского. – М: Радио и связь, 1990. – 496 с.

2. Микропроцессоры / К.Г. Самофалов, О.В. Викторов – Киев: Техника, 1989. – 312 с.

3. Справочник по цифровой схемотехнике / И.В. Зубчук, В.П. Сигорский. – К.: Техника, 1990 г. – 448 с.

4. Микросхемы ЦАП и АЦП: функционирование, параметры, применение / Б.Г. Федорков, В.А. Телец – М.: Энергоатомиздат, 1990. 320 с.

5. Сташин В.В., Урусов И.А. Мологонцева И.А. Проектирование цифровых устройств на однокристальных микро-ЭВМ. М. Энергоатомиздат –1990 – 285 с.

Качественные и количественные изменения элементной базы средств ВТ привели к изменению сложившихся принципов их проектирования (таких, как жесткая структура, последовательное центральное управление, линейная организация памяти и отсутствие возможности адаптации структуры ЭВМ к особенностям решаемой задачи).

На смену классическим фоннеймановским принципам организации вычислительных систем пришли идеи проблемной ориентации МПС, параллельной и конвейерной обработки информации, использование табличных методов обработки данных, принципы регулярности и однородности структур МПС; становится реальной возможностью идея создания адаптивно-перестраиваемых систем, а также аппаратная реализация функций программного обеспечения. Поэтому в настоящее время при проектировании вычислительных систем на основе МПС получил применение так называемый принцип «3М»: модульность, магистральность, микропрограммируемость.

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

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

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

Кроме перечисленных выше основных особенностей проектирования МПС, следует отметить принцип регулярности, который предполагает закономерную повторяемость элементов структуры МПС и связей между ними. Применение данного принципа позволяет увеличить интегральную плотность, уменьшить длину связей на кристалле, сократить время топологического и схемотехнического проектирования БИС и СБИС, уменьшить число пересечений и типов функциональных и конструктивных элементов.

При разработке архитектуры МПС (системный этап) необходимо решить следующие задачи:

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

Определить структуру, номенклатуру и особенности построения программных и микропрограммных средств;

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

Провести анализ функциональной структуры и особенности физической реализации устройств системы с позиции сбалансированности программных, микропрограммных и аппаратурных средств.

Основные этапы проектирования МПС приведены на рис. 3.1.

На начальной стадии проектирования МПС может быть описана на одном из следующих концептуальных уровней: “черный ящик”, структурный, программный, логический, схемный.

На уровне “черного ящика” МПС описывается внешними спецификациями, где перечисляются внешние характеристики.

Рис. 3.1. Этапы проектирования МПС

Структурный уровень создается аппаратными компонентами МПС, которая описывается функциями отдельных устройств, их взаимосвязью и информационными потоками.

Программный уровень разделяется на два подуровня (команд процессора и языковый) и МПС интерпретируется как последовательность операторов или команд, вызывающих то или иное действие над некоторой структурой данных.

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

Схемный уровень базируется на описании работы элементов дискретных устройств.

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

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

Существует также понятие дефекта - физическое изменение параметров компонентов системы, выходящих за допустимые пределы. Дефекты называют сбоями, если они носят временный характер, и отказами, если они постоянны. Дефект не может быть обнаружен до тех пор, пока не будут созданы условия для возникновения из-за него неисправности, результат которой должен быть, в свою очередь, передан на выход исследуемого объекта для того, чтобы сделать неисправность наблюдаемой.

Диагностика неисправности – процесс определения причины появления ошибки по результатам тестирования. Отладка – процесс обнаружения ошибок и определения источников их появления по результатам тестирования при проектировании МПС. Средствами отладки являются приборы, комплексы и программы. Иногда под отладкой понимают обнаружение, локализацию и устранения неисправности. Успех отладки зависит от того, как спроектирована система, предусмотрены ли свойства, делающие ее удобной для отладки, а также от средств, используемых для отладки. Для проведения отладки проектируемая МПС должна обладать свойствами управляемости, наблюдаемости и предсказуемости.

Управляемость – свойство системы, при котором ее поведение поддается управлению, т.е. имеется возможность остановить функционирование системы в определенном состоянии и заново запустить систему.

Наблюдаемость – свойство системы, позволяющее проследить за поведением системы, за сменой ее внутренних состояний.

Предсказуемость – свойство системы, позволяющее установить систему в состояние, из которого все последующие состояния могут быть предсказуемы.

МПС по своей сложности, требованиям и функциям могут значительно отличаться эксплуатационными параметрами, объемом программных средств, типом микропроцессорного набора и т.д. В связи с этим процесс проектирования может видоизменяться в зависимости от требований, предъявляемых к системе. Например, процесс проектирования МПС, отличающихся одна от другой содержанием ПЗУ, будет состоять из разработки программ и изготовления ПЗУ. При проектировании многопроцессорных МПС, содержащих несколько типов МПК, необходимо решать вопросы организации памяти, взаимодействия с процессорами, организации обмена между устройствами системы и внешней средой и т.п.

Наиболее типичными этапами проектирования и разработки МПС являются: формализация требований к системе; разработка структуры и архитектуры МПС; разработка и изготовление аппаратурных средств и программного обеспечения системы; комплексная отладка и приемосдаточные испытания.

Процесс проектирования – итерационный процесс. Неисправности, обнаруженные на этапе приемосдаточных испытаний, могут привести к коррекции спецификации, а следовательно, к началу проектирования всей системы. Обнаруживать неисправности необходимо как можно раньше; для этого надо контролировать корректность проекта на каждом этапе разработки. Существуют следующие методы контроля правильности проектирования: верификация (формальные методы доказательства корректности проекта); моделирование; тестирование.

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

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

Контрольные вопросы

1. Поясните понятия модульности, магистральности и микропрограммируемости МПС при проектировании.

2. Перечислите задачи, решаемые разработчиками при проектировании МПС.

3. Перечислите основные этапы проектирования МПС.

4. Назовите концептуальные уровни описания МПС при проектировании и разработке.

5. Перечислить основные методы контроля правильности проектирования МПС.

6. Какими свойствами должна обладать проектируемая МПС для выполнения этапа ее отладки?

7. Перечислите виды неисправности при проектировании МПС.

8. Назовите причины физической и субъективной неисправностей МПС.

9. Поясните понятия: диагностика неисправности, отладка.

Процессы автоматизации технического оборудования захватили большую часть всей организации производства. Они применяются повсеместно в станках, машинах и механизмах, робототехнических комплексах. Новые технологии существенно повышают производительность труда, уменьшая влияние человеческого фактора на риски при производстве. Также повышается технический уровень и качество продукции. Микропроцессорные системы – в своё время была инновационной технологией. Но сейчас это уже обыденность, ведь приборы, которые выполнены с применением микропроцессоров, имеют более высокие показатели в работе по сравнению с приборами, выполненными на отдельных логических схемах, при экономической выгоде первых.

Стандартизация процесса разработки упрощает анализ и исследования в этой сфере. А также делает наглядным текущее состояние и возможный результат. Современные компании, занимающиеся разработкой встраиваемых микропроцессорных систем используют программируемые логические интегральные схемы (ПЛИС) и системы автоматизированного производства для быстрого и организованного проектирования. При помощи ПЛИС возможна также отладка и тестирование в режиме реального времени. Ежегодное обновление САПР позволяет всё меньше и меньше тратить время на монотонную и односложную работу, при этом, не допуская очевидные ошибки. Это позволяет абстрагироваться на более высокие уровни системы и решение тяжелых задач.

Процесс разработки встраиваемых микропроцессорных систем можно представить в виде двух маршрутов последовательных этапов проектирования. Первый маршрут - разработка аппаратной части встраиваемой микропроцессорной системы. Второй маршрут - проектирование программных средств (рис.1).

Рисунок 1. Этапы проектирования

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

Типичные этапы проектирования микропроцессорных систем включают:

  1. Формализация различных требований к системе. Необходимо составить внешние спецификаций, техническое задание (ТЗ) на систему, заметки образа системы разработчиком в документации, перечисляются функции системы.
  2. Разработка структуры и архитектуры элементов системы. Необходимо определить взаимодействие между аппаратными и программными средствами, функции периферии и программных оболочек, выбрать микропроцессорные решения, на базе которых будет реализована система, определить временные характеристики.
  3. Разработка и изготовление аппаратной части и программного обеспечения системы. Необходимо разработать структуру и принципиальные схемы, изготовить прототип, отладить в условиях базовых режимов работы. Разработка программного обеспечения должна состоять из алгоритмов, написания текста исходных программ, трансляции исходных программ в объектные программы, программной отладки и симуляции.
  4. Общая отладка и приемосдаточные испытания в рабочих условиях.

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

Этап 1. Логическая несогласованность требований, упущения, неточности алгоритма.

Этап 2. Упущения функций, упущение некоторых информационных потоков, несогласованность протокола взаимодействия аппаратуры и программ, неверное определение технических требований, неверный выбор микропроцессорных решений, неточности алгоритмов.

Этап 3. При разработке аппаратуры - упущение некоторых функций, неверная интерпретация технического задания, недоработки в схемах синхронизации, нарушение правил проектирования; при разработке программных средств - упущения некоторых функций технического задания, неточности в алгоритмах, неточности кодирования; при изготовлении прототипа - неисправности комплектующих изделий и периферии, неисправности монтажа и сборки.

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

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

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

Основными методами контроля правильности проектирования являются: верификация, моделирование и тестирование.

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

Контроль корректности достигается на каждом этапе проектирования необходимостью проведения моделирования на различных уровнях абстракций системы и проверки правильности реализованной части модели путем тестирования. Функциональная спецификация может моделироваться и проверяться в опытном порядке для выявления ожидаемого результата. Также может проводиться анализ коллективом экспертов. После утверждения функциональной спецификации начинается разработка функциональных тестов системы, предназначенных для установления правильности функционирования системы в соответствии с ее функциональной спецификацией. Наиболее эффективно разрабатывать тесты, целиком основанные на этой спецификации, поскольку это даёт возможность проверки любой реализации системы, способной выполнять функции, оговоренные в спецификации. Этот способ - аналогичен другим, где тесты строятся применительно к конкретным реализациям, но точнее проводит сопоставление ожидания и результата разработки.

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

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

Таким образом, учитывая нюансы проектирования микропроцессоров можно легко обойти «подводные камни» при разработке. Использование программируемых логических интегральных схем (ПЛИС) облегчает отладку еще не выпущенной партии и позволяет протестировать проект и исправить недочеты. А системы автоматизированного производства (САПР) упрощает разработку, позволяя перераспределить ресурсы более рационально.

Список литературы:

  1. СибГУТИ [Электронный ресурс] / Проектирование микропроцессора на ПЛИС – Режим доступа: http://ict.sibsutis.ru/sites/csc.sibsutis.ru/files/courses/mps/mp.pdf–свободный. – загл. с экрана. – яз. рус. (дата обращения 22.12.2017).
  2. Зотов В. Embedded Development Kit - система проектирования встраиваемых микропроцессорных систем на основе ПЛИС серий FPGA фирмы Xilinx. 2004. № 3.
Поделиться