М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Глава 3. ЭЛЕКТРОННЫЕ ЦИФРОВЫЕ АВТОМАТИЧЕСКИХ СИСТЕМ ЭЛЕМЕНТЫ § 1. Общие сведения о цифровых автоматических системах Многие автоматические системы действуют при прерывистом поступлении информации о задающем воздействии. Причиной этого является обычно импульсный режим работы устройства. Так, если в состав импульсной гидролокационной станции входит автоматическое дальномерное устройство, то сигналы о текущем значении дальности поступают на следящие системы только во время приема отраженных импульсов. В импульсном режиме осуществляется многоканальная гидроакустическая связь при временном разделении каналов. Некоторые гидронавигационные устройства работают в импульсном режиме и т.д. Прерывистость может возникать и в случае непрерывного поступления входных сигналов за счет прерывания, например сигнала рассогласования или других сигналов внутри следящей системы. Это имеет место, когда в состав системы входит микропроцессор (цифровой процессор обработки сигнала), выходные данные которого выдаются дискретно, с тактом, характерным для каждого цифрового процессора обработки сигналов. Точность, которая может быть достигнута в прерывистой системе, из-за прерывистости поступления информации всегда хуже той, которую можно получить от аналогичной непрерывной системы. Чтобы “заполнить” перерывы, внутри системы устанавливают различные “запоминающие” (фиксирующие или экстраполирующие) устройства. Их назначение состоит в том, чтобы на основе предшествующих данных о процессе регулирования “предсказать” ход процесса на время перерыва сигнала в точке установки устройства. Для “запоминания” в системах автоматики применяют пиковые детекторы, амплитудные 123 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики детекторы со сбросом, расширители импульсов, запоминающие (интегрирующие) конденсаторы (устройства выборки хранения) и т.д. Отличие цифровых систем от прерывистых или, как чаще их называют, дискретных состоит в том, что данные, выдаваемые микропроцессором, квантованы по уровню. Однако это отличие во многих практических случаях не является существенным, поскольку число градаций, выдаваемых микропроцессором, может быть достаточно большим. По этой причине иногда не делают различий между дискретными и цифровыми системами. Отметим, что при анализе дискретных систем используется математический аппарат уравнений в конечных разностях и zпреобразование. Рис. 3.1 Функциональная схема цифровой автоматической системы Функциональная схема цифровой автоматической системы показана на рис. 3.1. Цифровая автоматическая система включает аналоговый коммутатор (мультиплексор) (АК), аналого-цифровой преобразователь (АЦП) и цифро-аналоговый преобразователь (ЦАП) между которыми включен цифровой процессор обработки сигналов (ЦПОС). ЦПОС осуществляет сравнение задающего воздействия xз(t) с поступающим по цепи обратной связи значением регулируемой величины y(t) (задающее воздействие xз(t) и значение регулируемой величины y(t) могут быть представлены не только в аналоговой, но и в цифровой форме) и дальнейшую цифровую обработку сигнала (ЦОС) рассогласования z(t). Отметим, что в большинстве ЦПОС аналоговый мультиплексор, аналого-цифровой и цифро-аналоговый преобразователи входят в состав микропроцессора в виде устройств ввода и вывода данных. Прерывистость в такой системе обусловлена прерыванием 124 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики информации внутри системы, поскольку микропроцессор выдает результаты вычислений в виде отсчетов (дискрет) в определенные тактовые моменты времени. § 2. Цифровые устройства В цифровых автоматических системах принят алфавитный способ задания информации. Символы, из которых состоит алфавит, называют буквами. Конечные последовательности букв алфавита называют словами. Число букв в слове называется длиной слова. В алфавите из m букв можно получить mk различных слов длиной k. Любой дискретный преобразователь информации можно представить в виде устройства, на вход которого поступают слова из букв входного алфавита, а на выходе образуются слова из букв выходного алфавита. Процесс преобразования информации в таком устройстве сводиться к установлению соответствия между входными и выходными словами. Такое определенным образом заданное соответствие называется алфавитным оператором. Алфавитные операторы, задаваемые на основе конечной системы правил, принято называть алгоритмом. Отличительная особенность функционирования цифрового автомата определяется его двумя свойствами: 1. автомат имеет конечное множество внутренних состояний; 2. переход автомата из одного состояния в другое, происходит скачкообразно. Скачкообразность перехода позволяет рассматривать его как мгновенный. Такая абстракция хорошо описывает основные свойства реальных автоматов и поэтому принята при построении их теории. Для учета же присущей реальным устройствам инерционности вводится ограничение в условие работы цифровых автоматов: после изменения состояния автомата переход его в следующее состояние возможен не ранее, чем через фиксированный для данного автомата промежуток времени, называемый интервалом дискретности (такт). Это обстоятельство позволяет рассматривать функционирование автомата в так называемом дискретном автоматном времени, принимающем целые значения t = 0, 1, 2, …, n … . 125 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Изменения состояний автомата вызываются входными сигналами, а результат работы автомата фиксируется формированием выходного сигнала. При описании алгоритма функционирования автомата задаются: 1. множество букв входного алфавита автомата U = {u} = {u1, u2, …, un}; 2. множество букв выходного алфавита автомата: V = {v} = {v1, v2, …, vn}; 3. множество состояний: букв алфавита его внутренних W = {w} = {w1, w2, …, wn}. Одно из состояний w0 выделяется в качестве начального; в момент t = 0 автомат всегда находится в начальном состоянии. На перечисленных множествах необходимо задать функцию переходов и функцию выходов. Функция переходов определяет состояние автомата w(t+1) в момент t+1 в зависимости от его состояния w(t) и входного сигнала u(t+1): w(t+1) = ψ[w(t), u(t)]. Функция выходов определяет выходной сигнал v(t). Она может быть задана несколькими способами. Если выходной сигнал в момент t определяется только состоянием автомата в этот момент, т.е. v(t) = φ(w(t)), (3.1) то такой автомат называют автоматом Мура. Если же выходной сигнал зависит не только от состояния автомата, но и от входного сигнала, то есть 126 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики v(t) = φ(w(t), u(t)), (3.2) то такой автомат называют автоматом Мили. Два цифровых автомата называются эквивалентными, если совпадают их входные и выходные алфавиты и для любого входного слова совпадают их выходные слова. В теории цифровых автоматов доказывается, что для всякого автомата Мили существует эквивалентный ему автомат Мура. Это обстоятельство позволяет рассматривать только автоматы одного вида – автоматы Мура; законы их функционирования выражаются в более компактной форме. Частным случаям дискретных автоматов, находящих широкое применение, является автомат без памяти, называемый комбинационной схемой. Сигнал на выходе комбинационной схемы в момент t согласно (3.2) однозначно определяется значением входного сигнала в тот же момент времени v(t) = φ(u(t)). Если в общем случае при N значениях входного сигнала и L внутренних состояниях автомата максимальное число возможных выходных сигналов Мmax=N L, то в автоматах без памяти Мmax=N. В этом смысле можно считать, что комбинационные схемы имеют только одно внутреннее состояние (L=1), являющееся неизменным. При практическом применении цифровых автоматов важное место занимает простейшее (побуквенное) преобразование, заключающееся в замене каждой буквы исходного алфавита определенной комбинацией букв нового алфавита, имеющей одинаковую для всех букв длину. С помощью простейших взаимно однозначных преобразований информацию, заданную в любом конечном алфавите, можно записать в алфавите, содержащем только две буквы. Такой алфавит называется стандартным двухбуквенным или двоичным, а две его буквы обозначаются нулем и единицей. Двоичная переменная (у), значения которой зависят от значений других двоичных переменных (х1, х2, ..., хр), именуемых аргументами называется переключательной (двоичной, булевой) функцией: 127 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики у=у(х1, х2, , хр). Задание двоичной функции означает, что каждому из возможных сочетаний (наборов) её аргументов х1, х2, ..., хр поставлено в соответствие определенное значение у. Функции считаются различными, если значения у отличаются по крайней мере для одного набора аргументов. При р аргументах полное число P их различных наборов P=2р. Поскольку каждому из наборов может соответствовать два значения у (0 или 1), то общее число F различных функций р аргументов p F 22 . (3.3) Наборы аргументов принято нумеровать: при этом условливаются, что номера наборов совпадают со значениями двоичных чисел, разрядами которых являются аргументы (х1, х2, ..., хр). Очевидно, что номера наборов меняются в таком случае от 0 до 2р-1. Алгебра логики предполагает (допускает) возможность образования сложных функций, то есть функций, аргументы которых являются функциями других двоичных аргументов. Например, если у=у1(z1, z2), а z1=z1(х1, х2) и z2=z2(х3, х4), очевидно, что у=у1(х1, х2, х3, х4). Операция замены аргументов одной функции другими функциями называется суперпозицией функций. Эта операция дает возможность с помощью функций меньшего числа аргументов, получать функцию большего их числа. Многократное применение этих операций позволяет получать функции любого требуемого числа аргументов. В частности, такую возможность обеспечивает суперпозиция функций двух аргументов. В соответствии с (3.3) существует 16 различных функций двух аргументов. Перечень этих функций у0, ..., у15 с указанием наборов аргументов х1, х2 представлен в таблице 3.1 (там же указаны наименования логических элементов, реализующих соответствующие функции). В алгебре логики справедливы следующие законы: 1. переместительный закон или закон коммутативности 128 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики A B B A; A B B A; Таблица 3.1 Значения аргументов (х1, х2) и функций (у0-у15) x1 0 0 1 1 x2 0 1 0 1 y0 0 0 0 0 Наименование функций Наименование элементов Константа нуля Конъюнкция (лог. умн.) Генератор «нуля» Конъюнктор (И) y1 0 0 0 1 y2 0 0 1 0 Запрет по х2 Схема запрета (НЕТ) по х2 y3 0 0 1 1 Переменная (тавтология) х1 Повторитель х1 y4 0 1 0 0 Запрет по х1 Схема запрета (НЕТ) по х1 y5 0 1 0 1 y6 0 1 1 0 y7 0 1 1 1 y8 1 0 0 0 y9 1 0 0 1 y10 1 0 1 0 y11 1 0 1 1 y12 1 1 0 0 y13 1 1 0 1 y14 1 1 1 0 Штрих Шеффера y15 1 1 1 1 Константа «единицы» 2. Переменная (тавтология) х2 Логическая неравнозначность Дизъюнкция (лог. слож.) Стрелка Пирса Логическая равнозначность Инверсия х2 Импликация от х2 к х1 Инверсия х1 Импликация от х1 к х2 Повторитель х2 Исключающее ИЛИ Дизъюнктор (ИЛИ) Элемент Пирса (ИЛИ-НЕ) Эквивалентность Инвертор х2 Импликатор из х2 Инвертор х1 Импликатор из х1 Элемент Шеффера (И-НЕ) Генератор «единицы» сочетательный закон или закон ассоциативности 129 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики A B C A B C ; A B C A B C ; 3. распределительный дистрибутивности закон или закон A B C A C B C ; A B C A C B C ; 4. законы инверсии (законы де Моргана) A B A B; A B A B . В выражениях алгебры логики может возникнуть неоднозначность, если не условиться о порядке выполнения операций. Так, в выражении A B C имеется двоякий смысл: A B C или A B C ; эти выражения не тождественны. В алгебре логике, как и в обычной алгебре, условились в начале выполнять операции умножения, а затем сложения. Если же раньше нужно выполнить сложение, то используются скобки. Любое выражение алгебры логики представляет собой суперпозицию функций отрицания, дизъюнкции и конъюнкции. Возникает вопрос, достаточно ли такого набора функций для выражения с их помощью произвольной переключательной функции. Система функций алгебры логики называется функционально полной (базисом), если любую переключательную функцию ƒ(хn-1, xn-2, …, x0) можно представить как результат суперпозиции хn-1, xn-2, …, x0 и функций системы, взятых в любом конечном числе. В алгебре логики показывается, что функционально полными являются, например, системы функций состоящие из двух функций: отрицания и дизъюнкции или же отрицания и конъюнкции. Пользуясь только любой парой этих функций, можно выразить любую переключательную функцию. На практике при построении логических схем широко используется система из трех функций: отрицания, дизъюнкции и конъюнкции. Добавление к функционально полной системе еще одной функции, не нарушая ее 130 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики полноты, упрощает построение логических схем. Интересно, что можно построить функционально полную систему, состоящую из одной функции. Таковыми являются функции Шеффера и Пирса. Недостаток такой системы, например в том, что для реализации даже такой простой операции, как дизъюнкция, требуется выполнить три операции Шеффера. Логические схемы, входящие в состав любого цифрового устройства, строятся из логических элементов. Одним из основных требований к набору логических элементов является требование функциональной полноты. Набор логических элементов является функционально полным, если реализуемые им переключательные функции составляют функционально полную систему. Предположим теперь, что зафиксирован, какой-либо набор логических элементов. Задача построения из такого набора комбинационной схемы, реализующей некоторую переключательную функцию, сводится, прежде всего, к ее представлению в виде выражения алгебры логики. При составлении выражений, описывающих произвольную переключательную функцию, важное значение имеют две простейшие переключательные функции: конституенты единицы и нуля. Конституентой единицы (минитерм) называется переключательная функция n переменных K(хn-1, xn-2, …, x0) = K(x), равная единице только на одном наборе значений аргументов. Из этого определения следует, что число различных конституент единицы равно числу наборов. Удобно каждую конституенту пронумеровать, присвоив ей номер набора, на котором эта конституента равна единице. Набор Xα и конституента Kj при α=j называются соответствующими друг другу. При этом оказывается справедливым соотношение: 1 при j K j X 0 при j (3.4) Конституента единицы представляет собой конъюнкцию всех переменных, входящих в это произведение с отрицанием или без него. Рассмотрим например, конъюнкцию xn1 xn2 ... x0 131 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики всех аргументов с инверсией. Эта конъюнкция равна единице, если все ее аргументы равны единице. Для этого необходимо, чтобы xi=0 для всех i. Следовательно, рассматриваемая конъюнкция – конституента единицы, соответствующая нулевому набору, т.е. K 0 xn 1, xn 2 ,..., x0 xn 1 xn 2 ... x0 . В общем случае, чтобы получить конституенту единицы, соответствующую набору Xα=αn-1, αn-2, …, α0 с номером α, следует образовать конъюнкцию всех аргументов, причем аргумент xi входит в конъюнкцию без инверсии, если αi=1 и с инверсией, если αi=0. Например, для переменных x1=1; x2=0; x3=0 конституента единицы будет образована, если образовать следующую конъюнкцию K x1 , x2 , x3 x1 x2 x3 . Конституентой нуля (макситерм) называется переключательная функция n переменных M(хn-1, xn-2, …, x0), равная нулю только на одном наборе значений переменных. Конституента нуля Mα на наборе с номером α представляет собой дизъюнкцию всех аргументов, причем аргумент xi, входит в дизъюнкцию без инверсии, если в наборе Xα=αn-1, αn-2, …, α0 - αi=0, и с инверсией, если αi=1. Например для функции четырех аргументов x0=1, x1=0, x2=1, x3=0 M x0 , x1 , x 2 , x3 x0 x1 x 2 x3 . Рассмотрим способ выражения переключательной функции в аналитической форме. Пусть имеется переключательная функция ƒ(Х), заданная своими значениями ƒ(xj) для всех наборов (см. табл. 3.2). Образуем следующую функцию n аргументов: 2 n 1 f X f x0 K 0 f x1 K 1 ... f x2 n 1 K 2 n 1 f x j K j X 132 j 0 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики f X 1 x x x 0 x x x 0 x x x 1 x x x 1 x x x 1 x x x 0 x x x 1 x x x 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 Таблица 3.2 Х 0 1 2 3 4 5 6 7 x1 0 0 0 0 1 1 1 1 x2 0 0 1 1 0 0 1 1 x3 0 1 0 1 0 1 0 1 f 1 0 0 1 1 1 0 1 Для произвольного набора Х=Хα можно записать: 2 n 1 f X f X j K j X j 0 . В соответствии с (3.4) Kj(Xα)=1 при j=α откуда ƒ*(Xα)=ƒ(Xα). Поскольку мы взяли произвольный набор, то можно утверждать, что ƒ*(X)=ƒ(X). Следовательно: 2n 1 f X f X j K j X j 0 и мы получи разложение функции ƒ(X) по конституентам единицы. Последнее выражение можно упростить, так как члены для которых ƒ(Xj)=0 можно исключить, а в оставшихся конъюнкциях ƒ(X)=1 можно не писать. Поэтому в правой части последнего выражения останутся лишь те конституенты Kj для которых ƒ(Xj)=1: f X K j X , j 1 (3.5) f X x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 x1 x2 x3 133 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики где σ1 представляет собой совокупность номеров наборов, на которых функция ƒ(X) равна единице. Представление переключательной функции в соответствии с (3.5) называется совершенной дизъюнктивной нормальной формой (СДНФ) этой функции. Изложим правило такого представления: 1. Записывается дизъюнкция произведений всех аргументов, причем число таких произведений равно числу наборов, на которых данная функция равна единице. 2. Под каждым произведением записывается набор, обращающий заданную функцию в единицу. 3. Над аргументами, под которыми записаны нули, ставятся знаки отрицания. Переключательную функцию можно представить так же в совершенной конъюнктивной нормальной форме (СКНФ): f X M j X , j 0 где σ0 - совокупность номеров наборов, на которых функция равна нулю. Такое представление целесообразно применять, если число наборов, на которых функция равна нулю, меньше числа наборов, на которых функция равна единице. Полученные выше аналитические выражения служат основой для построения логических схем, реализующих заданные переключательные функции. Прежде чем строить логическую схему, реализующую требуемую переключательную функцию, целесообразно упростить выражение этой функции, что может быть выполнено различными методами. В частности, можно использовать метод тождественных преобразований, вытекающих из законов алгебры логики. Ниже приводится ряд возможных приемов упрощения. Прием, основанный на применении формулы Ax Ax A , 134 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики называется склеиванием (склеиванием по х). Прием, называемый поглощением, основан на применение тождества Ax A A . Эти же приемы применены к операции умножения: A x A x A ; A x A A . Иногда раскрытие: целесообразно вынесение за скобки и их A x1 A x2 A x1 x2 ; A x1 A x2 A x1 x2 . Следующие приемы также иногда приводят к упрощениям: x xA x A ; x x A Ax . Для иллюстрации метода тождественных преобразований упростим выражение f x2 , x1 , x0 x2 x1 x0 x2 x1 x0 x2 x1 x0 x2 x1 x2 x1 x0 x2 x1 x1 x0 x2 x1 x0 Для минимизации переключательных функций с числом переменных до 6 удобен метод диаграмм Вейча (карт Карно). Метод основан на представлении переключательных функций в виде прямоугольных таблиц с числом клеток, равным числу всевозможных наборов, то есть 2n. Каждая клетка диаграммы Вейча соответствует определенному набору переменных и в нее вписывается значение функции (0 или 1), которое она принимает 135 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики на данном наборе. В то же время каждой клетке диаграммы соответствует конституента единицы с номером, совпадающим с номером набора. Специальная разметка столбцов и срок диаграммы и, следовательно, нумерация клеток производится таким образом, что конституенты, соответствующие двум соседним клеткам обязательно склеиваются по одной из переменных. Для переключательных функций двух, трех и четырех переменных разметка диаграмм и нумерация клеток показаны на рис. 3.2. Важно отметить, что в диаграмме для функции от трех переменных соседними, следует считать так же крайние клетки каждой строки, а в диаграмме для функции от четырех переменных соседними, являются крайние клетки каждой строки и столбца. При большем числе переменных разметка диаграмм и правила склеивания несколько усложняются. Рис. 3.2 Диаграмма Вейча для функций двух, трёх и четырех переменных Минимизация переключательных функций начинается с заполнения диаграммы Вейча. Если на данном наборе функция равна единице, то в клетке с номером, равным номеру набора, ставится единица; остальные клетки отмечаются нулями (что необязательно). 136 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Диаграмма Вейча позволяет получить выражение переключательной функции в дизъюнктивной нормальной форме (ДНФ), представляющей собой дизъюнкцию произведений аргументов. В отличие от СДНФ входящие в ДНФ произведения не обязательно содержат все переменные. Для получения ДНФ в заполненной диаграмме обводят прямоугольными контурами все единицы. При этом каждый контур должен быть обязательно прямоугольным и состоять из одних единиц. Число клеток в контуре должно равняться целой степени числа 2. Говорят, что контур покрывает 1, 2, 4, 8 и т.д. клеток. Указанными контурами необходимо покрыть все единицы диаграммы; некоторые контуры могут содержать только одну клетку. Каждому контуру соответствует логическое произведение, входящее в ДНФ. Изолированной единице (контуру, состоящему из одной клетки) соответствует произведение n переменных, а именно конституента единицы, номер которой совпадает с номером клетки. Контуру из двух клеток соответствует произведение n-1 переменных, причем исключается та переменная, которая входит в данный контур, как с инверсией, так и без нее. Если контур состоит из четырех единиц, то в ДНФ ему будет соответствовать произведение n-2 переменных. В общем случае наличие единиц в 2m соседних клетках позволяет исключить из соответствующего произведения m переменных. Следовательно, при образовании контуров надо стремиться к тому, чтобы количество контуров было возможно меньшим. При этом одни и те же клетки, заполненные единицами, могут входить в несколько контуров. Применение метода плоскостных диаграмм рассмотрим на примере минимизации логической функции F x 0 , x1 , x 2 , x 3 x 0 x 1 x 2 x 3 x0 x1 x 2 x 3 x 0 x 1 x 2 x 3 x0 x1 x 2 x 3 x 0 x 1 x 2 x 3 x0 x1 x 2 x 3 . Для минимизации данной функции строим шестнадцатиквадратную диаграмму (рис. 3.3). Квадраты, отвечающие членам исходной формулы, отмечаем единицами (например, набор x0 x1 x2 x3 – соответствует 7 квадрату). Обводим прямоугольными контурами все единицы. Для каждого обведенного контура записываем соответствующие им 137 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики конъюнкции, в которые входят все переменные за исключением тех по которым происходит склеивание (т.е. переменные входящие в контур в прямом и инверсном видах). Для контура 1 запишем x1 x2 , для контура 2 запишем x1 x2 x3 . Рис. 3.3 Диаграмма для заданной функции Таким образом, минимальная дизъюнктивная нормальная заданной логической функции, представляется как F x1 x2 x1 x2 x3 . Метод диаграммы Вейча удобно применять при минимизации не полностью определенных функций. Так называются функции значения, которых определены не на всех наборах. Не полностью определенные переключательные функции описывают условия функционирования схем, на вход которых некоторые комбинации сигналов вообще не подаются. При минимизации не полностью определенных функций их удобно рассматривать как всюду определенные функции, некоторые значения которых могут выбираться произвольно. Доопределение следует производить так, чтобы получились группы с максимальным числом единиц, а число таких групп было минимальным. В качестве примера рассмотрим синтез логической схемы, предназначенной для выделения пяти старших цифр десятичной системы, представленных в четырехразрядном двоичном коде, когда номер набора совпадает со значением цифры. Так как всего имеется 16 четырехразрядных наборов, а цифр - только 10, то в наборах с номерами от 10 до 15 переключательная функция, форма 138 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики описывающая данную схему, оказывается неопределенной. На наборах с номерами от 0 до 4 она равна нулю, а на наборах от 5 до 9 – единице (см. табл. 3.3). На рис. 3.4, а приведена диаграмма рассматриваемой переключательной функции, а на рис. 3.4, б – способ ее доопределения, приводящий к минимальной форме: F x3 , x2 , x1 , x0 x3 x2 x0 x2 x1 . Таблица 3.3 Номер набора Значение переменных Значение функции x0x1x2x3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 1000 0100 1100 0010 1010 0110 1110 0001 1001 0101 1101 0011 1011 0111 1111 0 0 0 0 0 1 1 1 1 1 *( не определена) * (не определена) * (не определена) * (не определена) * (не определена) * (не определена) Без доопределения функция оказалась бы значительно более сложной: F x3 , x2 , x1 , x0 x3 x2 x1 x3 x2 x0 x3 x2 x1 . С помощью диаграммы Вейча можно находить также минимальные конъюнктивные формы (КНФ). При этом в группы следует объединить не единицы, а нули. Кроме того, разметка 139 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики диаграммы изменяется таким образом, что на место переменных с инверсией ставятся переменные без инверсии и наоборот. Рис. 3.4 Диаграмма Вейча для не полностью определенной функции Выше было показано, что можно любую переключательную функцию представить в виде выражения алгебры логики, содержащего операции конъюнкции, дизъюнкции и инверсии. Для решения задачи синтеза логической схемы необходимо определять схемы реализации таких функций при помощи любой функционально полной системы элементов. Элементы, выполняющие непосредственно операции конъюнкции, дизъюнкции и инверсии, называются соответственно элементами И, ИЛИ и НЕ. На рис. 3.5 показаны обозначения этих элементов. При помощи функционально полной системы из элементов И, ИЛИ и НЕ функции представленные в ДНФ, реализуются особенно просто. Для этого в начале образуются нужные конъюнкции. Перед образованием конъюнкций для некоторых переменных, возможно, придется выполнить операции инверсии. Для образования конъюнкции от многих переменных применяются многовходовые элементы И. Если число переменных в конъюнкции превышает число входов элемента И, то конъюнкция формируется поэтапно. Дизъюнкция полученных произведений реализуется путем подачи сигналов с выхода элементов И на входы элементов ИЛИ. Элементы ИЛИ также могут быть многовходовыми. 140 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Широко применяются элементы, реализующие комбинации операций И, ИЛИ, НЕ. Так, элемент И – ИЛИ позволяет непосредственно реализовать некоторые несложные функции, заданные в ДНФ. Рис. 3.5 Изображение одноступенчатых (а) и двухступенчатых (б) логических элементов Наибольшее распространение элементы И – НЕ и ИЛИ – НЕ (рис. 3.6). получили логические Рис. 3.6 Изображение логических элементов И – НЕ и ИЛИ – НЕ На рис. 3.7 в виде примера приведена логическая схема из элементов И – НЕ, реализующая функцию F ABD ABD BD . 141 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Рис. 3.7 Реализация функции F ABD ABD BD Последовательностные устройства обладают свойством запоминания информации, поскольку строятся на элементарных автоматах с памятью. Количество элементарных автоматов m с памятью, необходимое для кодирования всех состояний M последовательностного автомата, определяется соотношением: m log 2 M . Значение m называют объемом памяти последовательностного автомата. Основная модель последовательностного устройства включает комбинационную часть, которая формирует выходные сигналы устройства и сигналы обратной связи исходя из значений входных сигналов и значений внутренних переменных (рис. 3.8). В зависимости от свойств цепей обратной связи различают два вида автоматов – асинхронные и синхронные. 142 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Рис. 3.8 Структурная схема автомата с памятью 143 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики В синхронных автоматах цепи обратной связи содержат элементы задержки (ЭЗ, рис. 3.8, а). Они управляются внешними тактовыми импульсами и выполняют функцию запоминания сигналов внутренних переменных на один такт. Благодаря этому при отсутствии тактовых импульсов передача сигналов по цепям обратной связи не осуществляется. В асинхронных автоматах (рис. 3.8, б) задержка сигналов внутренних переменных обусловлена инерционностью логических элементов и конечной скоростью распространения электрических сигналов по цепям (главным образом, первым фактором). Различие сигналов внутренних переменных на входе и выходе комбинационных частей имеет место при этом только в течение динамической части такта; в статической части значения совпадают и именно эта часть соответствует устойчивому состоянию автомата. В комбинационной части последовательностного автомата могут иметь место состязания (гонки). При применении синхронных элементов задержки, временные (преходящие) ошибки не оказывают влияния на работу устройства, поскольку тактовые импульсы, разрешающие передачу сигналов внутренних переменных с выхода на вход, подаются по истечении динамической части тактов. В асинхронных устройствах явление состязаний имеет первостепенное значение, т.к. именно динамическая часть такта определяет смену состояний автомата. Асинхронные последовательностные устройства, включают лишь комбинационные элементы. Синхронные устройства предполагают применение тактируемых запоминающих элементов (элементарных автоматов памяти). Меньшая стоимость комбинационных элементов по сравнению с запоминающими на начальном этапе внедрения цифровых устройств определяла преимущества асинхронных автоматов перед синхронными (несмотря на присущую последним опасность состязаний). Внедрение микроэлектронной элементной базы привело к тому, что стоимости комбинационных элементов и тактируемых элементов задержки стали близкими. Соответственно в настоящее время применяют главным образом синхронные последовательностные устройства. Далее задача логического проектирования рассматривается применительно к устройствам этого типа. 144 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Элементарными автоматами с памятью или триггерами принято называть автоматы, которые характеризуются следующими свойствами: 1. число входных переменных не более трех (входные переменные принято обозначать специальными символами в соответствии с функциями, выполняемыми триггерами); в это число не входит тактовый вход, на который подаются синхронизирующие импульсы, фиксирующие смену тактов работы устройства; 2. число внутренних состояний равно двум, чему соответствует одна внутренняя переменная (последнюю принято обозначать символом Q); 3. число выходных переменных – одна (y), причем значение y совпадает со значением Q (т. е. функция выхода y Q ); обычно в триггерах имеется возможность наряду со значением Q получать инверсную переменную Q ; 4. функции переходов, называемые t 1 t t характеристическими уравнениями Q Q( x , Q ) , являются полными. Разновидности триггеров отличаются числом входов, а при их одинаковом числе – функциями переходов. Общее число W различных триггеров с p входами определяется соотношением W 52 ; p число практически применяемых разновидностей существенно меньше. Далее рассматриваются наиболее употребимые из них. Триггер R-S типа представляет собой элементарный последовательностный автомат с двумя входами R и S, функционирующий в соответствии с таблицей 3.4. В триггерах R-S типа одновременная подача единичных значений входных переменных R и S недопустима (ведет к появлению критических состязаний). В строчках таблицы переходов триггеров, соответствующих R t S t 1 , содержится знак неопределенности значения Q t 1 . Такая комбинация входных переменных недопустима (считается запрещенной), что алгебраически t t выражается требованием R S 0 . Доопределяя значения Q t 1 , соответствующие запрещенным комбинациям R t и S t , единицами 145 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики и упрощая СДНФ можно представить характеристическое уравнение R S триггера в следующей минимальной форме: Q t 1 S t R t Q t или с учетом закона инверсии (де Моргана) Q t 1 S t R t Q t . Таблица 3.4 Такт R t S 0 0 1 1 0 0 1 1 Q t 1 t t Q 0 1 0 1 0 1 0 1 t 0 0 0 0 1 1 1 1 0 1 0 X 1 1 0 X Таблица 3.5 Q t Q t 1 Rt St 00 01 10 11 * 0 1 0 0 1 0 * В соответствии с характеристическими уравнениями такой триггер можно построить на логических элементах И - НЕ и ИЛИ – НЕ. На рис. 3.9 приведены две схемы R S триггера, на элементах И – НЕ и ИЛИ – НЕ соответственно и их графическое обозначение в соответствии с ЕСКД. Такой триггер называют асинхронным. В отличие от асинхронного триггера, тактируемый R S триггер на каждом входе имеет дополнительные схемы совпадения, первые входы которых объединены и на них подаются 146 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики тактирующие сигналы C (рис. 3.9). Тактируемый R S триггер описывается уравнениями Qt 1 S t C t Qt ( R t C t ) ; или Q t 1 S t C t Q t R t C t . Рис. 3.9 Схемы асинхронных R S триггеров и их обозначение в соответствии с ЕСКД В большинстве случаев на практике требуется определить комбинацию входных сигналов при заданном переходе триггера из одного состояния в другое. Такая задача возникает, например, при синтезе счетчиков, регистров и т.п. Решить эту задачу можно с помощью характеристической таблицы (таблица 3.5). Для построения этой таблицы рассматривают характеристическое уравнение триггера для всех возможных переходов Q t Q t 1 : 0 0 , 0 1 , 1 0 , 1 1 . После подстановки в характеристическое уравнение значений Q t и Q t 1 получают равенства определяющие значения переменных 147 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики и S t для соответствующего перехода. Если переход происходит при любом значении переменной ее значение считают безразличным и в таблице отмечают (*). Rt Рис. 3.10 Схема тактируемого (синхронного) R S триггера и его обозначение по ЕСКД Характеристические таблицы триггеров используют при синтезе сложных последовательностных схем. Триггер D типа относится к одновходовым триггерам. Характеристическое уравнение триггера согласно таблице переходов (таблица 3.6) определяется соотношением t 1 t t t t t Q DQ DQ D . Из уравнения следует, что триггер в момент времени t 1 принимает состояние, соответствующее значению переменной на D входе в момент времени t , т.е. с помощью D триггера осуществляется задержка входного сигнала. Таблица 3.7 является характеристической таблицей для D триггера. Тактируемый D триггер функционирует в соответствии с таблицей переходов 3.8. Характеристическое уравнение D 148 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики триггера, составленное в соответствии с этой таблицей, записывается в виде Q t 1 C t Q t C t D t . Из уравнения следует, что при наличии тактирующего сигнала ( C 1 ) триггер переходит в состояние Q t 1 D t , а при отсутствии тактирующего сигнала ( C 0 ) триггер сохраняет предыдущее состояние. Таблица 3.6 Такт D Q t 1 t Qt t 0 1 0 1 0 0 1 1 0 1 0 1 Таблица 3.7 Q t Q t 1 Dt 00 01 10 11 0 1 0 1 Таблица 3.8 Ct Dt Qt Q t 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 149 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики В соответствии с характеристическим уравнением (инвертировав левую и правую части уравнения) тактируемый D триггер может быть построен например так, как показано на рис.3.11, а, здесь же приведено его обозначение в соответствии с ЕСКД. Рис. 3.11 Схема тактируемого (а) и двухступенчатого (б) D триггера Среди триггеров типа D большое распространение получили триггеры тактируемые фронтом. Такие триггеры строятся по двухступенчатой схеме. Двухступенчатые триггеры состоят из двух тактируемых импульсом триггеров (основного – master и дополнительного – slave), которые синхронизируются взаимно инверсными тактовыми сигналами. На рис. 3.11, б приведена логическая структура двухступенчатого триггера. При воздействии тактового импульса информация со входа ведущего триггера T1 переписывается на его выход. Ведомый триггер T2 в это время не меняет своего состояния, поскольку на его тактовом 150 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики входе действует нулевой сигнал. После окончания тактового импульса ведомый триггер перейдет в то состояние, в котором находится ведущий триггер. Так как выходной сигнал снимается с ведомого триггера, то внешне это проявляется таким образом, как если бы перепись сигнала со входа производилась в момент воздействия на тактовый вход перепада 1/0. Такой тактовый вход обозначают треугольником, повернутым вершиной в обратную сторону от триггера, если активным является перепад 0/1 треугольник повернут вершиной внутрь триггера. Триггер T типа является одновходовым устройством с двумя устойчивыми состояниями, изменяющим свое состояние на противоположное всякий раз, когда на его вход T поступает управляющий сигнал. Триггер T типа функционирует в соответствии с таблицей переходов 3.9 и описывается характеристическим уравнением Qt 1 Q t T t Q t T t . Функция перехода T триггера по виду совпадает с функцией логической неравнозначности двух переменных x1 и x2 (Если значения T и Q поставить в соответствие со значениями x1 и x2 ). Это означает, что счетный триггер выполняет операцию суммирования входной переменной по модулю 2. Характерной особенностью T триггера является то, что частота изменения потенциала на его выходе в два раза меньше частоты сигнала на входе T . Это свойство триггера используется при построении счетчиков. Триггер T типа можно построить на логических элементах. Однако в настоящее время в составе серий, как правило, либо имеются триггеры T типа, либо триггеры D типа и J K типа в интегральном исполнении, которые можно перевести в режим T триггера коммутацией некоторых выводов микросхемы. Так например, если в тактируемом D триггере вход D соединить с инверсным выходом Q , то D триггер превращается в T уравнение триггер, поскольку при условии D t Q t тактируемого триггера D Q t 1 C t Q t C t D t приобретает вид Q t 1 C t Q t C t Q t , при этом на вход C 151 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики подаются счетные импульсы. На рис. 3.12 приведено условное обозначение асинхронного и тактируемого T триггера. При синтезе многоразрядных счетчиков и последовательных регистров на T триггерах используется характеристическая таблица 3.10. Таблица 3.9 Такт T Q t 1 t Qt t 0 1 0 1 0 0 1 1 0 1 1 0 Таблица 3.10 Q t Q t 1 Tt 00 01 10 11 0 1 1 0 Таблица 3.11 Такт j 0 0 1 1 0 0 1 1 t K Q t 1 t t Q 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 152 t 0 0 1 1 1 0 1 0 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Триггер J-K типа относится к двухвходовым устройствам, функционирующим в соответствии с таблицей 3.11. Таблица 3.12 Q t Q t 1 00 01 10 11 Kt jt 0 1 * * * * 1 0 Из таблицы 3.11 следует, что при комбинации сигналов J K , соответствующей конъюнкции J K 1, триггер и J K 1, инвертирует предыдущее состояние (т.е. при t 1 t Q Q ). В остальных случаях J K триггер функционирует как R S триггер. При этом вход J эквивалентен входу S , а вход K - входу R . Функционирование J K триггера t 1 t t t t описывается характеристическим уравнением Q J Q K Q . Рис. 3.12 Условное обозначение асинхронного и тактируемого T триггера В схемотехнике наибольшее распространение получили J K тактируемые триггеры. Эти триггеры являются универсальными, поскольку коммутацией внешних выводов J K триггер можно превратить в триггер, выполняющий функции RS , D и T триггера. Так например, если в характеристическом уравнении для J K триггера принять J t D t и K t D t , то в результате получим Q t 1 D t . Это 153 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики выражение полностью совпадает с характеристическим уравнением для D триггера. Для получения T триггера достаточно объединить входы J и K . В этом случае характеристическое уравнение J K триггера приобретает вид характеристического уравнения T триггера. Условное обозначение тактируемого J K триггера, а также организация D и T триггеров на основе J K триггера приведены на рис. 3.13. Характеристическая таблица для J K триггера имеет вид таблицы 3.12. Рис. 3.13 Условное обозначение тактируемого J K триггера (а) и организация на его основе D триггера (б) и T триггера (в) В настоящее время существует ряд разновидностей триггеров с дополнительными входами. Введение этих входов придает триггеру дополнительные свойства характерные нескольким типам триггеров. Примером может служить триггер К155ТМ2, который обладает свойствами тактируемого D триггера и асинхронного R S триггера (см. рис. 3.14). Рис. 3.14 Условное обозначение триггера К155ТМ2 Синтез синхронных последовательностных устройств выполняется исходя из заданной (таблично или алгебраически) системы функций выходов и переходов, в предположении, что 154 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики элементная база определена (заданы разновидности применяемых триггеров и комбинационных элементов; считается, что по способу синхронизации триггеры относятся к двухступенчатым). Составление уравнений выходов и переходов предполагает предварительное установление (на основании содержательного описания автомата) числа его внутренних состояний и кодирования последних наборами внутренних переменных. Сложность структуры автомата зависит от выбора объема его памяти (он может превышать минимально необходимый), способа кодирования возможных внутренних состояний и разновидности применяемых триггеров. По этой причине рациональное решение упомянутых вопросов, должно составлять неотъемлемую часть синтеза автомата. Однако в общей постановке эта задача относится к числу проблемных в современной теории конечных автоматов и даже ее ограниченное решение связано со значительными трудностями. В практике логического проектирования типовых узлов цифровых устройств число устойчивых состояний, их кодирования и тип применяемых триггеров определяют, как правило, эвристически на основании известных сведений по опыту разработки аналогичных узлов. Методы структурного синтеза гарантируют при этом определение работоспособной структуры автомата. При синтезе последовательностных автоматов принципиально новой задачей в сравнении с синтезом комбинационных схем является обеспечение требуемого вида функции переходов автомата. Каждое уравнение системы переходов определяет переходы одного из триггеров синтезируемого автомата (для произвольной i-ой переменной Wi Qi ). Анализ показывает, что любому из уравнений переходов (далее i-му) может быть придана форма t 1 t 1 t t t t t t Wi Qi g1i Qi g 2i Qi , где g1i и g 2 i - функции множества внутренних состояний W t и множества входных переменных u t . Уравнения данного вида определяют переходы каждого триггера в соответствии с выполняемыми ими функциями в автомате, поэтому они получили наименование прикладных уравнений триггеров. С другой стороны, переходы каждого триггера определяются его характеристическим уравнением; для триггера 155 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики любой t 1 i Q разновидности его можно представить в виде c Qit c2t i Qi t , где c1ti и c 2t i - функции входных переменных t 1i триггера в течение такта t ( R и S в триггерах R S типа, J и K в триггерах J K типа и т.п.). Для определения структуры комбинационных ветвей автомата необходимо установить связь входных переменных каждого триггера U Qt i с множеством входных U t и внутренних W t переменных автомата U Qt i U Qi (U t , W t ) . Уравнения этого вида получили наименование уравнений входов триггеров. Знание этих уравнений позволяет определить структурные схемы комбинационных ветвей в соответствии с методами синтеза комбинационных схем. В целом структурный синтез автомата сводится, таким образом, к определению прикладных уравнений и совместному решению их с характеристическими уравнениями применяемых триггеров с целью получения уравнений входов последних. Совместное решение прикладных и характеристических уравнений можно осуществлять алгебраически или с помощью таблиц переходов и соответствующих им карт Карно. Рассмотрим последовательность синтеза автомата с помощью карт Карно на следующем примере. Пусть требуется построить автомат, управляющий полумостовым инвертором напряжения (см. рис. 3.15), который должен сформировать импульсы управления силовыми ( VT1 и VT2 ) и коммутирующими ( VT3 и VT4 ) тиристорами (рис. 3.16). Рис. 3.15 Принципиальная схема однофазного инвертора 156 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Полумостовой инвертор напряжения работает следующим образом. Пусть в некоторый момент времени на управляющие электроды тиристоров VT1 и VT4 поданы отпирающие импульсы. Тиристоры VT1 и VT4 отпираются и через нагрузку Zн начинает протекать ток по цепи: положительная клемма источника питания E, открытый тиристор VT1, нагрузка Zн, конденсатор C2, отрицательная клемма источника питания. Одновременно происходит заряд коммутирующего конденсатора C3 по цепи: положительная клемма источника питания E, открытый тиристор VT1, коммутирующий дроссель L1, коммутирующий конденсатор C3, открытый тиристор VT4, отрицательная клемма источника питания. По окончании заряда конденсатора C3 тиристор VT4 запирается, при этом левая на рис. 3.15 обкладка конденсатора оказывается заряженной до положительного потенциала. По окончании формирования полуволны напряжения питающего нагрузку управляющий импульс подается на тиристор VT3, при этом начинается перезаряд конденсатора C3 по цепи левая обкладка конденсатора, дроссель L1, диод VD1, открытый тиристор VT3, правая обкладка конденсатора C3. Тиристор VT1 оказывается под действием приложенного к нему обратного напряжения падающего на диоде VD1 и запирается. Затем управляющие импульсы подаются на тиристоры VT2 и VT3 и начинается дозаряд конденсатора C3 и формирование второй полуволны напряжения питающего нагрузку которые протекают аналогично описанному выше. На основании словесного описания работы плумостового инвертора напряжения строятся временные диаграммы работы его системы управления. Временные диаграммы входных и выходных сигналов являются одним из способов задания автомата. Они описывают все возможные комбинации сигналов. На основании анализа временных диаграмм (см. рис. 3.16), можно выделить шесть состояний автомата, таким образом, для его реализации потребуется три триггера. Выберем в качестве элементной базы триггеры типа J K (К155ТВ1). Составим в соответствии с временными диаграммами таблицу переходов (см. таблицу 3.13), причем для устранения гонок кодирование состояний автомата проведем в соответствии с кодом Грея, переход автомата из одного состояния в другое будем осуществлять по переднему фронту 157 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики сигнала C , а формирование импульсов управления в соответствии с тактовыми импульсами C . Рис.3.16 Временные диаграммы работы системы управления автономным инвертором Таблица 3.13 функционирования автомата, отражает двоичные коды всех предыдущих и последующих его состояний, выраженных через состояния триггеров в моменты времени прихода очередного входного стробирующего (тактирующего) сигнала C , а также значение импульсов управления силовыми ( VT1 , VT2 ) и коммутирующими ( VT3 , VT4 ) тиристорами в эти же моменты времени. Таблица 3.13 № сос т 1 2 3 4 5 6 c Q0t Q1t Q2t Q0t 1 Q1t 1 Q2t 1 VT1 VT2 VT3 VT4 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 158 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики На основе таблицы 3.13 для каждого триггера составим карты Карно, отражающие переход данного триггера из предыдущего состояния Qit в последующее Qit 1 (см. рис. 3.17). Для этого в клетки карты, соответствующие номерам предыдущих состояний автомата, вписываются 2-х разрядные двоичные числа, выражающие переход триггера Qit Qit 1 при изменении состояния автомата. Полученные таблицы называют прикладными. В этих таблицах прочеркнутая клетка соответствует исключенному состоянию автомата, например состоянию Q0Q1Q2 . Рис. 3.17 Прикладные таблицы автомата На основании полученных прикладных таблиц и характеристической таблицы J K триггера (таблица 3.12) составляем карты Карно соответственно для J (см. рис. 3.18) и K (см. рис. 3.19) входов каждого триггера. Для этого 2-х разрядные двоичные числа в прикладных таблицах заменяют соответствующими обобщенными значениями из клеток характеристической таблицы для каждого входа триггера. В результате получается набор карт Карно, отражающих значения логических функций на всех входах каждого триггера в зависимости от состояний автомата. Рис. 3.18 Карты Карно для J входов 159 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Используя методы минимизации логических функций, из полученного набора карт Карно составляем минимизированные логические уравнения, которые связывают между собой входы и выходы всех триггеров автомата. Учитывая, что в прочеркнутых клетках, как и в клетках со звездочками, функция не определена, при проведении контуров в картах Карно включаем в контуры указанные клетки. Рис. 3.19 Карты Карно для K входов После минимизации получаем логические уравнения входов J и K триггеров автомата J 0 Q1t Q2t ; K 0 Q1t ; J 1 Q0t ; K1 Q2t ; t J 2 Q0t Q1t ; K 2 Q1 . Эти уравнения полностью определяют структуру синтезируемого автомата (см. рис. 3.20). Логические выражения, описывающие работу выходной комбинационной схемы, получим из таблицы 3.13. VT1 CQ0t Q1t Q2t ; VT2 CQ0t Q1t Q2t ; 160 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики VT3 CQ0t Q1t Q2t CQ0t Q1t Q2t C (Q0t Q1t Q2t Q0t Q1t Q2t ) CQ1t Q2t ; VT4 CQ0t Q1t Q2t CQ0t Q1t Q2t C (Q0t Q1t Q2t Q0t Q1t Q2t ) CQ0t Q1t . Принципиальная схема синтезированного автомата приведена на рис. 3.20 (без выходной комбинационной схемы). Рис. 3.20 Синтезированный автомат без выходной комбинационной схемы При составлении логических схем узлов цифровых устройств необходимо выполнить два условия: не подсоединять к одному и тому же входу логического элемента несколько выходов; не образовывать замкнутых цепей, по которым сигнал с выхода какого-либо элемента мог бы снова попасть (пройдя, возможно, другие элементы) на один из входов того же самого элемента. Как было показано, при наличии замкнутых цепей устройство на логических элементах может иметь несколько внутренних состояний, что используется для построения триггерных структур. 161 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Дешифраторы. Дешифратор – устройство, которое служит для дешифрования любого n-буквенного слова. Он представляет собой комбинационную схему с n входами и m выходами, на каждом из выходов сигнал, равный единице, возникает только при вполне определенной для каждого из выходов комбинации входных сигналов. Если пронумеровать наборы входных сигналов, а также выходы дешифратора целыми числами, начиная с нуля, то его работу можно описать так: при подаче на вход j-го набора входных сигналов x j сигнал y j 1 появляется только на выходе с номером j. Рис. 3.21 Дешифратор: условное обозначение (а), внутренняя структура (б) Максимальное количество выходов дешифратора равно числу n-разрядных двоичных чисел, т.е. m 2 n . Такие дешифраторы называются полными. Иногда возникает необходимость дешифровать только одно или несколько входных 162 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики слов (чисел). В этом случае имеют дело с неполными дешифраторами. Иное название дешифраторов – декодеры. Условное обозначение дешифраторов приведено на рис. 3.21, а, на рис. 3.21, б его внутренняя структура. Для примера приведем таблицу истинности дешифратора 3-х разрядного числа (табл. 3.14). Таблица 3.14 № слова 1 2 3 4 5 6 7 8 X3 X2 X1 Y1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 1 1 1 1 1 1 1 Рис. 3.22 Преобразователь кода для управления семисегментным индикатором Для решения некоторых конкретных задач выпускаются ИС, которые служат преобразователями кодов. В отличие от дешифратора преобразователь кодов может формировать произвольное число нулевых и единичных сигналов на выходах. 163 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Каждому входному набору (слову) ставится в однозначное соответствие выходной набор (слово). Примером преобразователя кодов служит микросхема, преобразующая двоичный код в сигналы управления семисегментным индикатором (рис. 3.22). Здесь, например, двоичному набору 0000 должно соответствовать формирование логической единицы на всех выходах, кроме G. Обратную функцию выполняют шифраторы. У шифратора 2n входов, на один из них подается логическая 1, а на остальные – 0, на n выходах формируются слова, соответствующие двоичному коду номера единичного входа. Мультиплексор. Мультиплексор осуществляет подключение одного выхода к любому из имеющихся входов. Логический сигнал на выходе F (рис. 3.23) принимает значение сигнала на входе Di в зависимости от управляющих сигналов A0, A1, A2, …, Ai. Обычно вход D0 подключается к выходу при наборе управляющих сигналов 000 … 0, D1 – при 000 … 1 и т.д. Функциональный узел, который выполняет функции, противоположные мультиплексору (сигналы, поступающие на вход, распределяются по нескольким каналам) называется демультиплексором. Существуют мультиплексоры и демультиплексоры для коммутации аналоговых сигналов. Рис. 3.23 Мультиплексор Сумматоры. Сумматор – схема осуществляющая получение арифметической суммы двух одноразрядных двоичных чисел. Числа в двоичной системе складываются по тем же правилам, что и в десятичной системе счисления. Например: 21+22=43, 1011+1001=10100. Основу сумматоров составляют либо элементарные одноразрядные комбинационные сумматоры, 164 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики либо элементарные автоматы с памятью. Соответственно принято делить сумматоры на комбинационные и накапливающие. Одноразрядные комбинационные сумматоры осуществляют сложение двух двоичных разрядов x, y и значения переноса z из младшего разряда и осуществляют выработку значения суммы S и переноса p в старший разряд. Рис. 3.24 Комбинационные полусумматор (а) и полный сумматор (б) Одноразрядный сумматор (рис. 3.24, б) с тремя входами строится в соответствии с таблицей 3.15 двоичного сложения, из которой вытекают минимальные дизъюнктивные формы для функций S и p: S x yzVx yz Vxyz Vxyz; p xyVyzVxz. 165 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики На основе одноразрядного сумматора могут быть построены схемы сравнения, выявляющие совпадения (равенство) кодов. Таблица 3.15 x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1 p 0 0 0 1 0 1 1 1 Для совпадения цифр в i-м разряде необходимо, чтобы обе цифры были равны нулю или единице. Отсюда получаем функцию эквивалентности одноразрядных двоичных чисел Ri xi yi xi yi . Соответственно функция неравнозначности или сумма по модулю два (исключающее ИЛИ) определяется выражением Ri xi yi xi yi x y , которое реализуется в полусумматоре (рис. 3.24, а) для получения суммы S. На рис. 3.25, а приведено условное обозначение сумматора по модулю 2. Кроме рассмотренных схем в цифровых устройствах применяются также логические схемы, выявляющие большее или меньшее из двух сравниваемых двоичных чисел (см. рис. 3.25, б) (К555СН1). Рис. 3.25 Схемы сравнения чисел. 166 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Накапливающие сумматоры строятся, как правило, на статических триггерах со счетными входами и рассчитываются на последовательный ввод разрядов слагаемых. Двоичные накапливающие сумматоры строятся на базе триггеров со счетными входами. Одноразрядный сумматор имеет один вход, на который последовательно подаются разряды слагаемых и цифра переноса в данный разряд, и два выхода S и p: на одном выходе формируется сумма S по модулю два, а на другом сигнал переноса p в старший разряд (см. рис. 3.26, а). Рис. 3.26 Накапливающие сумматоры. За время суммирования в одном разряде триггер может переключаться до 3 раз. Четвертое переключение необходимо при установке нуля. С этим связан основной недостаток накапливающего сумматора – низкое быстродействие. Однако, если далее к сумме первых двух чисел нужно добавить третье, четвертое число и т.д., то добавление каждого нового числа потребует максимум двух переключений триггера, потому что к началу сложения цифры одно из слагаемых уже находятся в счетчике. В связи с этим проигрыш в скорости при выполнении 167 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики многократных суммирований по сравнению с комбинационным сумматором получается не слишком большим. В то же время экономия в количестве оборудования получается заметной. На рис. 3.26, б показан принцип соединения одноразрядных накапливающих сумматоров. Имеющиеся между одноразрядными сумматорами линии задержки исключают возможность наложения во времени сигналов переноса и второго слагаемого. Регистры. Регистром называют совокупность триггеров, объединенных общими схемами управления, предназначенных для хранения одного двоичного слова (кода). Регистры используются также для выполнения некоторых операций над кодами: сдвиг кода вправо или влево, образование обратного кода и др. В зависимости от способа ввода и съема информации различают параллельные и последовательные регистры. В регистрах параллельного действия все разряды кода вводятся и выводятся одновременно. Помимо триггеров в состав регистров входит еще и ряд схем И для управления приемом и выдачей кода (рис. 3.27). Каждый триггер предназначен для запоминания одного разряда кода. Перед записью кода на шину установки нуля подается сигнал, переводящий все триггеры в нулевое состояние. Для записи кода в регистр на схемы И, соединенные с единичными входами подаются цифры ai разрядов кода и сигнал записи информации. Возникающие на выходах схем И сигналы воздействуют на входы установки единицы триггеров; при ai 1 соответствующие триггеры переводятся в единичное состояние. Для считывания кода записанного в регистре, на схемы И, подключенные к выходам Q триггеров, подается сигнал считывания. При этом сигналы, соответствующие единице, появляются на выходе только тех схем И, для которых Qi 1 . Параллельные регистры могут быть образованы из триггеров любого типа. От типа применяемых триггеров будет зависеть лишь способ управления вводом информации. Последовательные регистры воспринимают информацию через один разряд – входной и выдают ее также через одни разряд называемый выходным. Последовательные регистры состоят из триггеров, соединенных последовательно таким образом, что выходной сигнал предыдущего триггера поступает на вход 168 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики последующего. Все триггеры управляются общими синхронизирующими импульсами, причем появление импульса на тактовом входе вызывает сдвиг записанной в нем информации на один разряд вправо или влево. Поэтому такие регистры называются регистрами сдвига. Рис. 3.27 Параллельный регистр. На рис. 3.28 показана схема регистра позволяющего производить сдвиг кода как в сторону младших разрядов, так и в сторону старших разрядов. Здесь выход Q каждого триггера может быть соединен как со входом D последующего триггера, так и со входом D предыдущего, в зависимости от состояния управляющего сигнала y. При наличии сигнала y 1 включается прямая связь между разрядами, а при y 0 - обратная. Таким образом при y 0 происходит сдвиг в сторону старших разрядов, а при y 1 - в сторону младших разрядов. Подобные регистры называются реверсивными регистрами сдвига. Сдвиг информации осуществляется под воздействием тактового импульса. При построении регистров сдвига применяются триггеры типа R-S, D или J-K. Сдвигающие регистры применяются также для преобразования параллельного кода в последовательный и наоборот. Для этого каждый разряд регистра должен иметь дополнительный вход для параллельного приема кода. 169 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Преобразование последовательного кода в параллельный осуществляется путем одновременного опроса состояний всех триггеров регистра (см. рис. 3.27). Рис. 3.28 Реверсивный регистр сдвига. Импульсные счетчики. Импульсный счетчик можно определить как автомат Мура с N состояниями, имеющий один элементарный входной канал. При подаче на вход счетчика сигнала, он переходит в состояние, номер которого на единицу больше номера предыдущего состояния; если же номер состояния является максимальным, то счетчик переходит в нулевое состояние. При кодировании состояния счетчика обычными двоичными кодами последовательных целых неотрицательных чисел, начиная с нуля, т.е. числами вида 00 … 00, 00 … 01, 00 … 10, 00 … 11 и т.д., импульсный счетчик называется двоичным. Двоичный n-разрядный счетчик имеет N 2 n различных состояний, каждому из которых соответствует двоичное число в пределах от 0 до 2 n 1 . Рис. 3.29 Двоичный счетчик. 170 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики При построении двоичных счетчиков в качестве элементарных автоматов обычно используют двухступенчатые счетные триггеры с дополнительным входом установки нуля. Двоичный счетчик можно получить, если последовательно соединить выход i-го триггера с T – входом (i+1) – го триггера (рис. 3.29). Если сигнал на вход T – триггера последующего разряда подавать с инверсного выхода триггера предыдущего разряда (рис. 3.30) получим вычитающий счетчик. При исключении некоторых устойчивых состояний двоичного счетчика можно построить счетчик с коэффициентом пересчета не равным 2n. Такие счетчики называют недвоичными. Рис. 3.30 Вычитающий двоичный счетчик. На рис. 3.31 иллюстрируется пример построения счетчика с коэффициентом пересчета равным трем. Рис. 3.31 Недвоичный счетчик. Счетчики являются одним из наиболее распространенных узлов цифровых устройств. Существует большое многообразие 171 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики счетчиков, это и так называемые реверсивные счетчики, способные работать как в режиме сложения, так и в режиме вычитания, и кольцевые, в которых происходит сдвиг единицы из разряда в разряда под действием поступающих на вход импульсов и т.д. Способы построения таких счетчиков основаны на введении в них дополнительных элементов и связей. § 3. Микропроцессоры и узлы микропроцессорных устройств Микропроцессор (МП) - это программно управляемое устройство, осуществляющее процесс обработки цифровой информации и управление им, построенное на основе одной или нескольких больших (сверхбольших) интегральных схем. Этот микроэлектронный прибор стал в последние годы ядром многих электронных систем автоматического регулирования и управления аппаратурой и технологическими процессами, измерительных устройств и устройств отображения и обработки информации. Такое широкое внедрение микропроцессора в обширный класс устройств обусловлено, в первую очередь, тем, что МП в отличие от традиционных интегральных схем выполняет не одну какую-либо функцию, а набор арифметических и логических функций и, кроме того, экономичен в изготовлении как стандартное изделие в условиях серийного производства. Первый МП был разработан фирмой Intel inc. в 1973 г. Это был МП с фиксированной длиной слова и системой команд, физически оформленный в виде 4-х разрядной p-МОП большой интегральной схемы с названием I 4004. Первым, действительно универсальным в рамках широкого круга решаемых задач стал разработанный этой же фирмой МП I 8080. Этот МП имеет довольно большое (64К слов) адресное пространство и универсальную мощную (78 команд) систему команд. Существует большое количество разновидностей МП, выпускаемых различными фирмами, как отечественными, так и зарубежными, отличающихся друг от друга как по архитектуре, так и по другим различным признакам. Рассмотрим некоторые особенности их построения и функционирования на примере 172 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики отечественного аналога однокристальной ЭВМ I8051, однокристального микроконтроллера КМ1816BE51. Микроконтроллер (МК) KM1816BE51 выполнен на основе высокоуровневой n-МОП технологии и выпускается в корпусе, имеющем 40 выводов. Отечественные и зарубежные фирмы предлагают полный аналог этого МК, выполненный по другим технологиям, например, МК KM1830BE51 (I 87C51) выполнен по К-МОП технологии. На рис. 3.32 показана цоколевка корпуса МК51 и имена выводов. Для работы МК51 требуется один источник электропитания +5В. Через 4 программируемых порта ввода/вывода МК51 взаимодействует с внешними устройствами в стандарте ТТЛ - схем с тремя состояниями выхода. Рис. 3.32 Цоколевка корпуса МК 51 и имена выводов 173 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики В состав МК51 входят: 8-битное АЛУ; ПЗУ емкостью 4 Кбайт; ОЗУ емкостью 128 байт; два 16-битных таймера/счетчика; последовательный порт с максимальной скоростью приемопередачи в асинхронном режиме - 375 Кбит/сек; двухуровневая система прерываний от 5 источников; 32 двунаправленные программируемые линии ввода/вывода. Имеется возможность расширения памяти программ и внешней памяти данных. Отличительной особенностью системы команд МК51 является наличие быстрых команд деления и умножения, возможность логической обработки отдельно адресуемых бит, развитая система условных ветвлений. При тактовой частоте 12 МГц большинство команд выполняется за 1-2 мкс. Приведем краткое описание выводов МК51: EA/ UPP - отключение резидентной памяти программ / дополнительное питание +21В в режиме программирования резидентной ПЗУ; GND - общая точка, земля; +5В - основное напряжение питания +5В; RST/UPD - системный сброс / аварийное питание +5В в режиме пониженного энергопотребления; ALE / PROG - строб адреса внешней памяти (используется для фиксации на внешнем регистре младшей половины адреса внешней памяти) / строб программирования резидентной памяти программ; PSEN - разрешение внешней памяти программ; является стробом чтения; XTAL1, XTAL2 - вход и выход внутреннего синхрогенератора; служат для подключения кварцевого резонатора, допускается также подача внешнего синхросигнала на вывод XTAL2 при заземлении XTAL1; (P0.0 ... P0.7), (P1.0 ... P1.7), (P2.0 ... P2.7), (P3.0 ... P3.7) - 32 индивидуально программируемые двунаправленные линии ввода/вывода портов 0, 1, 2, 3; линии порта 0 и 2 используются также при обращении к внешней памяти, линии порта 3 могут использоваться как линии специального назначения. Основу структурной схемы МК51 (рис. 3.33) образует внутренняя двунаправленная 8-битная шина, которая связывает между собой все основные узлы и устройства: резидентную 174 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики память, АЛУ, блок регистров специальных функций (РСФ), устройство управления и порты ввода/вывода. Рис. 3.33 Структурная схема МК 51 175 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Рассмотрим основные элементы структуры и особенности организации вычислительного процесса в МК51. АЛУ. 8-битное АЛУ может выполнять арифметические операции сложения, вычитания, умножения, деления, логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. В АЛУ имеются регистры временного хранения операндов Т1 и Т2, схемы десятичной коррекции, формирования признаков результата операции. Важной особенностью АЛУ является его способность оперировать с битами. Отдельные программно доступные биты (флаги) могут быть установлены, сброшены, инвертированы, переданы и проверены в логических операциях. Эта способность АЛУ оперировать с битами столь важна, что можно говорить о наличии в нем “Булевского процессора”. Таким образом, АЛУ может оперировать с четырьмя типами информационных объектов: Булевскими (1 бит), цифровыми (4 бита), байтными (8 бит) и адресными (16 бит). При выполнении многих команд в АЛУ формируется ряд признаков операции (флагов), которые фиксируются в регистре слова состояния процессора PSW. На рис. 3.34 показан формат PSW. Функции аккумулятора “Булевского процессора” выполняет флаг переноса (С). АЛУ не управляет флагами селекции банка регистров (RS1, RS0). Их состояние полностью определяется прикладной программой, у которой имеется возможность выбора одного из четырех регистровых банков. Хотя процессор в МК51 и имеет в своей основе аккумулятор, он может выполнять множество команд и без его участия. Например, данные могут быть переданы из любой ячейки резидентной памяти данных в любой регистр, или любой регистр может быть загружен непосредственным операндом и т.д. Многие логические операции также могут быть выполнены без участия аккумулятора. Восьмибитный регистр - указатель стека SP может адресовать любую область резидентной памяти данных. Его содержимое инкрементируется прежде, чем данные будут запомнены в стеке, и декрементируется после извлечения данных 176 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики из стека. Подобный способ адресации элементов стека называют преинкрементным - постдекрементным. Рис. 3.34 Формат PSW C - флаг переноса / заема, устанавливается и сбрасывается при выполнении арифметических, логических и некоторых команд пересылки; AC - флаг вспомогательного переноса, формируется при выполнении команд сложения и вычитания и сигнализирует о переносе / заеме в бите 3; F0 - программный флаг общего назначения; OV - флаг переполнения, формируется при выполнении арифметических команд, принимает единичное значение при возникновении переполнения, т.е. при выходе результата за диапазон -128 ... +127; P - флаг паритета, формируется в каждом цикле любой команды и постоянно фиксирует нечетное (1) / четное (0) значение числа единиц в аккумуляторе; RS1, RS0 - программно управляемые флаги выбора рабочего банка регистров 00 - банк 0 (00H07H); 01 - банк 1 (08H0FH); 10 - банк 2 (10H17H); 11- банк 3 (18H1FH) Двухбайтный регистр указатель данных DPTR обычно используется как источник 16-битного адреса при обращении к внешней памяти. Командами МК51 этот регистр может быть использован или как 16-битный регистр, или как два независимых 8-битных регистра (DPH и DPL). Устройство управления и синхронизации. Кварцевый резонатор, подключаемый к выводам XTAL1 и XTAL2, управляет работой внутреннего генератора, который, в свою очередь, формирует системные сигналы синхронизации. Устройство управления МК51 на основе сигналов синхронизации формирует машинный цикл, равный 12 периодам синхросигнала или 6 состояниям первичного управляющего 177 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики автомата (S1-S6). Каждое состояние управляющего автомата содержит 2 фазы (P1, P2). В фазе P1, как правило, выполняется операция в АЛУ, а в фазе P2 осуществляется межрегистровая передача. Весь машинный цикл состоит из 12 фаз, начиная с фазы S1P1 и заканчивая фазой S6P2. Внешним наблюдаемым сигналом, кроме сигнала генератора, является сигнал строба адреса внешней памяти (ALE), который формируется дважды за один машинный цикл (S1P2S2P1 и S4P2S5P1) и используется для управления процессом обращения к внешней памяти (рис. 3.35). Большинство команд МК51 выполняется за один или два машинных цикла. Только команды деления и умножения требуют четырех машинных циклов. При частоте резонатора 12 МГц время машинного цикла составляет одну микросекунду. Резидентная память МК51. ОЗУ и ПЗУ, размещенные на кристалле МК51 (резидентная память), физически и логически разделены, имеют различные механизмы адресации, работают под управлением различных сигналов и выполняют разные функции. Резидентное ПЗУ имеет емкость 4 Кбайт и предназначено для хранения команд, констант, таблиц перекодировки и т.п. МК51 имеет 16-битную шину адреса, на которую имеют выход счетчик команд РС и регистр-указатель данных DPTR. Последний выполняет функции базового регистра при косвенных переходах по программе и используется при чтении констант из памяти программ. Резидентная память данных предназначена для хранения переменных прикладной программы, адресуется одним байтом и имеет емкость 128 байт. В начале адресного пространства (00H1FH) резидентной памяти данных располагается 4 регистровых банка по 8 регистров в каждом. Далее (20Н2FH) размещается область программных флагов (до 128), которые могут быть использованы по усмотрению разработчика. Начиная с адреса 30Н и до конца адресного пространства (7FH) размещается свободная зона, используемая для хранения данных и/или в качестве стека. Приведенное распределение не является обязательным. Например, с целью расширения свободной зоны разработчик может отказаться от использования двух старших регистровых банков и области программных флагов. В этом случае свободная область резидентной памяти данных расширяется с 80 до 112 байт. 178 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Рис. 3.35 Временные диаграммы доступа к внешним: а) ПЗУ; б) ОЗУ 179 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Таблица 3.16 Регистры специальных функций. Имя ACC* B* PSW* SP DPТR Наименование Аккумулятор Регистр-расширитель аккумулятора Слово состояния программы Регистр-указатель стека Регистр-указатель данных (DPH) Адрес 0E0H 0F0H 0D0H 81H 83H 82H P0* P1* P2* P3* IP* IE* TMOD TCON* TH0 TL0 TH1 TL1 SCON* SBUF PCON (DPL) Порт 0 Порт 1 Порт 2 Порт 3 Регистр приоритетов Регистр разрешения прерываний Регистр режима таймера/счетчика Регистр управления / состояния таймера Таймер 0 (старший байт) Таймер 0 (младший байт) Таймер 1 (старший байт) Таймер 1 (младший байт) Регистр управления / состояния УАПП Буфер приемопередатчика Регистр управления мощностью 80H 90H 0A0H 0B0H 0B8H 0A8H 89H 88H 8CH 8AH 8DH 8BH 98H 99H 87H Примечание: Регистры, имена которых отмечены звездочкой (*), допускают адресацию отдельных бит. К адресному пространству резидентной памяти данных примыкает пространство регистров специальных функций, перечисленных в табл. 3.16. 180 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Хотя резидентная память данных и регистры специальных функций имеют единое адресное пространство, однако механизмы их адресации различаются. Резидентная память данных допускает прямую и косвенную, а регистры специальных функций - только прямую адресацию. Внешняя память МП-системы. ОЗУ, так же, как и ПЗУ, может быть расширено до 64 Кбайт путем подключения внешних БИС памяти. Доступ к внешнему ПЗУ осуществляется при помощи управляющего сигнала PSEN , который выполняет функцию строб - сигнала чтения. Доступ к внешнему ОЗУ обеспечивается управляющими сигналами RD и WR . При обращении к внешнему ПЗУ всегда используется 16битный адрес. Доступ к внешнему ОЗУ возможен с использованием 16-битного или 8-битного адреса. В случае использования 16-битного адреса старший байт адреса появляется (и сохраняется неизменным в течение одного цикла записи или чтения) на выводах порта 2. Если очередной цикл внешней памяти следует не сразу же за предыдущим циклом внешней памяти, то неизменное содержимое регистра-защелки порта 2 восстанавливается в следующем цикле. Если используется 8-битный адрес, то состояние порта 2 остается неизменным. Через порт 0 в режиме временного мультиплексирования осуществляется выдача младшего байта адреса и передача байта данных. Сигнал ALE стробирует запись младшего байта адреса во внешний регистр. Затем в цикле записи выводимый байт данных появляется на внешних выводах порта 0 перед появлением сигнала WR . В цикле чтения вводимый байт данных принимается в порт 0 по фронту сигнала RD . При любом обращении к внешней памяти устройство управления МК51 загружает в регистр-защелку порта 0 константу 0FFH, стирая прежнюю информацию. Временные диаграммы на рис. 3.35 иллюстрируют процесс генерации управляющих сигналов при обращении к внешней памяти. 181 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Необходимо отметить, что цикл обращения к внешнему ПЗУ занимает половину машинного цикла (т.е. 0,5 мкс), а цикл доступа ОЗУ - полный машинный цикл (1,0 мкс). Порты ввода/вывода МК51. Микроконтроллер имеет 4 восьмибитных порта ввода/вывода Р0, Р1, Р2 и Р3. Каждый разряд любого порта может быть индивидуально настроен на ввод или вывод. Для настройки разряда на ввод необходимо в соответствующий бит порта записать 1. Каждый разряд порта содержит D-триггер, буфер чтения состояния триггера и состояния линии ввода/вывода, а также выходной каскад (рис. 3.36). В тех случаях, когда порт является одновременно операндом и местом назначения результата, устройство управления автоматически реализует специальный режим, который называется “чтение - модификация - запись”. Этот режим обращения предполагает ввод сигналов не с внешних выводов порта, а из его буферного регистра (из D-триггеров), что исключает влияние нагрузки, подключенной к выводу, на правильность считывания ранее выведенной информации. Выходы портов 1, 2, 3 имеют схему внутренней “подпитки” через транзистор Т3. Эти порты часто называют “квазидвунаправленными” в отличие от двунаправленного порта 0, который такой схемы “подпитки” не имеет. Выходной транзистор Т2 открыт во время, пока D-триггер данного разряда порта находится в состоянии 0. В отличие от Т2 транзистор Т1 открывается на короткое время (S1P1 и S1P2) только при переключении разряда из состояния 0 в состояние 1. Тем самым достигается быстрый заряд паразитной выходной емкости. В дальнейшем Т1 закрыт, и уровень 1 поддерживается через Т3, включенный как сопротивление. Ток короткого замыкания выхода на землю в этом состоянии равен 0,25 мA, тогда как при открытии Т1 ток достигает величины 30 мА. Порт 0 имеет ту особенность, что в нормальных операциях ввода/вывода его выходной транзистор Т1 остается всегда закрытым (Т1 открывается только в случае передачи через порт 0 единичного уровня при обращении к внешней памяти). Таким образом, выходы порта 0 являются выходами типа “открытый коллектор”. Кроме обычного ввода/вывода порты 0 и 2 используются в циклах обращения к внешней памяти. По 182 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики завершении такого цикла порт 2 восстанавливает свое состояние, а в порт 0 записывается код 0FFH. Рис.3.36 Схемотехника портов ввода/вывода: а) схема одного разряда буферного регистра порта; б) схема выходного каскада порта. Каждая линия порта 3 имеет свою альтернативную функцию (рис. 3.32). Отметим, что для нормальной работы альтернативной функции в соответствующий разряд порта 3 должна быть записана 1. 183 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Выходы портов 1, 2 и 3 могут нагружаться на 4-ТТЛ входа микросхем серии К555, а порта 0 - на 8 входов. Кроме того, линии порта 0 могут использоваться как входы с очень высоким входным сопротивлением (входные токи линий портов 1, 2 и 3 составляют около 0,25 мА при нулевом входном сигнале). Таймер/счетчик. Два программируемых 16-битных таймера/счетчика (Т/С0 и Т/С1) могут быть использованы в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера, содержимое Т/С инкрементируется в каждом машинном цикле (МЦ), т.е. каждые 12 периодов синхросигнала. Рис. 3.37 Регистр режима таймера/счетчика: GATE - управление внешней блокировко Т/С, при установке разрешает внешнему входу INT x блокировать счет Т/С, при этом единичное значение входа INT x разрешает счет, нулевое - запрещает; С/Т - выбор режима работы Т/С: 0 - таймер; 1 - счетчик; М1, М0 - выбор одного из четырех режимов работы: 00 - режим 0, 01 - режим 1, 10 - режим 2, 11 - режим 3. При работе в качестве счетчика, содержимое Т/С инкрементируется под воздействием перехода из 1 в 0 внешнего сигнала, подаваемого на соответствующий (Т0, Т1) вывод МК51. Так как на распознавание перехода требуется два МЦ, то максимальная частота переключения входных сигналов равна 1/24 тактовой частоты МК51 при длительности единичного импульса не менее одного МЦ. Для управления режимами работы Т/С и для организации взаимодействия таймеров с системой прерывания используется 2 регистра специальных функций (TMOD и TCON), описание которых приводится на рис. 3.37 и рис. 3.38 соответственно. Как 184 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики следует из описания управляющих бит TMOD, для обоих Т/С режимы работы 0, 1 и 2 одинаковы. Режимы 3 для Т/С0 и Т/С1 различны. Рассмотрим кратко работу Т/С во всех четырех режимах. Рис. 3.38 Регистр управления/состояния таймера/счетчика: TF1, TF0 - флаги переполнения Т/С1 и Т/С0, устанавливаются при переполнении Т/С, сбрасываются при входе в подпрограммы обслуживания прерывания; TR1, TR0 - управление пуском/остановом Т/С1 и Т/С0, 1- счет, 0 - останов; IE1, IE0 - флаг внешнего прерывания устанавливается при переходе сигнала из 1 в 0 на выходах входах INT 1 и INT 0 , сбрасывается при выходе из подпрограммы обслуживания прерывания; IT1, IT0 - управление типом прерывания; прерывание фиксируется: 1 - по спаду, 0 по нулю на входах INT 1 и INT 0 . Режим 0. Перевод любого Т/С в режим 0 делает его похожим на 8-битный счетчик, на входе которого подключен 5битный предделитель. Работу Т/С1 в режиме 0 иллюстрирует рис. 3.39, а. В этом режиме таймерный регистр имеет разрядность 13 бит. При переходе из состояния “все единицы” в состояние “все нули” устанавливается флаг прерывания от таймера (TF1). Синхросигнал поступает на вход Т/С, когда управляющий бит TR1 установлен, и либо управляющий бит GATE (управление блокировкой) равен 0, либо на внешнем выводе запроса прерывания INT 1 присутствует уровень 1. Режим 1. Работа любого Т/С в режиме 1 такая же, как и в режиме 0, за исключением того, что таймерный регистр имеет разрядность 16 бит. Режим 2. В режиме 2 работа организована таким образом, что переполнение (переход из состояния “все единицы” в состояние “все нули”) 8-битного счетчика TL1 приводит не только 185 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики к установке флага TF1 (рис. 3.39, б), но и автоматически перезагружает в TL1 содержимое старшего байта (ТН1) таймерного регистра, которое предварительно было задано программным путем. Перезагрузка оставляет содержимое ТН1 неизменным. Режим 3. В режиме 3 Т/С1 и Т/С0 работают по-разному. В режиме 3 Т/С1 останавливается и сохраняет неизменным свое текущее содержимое. Иными словами, эффект такой же, как и при сбросе управляющего бита TR1. Работу Т/С0 в режиме 3 иллюстрирует рис. 3.39, в. В режиме 3 TL0 и TH0 функционирует как 2 независимых 8-битных Т/С. Работу TL0 определяют управляющие биты Т/С0. Работу ТН0, который может выполнять только функции таймера, определяет управляющий бит TR1. При этом ТН0 использует флаг переполнения TF1. Режим 3 используется в тех случаях, когда требуется наличие дополнительного 8-битного Т/С. Можно считать, что в режиме 3 МК51 имеет в своем составе 3 таймера/счетчика. Работа Т/С0 в режиме 3 ограничивает функциональные возможности Т/С1, который при этом однако может использоваться, например, для задания скорости приемопередачи последовательного порта или для других целей, не требующих прерываний от таймера. Последовательный интерфейс. Через универсальный асинхронный приемопередатчик (УАПП) осуществляется прием и передача информации, представленной последовательным кодом (младшими битами вперед), в полном дуплексном режиме обмена. В состав УАПП, называемый часто последовательным портом, входят принимающий и передающий сдвигающие регистры, а также специальный буферный регистр (SBUF) приемопередатчика. Последовательный порт МК51 может работать в 4-х различных режимах. Выбор режима осуществляется через регистр управления / состояния (SCON) УАПП (рис. 3.40). Режим 0. В этом режиме информация (8 бит) и передается и принимается через вход приемника (RXD). Через выход передатчика (TXD) выдаются импульсы сдвига, которые сопровождают каждый бит. Частота приемопередачи равна 1/12 тактовой частоты. 186 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Рис. 3.39 Режимы работы таймера/счетчика: а) Т/С1 в режимах 0 и 1; б) Т/С1 в режиме 2; в) Т/С0 в режиме 3 187 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Режим 1. В этом режиме передаются через TXD или принимаются из RXD 10 бит информации: старт-бит (0), 8 бит данных и стоп-бит (1). Скорость приемопередачи задается Т/С1. Режим 2. В этом режиме через TXD передаются или из RXD принимаются 11 бит информации: старт-бит, 8 бит данных, программируемый 9-й бит и стоп-бит. Например, для повышения достоверности передачи путем контроля по четности, в 9-й бит может быть программно помещено значение флага паритета из PSW. Рис. 3.40 Регистр управления / состояния УАПП: SM0, SM1 - управление режимом работы: 00 - режим 0, 01 - режим 1, 10 - режим 2, 11 - режим 3; SM2 - если 1, то флаг RI не будет устанавливаться при приеме тех символов, у которых 9-й бит данных (для режимов 2 и 3) или стоп-бит (режим 1) равен 0; REN - разрешение приема: 1 - разрешение, 0 - запрет; ТВ8 - 9-й передаваемый бит данных; RB8 - 9-й принятый бит данных; TI, RI - флаги прерывания передатчика и приемника Режим 3. Режим 3 совпадает с режимом 2 во всех деталях за исключением частоты приемопередачи, которая задается Т/С1. В режимах 1, 2 и 3 скорость приемопередачи зависит от бита SMOD регистра управления мощностью PCON (рис. 3.41) и определяется выражениями: f2 f 1,3 2 SMOD f OSC ; 64 2 SMOD f перепол нения 32 188 T / C1 . М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Прерывание от таймера 1 в этом случае должно быть заблокировано. Сам Т/С1 может работать и как таймер, и как счетчик событий в любом из 3-х режимов. Однако наиболее удобно использовать режим таймера с автоперезагрузкой. В этом случае f переполнения T / C1 f OSC . 12 256 TH 1 Во всех четырех режимах работы передача из УАПП инициируется любой командой, в которой буферный регистр SBUF указан как получатель байта. Прием в УАПП в режиме 0 осуществляется при условии, что RI=0 и REN=1. В режимах 1, 2, 3 прием начинается с приходом старт-бита в том случае, если REN=1. Рис. 3.41 Регистр управления мощностью: SMOD - управление скоростью приемопередачи УАПП; GF1, GF0 - программные флаги общего назначения; PD - управление энергопотреблением: 1 пониженное, 0 - нормальное энергопотребление; IDL - бит холостого хода, при IDL=1 МК переходит в режим холостого хода. В бите ТВ8 программно формируется значение 9-го передаваемого бита данных в режимах 2 и 3. В бите RB8 фиксируется (в режимах 2 и 3) 9-й принимаемый бит данных. В режиме 1, если SM2=0, в бит RB8 заносится стоп-бит. В режиме 0 бит RB8 не используется. Флаг прерывания передатчика TI (приемника RI) устанавливается аппаратно в конце периода передачи (приема) 8го бита данных в режиме 0 и в начале (середине) периода передачи (приема) стоп-бита в режимах 1, 2 и 3. Соответствующая 189 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики подпрограмма обслуживания прерывания должна сбрасывать бит TI (RI). В режимах 1, 2 и 3 прием начинается при обнаружении перехода сигнала на входе RXD из состояния 1 в состояние 0. Для этого под управлением внутреннего счетчика вход RXD опрашивается 16 раз за период следования бита. Как только переход из 1 в 0 при входе RXD обнаружен, так внутренний счетчик по модулю 16 сбрасывается и перезапускается для выравнивания его переходов с границами периодов представления принимаемых бит. Таким образом, каждый период представления бита делится на 16 интервалов с помощью внутреннего счетчика. В состояниях 7, 8 и 9 счетчика производится опрос сигнала на входе RXD. Считанное значение принимаемого бита - это то, которое было получено по меньшей мере дважды из трех замеров (мажоритарное голосование 2 из 3-х). Если значение, принятое в первом такте (предполагаемый старт-бит) не равно 0, то блок управления приемом вновь возвращается к поиску перехода из 1 в 0. Этот механизм обеспечивает подавление ложных (сбойных) старт-бит. Система прерываний. Упрощенная структура системы прерываний показана на рис. 3.42. маскирование и присвоение приоритетов осуществляется программно через специальные регистры разрешения прерываний (IE) и управления приоритетами (IP). Форматы этих регистров приведены на рис. 3.43 и 3.44. Всего существует 5 источников прерываний и два уровня приоритетов (высший и низший). Флаги внешних прерываний (IE0, IE1) и биты выбора типа внешних прерываний располагаются в регистре TCON (рис. 3.38). Сброс флагов IE1 и IE0 выполняется в том случае, если прерывание было вызвано по переходу (заднему фронту сигнала запроса). Если же прерывание вызвано нулевым уровнем входного сигнала, то сбросить флаг IE должна соответствующая подпрограмма обслуживания прерывания путем воздействия на источник прерывания. Флаги запросов прерывания от таймеров TF0 и TF1 сбрасываются автоматически при передаче управления подпрограмме обслуживания. Флаги запросов прерываний от УАПП (RI и TI) должны сбрасываться соответствующими 190 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики подпрограммами. Система прерываний сформирует аппаратно вызов соответствующей подпрограммы обслуживания, если она не заблокирована одним из следующих условий: IT0 = 0 Адрес вектора 1 INT0 IE 0 0003H IT0 = 1 TF 0 000BH IT1 = 0 1 INT1 IE 1 0013H IT1 = 1 TF 1 TI 001BH 1 0023H RI Рис. 3.42 Структура системы прерываний 1) в данный момент обслуживается запрос прерывания равного или более высокого уровня приоритета; 2) текущий машинный цикл не последний в цикле выполняемой команды; 3) выполняется команда RETI или команда, связанная с обращением к регистрам IE и IP. При этом в стек загружается адрес точки возврата в основную программу. Подпрограмма обслуживания прерывания должна обязательно заканчиваться командой возврата RETI, которая сообщает системе прерываний, что обслуживание данного прерывания закончено. 191 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Рис. 3.43 Регистр разрешения прерываний: ЕА - бит общего разрешения: 0 - все прерывания замаскированы, 1 - каждый источник разрешается своим собственным битом IE.X; ES - разрешение прерываний от УАПП; ET1, ET0 - разрешение прерывания от Т/С1, Т/С0; EX1, EX0 - разрешение прерывания от INT 1 , INT 0 . Рис. 3.44 Регистр управления приоритетами: PS - бит приоритета УАПП; РТ1, РТ0 - биты приоритетов Т/С1 и Т/С0; РХ1, РХ0 - биты приоритетов INT 1 и INT 0 ; бит = 1 - высший приоритет, 0 - низший. Сброс, режим холостого хода и режим пониженного энергопотребления. Сброс. Сброс МК51 осуществляется путем подачи на вход RST сигнала 1. Для уверенного сброса МК51 этот сигнал 1 должен быть удержан на входе RST по меньшей мере в течение двух машинных циклов (24 периодов синхросигнала). Квазидвунаправленные буферные схемы внешних выводов ALE и PSEN находятся при этом в режиме ввода. Под воздействием сигнала RST сбрасывается содержимое регистров: PC, ACC, B, PSW, DPTR, TMOD, TCON, T/C0, T/C1, IE, IP и SCON, в регистре 192 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики PCON сбрасывается только старший бит, в регистр указатель стека загружается код 07 Н, а в порты Р0-Р3 - коды 0FFH. Состояние регистра SBUF - неопределенное. Сигнал RST не воздействует на содержимое ячеек ОЗУ. Когда включается электропитание, содержимое ОЗУ неопределенно, за исключением операции возврата из режима пониженного энергопотребления. Для автоматического формирования сигнала RST при включении электропитания необходимо между входом RST и +5В включить конденсатор емкостью 10 мкФ, а между RST и GND резистор сопротивлением 8,2 кОм. Режим холостого хода. Любая команда, по которой установится управляющий бит IDL (PCON.0) в регистре управления мощностью (рис. 3.41), переведет МК51 в режим холостого хода. При этом продолжает работу внутренний генератор синхросигналов. Все регистры сохраняют свое значение. На выводах всех портов удерживается то логическое состояние, которое на них было в момент перехода в режим холостого хода. На выводах ALE и PSEN формируется уровень 1. Выйти из режима холостого хода можно по прерыванию. Любой из разрешенных сигналов прерывания приведет к аппаратному сбросу бита IDL и прекратит тем самым режим холостого хода. После исполнения команды RETI (выход из подпрограммы обслуживания прерывания) будет исполнена команда, которая следует в программе за командой, переведшей МК51 в режим холостого хода. Режим пониженного энергопотребления. Перевод МК51 в этот режим возможен по команде, которая установит бит PD в регистре управления мощностью. В этом режиме блокируется генератор синхросигналов, содержимое ОЗУ и регистров специальных функций сохраняется, а на выходных контактах портов удерживаются значения, соответствующие содержимому их регистров. Выходы сигналов ALE и PSEN сбрасываются. Аварийное питание МК будет осуществляться по входу RST/UPD, при этом основное напряжение электропитания (+5В) может быть снято. После восстановления уровня основного питания (+5В), аварийное питание должно быть удержано еще на 2 машинных цикла для отработки МК функций системного сброса. Режим загрузки и верификации прикладных программ. 193 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Под воздействием внешних электрических сигналов МК51 может быть электрически запрограммирован или, иными словами, в ПЗУ МК могут быть загружены объектные коды прикладной программы. Содержимое ПЗУ МК может быть уничтожено выдержкой под ультрафиолетовым источником света (стирание) для последующего перепрограммирования. МК имеет средство защиты, обеспечивающее невозможность прочтения содержимого ПЗУ в конечном изделии и, следовательно, сохранение профессиональных секретов разработчика прикладного программного обеспечения. Загрузка программы в ПЗУ. В режиме программирования МК51 должен работать на пониженной частоте (с резонатором 46 МГц). Адрес ячейки ПЗУ, в которую должен быть загружен байт прикладной программы, подается на выводы порта 1 и выводы Р2.0Р2.3 порта 2. При этом загружаемый байт поступает в МК через порт 0. Выводы Р2.4Р2.6 и PSEN должны быть заземлены, а на выводы Р2.7 и RST необходимо подать уровень логической 1. На входе EA/ UPP поддерживается уровень +5В, но перед моментом загрузки байта он должен быть повышен до 21В. В это время уровень на входе ALE / PROG должен быть не менее чем на 50 мс сброшен в 0. После этого напряжение на входе EA/ UPP возвращается к уровню +5В. Источник напряжения +21В (UPP) должен быть стабилизирован, т.к. превышение предельного значения +21,5В приводит к необратимым повреждениям ПЗУ. Запись бита защиты. Бит защиты ПЗУ, будучи установлен, запрещает доступ к ПЗУ любыми внешними средствами. Процедура записи бита защиты такая же, как и при загрузке программ в ПЗУ, но на вывод Р2.6 должен подаваться уровень 1. Сигналы на выводах портов Р0, Р1 и Р2.0-Р2.3 могут быть в любом состоянии. Однажды установленный бит защиты можно сбросить только путем полного стирания ПЗУ. Верификация программ. Если бит защиты не запрограммирован, то содержимое ПЗУ может быть прочитано с целью проверки правильности загрузки прикладной программы, либо по ходу программирования, либо после окончания программирования МК51. Доступ к ячейкам ПЗУ осуществляется так же, как и при программировании ПЗУ, за исключением того, 194 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики что на вывод Р2.7 подается сигнал 0, используемый в качестве строб-сигнала чтения. Стирание ПЗУ. Для стирания содержимого ПЗУ МК следует поместить под источник ультрафиолетового излучения с длиной волны менее 4000 ангстрем. После стирания в матрице ПЗУ содержатся все единицы. Система команд МК51 состоит из 111 базовых команд. Большинство команд (94) имеют формат 1 или 2 байта и выполняются за 1 или 2 машинных цикла (99 команд). МК обрабатывает операнды 4-х типов: биты, 4-битные цифры, байты и 16-битные слова. Для доступа к данным используется 4 способа адресации: прямая, непосредственная, косвенная и неявная. Ассемблер ASM51 допускает использование символических имен регистров специальных функций и портов, приведенных в табл. 3.16, а также их отдельных бит. Таблица 3.17 Команды, модифицирующие флаги в PSW Команды ADD ADDC SUBB MUL DIV DA RRC RLC SETB C CLR C CPL C ANL C, b ANL C, /b ORL C, b ORL C, /b MOV C, b CJNE Флаги C, OV, AC C, OV, AC C, OV, AC C=0, OV C=0, OV C C C C=1 C=0 C C С С С С С С 195 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Символическое имя бита имеет следующую структуру: <имя регистра специальных функций или порта>.<номер бита> Например, имя АСС.5 определяет 5-й бит аккумулятора. Команды, модифицирующие флаги результата в PSW, приведены в табл. 3.17, значение флага паритета Р напрямую зависит от содержимого аккумулятора. Кроме того, флаги могут изменяться при выполнении команд, в которых местом назначения определено PSW. При описании отдельных команд МК51 приняты следующие сокращения: А - аккумулятор (неявная адресация); ad - прямой 8-битный адрес байта ОЗУ (0-127), порта или регистра специальных функций (конкретные значения адресов регистров специальных функций приведены в табл. 3.16); add - прямой 8-битный адрес назначения; ads - прямой 8-битный адрес источника; ad 11 - прямой 11-битный адрес передачи управления; ad 16 - прямой 16-битный адрес передачи управления; ad 16h - старший байт прямого 16-битного адреса; ad 16l - младший байт прямого 16-битного адреса; bit - прямой 8-битный адрес бита или флага, адреса конкретных бит и флагов приведены на рис. 3.45; #d - 8-битный непосредственный операнд (константа); #d16 - 16-битный непосредственный операнд (константа); #d16h - старший байт 16-битного непосредственного операнда; #d16l - младший байт 16-битного непосредственного операнда; i - бит в коде операции (КОП), определяющий регистр косвенного адреса: i=0, 1 (R0, R1); PC - программный счетчик или счетчик команд; rel - 8-битный относительный адрес передачи управления в пределах -128...+127 байт относительно адреса команды, следующей за командой перехода, ASM 51 позволяет вместо rel указывать метку перехода; Ri - обобщенное имя регистра косвенного адреса (R0 или R1); Rn - обобщенное имя рабочего регистра (n=07); 196 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Рис. 3.45 Карта адресуемых бит: а) в ОЗУ; б) в регистрах специальных функций rrr - 3-битное поле в коде операции, определяющее регистр общего назначения (R0R7); SP - указатель стека; - оператор присваивания (замещения); - оператор взаимного обмена; - операторы логических операций: И (конъюнкция), ИЛИ (дизъюнкция), исключающее ИЛИ; (a) - префикс косвенной адресации; # - префикс непосредственного операнда; (Y) - содержимое регистра или ячейки памяти с именем Y (прямая адресация); ((Y)) - содержимое ячейки памяти, адресуемой содержимым Y (косвенная адресация). 197 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Кроме этого, при написании исходного текста программ для МК51 удобно пользоваться следующими обозначениями, принятыми в ассемблере ASM51: ¤- текущее содержимое счетчика команд МК; В - суффикс двоичного кода; Н - суффикс шестнадцатеричного кода; HIGH - логическая операция выделения старшего байта из d16 при ассемблировании; LOW - логическая операция выделения младшего байта из d16 при ассемблировании; AND - логическая операция “конъюнкция” при ассемблировании; NOT логическая операция “инверсия” при ассемблировании; OR логическая операция “дизъюнкция” при ассемблировании. Все команды МК51 по формату, типу операндов, способу адресации и передачи управления можно разделить на 13 типов, представленных на рис. 3.46. D7 1 D0 КОП 2 КОП 3 КОП 4 5 D7 D0 КОП КОП 6 А10... КОП 3 А8 7 КОП 3 8 КОП 7 9 КОП A 7 #d dd ad dd d bi t re l ad ad ads 10 3 11 КОП #d КОП bit 12 КОП 13 КОП ad16 h # d16h g16d1 A 0 D7 D0 #d re l add re l re l ad16l # d16l g16d1 Рис. 3.46 Типы команд МК51 198 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Далее в табличной форме приводится описание системы команд, разбитой на 5 групп: передачи данных (табл. 3.18), арифметических операций (табл. 3.19), логических операций (табл. 3.20), операций с битами (табл. 3.21) и передачи управления (табл. 3.22). Для каждой команды приводится мнемокод, код операции, тип (Т) команды (согласно рис. 3.46), формат (Б) в байтах, время выполнения в машинных циклах (Ц) и выполняемая операция. Смысловое содержание мнемокодов команд раскрывается в табл. 3.23. Программа на ассемблере состоит из строк, каждая из которых может содержать: метку, символически указывающую адрес команды, которой передается управление; метка отделяется от команды символом “:”; команду, мнемоническое обозначение операции; операнд или операнды, указывающие регистр, пару регистров, один или два непосредственных байта данных или адреса; операнды разделяются запятыми; комментарии, поясняющие содержание операций в программе; комментарии отделяются от команды символом “;”. Ниже приводится пример записи программы на ассемблере и в машинных кодах, которая после выполнения системного сброса осуществляет переход к выполнению команд, расположенных, начиная с ячейки ПЗУ с адресом 0030Н, извлекающих число из регистра R7, инвертирующих его и записывающих результат в регистр R6, после чего переводит МК51 в режим холостого хода. Программа на ассемблере обычно записывается в следующей форме: Метка BEGIN: END : Мнемокод Комментарий LJMP BEGIN ; Перейти к началу MOV A, R7 ; Получить число из R7 CPL A ; Инвертировать число MOV R6, A ; Записать результат в R6 MOV PCON, #01 ; Перейти в режим ; холостого хода 199 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Таблица 3.18 Группа команд передачи данных. Мнемокод MOV A,Rn MOV A,ad MOV A, (a) Ri MOV A, #d MOV Rn, A MOV Rn, ad MOV Rn, #d MOV ad, A MOV ad, Rn MOV add, ads MOV ad, (a)Ri MOV ad, #d MOV (a)Ri, A MOV (a)Ri, ad MOV (a)Ri, #d MOV DPTR, #d16 КОП 11101rrr 11100101 1110011i 01110100 11111rrr 10101rrr 01111rrr 11110101 10001rrr 10000101 1000011i 01110101 1111011i 0110011i 0111011i 10010000 Б 1 2 1 2 1 2 2 2 2 3 2 3 1 2 2 3 Ц 1 1 1 1 1 2 1 1 2 2 2 2 1 2 1 2 Операция (A)(Rn) (A)(ad) (A)((Ri)) (A)#d (Rn)(A) (Rn)(ad) (Rn)#d (ad)(A) (ad)(Rn) (add)(ads) (ad)((Ri)) (ad)#d ((Ri))(A) ((Ri))(ad) ((Ri))#d (DPTR)#d16 10010011 10000011 Т 1 3 1 2 1 3 2 3 3 9 3 7 1 3 2 1 3 1 1 MOVC A, (a)A+DPTR MOVC A, (a)A + PC 1 1 2 2 MOVX A, (a)Ri MOVX A, (a)DPTR MOVX (a)Ri, A MOVX (a)DPTR, A PUSH ad 1110001i 11100000 1111001i 11110000 11000000 1 1 1 1 3 1 1 1 1 2 2 2 2 2 2 POP ad 11010000 3 2 2 XCH A, Rn XCH A, ad XCH A, (a)Ri XCHD A, (a)Ri 11001rrr 11000101 1100011i 1101011i 1 3 1 1 1 2 1 1 1 1 1 1 (A)((A)+(DPTR)) (PC)(PC)+1 (A)((A)+(PC)) (A)((Ri)) (A)((DPTR)) ((Ri))(A) ((DPTR))(A) (SP)(SP)+1 ((SP))(ad) (ad)((SP)) (SP)(SP)-1 (A)(Rn) (A)(ad) (A)((Ri)) (A0)((Ri)0) 200 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Таблица 3.19 Группа команд арифметических операций Мнемокод КОП Т Б Ц ADD A,Rn ADD A, ad ADD A, (a)Ri ADD A, #d ADDC A, Rn ADDC A, ad ADDC A, (a)Ri ADDC A, #d DA A 00101rrr 00100101 0010011i 00100100 00111rrr 00110101 0011011i 00110100 11010100 1 3 1 2 1 3 1 2 1 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 SUBB A, Rn SUBB A, ad SUBB A, (a) Ri SUBB A, #d INC A INC Rn INC ad INC (a)Ri INC DPTR DEC A DEC Rn DEC ad DEC (a)Ri MUL AB DIV AB 10011rrr 10010101 1001011i 10010100 00000100 00001rrr 00000101 0000011i 10100011 00010100 00011rrr 00010101 0001011i 10100100 10000100 1 3 1 2 1 1 3 1 1 1 1 3 1 1 1 1 2 1 2 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 4 4 201 Операция (A) (A) + (Rn) (A) (A) + (ad) (A) (A) + ((Ri)) (A) (A) + #d (A) (A) + (Rn) + (С) (A) (A) + (ad) + (C) (A) (A) + ((Ri)) + (C) (A) (A) + #d + (C) если [(A0 3)>9] [(AC) = 1], то (A0 3) (A0 3) + 6, затем если [(A4 7) >9] [(C) = 1], то (A4 7) (A4 7) + 6 (A) (A) - (С) - (Rn) (A) (A) - (С) - (ad) (A) (A) - (С) - ((Ri)) (A) (A) - (С) - #d (A) (A) +1 (Rn) (Rn) + 1 (ad) (ad) + 1 ((Ri)) ((Ri)) + 1 (DPTR) (DPTR) + 1 (A) (A) - 1 (Rn) (Rn) - 1 (ad) (ad) - 1 ((Ri)) ((Ri)) - 1 (B) (A) (A) (B) (A) (B) (A) / (B) М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Таблица 3.20 Группа команд логических операций Мнемокод ANL A, Rn ANL A, ad ANL A, (a)Ri ANL A, #d ANL ad, A ANL ad, #d ORL A, Rn ORL A, ad ORL A, (a)Ri ORL A, #d ORL ad, A ORL ad, #d XRL A, Rn XRL A, ad XRL A, (a)Ri XRL A, #d XRL ad, A XRL ad, #d CRL A CPL A RL A КОП 01011rrr 01010101 0101011i 01010100 01010010 01010011 01001rrr 01000101 0100011i 01000100 01000010 01000011 01101rrr 01100101 0110011i 01100100 01100010 01100011 11100100 11110100 00100011 Т 1 3 1 2 3 7 1 3 1 2 3 7 1 3 1 2 3 7 1 1 1 Б 1 2 1 2 2 3 1 2 1 2 2 3 1 2 1 2 2 3 1 1 1 Ц 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 RLC A 00110011 1 1 1 RR A 00000011 1 1 1 RRC A 00010011 1 1 1 SWAP A 11000100 1 1 1 202 Операция (A) (A) Rn (A) (A) (ad) (A) (A) ((Ri)) (A) (A) #d (ad) (ad) (A) (ad) (ad) #d (A) (A) Rn ) (A) (A) (ad) (A) (A) ((Ri)) (A) (A) #d (ad) (ad) (A) (ad) (ad) #d (A) (A) Rn (A) (A) (ad) (A) (A) ((Ri)) (A) (A) #d (ad) (ad) (A) (ad) (ad) #d (A) 0 (A) A (An+1)(An), n=0 6 (A0) (A7) (An+1)(An), n=0 6 (A0)(C), (C) (A7) (An)(An+1), n=0 6 (A7) (A0) (An)(An+1), n=0 6 (A7)(C), (C) (A0) (A30) (A74) М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Таблица 3.21 Группа команд операций с битами Мнемокод CLR C CLR bit SETB C SETB bit CPL C CPL bit ANL C, bit ANL C, /bit ORL C, bit ORL C, /bit MOV C, bit MOV bit, C КОП 11000011 11000010 11010011 11010010 10110011 10110010 10000010 10110000 01110010 10100000 10100010 10010010 Т 1 4 1 4 1 4 4 4 4 4 4 4 Б 1 2 1 2 1 2 2 2 2 2 2 2 Ц 1 1 1 1 1 1 2 2 2 2 1 2 Операция (C) 0 (b) 0 (C) 1 (b) 1 (C) (C) (b) (b) (C) (C) (b) (C) (C) (b) (C) (C) (b) (C) (C) (b) (C) (b) (b) (C) При занесении программы в ПЗУ мнемокоды команд переводят в машинные коды, при этом понимается, что в зависимости от длины (одно-, двух- или трехбайтная), команды в памяти будут занимать от одной до трех последовательно ячеек. Программу в таком виде удобно записывать следующим образом. В левом столбце - адреса команд в программе, далее следует машинный код команды и комментарий к команде. Адрес 0000Н 0001Н 0002Н 0030Н 0031Н 0032Н 0033Н 0034Н 0035H Машинный код 00000010 00000000 00110000 11101111 11110100 11111110 01110101 10000111 00000001 Комментарий ; код команды LJMP ad16 ; старший байт адреса 00Н ; младший байт адреса 30Н ; код команды MOV A, Rn ; код команды CPL A ; код команды MOV Rn, A ; код команды MOV ad, #d ; адрес PCON - 87 H ; данные, заносимые в ; PCON - 01H 203 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Таблица 3.22 Группа команд передачи управления Мнемокод 1 LJMP ad 16 AJMP ad 11 SJMP rel JMP (a)A+DPTR JZ rel КОП 2 00000010 a10a9a800001 10000000 01110011 01100000 Т 3 12 6 5 1 5 Б 4 3 2 2 1 2 Ц 5 2 2 2 2 2 JNZ rel 01110000 5 2 2 JC rel 01000000 5 2 2 JNC rel 01010000 5 2 2 JB bit, rel 00100000 11 3 2 JNB bit, rel 00110000 11 3 2 JBC bit, rel 00010000 11 3 2 DJNZ Rn , rel 11011rrr 5 2 2 DJNZ ad, rel 11010101 8 3 2 CJNE A, ad, rel 10110101 8 3 2 CJNE A, #d, rel 10110100 10 3 2 CJNE Rn , #d, rel 10111rrr 10 3 2 CJNE (a)R, #d, rel 1011011i 10 3 2 LCALL ad16 12 3 2 00010010 204 Операция 6 (PC) ad 16 (PC) (PC)+2, (PC0 10) ad 11 (PC) (PC) + 2, (PC)(PC)+rel (PC) (A) + (DPTR) (PC) (PC) + 2, если (A)=0, то (PC) (PC) + rel (PC) (PC) + 2, если (A) 0, то (PC) (PC) + rel (PC) (PC) + 2, если (C) = 1, то (PC) (PC) + rel (PC) (PC) + 2, если (C) = 0, то (PC) (PC) + rel (PC) (PC) + 3, если (b) = 1, то (PC) (PC) + rel (PC) (PC) + 3, если (b) = 0, то (PC) (PC) + rel (PC) (PC) + 3, если (b) = 1, то (b) 0 и (PC) (PC) + rel (PC) (PC) + 2, (Rn) (Rn) - 1, если (Rn) 0, то (PC) (PC)+rel (PC) (PC) + 2, (ad) (ad) - 1, если (ad) 0, то (PC) (PC)+rel (PC)(PC)+3, если (A) (ad), то (PC)(PC) + rel, если (A) < (ad), то (C) 1, иначе (C) 0 (PC)(PC) + 3, если (A) #d, то (PC) (PC) + rel, если (A) < #d, то (C) 1, иначе (C) 0 (PC)(PC) + 3, если (Rn) #d, то (PC) (PC) + rel, если (Rn) < #d, то (C) 1, иначе (C) 0 (PC)(PC)+3, если ((Ri)) #d, то (PC)(PC) + rel, если ((Ri)) < #d, то (C) 1, иначе (C) 0 (PC) (PC) + 3. (SP) (SP) +1, ((SP))(PC0 7), (SP) (SP) +1, ((SP)) (PC8 15), (PC) ad 16 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Продолжение табл. 3.22 1 ACALL ad11 2 a10a9a810001 3 6 4 2 RET 00100010 1 1 RETI 00110010 1 1 NOP 00000000 1 1 5 6 2 (PC) (PC) + 2. (SP) (SP) +1, ((SP))(PC0 7), (SP) (SP) +1, ((SP))(PC8 15), (PC0 10)ad 11 2 (PC8 15)((SP)), (SP) (SP) - 1, (PC0 7) ((SP)), (SP) (SP) - 1 2 (PC8 15)((SP)), (SP) (SP) - 1, (PC0 7) ((SP)), (SP) (SP) - 1 1 (PC) (PC) + 1 Таблица 3.23 Мнемокоды команд МК Мнемокод ADD ANL CALL CJNE CLR CPL DA DEC DIV DJNZ INC JMP MOV MUL NOP ORL POP PUSH RET RL (RLC) RR (RRC) SETB SUBB SWAP XCH XRL Jxx Выполняемая операция или действие Сложение Конъюнкция Вызов подпрограммы Сравнение и переход, если не равно Сброс (обнуление) Инвертирование Десятичная коррекция Декремент Деление Декремент и переход, если не нуль Инкремент Безусловный переход Пересылка данных Умножение Холостая команда Дизъюнкция Извлечение из стека Загрузка в стек Возврат в основную программу Сдвиг влево (циклический) Сдвиг вправо (циклический) Присвоить биту единичное значение Вычитание Обмен тетрад в байте Обмен Исключающее ИЛИ Условный переход (xx - код условия) 205 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Необходимо отметить, что ассемблер ASM51 допускает использование обобщенных команд перехода JMP и вызова CALL. В процессе трансляции, исходя из реального расстояния перехода, ASM51 заменит обобщенные команды оптимальными (по формату) командами перехода (SJMP, AJMP, LJMP) и вызова (ACALL, LCALL). Для автоматического выполнения сложных операций управления требуются не только отдельные микропроцессоры, но и комплекс вспомогательных устройств позволяющих следить за состоянием процесса управления и осуществлять его необходимую коррекцию. В небольших микропроцессорных системах управления в качестве устройств позволяющих осуществлять индикацию и изменение режимов работы автоматической системы наибольшее распространение получили схемы индикации и клавиатуры, работающие в динамическом режиме, где дешифрирование и сканирование клавиатуры и дисплея осуществляется программно. Пример такого блока индикации и клавиатуры приведен на рис. 3.47. В данной схеме в каждый момент времени работает только один из двух семисегментных индикаторов светодиодной матрицы АЛС 318А, а управляющие порты запрограммированы следующим образом: порты А, B и порт С – биты DC4, DC7 работают только на вывод информации; порт С – биты DC0, DC1 работает только на ввод информации. Эффект непрерывного свечения индикаторов обеспечивается многократным повторением вывода символа и световой инерцией глаза наблюдателя (приблизительно 0,018 сек.). Организация цикла периодического высвечивания символа производится следующим образом: 1. В порт В записывается код в соответствии с требуемым изображением символа, например для вывода буквы “r” необходимо зажечь сегменты E и G, следовательно единицы должны быть записаны в разрядах DB4 и DB6, остальные разряды должны быть в состоянии нуля. 2. В порт A записывается код в соответствии с требуемым номером семисегментного индикатора который должен высветить символ “r”, например если необходимо высветить “r” во второй позиции индикатора, то в разряд DА1 должна быть 206 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики записана единица, а в остальные разряды нули. Единица с выхода DA1 инвертируется микросхемой 555ЛН1, выполняющей роль буфера, в результате чего на вторую позицию индикатора АЛС318А подается потенциал близкий к нулю. Что вызывает свечение сегментов в данной позиции. Рис. 3.47 Блок индикации и клавиатуры микропроцессорной системы управления 3. Производится чтение битов DC0, DC1 порта С. Если в этот момент нажата клавиша “1” или “7”, то разряды DC0 и DC1 будут восприняты как 01 или как 10, что является сканирующим кодом этих клавиш при опросе второй позиции индикатора. Эти же коды при опросе, например, четвертой позиции индикатора будут восприняты как сканирующие коды соответственно “3” и “9” и т.д. Нажатие других клавиш не приведет ни к каким изменениям потенциалов на входах DC0 и 207 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики DC1 и будет воспринято, как код 11 т.е. клавиша не нажата. При нажатии двух клавиш одновременно например “1” и “7”, “4” и “*” со входов DC0 и DС1 будет считана комбинация 00. Эта комбинация может восприниматься как ошибочная и игнорироваться, или по усмотрению разработчика использоваться для переключения каких-либо режимов работы микропроцессорной системы управления. 4. Запись нулей в порт A, В и С – бит DC4 производит гашение индикатора, после чего весь процесс повторяется для следующей позиции индикатора и для следующей пары клавиш. С выхода DC7 порта C на схему звуковой сигнализации, собранную на транзисторе VT1 и пьезокерамическом звонке BQ1, подается звуковой или речевой широтно-импульсно модулированный сигналы. § 4. Цифро-аналоговые и аналого-цифровые преобразователи Сопряжение микропроцессора с объектом управления реализуется посредством преобразования непрерывных сигналов в двоичный код – аналого-цифровое преобразование и обратного преобразования кода в непрерывные сигналы – цифро-аналоговое преобразование. Существует два широко распространённых способа цифроаналогового преобразования: с использованием резистивной матрицы с весовыми двоично-взвешенными сопротивлениями и аттенюатором сопротивлений лестничного типа R–2R. На рис. 3.48 показана принципиальная схема 4-разрядного цифро-аналогового преобразователя (ЦАП) с весовыми двоичновзвешенными сопротивлениями. Четыре бита, фиксируемые в регистре, управляют состояниями четырёх ключей и обеспечивают 16 различных комбинаций. Операционный усилитель включён по схеме сумматора. При замыкании одного из ключей выходное напряжение ЦАП определяется произведением опорного напряжения Еref на отношение сопротивлений резистора обратной связи и резистора, находящегося в цепи данного ключа. Если, например, замкнут ключ, соответствующий старшему значащему разряду (СЗР) регистра (при установке в этом разряде логической «1»), то выходное напряжение 208 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики eout Eref 1 R . Eref 2R 2 20 При установке логической единицы в разряде В1 eout Eref Eref 1 R . Eref 8R 8 2 22 При замыкании нескольких ключей результирующее выходное напряжение определяется суммой вкладов от каждого замкнутого ключа. Например, при установке логической единицы в разрядах В3 и В1 выходное напряжение будет eout Eref 2 Eref 8 Eref 2 ( 1 1 ). 20 2 2 Таким образом, можно получить 16 различных дискретных уровней выходного напряжения, соответствующих 16 различным двоичным комбинациям на выходе ЦАП. Соотношения сопротивлений весовых резисторов должны быть выдержаны с высокой точностью для обеспечения необходимой линейности преобразования входного кода в выходное напряжение. Конструирование такого ЦАП на одном кристалле вызывает определённые трудности. Это объясняется слишком большим диапазоном сопротивлений входящих в него резисторов. Реальное значение R, которое можно получить для резистора, формируемого как часть интегральной микросхемы, составляет 5 кОм. Таким образом, в 8 - разрядном ЦАП требуется 9 резисторов с сопротивлениями от 5 кОм до 1,28 мОм (256×5 кОм), а в 12-разрядном 13 резисторов с совершенно нереальным диапазоном сопротивлений вплоть до 20,48 мОм. Такие значения сопротивлений недостижимы в интегральной технологии из-за ограниченности свободного пространства (т.е. полезной площади) на кристалле (типичный кристалл ИС имеет площадь 0,25 дюйма² ≈ 161 мм²). Поэтому рассмотренный тип резисторной схемы не находит практического применения в однокристальных ЦАП. 209 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики R СЗР В3 2R _ В2 4R + В1 8R В0 16R Eout МЗР Eref + Рис. 3.48 Принципиальная схема ЦАП с весовыми двоичновзвешенными сопротивлениями Возможности интегральной технологии реализуются наилучшим образом при повторении на одном кристалле одной и той же структуры. При этом получаются функциональные элементы с очень близкими (согласованными) характеристиками. На рис. 3.49 показана принципиальная схема ЦАП, по своим функциональным характеристикам эквивалентная ранее рассмотренной (см. рис. 3.48), но в которой используются резисторы только двух номиналов – R и 2R. Это так называемый ЦАП с аттенюатором сопротивлений лестничного типа R– 2R. Структура резисторной матрицы такова, что ток, втекающий в неё через какую-либо ветвь, на своём пути к концу “лестницы” в каждом узле делится на два равных тока, уходящих от узла по двум ветвям. Рассмотрим эквивалентные схемы для отдельных разрядов преобразователя. Эквивалентная схема, соответствующая введённому в регистр коду 1000, т.е. когда ключ старшего разряда подключён к источнику опорного напряжения, а ключи остальных разрядов подключены к общему проводу, приведена на рис. 3.50. 210 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Из рассмотрения эквивалентной схемы вытекает, что значение напряжения е определяется из рассмотрения простейшего делителя e M3 СЗР В3 M2 В2 В1 M1 1 1 Eref 0 . 3 2 2R 2R N3 e R 2R 2R + _ N2 Rf R 2R N1 Ri В0 МЗР M0 R 2R N0 + Eref 2R Рис. 3.49 ЦАП с аттенюатором сопротивлений лестничного типа Напряжение е, отвечающее коду 0100, будет e 1 1 I 2 R IR . 4 2 Так как I Eref 3R то 211 , М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики e 1 1 Eref 1 . 3 2 е 2R M3 N3 2R R M2 N2 2R R N1 M1 2R R M0 N0 2R M3 2R N3 R a) Eref e б) Рис. 3.50 Эквивалентная схема при включении третьего разряда: а) полная, б) свёрнутая При преобразовании любого кода X=x3·x2·x1·x0 e 3 1 1 E xi 2i . ref 3 23 i 0 В случае n - разрядного преобразователя e n 1 1 1 i E xi 2 . ref n 1 32 i 0 Резисторная матрица в рассмотренном ЦАП содержит почти в два раза больше резисторов, чем простая резисторная 212 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики матрица, но сопротивления этих резисторов малы – обычно 5 – 10 кОм; они требуют относительно небольшого участка полезной площади кристалла и, кроме того, могут быть изготовлены с хорошо согласованными значениями сопротивлений (в выпускаемых фирмами ИС ЦАП используется лазерная подгонка сопротивлений). Для устройств, реализующих как аналоговые, так и цифровые функции характерно наличие двух общих (земляных) выводов. Эти выводы предназначены для минимизации резистивной связи и шума в цепях прохождения аналогового сигнала. Для уменьшения помех в системе, содержащей как аналоговые, так и цифровые компоненты, хорошие практические результаты даёт использование всюду внутри системы раздельных общих проводов для аналоговых и цифровых схем и соединение этих общих проводов друг с другом только в одной точке. Аналого-цифровое преобразование является операцией, устанавливающей отношение двух величин – входной аналоговой Vi и эталонной Vr. Цифровой сигнал преобразователя есть кодовое представление этого отношения. Это отношение иллюстрируется на рис. 3.51, а. Если выходной код преобразователя является n разрядным, то число дискретных выходных уровней равно 2n. Таким образом, процесс аналого-цифрового преобразования состоит из квантования по уровню и кодирования. На рис. 3.51, б приведена передаточная характеристика АЦП (ломаная линия) и линия абсолютной точности (линия проведена через нуль и точку максимального значения выходного сигнала). Из рисунка видно, что шаг квантования по уровню, в сущности, определяет разрешающую способность преобразователя. Для квантового сигнала характерно наличие скачков на величину шага квантования в моменты времени, когда непрерывный (аналоговый) входной сигнал проходит средние между двумя уровнями значения. Между этими моментами времени значение выходного сигнала не изменяется. При таком способе построения квантованного сигнала максимальная ошибка квантования, определяемая разностью входного и выходного сигналов, нигде не будет превышать ±1/2 213 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики шага квантования. Поскольку шаг квантования представляет собой значение аналоговой величины, на которую отличаются уровни входного сигнала, представляемые двумя соседними выходными кодовыми комбинациями, т.е. равен весу младшего значащего разряда, принято говорить, что погрешность не превышает ±1/2 МЗР. Величину погрешности квантования по уровню можно уменьшить, увеличивая число разрядов в выходном коде преобразователя. код 111 110 101 Vr 100 011 Vi Цифр. выход АЦП 010 001 x=Vi/Vr а) 000 0 1 2 3 4 5 6 7 8 8 8 8 8 8 8 8 б) нормированный аналоговый входной сигнал 8 8 Рис. 3.51 Взаимосвязь сигналов (а), передаточная характеристика идеального АЦП (б) Характеристики реальных преобразователей по ряду параметров могут отличаться от идеальных характеристик (аналогичных идеальной характеристике на рис. 3.51, б). Передаточная характеристика преобразователя может быть сдвинута относительно идеальной характеристики (рис. 3.52, а). Эта погрешность “смещения” или “установки нуля” определяется как значение аналоговой величины, при которой характеристика пересекает ось входных напряжений. Наклон передаточной характеристики может отличаться от своего идеального значения, что приводит к погрешности “наклона” или “усиления” (рис. 3.52, б). Для большинства серийно выпускаемых АЦП погрешности смещения и усиления или очень малы, или могут быть практически 214 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики полностью устранены с помощью предварительных регулировок. Труднее устранить погрешности, связанные с нелинейностью передаточной характеристики, которые невозможно уменьшить с помощью регулировки. Выходной сигнал АЦП. Выходной сигнал АЦП. Погрешность смещения а) Аналоговый входной сигнал Погрешность усиления б) Аналоговый входной сигнал Выходной сигнал АЦП. Выходной сигнал АЦП. Дифференциальная нелинейность Интегральная нелинейность выпадающий код неидеальный шаг квантования в) Аналоговый входной сигнал г) Аналоговый входной сигнал Рис. 3.52 Погрешности преобразователя В АЦП проявляются два типа нелинейности: интегральная и дифференциальная. Интегральная нелинейность определяется максимальным отклонением передаточной характеристики от идеальной прямолинейной характеристики при нулевых значениях погрешностей смещения и усиления. Дифференциальная нелинейность – это отклонение величины одного из уровней квантования от его идеального аналогового значения. Если дифференциальная нелинейность превышает один МЗР, то в выходном сигнале может исчезнуть одна из кодовых комбинаций (выпадающий код). 215 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Для выполнения преобразования АЦП требуется некоторое конечное время, называемое временем преобразования tc. Изменение входного напряжения во время процесса преобразования вносит нежелательную неопределённость в генерируемый выходной сигнал. Полная точность преобразования реализуется только в том случае, если изменение входного напряжения, за время измерения, не превышает шаг квантования, т.е. tc dVi ПДИС , dt 2n где ПДИС – полный диапазон изменения входного аналогового сигнала; Vi – входной аналоговый сигнал; n – разрядность преобразователя. Например, если преобразование осуществляется с помощью восьмиразрядного АЦП со временем преобразования tc=100 мкс, при полном диапазоне изменения входного аналогового сигнала 2U, то для синусоидального входного сигнала Vi U sin( 2ft) , а скорость изменения входного сигнала dVi 2fU cos(2ft) , dt её максимальное значение будет dVi 2fU . dt max Другими словами tc 2fU 216 2U , 2n М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики откуда f 1 ; 2 t c n f 12,4 Гц. Таким образом, даже в случае относительно пологого синусоидального сигнала его частота ограничена 12,4 Гц. При столь жёстком ограничении диапазон применения АЦП был бы исключительно узок. Эта трудность преодолевается путём использования на входе АЦП устройства выборки–хранения (УВХ). УВХ – аналоговая схема, которая по команде осуществляет отсчёт значений входного сигнала и затем сохраняет это значение, пока АЦП выполняет преобразование (см. рис. 3.53). S Аналоговый входной сигнал +1 +1 Схема управления УВХ к АЦП C Рис. 3.53 Устройство выборки-хранения Временным интервалом, определяющим допустимую скорость изменения входного напряжения, является задержка между моментом получения команды и моментом перехода схемы в режим хранения, называемое апертурным временем ta. Типичное значение апертурного времени – несколько десятков наносекунд. Если использовать УВХ с апертурным временем 20 нс, то максимальная допустимая частота входного сигнала, в рассматриваемом примере, составит f max 62,17 кГц. 217 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Это вполне приемлемое значение для преобразователя с tc=100 мкс. Следует обращать внимание на выбор типа конденсатора, поскольку диэлектрическая абсорбция (диэлектрические потери) в запоминающем конденсаторе являются одним из источников погрешностей. Лучше всего здесь работают конденсаторы с диэлектриком из полипропилена, полистирола и тефлона. Слюдяные и поликарбонатные конденсаторы имеют уже посредственные характеристики. И совсем не следует использовать керамические конденсаторы. Как отмечалось выше действие аналого-цифровых преобразователей в принципе достаточно просто: в них происходит преобразование дискретизованных аналоговых сигналов в соответствующую последовательность двоичных чисел. Однако сделать это можно несколькими способами. Наиболее распространённый способ реализации функции аналого-цифрового преобразования в преобразователях со средним и высоким быстродействием – АЦП последовательного приближения (поразрядного уравновешивания). В структуру АЦП последовательного приближения входит ЦАП (см. рис. 3.54). Данный метод основан на аппроксимации входного сигнала двоичным кодом и последующей проверке правильности этой аппроксимации для каждого разряда кода, пока не достигается наилучшее приближение к величине входного сигнала. На каждом этапе этого процесса двоичное представление текущего приближения хранится в так называемом регистре последовательного приближения. Преобразование всегда начинается с установки единичного значения старшего значащего разряда в регистре последовательного приближения. Это соответствует первоначальной оценке величины входного сигнала половиной величины полного диапазона (полной шкалы). Компаратор сравнивает выходной сигнал ЦАП с входным напряжением и выдаёт контроллеру команду на сброс СЗР, если это первоначальная оценка превышает величину входного сигнала; в противном случае остаётся установленное значение СЗР. В следующем такте контроллер устанавливает в единичное значение следующий (по старшинству) разряд, и снова, исходя из уровня входного сигнала, компаратор “решает”, сбрасывать или оставлять установленным этот разряд. Преобразование продолжается 218 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики аналогичным образом, пока не будет проверен последний МЗР. В этот момент содержимое регистра последовательных приближений является наилучшим приближением входного сигнала – это и есть выходной цифровой сигнал (слово) АЦП. Аналоговый входной Vi сигнал - + ЦАП Цифровой выход а) Устройство управления (контроллер) Регистр последов. приближен. код 111 111 110 110 101 101 100 010 011 011 111 110 101 100 100 011 010 в) 001 010 000 001 001 000 t б) Рис. 3.54 АЦП последовательного приближения: а) структурная схема; б) временная диаграмма сигналов; в) логическая схема работы АЦП Таким образом, в АЦП последовательного приближения выходной сигнал получается точно за n тактов для n - разрядного преобразователя. На рис. 3.55 иллюстрируется метод двухтактного (или двойного) интегрирования. Входное напряжение интегрируется в течение фиксированного интервала времени Т1, соответствующего полному 219 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики заполнению счётчика. В конце этого интервала вход интегратора переключается на источник опорного сигнала. Выходное напряжение интегратора теперь уменьшается по линейному закону, а счётчик ведёт подсчёт импульсов до тех пор, пока входное напряжение не достигнет нулевого значения, после чего счётчик останавливается, а интегратор устанавливается в исходное состояние. Заряд, накопленный интегрирующим конденсатором в течение первого интервала, равен заряду, потерянному им в течение второго интервала; следовательно T1Vi t2Vr . сброс C -Vr опорный сигнал R Vi _ + входной сигнал Тактовый генератор Интегрирование _ + Схема управления t2 Счётчик Цифровой выход а) Т1 Т2 б) Рис. 3.55 Двухтактный интегрирующий АЦП: а) структурная схема; б) временная диаграмма сигналов Отсюда следует t2 Vi x. T1 Vr Заметим, что отношение временных интервалов является одновременно отношением содержимого счётчика. Другими словами, состояние счётчика в конце интервала t2 представляет собой выходное слово АЦП. 220 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Метод двухтактного интегрирования обеспечивает отличные шумовые характеристики. Поскольку входное напряжение интегрируется в течение некоторого промежутка времени, любые высокочастотные шумы, накладывающиеся на входной сигнал, при интегрировании компенсируются. Кроме того, фиксированный временной интервал Т1 можно выбрать таким, чтобы почти полностью исключить помехи с частотами, кратными 1/Т1. Для этой цели обычно выбирается временной интервал, определяемый частотой промышленной сети. Главный недостаток двухтактного интегрирующего АЦП – низкое быстродействие. Метод мгновенного, или параллельного, преобразования иллюстрируется на рис. 3.56. Он используется в тех случаях, когда требуется очень высокая скорость преобразования, например в видеотехнике, радиолокации, гидролокации, в цифровых осциллографах. Vr Vi 1 3R 2 МЗР 6,5ΔV К7 R 1 5,5ΔV К6 R 4,5ΔV & К5 R СЗР 3,5ΔV К4 & R 2,5ΔV К3 R 1,5ΔV & К2 R 0,5ΔV & К1 R 2 Рис. 3.56 АЦП параллельного преобразования 221 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики В этом методе входной сигнал сравнивается одновременно со всеми пороговыми уровнями с помощью компараторов, смещённых по уровню опорного сигнала на один младший значащий разряд относительно друг друга. Смещение обеспечивается за счёт использования прецизионного резистивного делителя. При подаче аналогового сигнала на вход АЦП компараторы, смещённые выше уровня входного сигнала, имеют на выходе логический ноль, а смещённые ниже этого уровня – логическую единицу. Сигналы с выходов компараторов подаются на комбинационную схему, на выходе которой получается цифровой код входного напряжения. Скорость преобразования таких АЦП достигает 100 мГц при 8 - разрядном разрешении. Одним из широко распространенных способов является однобитовое аналого-цифровое преобразование, базирующееся на использовании дельта-модуляции. Популярность использования дельта-модуляции объясняется простотой схемотехнической реализации дельта-модулятора, а также тем, что единицы и нули, произведенные дельта-модулятором очень легко преобразовать обратно в аналоговый сигнал. Для этого необходим всего лишь простой аналоговый низкочастотный фильтр. При дельта-модуляции (ДМ) в цифровом виде представляется разность величин последовательных отсчетов сигналов. Простота конструкции дельта-модулятора объясняется тем, что здесь в отличие от других способов аналого-цифрового преобразования не требуются нормирующие усилители, устройства выборки-хранения, фильтры антисовмещения (фильтры устраняющие наложения спектров) и детали с повышенной (обычно не менее 1%) точностью номиналов. Тем не менее, в такой системе можно получить высокие значения отношения сигналшум, например около 65 дБ. Недостатком дельта модуляции является то, что для достижения заданного качества сигнала обычно необходима гораздо большая скорость передачи информации, чем при использовании других способов АЦП. Поэтому ДМ лучше подходит для тех систем, где недопустимы большие затраты на хранение или обработку отсчетов. Кроме того, в каналах с шумами погрешности в оценке координат на приемной стороне накапливаются. Поэтому для уменьшения влияния 222 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики эффекта накопления погрешностей длительность интервала представления сообщения должна быть не очень большой. Рис. 3.57 Одноразрядная система дельта-модуляции Рис. 3.58 Сигналы в системе дельта-модуляции Одноразрядный дельта-модулятор, изображенный на рис. 3.57 образует простейший АЦП. На каждом тактовом интервале принимается двоичное решение путем сравнения уровня входного сигнала с величиной аппроксимированного предыдущего отсчета, 223 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики сохраняемого в модуляторе. Если сигнал больше аппроксимируемого значения, то к последнему добавляется фиксированное приращение, и наоборот, если сигнал меньше предыдущего отсчета, приращение вычитается. Процесс повторяется для каждого отсчета, и аппроксимированное значение сигнала все время удерживается вблизи истинного значения входного сигнала (рис. 3.58). Точность аппроксимации прямо связана с величиной приращения. Одноразрядные числа, на основании которых в модуляторе строится аппроксимированное значение входного сигнала, можно передать в другое место и там восстановить по ним ту же самую величину сигнала. Обычно это делается с помощью цифровой низкочастотной фильтрации с последующей дискретизацией на другой более низкой частоте. Полученные таким образом отсчеты эквивалентны отсчетам на выходе обычного АЦП. При дельта-представлении возникают ошибки двух видов: квантования и перегрузки. Максимальная ошибка квантования не превышает шага квантования, если перегрузки по крутизне отсутствуют. Ошибки перегрузки возникают, если крутизна сообщения (скорость изменения сигнала) превышает максимально допустимую при дельта представлениях. Крутизна сообщения определяется произведением величины шага квантования dK на частоту дискретизации (опроса) fs. Поэтому, для того чтобы система не перегружалась, должно удовлетворяться следующее условие: f s d K xt , где xt - модуль первой производной сообщения по времени. Качество работы одноразрядного преобразователя полностью определяется частотой дискретизации (опроса) и, следовательно, скоростью создания информации. При заданной величине шага квантования создается шум квантования определенного уровня, а максимальное значение сигнала определяется допустимой скоростью изменения сигнала и его частотой. Удваивая частоту дискретизации, можно в два раза повысить допустимую скорость изменения и тем самым при неизменной частоте удвоить максимальную амплитуду сигнала. 224 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Если же сохранить скорость изменения сигнала и в два раза уменьшить шаг квантования, то шум квантования понизится вдвое. Можно найти оптимальную величину шага квантования, определяемую статистическими свойствами входного сигнала, при котором отношение сигнал-шум становится максимальным. Отношение сигнал-шум чаще всего измеряется на частоте 1 кГц и для простого одноразрядного дельта-модулятора определяется как: S 0,2 f s1,5 N f F 0 ,5 , где fs – частота дискретизации (опроса), f – частота синусоидального сигнала на которой определяется отношение сигнал-шум, а F – ширина полосы в которой измеряется мощность шума. Например, при дискретизации с частотой 500 кГц, когда скорость создания информации равна 500 Кбит/сек, для синусоидального сигнала с частотой 1 кГц можно достичь S/N ≈ 55 дБ, если допустимая ширина полосы кодируемого сигнала равна 14 кГц. Для дальнейшего улучшения характеристик системы следует применять более сложные адаптивные дельта-модуляторы. § 5. Проектирование автоматических систем на базе микропроцессоров Использование микропроцессоров или цифровых процессоров обработки сигнала при проектировании различных автоматических систем позволяет создавать устройства, особенностью которых является то, что аппаратные средства и программное обеспечение существуют здесь в форме неделимого аппаратно-программного комплекса. Процесс разработки такого аппаратно-программного комплекса удобно представить в виде последовательности трех фаз проектирования: 1. разработки (и/или выбора типовых) аппаратных средств; 2. разработки прикладного программного обеспечения; 3. комплексирования аппаратных средств и программного обеспечения и отладки прототипа системы. 225 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики При использовании микропроцессора в качестве комплектующего элемента разработчик системы избавлен от необходимости проектировать и сопровождать технической документацией самую сложную центральную часть изделия. Проектная документация на аппаратные средства изделия содержит только документацию на аппаратуру сопряжения микропроцессора с датчиками и исполнительными механизмами объекта управления. С появлением аналоговых (сигнальных) микропроцессоров, интегральных ЦАП и АЦП, разнообразных больших интегральных схем (БИС) специализированных контроллеров все более сложные функциональные части автоматической системы переходят из разряда подсистем в разряд комплектующих элементов. Так как эти комплектующие элементы являются сложно организованными приборами, функционирующими под управлением программы, то удельный вес прикладного программного обеспечения в микропроцессорных системах имеет устойчивую тенденцию к увеличению, а удельный вес аппаратных средств - к снижению. Если задача уже поставлена, то наиболее трудоемким и сложным (из-за тесной связи с областью приложения будущей программы) этапом работы является этап формирования алгоритма решения поставленной задачи. Связано это с тем, что этот этап практически не поддается формализации и, следовательно, не может быть автоматизирован обычными средствами. Проектная работа здесь носит глубоко творческий характер и сильно зависит от опыта и квалификации разработчика. Проиллюстрируем вышесказанное одним из возможных подходов к созданию систем с использованием микропроцессора на примере проектирования цифрового фильтра. Пусть требуется создать фильтр низкой частоты (ФНЧ) первого порядка. На рис. 3.59, а показана принципиальная схема такого фильтра. Порядок фильтра определяется числом входящих в него реактивных элементов, т.е. конденсаторов и катушек индуктивности. Сигналы низких частот проходят через фильтр низкой частоты на его выход. Высокочастотные сигналы “замыкаются” через конденсатор на землю и не появляются на выходе фильтра. На рис. 3.59, б приведена амплитудно-частотная характеристика (АЧХ) этого фильтра. Граничная частота фильтра 226 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики (частота излома, перегиба) логарифмической АЧХ ωc=1/τ (рад/сек), где τ=RC - постоянная времени. Для представления частоты в герцах используется соотношение ωc=2πf. Рис. 3.59 Фильтр нижних частот: а) принципиальная схема; б) АЧХ Запишем дифференциальное уравнение, описывающее процессы, происходящие в ФНЧ, показанном на рис. 3.59, с учетом, что U в ых Ri U в х , а i = C dUвых/dt, тогда уравнение будет иметь вид U вых RC dUвых U вх dt (3.6) Рассмотрим значения входного и выходного сигналов в дискретные моменты времени nΔt, где n = 0, 1, 2, ... и заменим производную конечной разностью dUвых U выхnt U выхn1t , dt t тогда (3.6) примет вид 227 М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики U выхnt RCU выхnt RCU выхn1t t U вхnt . (3.7) Проделаем с (3.7) следующие преобразования: tU выхnt RCU выхnt RCU выхn1t tU вхnt . (3.8) Объединим первые два члена в (3.8) и вынесем за скобки U выхnt , t RC U в ыхnt RCU в ыхn1t tU в хnt . (3.9) Перенесем второй член (3.9) в правую часть равенства и разделим левую и правую часть полученного равенства на (Δt+RC). Тогда U выхnt tU вхnt t RC RCU выхn1t t RC . (3.10) Разделим числитель и знаменатель членов в правой части (3.10) на Δt: U выхnt 1 1 RC t Наконец, обозначив U вхnt 1 1 RC RC t U вых n 1 t . RC 1 t как k1, t (3.11) RC t как k2, 1 RC t Получаем U в ыхnt k1U в хnt k2U в ыхn1t 228 (3.12) М.В. Агунов, А.В. Агунов, Н.М. Вербова Системы и устройства судовой автоматики Реализовав (3.12) в виде программы для микропроцессора и использовав схему на рис. 3.60 при Δt << RC, получим цифровой фильтр нижних частот x(t) АЦП X(nT) МП Y(nT) ЦАП y(t) Рис. 3.60 Схема цифрового фильтра Цифровые устройства, созданные на базе микропроцессоров, имеют ряд преимуществ перед аналоговыми. Приведем некоторые из них на примере рассмотренного выше цифрового фильтра: 1. Нечувствительность характеристик фильтра к разбросу параметров входящих в него элементов, их временному и температурному дрейфам. 2. Малые размеры и высокая надежность работы фильтра, связанные с использованием БИС. 3. Легкость изменения параметров и характеристик цифрового фильтра, что при использовании микропроцессора осуществляется модификацией программного обеспечения или таблиц коэффициентов. 4. Возможность реализации адаптивных фильтров, т.е. фильтров с изменяющимися в процессе работы параметрами. 229