Микропроцессорные системы. Микропроцессорная техника. Микропроцессоры и микропроцессорные комплекты Функциональные узлы и устройства микропроцессорной техники

Основные определения:

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

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

Быстродействие - это показатель скорости выполнения электронной системой ее функций.

Гибкость - это способность системы подстраиваться под различные задачи.

Избыточность - это показатель степени соответствия возможностей системы решаемой данной системой задаче.

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

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

Характерная особенность традиционной цифровой системы состоит в том, что алгоритмы обработки и хранения информации в ней жестко связаны со схемотехникой системы. То есть изменение этих алгоритмов возможно только путем изменения структуры системы, замены электронных узлов, входящих в систему, и/или связей между ними. Например, если нам нужна дополнительная операция суммирования, то необходимо добавить в структуру системы лишний сумматор. Или если нужна дополнительная функция хранения кода в течение одного такта, то мы должны добавить в структуру еще один регистр. Естественно, это практически невозможно сделать в процессе эксплуатации, обязательно нужен новый производственный цикл проектирования, изготовления, отладки всей системы. Именно поэтому традиционная цифровая система часто называется системой на «жесткой логике».

Рис. 1.1. Электронная система.

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

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

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

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

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

Рис. 1.2. Программируемая (она же универсальная) электронная система.

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

Кроме того, универсальность, как правило, приводит к существенному снижению быстродействия. Оптимизировать универсальную систему так, чтобы каждая новая задача решалась максимально быстро, попросту невозможно. Общее правило таково: чем больше универсальность, гибкость, тем меньше быстродействие. Более того, для универсальных систем не существует таких задач (пусть даже и самых простых), которые бы они решали с максимально возможным быстродействием. За все приходится платить.

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

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

1.1. Что такое микропроцессор?

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

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

Рис. 1.3. Информационные потоки в микропроцессорной системе.

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

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

Для выполнения команд в структуру процессора входят внутренние регистры, арифметико-логическое устройство (АЛУ, ALU - Arithmetic Logic Unit) , мультиплексоры, буферы, регистры и другие узлы. Работа всех узлов синхронизируется общим внешним тактовым сигналом процессора. То есть процессор представляет собой довольно сложное цифровое устройство (рис. 1.4).

Рис. 1.4. Пример структуры простейшего процессора.

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

1.2. Шинная структура связей

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

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

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

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

Рис. 1.6. Шинная структура связей.

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

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

Типичная структура микропроцессорной системы приведена на рис. 1.10. Она включает в себя три основных типа устройств:

процессор;

память, включающую оперативную память (ОЗУ, RAM - Random Access Memory) и постоянную память (ПЗУ, ROM -Read Only Memory), которая служит для хранения данных и программ;

устройства ввода/вывода (УВВ, I/O - Input/Output Devices), служащие для связи микропроцессорной системы с внешними устройствами, для приема (ввода, чтения, Read) входных сигналов и выдачи (вывода, записи, Write) выходных сигналов.

Рис. 1.10. Структура микропроцессорной системы.

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

шина адреса (Address Bus);

шина данных (Data Bus);

шина управления (Control Bus);

шина питания (Power Bus).

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

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

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

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

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

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

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

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

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

1.3. Режимы работы микропроцессорной системы

Как уже отмечалось, микропроцессорная система обеспечивает большую гибкость работы, она способна настраиваться на любую задачу. Гибкость эта обусловлена прежде всего тем, что функции, выполняемые системой, определяются программой (программным обеспечением, software), которую выполняет процессор. Аппаратура (аппаратное обеспечение, hardware) остается неизменной при любой задаче. Записывая в память системы программу, можно заставить микропроцессорную систему выполнять любую задачу, поддерживаемую данной аппаратурой. К тому же шинная организация связей микропроцессорной системы позволяет довольно легко заменять аппаратные модули, например, заменять память на новую большего объема или более высокого быстродействия, добавлять или модернизировать устройства ввода/вывода, наконец, заменять процессор на более мощный. Это также позволяет увеличить гибкость системы, продлить ее жизнь при любом изменении требований к ней.

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

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

программный обмен информацией;

обмен с использованием прерываний (Interrupts);

обмен с использованием прямого доступа к памяти (ПДП, DMA - Direct Memory Access).

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

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

Рис. 1.11. Программный обмен информацией.

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

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

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

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

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

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

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

Во втором случае в режиме прерывания процессор, получив запрос прерывания от внешнего устройства (часто называемый IRQ - Interrupt ReQuest), заканчивает выполнение текущей команды и переходит к программе обработки прерывания. Закончив выполнение программы обработки прерывания, он возвращается к прерванной программе с той точки, где его прервали (рис. 1.12).

Здесь важно то, что вся работа, как и в случае программного режима, осуществляется самим процессором, внешнее событие просто временно отвлекает его. Реакция на внешнее событие по прерыванию в общем случае медленнее, чем при программном режиме. Как и в случае программного обмена, здесь все сигналы на магистрали выставляются процессором, то есть он полностью контролирует магистраль. Для обслуживания прерываний в систему иногда вводится специальный модуль контроллера прерываний, но он в обмене информацией не участвует. Его задача состоит в том, чтобы упростить работу процессора с внешними запросами прерываний. Этот контроллер обычно программно управляется процессором по системной магистрали.

Рис. 1.12. Обслуживание прерывания.

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

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

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

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

Рис. 1.13. Обслуживание ПДП.

Рис. 1.14. Информационные потоки в режиме ПДП.

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

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

1.4. Архитектура микропроцессорных систем

До сих пор мы рассматривали только один тип архитектуры микропроцессорных систем - архитектуру с общей, единой шиной для данных и команд (одношинную, или принстонскую, фон-неймановскую архитектуру). Соответственно, в составе системы в этом случае присутствует одна общая память, как для данных, так и для команд (рис. 1.15).

Рис. 1.15. Архитектура с общей шиной данных и команд.

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

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

Рассмотрим некоторые достоинства и недостатки обоих архитектурных решений.

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

Рис. 1.16. Архитектура с раздельными шинами данных и команд.

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

В чем же преимущество архитектуры с двумя шинами (гарвардской)? В первую очередь, в быстродействии.

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

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

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

1.5. Типы микропроцессорных систем

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

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

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

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

компьютеры (в том числе персональные) - самые мощные и наиболее универсальные микропроцессорные системы.

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

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

Контроллеры, как правило, создаются для решения какой-то отдельной задачи или группы близких задач. Они обычно не имеют возможностей подключения дополнительных узлов и устройств, например, большой памяти, средств ввода/вывода. Их системная шина чаще всего недоступна пользователю. Структура контроллера проста и оптимизирована под максимальное быстродействие. В большинстве случаев выполняемые программы хранятся в постоянной памяти и не меняются. Конструктивно контроллеры выпускаются в одноплатном варианте.

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

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

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

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

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

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

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

План работы

микропроцессор прибор метрологический

Введение

1. Введение в микропроцессорную технику

1.4 Микропроцессорная система

3.2 Логический анализ

3.3 Сигнатурный анализ

Заключение

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

Введение

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

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

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

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

Когда целесообразно применять микропроцессоры?

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

Требуемое для решения задачи число интегральных схем (корпусов) 30 (некоторые специалисты считают, что следует ориентироваться на микропроцессор при 50).

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

Предвидятся дальнейшие развитие измерительной системы, наращивание, расширение ее функций.

Измерительная система должна взаимодействовать с большим числом входных и выходных устройств.

Требуется запоминание группы данных.

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

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

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

Требуются самокалибровка и самодиагностика.

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

Значения погрешностей измерений должны определяться по ходу измерения и отображаться на дисплее прибора.

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

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

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

1.1 Микропроцессор, микропроцессорный комплект, микропроцессорная система

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

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

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

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

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

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

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

Помимо рассмотренных понятий микропроцессора, микропроцессорного комплекта и микропроцессорной системы приведем еще определения микро-ЭВМ и микроконтроллера.

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

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

1.2 Характеристики микропроцессоров

Свойства микропроцессоров могут быть описаны многими характеристиками. К основным из их, которыми пользуются при сопоставлении и выборе микропроцессоров, можно отнести:

Вид микропроцессора (универсальный или специализированный, однокристальный или многокристальный).

Технология изготовления: р-канальная МОП (p-МОП), п-канальная МОП {п-МОП), комплементарная МОП (КМОП), кремний на сапфире, биполярная ТТЛ, ТТЛ с диодами Шотки (ТТЛДШ), иижекционной интегральной логики {И 2 Л), эмиттерно-связанной логики (ЭСЛ). Информация о технологии изготовления дает представление о потреблении энергии и среднем быстродействии микропроцессора.

Разрядность (4; 8; 16; 32) -- длина информационного слова, которое может быть одновременно обработано микропроцессором. Она может быть фиксированной или наращиваемой (у многокристальных микропроцессоров).

Емкость адресуемой памяти. Характеризует возможности микропроцессора по взаимодействию с запоминающим устройством.

Принцип управления: программное управление с «жесткой логикой», микропрограммное управление (хранимая в памяти логика).

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

Мощность потребления.

Питающие напряжения (число уровней, номиналы).

Конструктивные данные: габаритные размеры корпуса, число выводов.

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

Надежность.

Стоимость

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

1.3 Архитектура микропроцессора

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

Архитектуры микропроцессоров во многом сходны с архитектурами процессоров ЭВМ, но имеют и свою специфику.

Множество выпускаемых промышленностью универсальных микропроцессоров можно разделить по конструктивному признаку на две разновидности:

однокристальные микропроцессоры с фиксированной длиной (разрядностью) слова и определенной системой команд;

многокристальные (секционированные) микропроцессоры с наращиваемой разрядностью слова на микропрограммным управлением. Они составляются из двух и более БИС. В последнее время появились и однокристальные микропроцессоры с микропрограммным управлением.

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

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

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

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

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

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

Разрядность внутренней шины данных, т. е. количество передаваемых по ней одновременно (параллельно) битов числа, соответствует разрядности слов, которыми оперирует микропроцессор. Очевидно, что разрядность внутренней и внешней шин данных должна быть одной н той же. У 8-разрядного микропроцессора внутренняя шина состоит из восьми линий, по которым можно передавать последовательно 8-разр"Ядные слова -- байты. Следует иметь в виду, что по шине данных передаются не только обрабатываемые АЛУ слова, но и командная информация. Следовательно, недостаточно высокая разрядность шины данных может ограничить состав (сложность) команд и их число. Поэтому разрядность шины данных относят к важным характеристикам микропроцессора -- она в большой мере определяет его структуру.

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

Мультиплексором называют устройство, которое выбирает данные от одного, двух или более входных информационных каналов и подает эти данные на свой выход (рис. 2 а.)

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

Противоположную мультиплексору функцию выполняет демультиплексор-- устройство, которое подает данные, подводимые к его входу, на один или более выходных информационных каналов (рис. 2,б).

1.4 Микропроцессорная система

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

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

Основная память системы (внешняя по отношению к микропроцессору) состоит из ПЗУ и ОЗУ.

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

Помимо ПЗУ используются также ППЗУ и РППЗУ.

Программируемое постоянное запоминающее устройство (ППЗУ) отличается от ПЗУ тем, что пользователь может самостоятельно запрограммировать ПЗУ (ввести в него программу) с помощью специального устройства -- программатора, но только один раз (после введения программы содержимое памяти уже нельзя изменить).

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

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

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

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

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

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

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

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

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

Рассмотрим назначение и функции каждой из трех шин (на примере 8-разрядного микропроцессора), показанных на рис. 3.

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

Шина адреса (или адресная шина). По ней информация передается только в одном направлении -- от микропроцессора к модулям памяти или ввода-вывода.

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

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

1.5 Управление работой микропроцессорной системы

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

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

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

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

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

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

2. Общие вопросы применения микропроцессоров в измерительных приборах

2.1 Функции, выполняемые микропроцессорами в приборах

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

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

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

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

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

Микропроцессорная система, введенная в состав многофункционального средства измерения, радикально изменила его, преобразовала устройство с жесткой логикой работы в программно-управляемое устройство. Функциональные возможности такого устройства определяются выполняемой программой, и могут быть, легко видоизменены путем перехода к другой программе, хранимой в ПЗУ. Поэтому программируемую логику работы подобных приборов иногда называют «хранимой». Она создает гибкость перестройки, позволяет наращивать функции при модернизации прибора без существенных изменений в его схеме. Применение программируемой логики, как правило, уменьшает стоимость прибора.

Расширение измерительных возможностей приборов.

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

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

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

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

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

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

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

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

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

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

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

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

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

Получение статистических характеристик.

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

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

Повышение надежности приборов.

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

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

Организация измерительных систем.

2.2 Улучшение метрологических характеристик приборов

Общие сведения.

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

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

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

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

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

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

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

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

Компенсация внутренних шумов.

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

2.3 Что осложняет и ограничивает использование микропроцессоров в средствах измерения

Трудности выбора базового микропроцессора. Промышленность уже выпускает много типов микропроцессоров, и число новых разработок лавинообразно нарастает. Нередко говорят о высоких темпах появления новых поколений микропроцессоров. Но, в отличие от ЭВМ, у которых каждое последующее поколение по основным технико-экономическим показателям превосходит предыдущее и обычно вытесняет его, микропроцессоры всех поколений сосуществуют и взаимно дополняют (а не вытесняют) друг друга. Так, например, появление 16- или 32-разрядных микропроцессоров, ничуть не уменьшив роли 8-разрядных микропроцессоров, расширило круг решаемых задач, позволило повысить быстродействие устройств, открыло возможности получения новых свойств разрабатываемых систем. Более того, иногда микропроцессорные комплекты, характеризующиеся одинаковой разрядностью микропроцессора, различаются по быстродействию, емкости запоминающих устройств. Очевидно, что каждый из этих микропроцессорных комплектов может с одинаковым успехом быть использован в «своем» проектируемом приборе в соответствии с решаемой задачей, заданными характеристиками прибора.

Но это еще не все. Дело в том, что появление большого числа типов универсальных микропроцессоров вовсе не уменьшило количества разработок специализированных микропроцессоров, которые рассчитаны на конкретные применения и часто оптимизированы по различным параметрам. Поэтому далеко не всегда поставленные задачи должны решаться с помощью универсального микропроцессора. Нередки ситуации, когда намного эффективнее специализированный микропроцессор. Так, операция перемножения двух однобайтовых чисел универсальным микропроцессором, структура которого предопределяет вычисления по программе сложение со сдвигом», требует значительного времени. Например, микропроцессор, характеризуемый быстродействием 1 млн. регистровых операций в секунду перемножает два однобайтовых числа примерно за 50 мкс (могут быть колебания в зависимости от программы). В то же время специализированные микропроцессоры, выполняемые в однокристальном исполнении, -- матричные перемножители (в отечественной литературе их также называют арифметическими расширителями) -- обладают гораздо более высоким быстродействием: два 8-разрядных числа они перемножают за: интервал времени, не превышающий сотых долей микросекунды. Поэтому в ситуациях, когда необходима высокая скорость перемножения, исключительную ценность представляет специализированный микропроцессор.

Выпускаются большие интегральные схемы, выполняющие быстрое преобразование Фурье, монолитные корреляторы, схемы, представляющие однокристальное сочетание АЦП и микропроцессора, «аналоговый» микропроцессор и т. п.

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

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

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

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

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

высокой стоимостью программного обеспечения, во много раз превышающей аппаратурные затраты;

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

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

2.4 Программируемые мультиметры

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

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

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

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

Одна из возможностей прибора -- косвенное измерение мощности, рассеиваемой на резисторе сопротивления R (рис. 4).

По программе предполагаются измерение падения напряжения U на резисторе и последующее вычисление мощности по известной формуле P = U 2 /R. При выполнении указанной программы прибор фактически представляет собой уже не вольтметр, а измеритель мощности. Характерно то, что эта функция прибора задана программным путем, причем требуются всего 10 шагов программы.

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

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

3.1 Специфика контроля и диагностики

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

В современной электронной технике диагностические процедуры стали очень сложными.

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

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

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

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

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

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

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

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

...

Подобные документы

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

    дипломная работа , добавлен 01.06.2012

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

    реферат , добавлен 10.06.2014

    Техника безопасности и охраны труда на предприятии. Общие сведения о диспетчерском радиолокаторе, его технические характеристики, принцип работы и структура. Устройство и принцип работы прибора передатчик-приемник, электрические параметры ячейки Д2ХК251.

    отчет по практике , добавлен 21.12.2010

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

    контрольная работа , добавлен 12.02.2014

    Экспериментальное определение метрологических характеристик АЦП, их сравнение с паспортными данными и методическими погрешностями АЦП с помощью NI ELVIS и LabVIEW. Преобразование входного аналогового сигнала в дискретный код. Схема измерительной цепи.

    контрольная работа , добавлен 06.12.2013

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

    курсовая работа , добавлен 18.06.2012

    Анализ устройства подсистемы утилизации паров бензина из бензобака в системе "Mono-Motronic" (ПУПБ). Структурная схема информационно-измерительной системы. Определение функции преобразования измерительного канала. Выбор элементов электрической схемы.

    курсовая работа , добавлен 10.01.2013

    Дистанционная передача измерительной информации. Общий вид цилиндрического дифференциально-трансформаторного преобразователя. Изменение взаимоиндуктивности двух систем обмоток при перемещении элемента магнитопровода. Принципиальная схема системы ДТП.

    контрольная работа , добавлен 01.02.2013

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

    контрольная работа , добавлен 11.10.2010

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

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

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

Лекция 12

Микропроцессорная техника

1 Микропроцессоры и микропроцессорные комплекты

1.1 Определение микропроцессора

В начале 70-х годов успехи технологии в микроэлектронике привели к созданию новой элементной базы электроники - микроэлектронных больших интегральных схем (БИС) {модуль 1 глава 1.6.3}. По степени интеграции (количеству активных элементов: диодов и транзисторов) интегральные схемы (ИС) условно подразделяются на ИС малой степени интеграции - до 100 активных элементов, средней степени интеграции (СИС) - до 1000 активных элементов, БИС - свыше 1000 активных элементов, СБИС - свыше 10000 элементов. Выпуск новой БИС при современном уровне автоматизации проектирования - очень сложный и дорогой процесс из-за больших первоначальных затрат на разработку ее логической структуры и топологии, изготовления фотошаблонов и технологической подготовки производства. Это 0,5-1 год работы большого коллектива. Поэтому изготовление БИС экономически оправдано при их выпуске, исчисляемом десятками-сотнями тысяч штук в год. Выпускать специализированные БИС для каждого конкретного применения практически не реально. В результате поиска областей массового применения микросхем с высоким уровнем интеграции их разработчиками была предложена идея создания одной универсальной БИС или некоторого набора БИС, специализация которых для каждого конкретного случая применения достигается не схемно, а программно. Так появились стандартные универсальные элементы - микропроцессорные БИС со структурой, аналогичной структуре ЭВМ.

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

1.2 Технология изготовления МП БИС

Существуют два вида технологии изготовления БИС: биполярная - основанная на применении биполярных транзисторов и МОП (металл - окисел - полупроводник) - технология, основанная на использовании полевых транзисторов.

БИС, изготавливаемые по биполярной технологии, различаются по схематическим способам реализации. В основном применяется транзисторно-транзисторная логика с диодами Шоттки (ТТЛШ) и эмиттерно-связанная логика (ЭСЛ). В логике ТТЛШ используются биполярные n-p-n транзисторы, дополненные диодами Шоттки (ДШ). ДШ представляет собой выпрямительный контакт на границе металл-полупроводник Al-nSi. В металле и кремнии основные носители одного и того же типа - электроны, а неосновных носителей нет. ДШ открываются при U=0,1-0,3 В и имеют крутую вольт-амперную характеристику. Они подключаются параллельно коллекторному переходу n-p-n транзистора и образуют транзистор Шоттки, изготавливаемый в едином технологическом процессе. Применение ДШ значительно повышает быстродействие транзистора, так как устраняется насыщение коллекторного перехода и нет рассасывания зарядов в нем.

В МОП технологии {модуль 1 глава 1.5.5} можно выделить 3 схемотехнических способа реализации БИС: МОП с проводимостью канала р - или n -типа (р -МОП или n -МОП) и комплементарная МОП технология (КМОП). КМОП технология использует пары МОП транзисторов n -типа и р -типа, соединенные последовательно (рис.1-1). При любом сигнале на входе один из транзисторов открыт, другой - закрыт. Поэтому ток, протекающий по цепи, очень мал. КМОП БИС имеют наименьшую потребляемую мощность по сравнению с другими видами.

По МОП технологии первые МП БИС (р-МОП) были изготовлены в 1971 г. В них используется управление р -каналом, где основными носителями зарядов являются дырки. Поэтому быстродействие БИС сравнительно невелико. Позднее появились БИС типа n-МОП и КМОП, которые и сейчас широко применяются.

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

Основные данные для некоторых МП БИС приведены в таблице.1

1.3 Структура микропроцессорных систем

Все многообразие МПС основано на применении МП двух типов:

а) однокристальных МП с фиксированной разрядностью слова и с фиксированной системой команд (с жестким управлением);

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

Рассмотрим особенности их структуры.

1.3.1 Структура МПС на основе МП с жестким управлением

Рис.1-3

Связь отдельных элементов МПС между собой и с внешними устройствами осуществляется с помощью трех шин. Каждая шина представляет собой магистраль, состоящую из нескольких (8-16) линий.

ША - шина адреса, по которой передаются адреса ячеек памяти и внешних устройств;

ШД - шина данных, по которой информация вводится в МП или выводится из него;

ШУ - шина управления, по которой передаются управляющи сигналы, обеспечивающие нормальное функционирование МПС;

МП - центральный элемент, управляющий функционированием всех остальных элементов; обращается ко всем остальным элементам системы, выставляя на ША их адрес;

Г - генератор тактовых импульсов, синхронизирующий работу МП;

ПЗУ - постоянное запоминающее устройство {модуль 2 глава 9.1}, в котором записаны команды программы, выполняемой МП, и константы, необходимые для работы. По ША поступает адрес ячейки памяти, в которой храниться необходимая команда или константа, и по сигналу Чт (чтение) от МП на ШД появляется информация, хранимая в данной ячейке;

ОЗУ - оперативное запоминающее устройство {модуль 2 глава 9.2}, используемое для временного хранения информации в процессе работы МП. В отличие от ПЗУ, в ОЗУ возможно как считывание, так и запись информации (по сигналам Чт и Зап) в ячейку, адрес которой находится на ША. В простейших МПС ОЗУ может отсутствовать, и его роль выполняют внутренние регистры общего назначения (РОН) МП;

ИУ - интерфейсное устройство (устройство связи), согласующее работу МПС и внешних устройств с учетом различий в скоростях их работы и уровнях сигналов. По сигналу Вв (ввод) на ШУ происходит передача информации от внешнего устройства на ШД, а по сигналу Выв (вывод) - в обратном направлении. Шина данных общая для всех элементов МПС, но элементы системы не должны мешать друг другу. Поэтому выход каждого из них подключен к ШД через так называемую схему с 3-мя состояниями. Она может находиться не только в активных состояниях («0» или «1»), что необходимо для передачи информации, но и в третьем состоянии, в котором элемент практически отключается от общей шины. Перевод из третьего состояния в активное осуществляется управляющими сигналами МП. В каждый момент времени к общей ШД оказывается подключенным только один элемент, передающий информацию, и «конфликт» на ШД исключается. Принимать информацию с ШД могут, при необходимости, сразу несколько элементов. Такая организация МПС с помощью общей ШД является вынужденной и обусловлена тем, что число выводов корпусов БИС ограничено, и одни и те же выводы используются для нескольких целей.

1.3.2 Структура МПС на основе МП с микропрограммным управлением

МП с жестким управлением собирается из n отдельных БИС секций центрального процессорного элемента ЦПЭ, каждая из которых обрабатывает 2 (4, 8, 16) разрядов данных. При этим получается центральный процессор, имеющий 2n (или 4n, 8n, 16n) разрядов. ЦПЭ выполняет самые простые действия - микрооперации при подаче на управляющие входы приказов - микрокоманд (МК). Для выполнения команд, аналогичных командам МП с жестким управлением, требуется до 10-15 микроопераций и столько же микрокоманд. Организация команд из имеющихся микрокоманд предоставляется пользователю.

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

2 Микропроцессор

2.1 Структура МП К580ВМ80

Рассматриваемая БИС является однокристальным МП, выполненным на основе n-МОП технологии. Предназначена для построения вычислительных устройств, контроллеров, микро-ЭВМ. Разрядность МП - 8 бит, тактовая частота 2 МГц, время выполнения команды 2-9 мкс, напряжение питания +12,+5 и -5 В, потребляемая мощность 0,75 Вт. На рисунке приведена его структурная схема.

2.1.1 Основные элементы МП

Обмен информацией осуществляется через восьмиразрядный буферный регистр {модуль 2 глава 7} БД, подключенный к внешней и внутренней ШД МП.РК - регистр команды. В него записывается код команды и хранится в течение времени ее выполнения.ДшК - дешифратор команды, выдает сигналы на устройство управления УУ и схему выбора регистров СВР.

СВР - схема выбора регистров. Содержит: 6 программно доступных регистров общего назначения (РОН) B, C, D, E, H, L (существуют команды, в которых они рассматриваются парами B- B,C; D - D,E; H - H,L);2 программно недоступных регистра W и Z, предназначенных для хранения второго и третьего байта команды (первый байт всегда храниться в РК);

М – мультиплексор {модуль 2 глава 5.2}, связывающий внутреннюю ШД с регистрами W, Z;

ПС - 16 разрядный программный счетчик, позволяющий МП выполнять программы, содержащие до 216 = 65536 слов;

УС - 16 разрядный указатель стека {глава 2.1.3};

СИД - схема инкремента-декремента (прибавления или вычитания 1);

БА - 16 разрядный буфер адреса;

А - регистр результата (аккумулятор);

АЛУ - арифметико-логическое устройство, выполняет арифметические операции сложения - вычитания, инкремент - декремент, логические операции конъюнкции, дизъюнкции, инверсии и другие. Оно связано через буферные регистры БР1 и БР2 с аккумулятором и внутренней шиной данных;

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

СДК - схема десятичной коррекции, используется в том случае, когда информация обрабатывается не в двоичном, а в двоично-десятичном коде {модуль 2 глава 3.2};

УУ - устройство управления, обеспечивает управление работой МП и внешних устройств. Рассмотрим его работу и состав шины управления.

2.1.2 Устройство управления

Устройство управления тактируется от внешнего генератора, вырабатывающего последовательность импульсов Ф1 и Ф2. Оно связано с остальной частью МП внутренними управляющими сигналами УС и сигналами признаков Pi. С внешней средой УУ связано шиной управления, содержащей 10 линий (4 сигнала поступают извне и 6 сигналов выдает МП).

Состав шины управления.

1. Начальная установка (сброс). При подаче «1» на этот вход ПС сбрасывается в 0 и начинается выполнение программы сначала.

2. Синхронизация. Сигнал «1» на этом выходе вырабатывается в начале каждого цикла работы МП (перед каждым обращением МП к любому внешнему элементу).

3. Чтение. Сигнал «1» указывает, что МП готов принять информацию по ШД извне. Этот сигнал обычно подключается ко входу «чтение» ЗУ и устройств ввода.

4. /Зп. Сигнал «0» указывает, что МП выставил на шину данных информацию, подлежащую записи в ОЗУ или выдаче на устройства вывода.

5. Готов. Сигнал «1» на этом входе указывает МП на окончание цикла чтения или записи. Он вырабатывается внешними устройствами по окончании цикла их работы. Если сигнал «1» не поступил, то МП входит в состояние ожидания, в течение которого МП удерживает адрес на ША, управляющий сигнал «чтение» или «запись» и сохраняет открытыми цепи передачи информации через БД. Состояние ожидания сохраняется до поступления «1» - «готов». В случае, когда все внешние элементы работают со скоростью МП или большей, на вход «готов» постоянно подключается «1».

6. Ожидание. Сигнал «1» на этом выходе указывает, что МП в состоянии ожидания. Этот сигнал помогает установить неисправный блок, из-за которого МП остановился.

7. З.Пр. - вход запроса на прерывание {глава 7.2.7}. Сигнал «1» поступает извне при необходимости прервать работу МП.

8. Р.Пр. - разрешение прерывания. Сигнал «1» на этом выходе указывает, что прерывания разрешены. Разрешение и запрещение прерывания производится специальными командами.

9. Захват. При поступлении сигнала «1» МП останавливает работу, БА и БД переводятся в третье состояние. При этом МП отключается от ША и ШД.

10. Подтверждение захвата. Сигнал «1» указывает, что МП находится в состоянии захвата.

2.1.3 Магазинная память - стек

При обращении к ячейкам памяти ОЗУ в МПС с процессором К580ВМ80 нужны длинные трехбайтные команды. В первом байте содержится сама команда обращения, а во втором и третьем указывается адрес ячейки памяти. Такая команда выполняется сравнительно долго и при частых обращениях к памяти работа МПС существенно замедляется. Для ускорения работы МПС применяется магазин памяти - стек. Он работает по принципу: первым читается число, записанное последним. Порядок обращения к стеку жесткий, но зато не нужно указывать адрес, и время обращения значительно уменьшается. Стек очень удобен для запоминания промежуточной информации в случае прерывания. Второе его назначение - обеспечение работы с программами. При переходе к подпрограмме содержание РОН пересылается в стек, после выполнения подпрограммы - вызывается из стека в РОН. Стек бывает автономный (встроенный в МП) и внешний (размещенный в ОЗУ). В МП К580ВМ80 используется внешний стек, а в кристалле размещается специальный регистр - указатель стека (УС), в котором хранится адрес первой свободной ячейки стека. Для стека обычно отводятся старшие ячейки памяти ОЗУ. Вначале устанавливается адрес 111 ... 1, при записи адрес декрементируется (А-1), при чтении - инкрементируется (А+1). При работе со стеком на ША выдается содержимое УС, при работе с основной памятью - содержимое РА. 2.2

2.2 Функционирование МП в составе МПС

2.2.1 Алгоритм выполнения команды

При выполнении любой команды цикл работы МП всегда начинается с выборки первого байта команды - кода операции (КОп) в регистр команд {глава 2.1.1}. При этом адрес команды из ПС через БА поступает на ША, УУ вырабатывает сигнал чтения, КОп поступает через БД в РК. ДшК анализирует КОп и, если требуется, МП выбирает 2-й и 3-й байты команды в регистры W и Z соответственно. Адрес последующего байта команды формируется в ПС увеличением его содержимого на 1 с помощью СИД. Затем происходит выполнение команды. В конце производится анализ наличия запросов на прерывание (сигнал ЗПр). Если такой запрос имеется - состояние ПС запоминается и происходит переход к программе обработки прерывания.

2.2.2 Временная диаграмма работы МП

Работа МП происходит под действием двух неперекрывающихся последовательностей тактовых импульсов Ф1и Ф2 (рис.2-2).

Большинство преобразований информации МП производит по Ф2. Временной интервал, в течение которого выполняется одна микрооперация, называется машинным тактом (обозначается Т1, Т2 и т.д.). Машинным циклом (МЦ) называется последовательность тактов, в течение которых осуществляется обмен информацией между МП и внешним по отношению к нему элементом (обозначается М1, М2 и т.д.). МЦ содержит 3-5 тактов. Выполнение команды происходит за 1-5 МЦ. На рисунке 2-3 условно показана последовательность выполнения трех команд, содержащих различное число МЦ. В цикле М1 всегда происходит выборка первого байта команды. Большинство МП являются тактируемыми цифровыми схемами, работающими под воздействием генератора тактовых импульсов (ГТИ). МП К580ВМ80тактируется ГТИ, вырабатывающим две последовательности не перекрывающихся импульсов Ф1 и Ф2 с периодом Ттакт = 0,5 - 2 мкс.

2.2.3 Слово состояния МП

ШД МП не используется в Т1 и начале Т2 для приема и выдачи основной информации. В МП предусмотрены схемы, обеспечивающие выдачу в это время на ШД восьмиразрядного слова состояния (СС). Эти 8 признаков могут использоваться внешними элементами и, в общем случае, позволяют упростить организацию МПС. Слово состояния выдается в начале каждого цикла в такте Т2 во время импульса Ф1 (рис.2-4). Признаки СС характеризуют только данный МЦ. СС выделяется с помощью регистра состояний РС (рис.2-5), в который записывается информация с ШД в момент t, в который одновременно имеются импульсы Ф1 и «Синхр.». МП К580ВМ80 имеет десять типов МЦ и, соответственно, 10 СС, идентифицирующих эти циклы. В таблице 2 приведены СС, соответствующие всем типам МЦ.

Рис.2-4

Рис.2-5

Таблица 2 Слова состояния МП К580ВМ80

Здесь:

MEMR - чтение из памяти;

INP - признак команды ввода (вырабатывается в МЦ3);

М1 - признак МЦ1 (идет выборка КОп, начало выполнения команды);

OUT - признак команды ввода, вырабатывается в МЦ3. Аналогичен сигналу /Зп МП, но появляется несколько раньше и держится в РС до конца цикла;

HLTA - подтверждение останова;

STACK - признак работы со стеком, вырабатывается при обращении к ЗУ по командам работы со стеком, что позволяет иметь 216 ячеек ОЗУ и 216 ячеек стека;

/WO - признак записи или вывода;

INTA - признак начала работы в режиме прерывания.

Например, в команде вывода в трех МЦ выдаются СС № 1,2,7. Использование СС позволяет лучше организовать управление МПС. Для работы с внешними устройствами МП имеет только 2 управляющих сигнала Чт и /Зп, в которых не различаются ПЗУ, ОЗУ и другие внешние устройства. Поэтому приходится использовать некоторые разряды ША для указания конкретного объекта. В СС сигнал MEMR позволяет отделить память от других устройств, что упрощает организацию взаимосвязи отдельных частей МПС.

3 Запоминающие устройства

Запоминающее устройство, или, сокращенно, память служит для хранения цифровой информации.

Память МПС подразделяется на:

программную память, предназначенную для хранения программ и реализованную обычно в виде постоянного запоминающего устройства (ПЗУ);

память данных, или оперативную память (ОЗУ) {модуль 2 глава 9};

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

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

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

Емкость ИС памяти обычно выражается в битах или байтах- т, 1024 байта (или 1 Кбайт), 4 К бита и т.д. Информационная организация (или формат) памяти определяется произведением m (слов) х n (длина слова). Например, ИС с емкостью 1024 бит может иметь огранизацию 1024х1 (1Кх1), 256х4, 128х8. Длина слов памяти (nпам) обычно выбирается равной длине слова (разрядности) центрального процессора МПС nцп. Если nпам< nцп, то применяется несколько корпусов ИС. Например, с помощью 2-х ИС памяти 256х4 можно организовать ЗУ с форматом 256х8.

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

3.1 Постоянная память

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

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

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

Рассмотрим подробнее внутреннюю структуру ПЗУ ПП на примере простейшей ИС К155РЕ3 (рис.3-1), имеющей организацию 32х8. Для адресации 32-х слов имеются 5 адресных входов А0...А4 (т.к. 25=32). Хранимое слово из 8-ми бит образовано многоэмиттерным транзистором, в каждой эмиттерной цепи которого находится плавкая перемычка из нихрома толщиной 200 Ангстрем. Когда дешифратор адреса выбирает определенное слово, то открывается один из многоэмиттерных транзисторов. При наличии перемычки на соответствующей битовой линии устанавливается высокий уровень напряжения и выходной транзистор VT2 также открывается, и потенциал выхода 1 близок к нулю (логический «0»). Если перемычка расплавлена, то соответствующая битовая линия никуда не подключена («плавающая») и транзистор VT2 закрыт (логическая «1»). Выходы ПЗУ ПП представляют собой схемы с открытым коллектором.Для нормальной работы их надо подключить к источнику питания +Ек через резисторы Rн (на рисунке показано пунктиром).

В незапрагроммированной ИС все перемычки целые, транзисторы VT2 открыты во всех словах, на выходах уровни логического «0». Для программирования некоторого бита (состояние которого необходимо изменить с «0» на «1») на линии А0...А4 подаются сигналы нужного адреса и на базе выбранного многоэмиттерного транзистора появляется высокий уровень. Внешней схемой на выходе программируемого бита устанавливается напряжение около 8 В. Этого напряжения достаточно для включения стабилитрона VD1 с порогом около 7 В, что приводит к включению транзистора VT1, и первый вывод перемычки заземляется. Затем напряжение питания многоэмиттерных транзисторов увеличивается до 12 В, и тогда между выводами перемычки приложено напряжение около 5 В. Возникающий ток нагревает и расплавляет перемычку.

В ПЗУ ПП такого типа иногда возможны отказы из-за повторных замыканий разрушенных перемычек. Зазор очень узкий и иногда «заплывает». Для повышения надежности запрограммированные ПЗУ выдерживают в термостате 24 часа при температуре 100oС и повторно проверяют записанную информацию. Если обнаружено «заплывание» перемычек (некоторые записанные «1» превратились в «0»), то их прожигают повторно.

На практике широко применяются ППЗУ, стираемые ультрафиолетовым облучением. Они строятся на МОП-транзисторах, отличающихся от обычных тем, что между затвором и полупроводником (подложкой) помещают еще один «плавающий» затвор, полностью изолированный со всех сторон окислом кремния. Если при записи информации к затворам таких транзисторов приложить положительное напряжение около 25 В и длительностью в несколько десятков миллисекунд, то под его воздействием электроны, перемещаясь в сторону основного затвора, оседают на плавающем затворе. При считывании к затвору прикладывается положительное напряжение не более 5 В. Если на плавающем затворе нет электронов, то канал исток-сток становится проводящим, что соответствует хранению логической единицы. Если на плавающем затворе имеются электроны, то они своим зарядом экранируют затвор и промежуток исток-сток остается непроводящим, что соответствует хранению логического «0». Так как плавающий затвор окружен изолирующим слоем, электроны, попавшие в область плавающего затвора, не могут ее покинуть. В действительности же существует утечка электронов, что приводит к постепенной потере информации. По данным ряда фирм это время составляет не менее 10 лет.

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

К таким ППЗУ относятся широко применяемые ИС К573РФ2 (РФ4,РФ5 и др.).

3.2 Оперативная память

Оперативная память или оперативное запоминающее устройство (ОЗУ) {модуль 2 глава 9.2} применяется для хранения оперативной информации, требующейся в процессе обработки. ОЗУ, в отличие от ПЗУ, позволяет: как вводить информацию в адресуемую ячейку (операция Зп), так и выводить (операция Чт) Так как обращение возможно к любой адресуемой ячейке в произвольном порядке, то такие ЗУ называют запоминающими устройствами с произвольной выборкой (ЗУПВ). Возможны различные способы обмена информацией между ОЗУ и МП. Чаще всего используются запоминающие устройства с произвольной выборкой, позволяющие обращаться по любому адресу в произвольном порядке. Различают статические и динамические ОЗУ.

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

Большинство ЗУПВ изготовляются на основе МОП транзисторов и имеют так называемую матричную организацию. Функциональная схема ЗУПВ 256х1 с матричной организацией типа 16х16 приведена на рисунке (3-2). После дешифрирования младших битов адреса А0-А3 возникает сигнал Xi, подключающий i-ю строку матрицы. Столбец матрицы Yj выбирается дешифратором старших битов адреса А4-А7 и элемент памяти ЭПij подключается к схеме вывода или ввода информации в зависимости от значения сигнала Сч//Зп. При Сч//Зп=1 происходит считывание информации из памяти; при Сч//Зп=0 - запись в память. Разрешающий сигнал ВМ (выбор микросхемы) активизирует данную ИС. При запрещающем значении сигнала ВМ матрица изолирована от выходов дешифратора и шины ввода-вывода.

Статические ЗУПВ могут быть построены на полупроводниковых приборах различного типа. В настоящее время наиболее распространенными являются ИС статической памяти на МОП транзисторах. КМОП запоминающий элемент состоит из 5-ти транзисторов, четыре из которых (VT1-VT4) образуют триггер. Управление триггером для записи и считывания осуществляется с помощью ключа - транзистора VT5 (рис.3-3).

3.3 Подключение ЗУ к шине данных

Так как шина данных (ШД) является общей для многих устройств, то при их одновременной работе неизбежен «конфликт». Необходимо, чтобы в каждый момент времени к ШД было подключено только одно устройство - источник информации. приемников же информации может быть одновременно подключено несколько. Важно лишь, чтобы мощность выхода источника информационных сигналов была достаточной для подключения нескольких приемников. Оперативное подлючение и одключение выхода какого-либо устройства осуществляется с помощью схемы выхода, имеющей 3 возможных состояния: 1, 0 и «отключено». Выход любой ТТЛ ИС упрощенно можно представить в виде двух последовательно включенных транзисторов (см. рис.3-4).

Если транзистор VT1 открыт и закрыт VT2, то на выходе высокий уровень сигнала («1»). Если наоборот: VT2 открыт, VT1 закрыт, то на выходе низкий уровень («0»). Если одновременно закрыты оба транзистора, то выход ИС оказывается отключенным от источника питания и не оказывает никакого влияния на работу других устройств, подключенных к общей шине.

Рис.3-4 Выход с тремя состояниями

4. Интерфейсные устройства

Интерфейсные устройства (ИУ) служат для сопряжения внешних устройств с МПС. Они обычно реализуются в виде одной или нескольких СИС или БИС.

PAGE \* MERGEFORMAT 3


А также другие работы, которые могут Вас заинтересовать

45328. Референдум – понятие, виды правовое регулирование 25.75 KB
Форма прямого волеизъявления граждан РФ по наиболее важным вопросам государственного и местного значения в целях принятия решений осуществляемого посредством голосования граждан РФ обладающих правом на участие в референдуме. Виды референдума в зависимости от территории: 1 всероссийский референдум он проводится по вопросам общефедерального значения на основании решения Президента РФ; 2 референдум субъекта РФ он проводится по вопросам ведения соответствующего субъекта РФ или совместного ведения РФ и субъектов РФ если указанные вопросы не...
45329. Функции Президента Российской Федерации 21 KB
Назначение с согласия Государственной Думы Председателя Правительства РФ других членов Правительства РФ направление его политики и принятие решения об отставке Правительства РФ; 2 представление Государственной Думе кандидатуры на должность Председателя Центрального банка РФ постановление перед ней вопроса об освобождении от должности Председателя Центрального банка РФ; 3 представление Совету Федерации кандидатур для назначения на должности судей Конституционного Суда РФ...
45330. Порядок избрания и освобождения от должности Президента Российской Федерации 23.1 KB
Порядок избрания и освобождения от должности Президента Российской Федерации. Президент Российской Федерации избирается сроком на шесть лет гражданами Российской Федерации на основе всеобщего равного и прямого избирательного права при тайном голосовании. Президентом Российской Федерации может быть избран гражданин Российской Федерации не моложе 35 лет постоянно проживающий в Российской Федерации не менее 10 лет Одно и то же лицо не может занимать должность Президента Российской Федерации более двух сроков подряд. Порядок выборов Президента...
45331. 22.83 KB
ИНСТИТУТ УПОЛНОМОЧЕННОГО ПО ПРАВАМ ЧЕЛОВЕКА В РФ В РФ защитой прав и свобод граждан их соблюдения государственными органами власти органами местного самоуправления и должностными лицами занимается Уполномоченный по правам человека в РФ. В пределах своей компетенции Уполномоченный по правам человека в РФ: 1 рассматривает жалобы граждан РФ и находящихся на территории РФ иностранных граждан и лиц без гражданства; 2 рассматривает жалобы на решения или действия государственных органов органов местного самоуправления должностных лиц...
45332. Государственная Дума Российской Федерации - палата Федерального Собрания Российской Федерации 26.28 KB
Полномочия местного самоуправления это закрепленные федеральным законодательством а также нормативными правовыми актами субъектов Российской Федерации и правовыми актами органов местного самоуправления за населением соответствующих территорий выборными и иными органами местного самоуправления права и обязанности связанные с реализацией задач и функций местного самоуправления на соответствующей территории. Полномочия местного самоуправления реализуются как непосредственно населением городских и сельских поселений других территорий путем...
45333. Конституционно-правовой статус члена Совета Федерации и депутата Государственной Думы 25.69 KB
Конституционно-правовой статус члена Совета Федерации и депутата Государственной Думы Конституционно-правовой статус члена Совета Федерации и депутата Государственной Думы определяется Конституцией РФ ст. О статусе члена Совета Федерации и депутата Государственной Думы Федерального Собрания Российской Федерации. Депутатом Государственной Думы является избранный представитель народа уполномоченный осуществлять в Государственной Думе законодательные и иные полномочия предусмотренные Конституцией РФ и федеральным законом. Срок полномочий...
45334. Система законодательных (представительных) и исполнительных органов государственной власти субъектов Российской Федерации 20.8 KB
Система законодательных представительных и исполнительных органов государственной власти субъектов Российской Федерации устанавливается ими самостоятельно в соответствии с основами конституционного строя Российской Федерации и ФЗ от 06. Об общих принципах организации законодательных представительных и исполнительных органов государственной власти субъектов Российской Федерации.Образование формирование деятельность законодательных представительных и исполнительных органов государственной власти субъектов Российской Федерации их...
45335. Законодательный процесс в РФ 25.93 KB
В составе городского поселения также могут находиться сельские населенные пункты не имеющие статуса сельских поселений в которых местное самоуправление осуществляется населением непосредственно и или через выборные и иные органы местного самоуправления. Городской округ городское поселение которое не входит в состав муниципального района и органы местного самоуправления которого осуществляют полномочия по решению установленных законом вопросов местного значения поселения и вопросов местного значения муниципального района а также могут...
45336. Подходы к построению систем искусственного интеллекта 33 KB
Структурный подход Под структурным подходом подразумевается попытки построить искусственный интеллект путём моделирования структуры человеческого мозга. Основной моделируемой структурной единицей в персептронах как и в большинстве других вариантов моделирования мозга является нейрон. Позднее возникли и другие модели которые обычно называют нейронные сети. Эти модели различаются по строению отдельных нейронов по топологии связей между ними и по алгоритмам обучения.

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

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

Основная память системы (внешняя по отношению к микропроцессору) состоит из ПЗУ и ОЗУ.

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

Помимо ПЗУ используются также ППЗУ и РППЗУ.

Программируемое постоянное запоминающее устройство (ППЗУ) отличается от ПЗУ тем, что пользователь может самостоятельно запрограммировать ПЗУ (ввести в него программу) с помощью специального устройства -- программатора, но только один раз (после введения программы содержимое памяти уже нельзя изменить).

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

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

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

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

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

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

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

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

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

Рассмотрим назначение и функции каждой из трех шин (на примере 8-разрядного микропроцессора), показанных на рис. 3.

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

Шина адреса (или адресная шина). По ней информация передается только в одном направлении -- от микропроцессора к модулям памяти или ввода-вывода.

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

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

6.3.3. Программирование учебных задач

Начнем программирование учебных задач с написания программы, которая считывает состояние кнопки SB1 и выводит его на светодиодный индикатор VD2 так, что не нажатому состоянию кнопки (высокому уровню сигнала на входе RA4 ) соответствует светящееся состояние светодиода, и наоборот.

Листинг 12.2. (html , txt )

Листинг 12.2. (html , txt )

;основная программа

LOOP

CALL SB1_VD2 ;вызов подпрограммы SB1_VD2

;повторения процесса

GET_RA ;подпрограмма чтения состояния

;порта A

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

;VD2 состояния кнопки SB1 (разряда 4

;регистра TEMPA)

GOTO P0 ;перейти на P0

;TEMPA,4=0 (кнопка нажата)

GOTO P1 ;перейти на P1

BCF VD2 ;погасить светодиод

RETURN

Листинг 12.2.

Основная программа содержит замкнутый цикл LOOP – GOTO LOOP , необходимый для периодического повторения цикла контроля состояния кнопки и вывода его на индикатор. Команда CLRWDT исключает влияние возможного сброса по переполнению сторожевого таймера на работу программы. Две следующие команды осуществляют вызов подпрограмм GET_RA и SB1_VD2 . Первая из них (GET_RA ) вначале считывает текущее состояние порта A , которое помещается в рабочий регистр W . Поскольку рабочий регистр может потребоваться при исполнении других команд, его состояние записывается в регистр TEMPA , используемый здесь для временного хранения состояния порта A . Таким образом, после возврата из подпрограммы GET_RA в разряде 4 регистра TEMPA содержится информация о состоянии кнопки SB1 : "1" – не нажата, "0" – нажата.

Подпрограмма SB1_VD2 TEMPA и, в зависимости от него, зажигает или гасит светодиод. В системе команд МК PIC16F84 нет команд условного перехода, поэтому для организации проверки того или иного условия используются команды, позволяющие пропустить выполнение следующей команды программы, в зависимости от состояния определенного бита в заданном регистре (BTFSS и BTFSC ). В частности, команда BTFSS TEMP,4 пропускает исполнение команды GOTO P0 , если TEMP,4 = 1 (кнопка не нажата). Тем самым реализуется команда BSF VD2 , которая зажигает светодиод VD2 . Затем анализируется условие TEMP,4 = 0 (кнопка нажата) и, если оно имеет место, светодиод гасится.

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

Рассмотрим более сложный вариант программы, предусматривающий зажигание светодиода VD2 только при следующем состоянии тумблеров и кнопок макета: SA1 = 1 , SA2 = 1 , SB1 = 1 и SB2 = 0 .

Листинг 12.3. (html , txt )

Листинг 12.3. (html , txt )

;основная программа

LOOP

CLRWDT ;сброс сторожевого таймера

CALL GET_RA ; вызов подпрограммы GET_RA

CALL GET_RB ; вызов подпрограммы GET_RB

CALL ZAG_1110 ; вызов подпрограммы ZAG_1110

GOTO LOOP ;переход к метке LOOP для

;повторения процесса

GET_RB ;подпрограмма чтения состояния

;порта B

MOVF PORTB,W ;чтение состояния порта B в W

MOVWF TEMPB ;пересылка W в TEMPB

RETURN

ZAG_1110 ;зажигает светодиод VD2 только при

;следующем состоянии тумблеров и

;кнопок макета:

;SA1 = SA2 = SB1 = 1 и SB2 = 0

BTFSS TEMPA,2 ;пропустить команду, если

GOTO P0 ;TEMPA,2=1

BTFSS TEMPA,3 ;пропустить команду, если

GOTO P0 ;TEMPA,3=1

BTFSS TEMPA,4 ;пропустить команду, если

GOTO P0 ;TEMPA,4=1

BTFSC TEMPB,0 ;пропустить команду, если

GOTO P0 ;TEMPB,0=0

BSF VD2 ;зажечь светодиод VD2

GOTO P1

BCF VD2 ;погасить светодиод VD2

RETURN

INCLUDE GET_RA.ASM

Листинг 12.3.

Подпрограммы GET_RA и GET_RB помещают в регистры TEMPA и TEMPB текущие состояния портов A и B , соответственно. Подпрограмма ZAG_1110 анализирует состояния разрядов 2,3 и 4 регистра TEMPA и разряда 0 регистра TEMPB , и при условии TEMPA,2,3,4 = 1,1,1 и TEMPB,0 = 0 , зажигает светодиод VD2 . При невыполнении хотя бы одного из этих условий светодиод гасится.

Использование директивы INCLUDE GET_PORTA.ASM позволяет включать уже отлаженные модули подпрограмм в текущую программу. Для того чтобы этой возможностью можно было воспользоваться, необходимо сохранять отлаженные модули в виде отдельных ассемблерных файлов.

Попробуем теперь использовать семисегментный индикатор для контроля состояния тумблеров макета. Вначале напишем программу, которая выводит на индикатор HL семисегментное изображение любого двоичного числа от 0b до 1111b в шестнадцатиричном представлении.

Листинг 12.4. (html , txt )

Листинг 12.4. (html , txt )

;основная программа

LOOP

CLRWDT ;сброс сторожевого таймера

MOVLW 0x0A ;пересылка константы 0A в W

GOTO LOOP ;переход к метке LOOP для

;повторения процесса

SEV_SEG ;подпрограмма обслуживания

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

ANDLW 0x0F ;маскирование 4-х младших разрядов

;W и обнуление 4-х старших

ADDWF PCL,F ;сложение W с PCL и пересылка

;результата в PCL

RETLW 0x80 ;возврат из подпрограммы с 80 в W

RETLW 0xF2 ;возврат из подпрограммы с F2 в W

RETLW 0x48 ;возврат из подпрограммы с 48 в W

RETLW 0x60 ;возврат из подпрограммы с 60 в W

RETLW 0x32 ;возврат из подпрограммы с 32 в W

RETLW 0x25 ;возврат из подпрограммы с 25 в W

RETLW 0x04 ;возврат из подпрограммы с 04 в W

RETLW 0xF0 ;возврат из подпрограммы с F0 в W

RETLW 0x00 ;возврат из подпрограммы с 00 в W

RETLW 0x20 ;возврат из подпрограммы с 20 в W

RETLW 0x10 ;возврат из подпрограммы с 10 в W

RETLW 0x06 ;возврат из подпрограммы с 06 в W

RETLW 0x8C ;возврат из подпрограммы с 8C в W

RETLW 0x42 ;возврат из подпрограммы с 42 в W

RETLW 0x0C ;возврат из подпрограммы с 0C в W

RETLW 0x1C ;возврат из подпрограммы с 1C в W

Листинг 12.4.

Программа начинает свою работу с пересылки константы 0x0A в рабочий регистр W . Затем производится вызов подпрограммы обслуживания семисегментного индикатора SEV_SEG . Работа подпрограммы SEV_SEG начинается с маскирования 4-х младших разрядов W и обнуления 4-х старших. Тем самым из анализа исключаются старшие разряды передаваемого из рабочего регистра W числа. Затем маскированное содержимое регистра W добавляется к текущему состоянию младшего байта счетчика команд PCL , и результат помещается в PCL . Таким образом, производится дополнительное смещение счетчика команд на величину, которая была передана в рабочем регистре. Например, если было W=0 , то содержимое счетчика команд не изменится, и будет выполнена следующая команда RETLW 0x80 0x80 = B"1000000" в регистр W . Если, как было в при веденной программе, W=0A , то к содержимому PCL будет добавлено число 0x0A , и произойдет дополнительное смещение на 10 шагов. В результате будет выполнена команда RETLW 0x10 , которая вызовет возврат из подпрограммы с записью 0x10 = B"0001000" в регистр W .

После возврата из подпрограммы производится пересылка W в PORTB и отображение его состояния на семисегментном индикаторе HL . В частности, если W = 0 , то при выводе 1000000b на порт B семисегментный индикатор покажет 0 , а при W = A покажет A .Таким образом, может быть отображено любое 4-разрядное двоичное число.

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

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

Листинг 12.5. (html , txt )

Листинг 12.5. (html , txt )

;основная программа

LOOP

CLRWDT ;сброс сторожевого таймера

CALL GET_RA ; вызов подпрограммы GET_RA

RRF TEMPA,F ;сдвиг вправо на один разряд

;через перенос

RRF TEMPA,W ;сдвиг вправо на один разряд

;через перенос

ANDLW 0x03 ;маска на два младших разряда

CALL SEV_SEG ; вызов подпрограммы SEVEN_SEG

MOVWF PORTB ; пересылка W в PORTB

GOTO LOOP ;переход к метке LOOP для

;повторения процесса

INCLUDE GET_RA.ASM

INCLUDE SEV_SEG.ASM

Листинг 12.5.

Подпрограмма GET_RA помещает в регистр TEMPA текущее состояние порта A . Таким образом, в разрядах 2 и 3 регистра TEMPA хранится текущее состояние тумблеров SA1 и SA2 . Для того чтобы биты состояния тумблеров заняли позиции 0 и 1 регистра TEMPA , производится два сдвига вправо через перенос, причем результат второго сдвига помещается в регистр W . Затем накладывается маска на два младших разряда рабочего регистра и производится вызов подпрограммы SEV_SEG . После выхода из подпрограммы результат подается на порт B и отображается на индикаторе.

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

Листинг 12.6. (html , txt )

Листинг 12.6. (html , txt )

;основная программа

MOVLW 0xL ;пересылка константы H"L" в W

CALL DELAY ;вызов подпрограммы DELAY

DELAY ;подпрограмма формирования

;задержки времени

LOOPD

RETURN ;возврат из подпрограммы

Листинг 12.6.

Основная программа производит вызов подпрограммы DELAY с некоторой константой L в рабочем регистре W , определяющей число внутренних циклов подпрограммы. Подпрограмма DELAY начинает свою работу с загрузки содержимого рабочего регистра в регистр пользователя COUNT1 . Команда DECFSZ COUNT1,F уменьшает на единицу содержимое регистра COUNT1 и проверяет его на равенство нулю. Нулевое состояние регистра COUNT1 приводит к выходу из цикла и возврату из подпрограммы. Для исполнения каждого внутреннего цикла требуется три машинных цикла МК (1 цикл на исполнение команды DECFSZ при ненулевом результате и 2 цикла на каждую команду GOTO ). Выход из подпрограммы DELAY потребует 4-х циклов (2 цикла на исполнение команды DECFSZ при нулевом результате и 2 цикла на RETURN ). Если добавить к этому еще 4 цикла, необходимых для загрузки константы в рабочий регистр, вызова подпрограммы и загрузки регистра пользователя COUNT1 , то общее время исполнения подпрограммы DELAY (задержка) составит

TD = 4 + 3*(L – 1) + 4 = 5 + 3*L циклов,

где L – константа, переданная через рабочий регистр в подпрограмму DELAY .

L = H"00" = .0 максимальный формируемый интервал времени составит 1,55 мс. Такой результат связан с тем, что команда DECFSZ сначала декрементирует содержимое регистра (H"00" – 1 = H"FF" ), а затем уже анализирует результат.

Минимальный формируемый интервал времени составит при тех же условиях 5 циклов или 10 мкс. Для получения такого интервала необходимо перед вызовом подпрограммы DELAY загрузить в рабочий регистр число 0x01 .

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

Листинг 12.7. (html , txt )

Листинг 12.7. (html , txt )

DELAY_C ;подпрограмма формирования

;задержки времени (вариант C)

LOOPD

NOP ;пустая команда

GOTO LOOPD ;повторение цикла H"L" раз

RETURN ;возврат из подпрограммы

Листинг 12.7.

Общее время исполнения подпрограммы DELAY_C , включая ее вызов, составит

TD = 4 + 4*(L – 1) + 4 = 4 + 4*L циклов.

При тактовой частоте fosc = 2МГц и загрузке константы L = H'F9' = .249 формируемый интервал времени составит ровно 2 мс. Уменьшение константы на единицу уменьшает формируемый временной интервал на 8 мкс. В частности, при L = .124 образуется задержка в 1 мс.

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

Листинг 12.8. (html , txt )

Листинг 12.8. (html , txt )

;основная программа

MOVLW 0xL ;пересылка константы H'L' в W

CALL DELAY_D ;вызов подпрограммы DELAY_D

DELAY_D ;подпрограмма формирования

;большой задержки времени (вариант D)

LOOPD

CLRWDT ;сброс сторожевого таймера

RETURN ;возврат из подпрограммы

Листинг 12.8.

DELAY_D составляет 3*256 + 4

TD = 5 + (3*256 + 4)*L циклов.

При тактовой частоте fosc = 2МГц время цикла равно tц = 2 мкс, поэтому при загрузке L = H'00' = .0 максимальный формируемый интервал времени составит около 0,4 с.

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

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

Листинг 12.9. (html , txt )

Листинг 12.9. (html , txt )

DELAY_E ;подпрограмма формирования

;большой задержки времени (вариант E)

CLRF COUNT1 ;сброс содержимого регистра COUNT1

LOOPD

NOP ;пустая команда

GOTO LOOPD ;повторение цикла 256 раз

CLRWDT ;сброс сторожевого таймера

GOTO LOOPD ;повторение цикла H'L' раз

RETURN ;возврат из подпрограммы

Листинг 12.9.

Время исполнения внутреннего цикла подпрограммы DELAY_E составляет 4*256 + 4 машинных циклов МК, поэтому общая задержка составит

TD = 5 + (4*256 + 4)*L циклов.

При тактовой частоте fosc = 2МГц и при загрузке L = H'F3' = .243 формируемый интервал времени составит около 0,5 с при погрешности не более 0,2%. Если необходима более высокая точность, можно вставить необходимое количество пустых операций во внешний цикл формирования задержки.

Рассмотрим далее несколько программ с использованием подпрограмм формирования задержки времени. Начнем с написания программы, которая подает звуковой сигнал на динамик BA1 при нажатии на кнопку SB1 . Динамик будет звучать только в том случае, если на выход RA0 будет подан периодически изменяющийся сигнал. Для того чтобы звук был хорошо слышен, его частота должна находиться вблизи максимума слышимости человеческого уха. Выберем частоту звучания равной 1 КГц, что соответствует периоду следования импульсов сигнала 1 мс.

Листинг 12.10. (html , txt )

Листинг 12.10. (html , txt )

;основная программа

LOOP

CLRWDT ;сброс сторожевого таймера

CALL GET _ RA ;вызов подпрограммы GET _ PORTA

CALL SB1_BA1 ;вызов подпрограммы SB1_BA1

GOTO LOOP ;переход к метке LOOP для

;повторения процесса

SB1_BA1 ;подпрограмма подачи звука на

;динамик BA1 при нажатии на кнопку

;SB1

BTFSC TEMPA,4 ;пропустить команду, если

;TEMPA,4=0 (кнопка нажата)

GOTO B0 ;перейти на B0

BSF BA1 ;подача высокого уровня на RA0

;H'3E' = .62 в W

BCF BA1 ;подача низкого уровня на RA0

MOVLW 0x3E ;пересылка константы

;H'3E' = .62 в W

CALL DELAY_C ;вызов подпрограммы DELAY_C

RETURN

INCLUDE GET_RA.ASM

INCLUDE DELAY_C.ASM

Листинг 12.10.

Как и раньше, подпрограмма GET_RA считывает текущее состояние порта A, которое затем передается в регистр TEMPA . Подпрограмма SB1_BA1 анализирует состояние разряда 4 регистра TEMPA и, в зависимости от результата, озвучивает динамик BA1 или нет. Необходимая выдержка линии RA0 в единичном и нулевом состояниях обеспечивается подпрограммой DELAY_C с параметром L = H'3E' = .62 . Это соответствует времени задержки около 0,5 мс, что и дает в результате необходимую частоту следования сигнала 1 Кгц.

Рассмотрим далее программу, которая заставляет мигать светодиод VD2 при нажатии на кнопку SB1 . Для того чтобы мигания были хорошо видны, выберем их частоту равной 1 Гц.

Листинг 12.11. (html , txt )

Листинг 12.11. (html , txt )

;основная программа

LOOP

CLRWDT ;сброс сторожевого таймера

CALL GET_RA ; вызов подпрограммы GET_RA

CALL SB1_VD2M ;вызов подпрограммы

;SB1_VD2M

GOTO LOOP ;переход к метке LOOP для

;повторения процесса

SB1_VD2M ;подпрограмма мигания светодиода

;VD2 при нажатии на кнопку SB1

BTFSC TEMPA,4 ;пропустить команду, если

;TEMPA,4=0 (кнопка нажата)

GOTO V0 ;перейти на V0

BSF VD2 ;зажечь светодиод VD2

;H'F3' = .243 в W

BCF VD2 ;погасить светодиод

MOVLW 0xF3 ;пересылка константы

;H'F3' = .243 в W

CALL DELAY_E ;вызов подпрограммы DELAY_E

BTFSS TEMPA,4 ;пропустить команду, если

;TEMPA,4=1 (кнопка не нажата)

GOTO V1 ;перейти на V1

BCF VD2 ;погасить светодиод

RETURN

INCLUDE GET_RA.ASM

INCLUDE DELAY_E.ASM

Листинг 12.11.

Программа работает почти так же, как и предыдущая. Первое отличие заключается в том, что светодиод принудительно гасится при не нажатой кнопке. Второе отличие заключается в величине интервала времени, который составляет здесь 0,5 с и формируется подпрограммой DELAY_E .

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

Аппаратные способы борьбы с "дребезгом" контактов основаны на использовании RS-триггеров, одновибраторов или триггеров Шмитта. В устройствах на основе МК подавление "дребезга" контактов обычно осуществляется программными способами, которые основаны на повторном считывании состояния линии порта через определенное время.

В качестве примера рассмотрим "бездребезговый" вариант подпрограммы чтения состояния порта A .

Листинг 12.12. (html , txt )

Листинг 12.12. (html , txt )

GET_RAD ;подпрограмма чтения состояния

;порта A в регистр TEMPA

;с подавлением "дребезжания"

MOVF PORTA,W ;чтение состояния порта A в W

ANDLW 0x1C ;наложение маски b'00011100'

;на неиспользуемые биты W

MOVWF TEMPA ;пересылка W в TEMPA

CLRWDT ;сброс сторожевого таймера WDT

MOVLW 0x0A ;пересылка константы

;H'0A' = .10 в W

CALL DELAY_E ; вызов подпрограммы DELAY_E

MOVF PORTA,W ;чтение состояния порта A в W

ANDLW 0x1C ;наложение на W маски b'00011100'

SUBWF TEMPA,W ;вычитание W из TEMPA

BTFSS Z ;пропустить команду, если результат

;нулевой

GOTO DD ;перейти на метку DD

RETURN

INCLUDE DELAY_E.ASM

Листинг 12.12.

Суть работы подпрограммы заключается в повторном чтении состояния порта A спустя некоторое время после предыдущего и сравнении его с прежним значением. Константа H'0A' = .10 , пересылаемая в регистр W перед вызовом подпрограммы DELAY_E , обеспечивает значение задержки времени около 20 мс - этого, как правило, достаточно для завершения переходных процессов при переключении механических коммутаторов. Маскирование неиспользуемых разрядов порта повышает надежность работы подпрограммы. Сброс сторожевого таймера перед вызовом подпрограммы задержки нужен для исключения сброса МК между двумя процедурами опроса порта A .

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

Листинг 12.13. (html , txt )

Листинг 12.13. (html , txt )

;основная программа

CLRF COUNT3 ;сброс счетчика нажатий

LOOP

CLRWDT ;сброс сторожевого таймера

CALL GET_RAD ;вызов подпрограммы GET_RAD

BTFSC TEMPA,4 ;проверка нажатия SB1

GOTO LOOP ;если не нажата – возврат

;на метку LOOP

INCF COUNT3,F ;инкремент счетчика

MOVF COUNT3,W ;пересылка содержимого

;счетчика в рабочий регистр

CALL SEV_SEG ;вызов подпрограммы SEV_SEG

MOVWF PORTB ;пересылка W в PORTB

TEST

CALL GET_RAD ; вызов подпрограммы GET_RAD

BTFSS TEMPA,4 ;проверка нажатия SB1

GOTO TEST ;если еще нажата – возврат

;на метку TEST

GOTO LOOP ;возврат на метку LOOP

INCLUDE GET_RAD.ASM

INCLUDE SEV_SEG.ASM

Листинг 12.13.

Приведенные в главе программы не охватывают и малой доли возможностей, которые предоставляет даже такой простой макет, как изображенный на рис. 6.3 . Однако их освоение, надеюсь, будет полезным для начинающих пользователей PIC-контроллеров.