Основы микропроцессорной техники для чайников. Микропроцессорная техника: характеристики, функции и применение. Применение микропроцессорной техники

Основные понятия цифровой техники.

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

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

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

Наличие ограниченного набора четко сформулированных задач;

Требования оптимизации структуры системы для конкретного применения;

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

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

Существенное различие функциональных задач;

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

Сложные условия эксплуатации;

Обеспечение автоматического режима работы или режима с участием оператора как элемента системы.

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

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

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

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

Информация, вложенная и зафиксированная в некоторой материальной форме, называется сообщением. Сообщения делятся на:

Непрерывные (аналоговые);

Дискретные (цифровые).

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

Основным примером непрерывного сообщения является аналоговый сигнал, это сигнал, величина которого непрерывно изменяется во времени.

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

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

Основным примером дискретного сообщения является логический (цифровой) сигнал (1/0) или (+/-). Процесс изменения напряжения от низкого уровня (-) к высокому (+), называется фронтом сигнала (положительным перепадом, положительным фронтом), а обратный процесс - спадом (отрицательным перепадом, отрицательным фронтом).

Использование аналоговых и дискретных сигналов

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

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

Последовательный и параллельный способ представления информации

Цифровая информация может быть представлена последовательным и параллельными кодами.

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

Такт (clock tick) - промежуток времени, между последовательными сигналами синхронизации.

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

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

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

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

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

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

Микропроцессор включает в себя:

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

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

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

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

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

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

Регистр адреса стека, в котором записан адрес последний занятой под стек ячейки памяти;

Блок управления шинами микропроцессорной системы, схемы формирующей сигналы на внешних шинах микропроцессора и, тем самым, управляющей микропроцессорной системой;

Блок дешифрирования кодов команд.

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

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

ПЗУ - служит для выдачи констант, необходимых при обработке данных в АЛУ.

КЭШ память - хранит внутри МП копии тех команд операндов и данных, к которым производились последние обращения МП. Если МП необходимо считать данные, имеющиеся в КЭШ, то она их представляет, и нет необходимости обращаться к внешней памяти. В КЭШ помещаются результаты вычислений.

ША, ШД, ШУ (адреса, данных, управления) - группы линий, по которым передается однотипная информация.

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

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

Основные характеристики микропроцессора

Микропроцессор характеризуется:

1) тактовой частотой , определяющей максимальное время выполнения переключения элементов;

2) разрядностью , т.е. максимальным числом одновременно обрабатываемых двоичных разрядов.

3) архитектурой

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

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

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

Архитектуры микропроцессора - RISC и CISC

Основные черты CISC-концепции:

Ранее других появились процессоры CISC. Термин CISC означает сложную систему команд и является аббревиатурой английского определения Complex Instruction Set Computer. Благодаря этому процессоры выполняют самые разнообразные задачи обработки данных.

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

Примеры CISC-процессоров - семейство Motorola 680x0 и процессоры фирмы Intel от 8086 до Pentium II. Наиболее известные микроконтроллеры с CISC-архитектурой фирм Zilog, Intel, Motololla, Siemens.

Основные черты RISC-концепции:

Со временем стало необходимо повысить скорость работы процессоров. Одним из путей к этому стал процессор RISC, который характеризуется сокращенным набором быстро выполняемых команд и происходит от английского Reduced Instruction Set Computer.

Одинаковая длина команд;

Одинаковый формат команд - код команды регистр-приемник два регистра-источника;

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

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

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

Конвейер(ы);

Выполнение команды не дольше, чем за один такт;

Простая адресация.

RISC-концепция предоставляет компилятору большие возможности по оптимизации кода. Наиболее известные микроконтроллеры с RISC-архитектурой это семейства AT90S, ATMega, ARM фирмы Atmel, микроконтроллеры фирм PIC, Scenix, Holtek.

Сравнение архитектур

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

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

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

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

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

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

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

Выделяют два основных типа памяти:

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

В современных микропроцессорах память ОЗУ представляет собой многоуровневую систему, в которой выделяют уровни сверхоперативной памяти (СОЗУ), ОЗУ, буферной памяти (БЗУ) и внешней памяти (ВЗУ).

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

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

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

- ПЗУ - постоянное запоминающее устройство, предназначенное

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

Основные характеристики полупроводниковой памяти

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

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

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

Временные характеристики памяти.

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

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

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

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

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

Типы микросхем постоянных запоминающих устройств (ПЗУ)

Существуют следующие основные типы ПЗУ:

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

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

Перепрограммируемые ПЗУ с электрической записью информации

и стиранием ультрафиолетовым излучением (УФППЗУ ) - основа ячейки памяти микросхемы данного типа – МОП - транзистор с полностью изолированным «плавающим» затвором, при программировании окисел пробивается и на затворе накапливается заряд, который сохраняется там пока микросхема не будет подвергнута УФ-облучению, под его действием окисел становится проводящим; сопротивление канала транзистора зависит от заряда на затворе и будет определять бит, записанный в ячейку;

Электрически стираемые ПЗУ(ЕЕPRОМ ) устроены аналогично УФППЗУ, но стирание происходит, как и запись, при подаче импульсов напряжения; это самый дорогой, но и самый удобный тип ПЗУ.

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

Типы микросхем ОЗУ

Существует два типа микросхем ОЗУ:

Статические ОЗУ, в которых основой запоминающей ячейки служит триггер;

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

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

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

Основными направлениями совершенствования ОЗУ является разработка:

Квазистатических ОЗУ - динамических «внутри», но со встроенной автономной схемой регенерации;

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

Буферная память

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

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

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

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

АЦП и ЦАП

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

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

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

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

Основные типы АЦП:

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

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

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

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

Двойного интегрирования (dual-slope) - в каждом такте преобразования входной сигнал заряжает конденсатор, который затем разряжается на источник опорного напряжения с измерением длительности разряда.

Следящие - вариант АЦП последовательного счета, при котором генератор эталонного напряжения не перезапускается в каждом такте, а изменяет его от предыдущего значения до текущего. Наиболее популярным вариантом следящего АЦП является Sigma-Delta, работающий на частоте, значительно (в 64 и более раз) превышающей частоту дискретизации выходного цифрового сигнала. Компаратор такого АЦП выдает значения пониженной разрядности (обычно однобитовые -0/1), сумма которых на интервале дискретизации пропорциональна величине отсчета. Последовательность малоразрядных значений подвергается цифровой фильтрации и понижению частоты следования (decimation), в результате чего получается серия отсчетов с заданной разрядностью и частотой дискретизации.

Основные типы ЦАП:

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

Sigma-Delta, по принципу действия обратные АЦП этого же типа.

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

Типы ЦАП, выдающих истинно одноразрядный поток, называют

bitstream (поток битов) или PDM (Pulse Density Modulation - модуляция плотностью импульсов). Несколько другой тип представляют ЦАП с широтно-импульсной модуляцией (ШИМ, Pulse Width Modulation, PWM),когда на схему выборки-хранения аналогового сигнала выдаются импульсы постоянной амплитуды и переменной длительности, управляя дозированием выдаваемого на выход заряда.

Параметры АЦП

При последовательном возрастании значений входного аналогового сигнала Uвх(t) от 0 до величины, соответствующей полной шкале АЦП Uпш выходной цифровой сигнал D(t) образует ступенчатую кусочно-постоянную линию. Такую зависимость по аналогии с ЦАП называют обычно характеристикой преобразования АЦП. В отсутствие аппаратных погрешностей средние точки ступенек расположены на идеальной прямой 1 (рис. 1),которой соответствует идеальная характеристика преобразования. Для количественной оценки отличий реальной характеристики от идеальной используются следующие параметры:

Рис 1. Статическая характеристика преобразования АЦП

Статические параметры

Разрешающая способность - величина, обратная максимальному

числу кодовых комбинаций на выходе АЦП. Разрешающая способность выражается в процентах, разрядах или децибелах. Например, 12-разрядный АЦП имеет разрешающую способность 1/4096, или 0,0245% от полной шкалы, или -72,2 дБ.

Разрешающей способности соответствует шаг квантования, номинальное значение шага квантования h=Uпш/(2N-1), где Uпш номинальное максимальное входное напряжение АЦП (опорное напряжение), соответствующее максимальному значению выходного кода, N - разрядность АЦП.

Погрешность полной шкалы-

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

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

Нелинейность - максимальное отклонение реальной характеристики преобразования D(Uвх) от оптимальной (линия 2 на рис. 24). Оптимальная характеристика находится эмпирически так, чтобы минимизировать значение погрешности нелинейности.

Дифференциальной нелинейностью АЦП в данной точке k характеристики преобразования называется разность между значением кванта преобразования hk и средним значением кванта преобразования h. В спецификациях на конкретные АЦП значения дифференциальной нелинейности выражаются в долях ЕМР или процентах от полной шкалы.

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

Монотонность характеристики преобразования - это неизменность знака приращения выходного кода D при монотонном изменении

входного преобразуемого сигнала.

Температурная нестабильность АЦ преобразователя характеризуется температурными коэффициентами погрешности полной шкалы и погрешности смещения нуля.

Динамические параметры

Возникновение динамических погрешностей связано с дискретизацией сигналов, изменяющихся во времени.

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

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

Время выборки (стробирования) - время, в течение которого происходит образование одного выборочного значения. При работе без УВХ равно времени преобразования АЦП.

Параметры ЦАП

При последовательном возрастании значений входного цифрового сигнала D(t) от 0 до 2N-1 через единицу младшего разряда (ЕМР) выходной сигнал Uвых(t) образует ступенчатую кривую. Такую зависимость называют обычно характеристикой преобразования ЦАП. В отсутствие аппаратных погрешностей средние точки ступенек расположены на идеальной прямой 1 рис., которой соответствует идеальная характеристика преобразования. Реальная характеристика преобразования может существенно отличаться от идеальной размерами и формой ступенек, а также расположением на плоскости координат. Большинство параметров аналогично рассмотренным выше параметрам для АЦП, ниже рассмотрены специфические:

Динамические параметры ЦАП определяются по изменению выходного сигнала при скачкообразном изменении входного кода, обычно от величины "все нули" до "все единицы" рис. 2.

Рис.2 Статическая характеристика преобразования ЦАП

Рис 3. переходная характеристика ЦАП

Время установления - интервал времени от момента изменения входного кода (на рис. 3 t=0) до момента, когда в последний раз выполня-ется равенство |U вых-U пш|=d /2,

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

Для перемножающих ЦАП с выходом в виде напряжения часто указываются частота единичного усиления и мощностная полоса пропускания, которые в основном определяются свойствами выходного усилителя.

Интерфейсы

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

Интерфейс должен обеспечивать:

Простое и быстрое соединение данного устройства с любым другим, имеющим такой же интерфейс;

Совместную работу устройств без ухудшения их технических характеристик;

Высокую надежность.

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

Основными элементами интерфейса являются:

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

и диаграммы состояний сигналов интерфейса);

Аппаратная реализация (контроллеры);

Программное обеспечение интерфейса (драйверы).

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

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

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

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

В зависимости от способа передачи данных различают два вида интерфейса: последовательный и параллельный.

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

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

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

Пример стандартного последовательного интерфейса - RS-232 (COM-порты в IBM PC совместимых компьютерах).

Последовательный интерфейс подразделяют на синхронный и асинхронный.

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

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

Стандартный формат последовательной асинхронной передачи данных содержит n пересылаемых бит информации (при пересылке символов n равно 7 или 8 битам) и 3-4 дополнительных бита: стартовый бит, бит контроля четности (или нечетности) и 1 или 2 стоповых бита (рис. 4,а).

Бит четности (или нечетности) может отсутствовать.

Рис. 4 а и б Формат последовательной асинхронной передачи

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

Промежуток времени от начала стартового бита до конца стопового бита (стоповых бит) называется кадром. Сразу после стоповых бит передатчик может посылать новый стартовый бит, если имеется другой символ для передачи; в противном случае уровень логической 1 может сохраняться на протяжении всего времени, пока бездействует передатчик. Новый стартовый бит может быть послан в любой момент времени после окончания стопового бита, например, через промежуток времени, равный 0,43 или 1,5 времени передачи бита.

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

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

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

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

Лекция 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
Структурный подход Под структурным подходом подразумевается попытки построить искусственный интеллект путём моделирования структуры человеческого мозга. Основной моделируемой структурной единицей в персептронах как и в большинстве других вариантов моделирования мозга является нейрон. Позднее возникли и другие модели которые обычно называют нейронные сети. Эти модели различаются по строению отдельных нейронов по топологии связей между ними и по алгоритмам обучения.

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-контроллеров.

Тема 3

Рекомедуемая литература

1. Хофманн М. Микромикроконтроллеры для начинающих: Пер. с нем. – СПб.: БХВ – Петербург, 2010. – 304 с.

2. Голубцов М.С. Микромикроконтроллеры AVR: от простого к сложному. – М.: СОЛОН-Пресс, 2003. – 288 с.

3. Схемотехника электронных систем. Микропроцессоры и микромикроконтроллеры / В.И. Бойко, А.Н. Гуржий, В.Я. Жуйков, А.А. Зори, В.М. Спивак, Т.А. Терещенко, Ю.С. Петергеря. – СПб.: БХВ – Петербург, 2004. – 464 с.

Основные понятия и определения микропроцессорной техники

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

Микропроцессорная система (МП система) - информационная или управляющая система, построенная с применением микропроцессорных средств.

Микропроцессор (МП - CPU) – устройство обработки данных (информации) - выполняет арифметические и логические операции и осуществляет программное управление процессом обработки.

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

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

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

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

Структура микропроцессора

Внешний вид микропроцессора приведен на рисунке 1.

Рисунок 1 - Внешний вид микропроцессора

Микропроцессор (МП) состоит из следующих структурных блоков (см. рисунок 1):

─ внутренней шины;

─ регистров общего назначения;

─ арифметико-логического устройства (АЛУ);

─ буфера шины адреса;

─ буфера шины данных;

─ устройства управления и синхронизации;

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

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

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

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

В состав АЛУ входят буфер и аккумулятор для промежуточного хранения исходной цифровой информации; арифметико-логическое устройство; регистр признаков.

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

Рисунок 1 – Структурная схема микропроцессора

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

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

Кроме того, для хранения оперативной информации служат парные оперативные регистры общего назначения W и Z, B и C, D и E, H и L, обращение к которым осуществляется через мультиплексор. Часть этих регистров предназначена для хранения адресной части команд, в то время как их исполнительная часть хранится в регистре команд.

Структура микроконтроллера

На рисунке 1 приведена упрощённая типичная структура микроконтроллер (МК) предназначенного для обработки данных или управления некоторой машиной или технологическим процессом.

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

Работа МП происходит под воздействием сигналов (тактовых прямоугольных импульсов – ГТИ) схемы синхронизации и начальной установки.

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

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

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

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

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

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

Периферийные устройства подключаются к шинам интерфейса через интерфейсные БИС – параллельный программируемый адаптер (ППА – PPI), микроконтроллер клавиатуры и дисплея (ККД), программируемый универсальный синхронно-асинхронный приёмник-передатчик (УСАПП – USART)- последовательный интерфейс и другие аппаратные средства.

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

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

Внутренний системный интерфейс



Шина адреса - ША

Шина данных ШД

Шина управления - ШУ

Интерфейс памяти Устройства ввода-вывода - УВВ

Интерфейс периферийного оборудования

Рисунок 1- Структурная схема микроконтроллера

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

Принцип работы микроконтроллера при автоматизации технологических машин или процессов состоит в выполнение следующего

цикла операций:

1. Сбор сигналов с датчиков;

2. Обработка сигналов согласно прикладному алгоритму управления;

3. Выдача управляющих воздействий на исполнительные устройства.

В нормальном режиме работы микроконтроллер непрерывно выполняет

этот цикл с частотой от 50 раз в секунду. Время, затрачиваемое контроллером на выполнение полного цикла, часто называют временем (или периодом) сканирования; в большинстве современных ПЛК сканирование может настраиваться пользователем в диапазоне от 20 до 30000 миллисекунд. Для быстрых технологических процессов, где критична скорость реакции системы и требуется оперативное регулирование, время сканирования может составлять 20 мс, однако для большинства непрерывных процессов период 100 мс считается вполне приемлемым.

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

1) работа в режиме реального времени, т.е. обеспечение высокой

реактивности (быстродействия) на запросы обслуживания со стороны объекта управления (обеспечение управления в темпе протекания технологического процесса);

2) повышенные требования к надежности функционирования:

– автоматический перезапуск в случае «зависания» программы;

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

– минимальное потребление энергии и рассеяние тепла в условиях

­ ограниченной мощности источника питания и отсутствия элементов

принудительной вентиляции и охлаждения;

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

Программное обеспечение

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

­ автономность;

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

­ возможность дистанционного управления со стороны диспетчерского пункта (уровень SCADA-систем);

­ сетевая поддержка.

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

­ тестовое программное обеспечение;

­ базовое программное обеспечение;

­ прикладное технологическое программное обеспечение.

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

­ программы инициализации и конфигурирования, а также начальные тесты для PLC и сетевых адаптеров (внутреннее программное обеспечение, расположенное в ПЗУ);

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

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

­ комплексное тестирование распределенной системы в целом;

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

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

Базовое программное обеспечение . В его состав входят:

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

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

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

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

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

Целью настоящей книги является – научить читателя основам микропроцессорной техники. Предполагается некий начальный уровень знаний в радиотехнике. Я определяю этот уровень, как специалист или любитель, знакомый с радио и импульсной техникой. В задачи этой книги не входит объяснение, что такое резисторы, конденсаторы или транзисторы. Предполагается, что читатель знаком с этим и с схемотехникой аналоговых устройств, но стремится узнать, что такое микропроцессорные устройства и научиться самому конструировать их. В начале книги раскрываются общие принципы цифрового представления сигнала, раскрываются такие понятия, как логические элементы, цифровой сигнал, принципы хранения и обработки цифровой информации. А так же описывается принцип работы тех элементов цифровой техники, которые понадобятся нам в дальнейшем, когда мы будем учиться строить микропроцессорную систему. Описание всех этих элементов дается в книге лишь в той мере, в которой это нужно для быстрого понимания основных принципов построения микропроцессорных систем. Для более полного понимания работы каждого элемента рекомендую обратиться к моему сайту под названием «Цифровые микросхемы и микропроцессоры» http:// www.mirmk.ru .

В качестве примера микропроцессорного устройства в данной книге взята реальная конструкция, разработанная автором – позиционер спутниковой антенны. Позиционер предназначен для автоматизации управления поворотом бытовой спутниковой антенны. Он способен запомнить до 99 позиций (направлений на спутник), а затем автоматически устанавливать антенну в любую из этих позиций. Для этого необходимо лишь выбрать номер этой позиции при помощи пульта дистанционного управления, либо при помощи кнопок на передней панели прибора. Схема и программа позиционера были разработаны автором книги. Опытный образец был изготовлен и испытан с применением стандартного фирменного поворотного устройства (мотор, редуктор, геркон-датчик) иностранного производства. Контроллер выполнен на основе микроконтроллера AT 89C 2051 фирмы Atmel (www.atmel.com или www.atmel.ru ). В связи с этим изучение микропроцессоров так же будет проводиться на примере процессора AT 89C 2051. В настоящее время фирма Atmel перешла на более современные процессоры типа AVR . Однако построение микропроцессорных устройств на данном процессоре с моей точки зрения вполне оправдано, так как его параметры прекрасно подходят для этой задачи, а цена процессора AT 89C 2051 существенно ниже по сравнению с любым процессором из семейства AVR .

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

Автор надеется, что эта книга будет полезна широкому кругу специалистов и радиолюбителей и будет благодарен за любые замечания и комментарии по книге. Все замечания прошу высылать по адресу Крым, г. Симферополь, ул. Русская, 194 или по E -mail : avbelov@ ukr.net . Нужно заметить, что публикуемый здесь текст - это самый первый черновой вариант книги. Со времени его написания книга была написана полностью, издана в 2004 году. Затем книга претерпела довольно значительные изменения, выдержала уже около десяти переизданий. Самое последнее издание книги вы можете заказать в бумажном варианте по льготной цене перейдя на этом сайте на соответствующую страницу

Ликбез для начинающих

Глава 1. Что же такое микропроцессор.

Что же такое микропроцессор. И чем он отличается от микроконтроллера?

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

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

ü Порты ввода/вывода. Это некие микросхемы, при помощи которых микропроцессорная система может общаться с внешним миром. Через порты ввода компьютерная система получает информацию из вне, а через порты вывода она выдает результаты своей работы и управляет внешними устройствами. Только благодаря этим самым портам ввода/вывода к компьютеру, подключаются такие устройства, как клавиатура, мышь, дисководы, CD -ROM и т.д. Те читатели, которые знакомы с компьютерами, возможно, слышали термины «параллельный порт» (LPT ) и «последовательный порт» (COM ). Так вот в данном случае речь идет совсем о другом понятии. Это просто схожие термины. Параллельный и тем более последовательный порты компьютера – это целые, достаточно сложные схемы, которые в свою очередь управляются как раз таки при помощи портов ввода/вывода. Не нужно так же думать, что клавиатура и мышь используют только порты ввода, а дисплей порт вывода. Для управления большинством устройств компьютера используются как порты ввода, так и порты вывода микропроцессорной системы. Возможно, вы удивлены, что я называю внешними устройствами и жесткий диск и флоппи дисковод. Там, внутри компьютера, скрыто еще много устройств, которые по отношению к микропроцессору являются внешними, хотя находятся зачастую не только внутри компьютера, но и непосредственно на материнской плате – главной плате компьютера.

ü Процессор. Процессор – это самая главная часть, сердце всей системы. Он предназначен для того, что бы выполнять различные последовательности действий с числами в памяти и с данными в портах ввода/вывода. И всего то!

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

Рис. 1.

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

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

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

Ну, так что же это за такое чудесное устройство – микропроцессор. Он и читает и вычисляет и записывает и столько разных умных вещей делает! Как же он это все умеет. Видимо очень умная микросхема? На самом деле микропроцессор – это просто автомат, который выполняет, заложенные в нем операции по ПРОГРАММЕ. Программа – это последовательность команд для процессора, записана в той же самой памяти, то же в виде цифр. Иногда, правда память делится на две части: память программ и память данных. В процессоре заложен простой алгоритм. Сразу после включения или после прихода сигнала сброса (Reset ) процессор начинает читать из той области памяти, которая отведена для хранения программ, по очереди число за числом. Каждым таким числом закодирована команда. Команда – это одно из действий, которое может выполнить микропроцессор. Число, которым закодирована команда, называется код операции. Процессор читает код операции, выполняет эту операцию. Затем читает следующий код, опять выполняет. Так он последовательно читает эти коды и выполняет их. Это и есть процесс выполнения прграммы. А кто же записал эти коды в память? Программист! Программист сначала придумал программу. Затем записал ее в микросхему памяти. Вставил микросхему в микропроцессорную систему и включил питание. Система заработала. Вот вам и умная машина. Вульгарный автомат.

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

Ну а что же такое микроконтроллеры. Иногда мы читаем «Микроконтроллер AT 89C 2051». Микроконтроллер - это дитя дальнейшей интеграции, это целая микропроцессорная система на одном кристалле! Одна микросхема содержит в себе все составляющие микропроцессорной системы: память, порты ввода/вывода и собственно процессор. Кроме того, там часто располагаются некоторые внешние (по отношению к процессору) устройства (такие устройства часто называют «периферийными»): таймеры, устройства прерывания, компараторы и др. Значения этих, пока непонятных терминов вы узнаете из последующих глав. Вообще с понятиями «микропроцессор» и «микроконтроллер» существует некоторая путаница. То, что я сейчас назвал микроконтроллером, иногда тоже называют микропроцессором. Что бы понять - о чем идет речь, следите за контекстом подаваемой информации.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: